Cosmos 不是甚麽?
作者:@Terence
引言
在歐美,Cosmos 早就是個明星項目,它在日本及韓國亦有較高知名度,但在中港台卻異常低調。隨著區內更多的區塊鏈採用 Cosmos 技術開發,令越來越多人關注 Cosmos,但同時我亦留意到 Cosmos 的高技術門檻令人卻步。雖然我不是甚麽專家,但希望從今天起不定期通過 Matters 分享一些自己在行業內的所見所聞,助大家更了解 Cosmos 以至整個區塊鏈產業的發展。
首先作個自我介紹,好讓大家決定是否看下去。我是區塊鏈初創 @Forbole 的聯合創辦人。我們在 2017 年底加入 Cosmos 的社區,以我所知我們是當時生態中惟一來自香港及極少數來自華語地區的團隊,我們曾以驗證人的身份接受 Interchain 基金會的訪問,我們開發的區塊鏈瀏覽器 Big Dipper 是 Cosmos HackAtom 的獲奬作品之一,我們在 Cosmos 著名的 Game of Stakes 比賽中是名列首 27 名的 Never Jailed 獲奬團隊之一,我們以 Cosmos SDK 開發的 Desmos 原型,是 Cosmos HackAtom Seoul 的獲奬作品之一,我們亦獲得 Interchain 基金會的資助,以支持我們在開源軟件及社區發展的工作。我們作為驗證人,目前已在近 20 條不同的區塊鏈上活動。
要有效地討論 Cosmos,要由用詞開始。Cosmos 世界中的用詞錯綜複雜,加上團隊初期亦與很多實事求是的初創一樣,著重執行,不著重文書,令公眾容易混淆概念,所以就算是 Cosmos 生態中的人包括我自己有時都會用錯,有時是無意,有時是懶惰怕煩不想改變既有習慣。作為我在 Matters 上第一篇有關 Cosmos 的文章,不如先介紹一下不同的用詞。
Cosmos 不是一條區塊鏈
Cosmos 並不是一條區塊鏈。各位現在在各大報價平台看到的市值逾 8 億美元的 Atoms 幣,指的其實是 Cosmos Hub 上的原生通證 Atoms。Cosmos 並不是一家公司,不是一條區塊鏈,更不是一款加密貨幣或通證,它將是由很多區塊鏈,利用跨鏈通訊協定 (inter-blockchain communication protocol,簡稱 IBC) 以去中心化的方式連起來而構成的龐大去中心化網絡,亦可稱其為互聯鏈 (internet of blockchains) 。
在 Cosmos 中的區塊鏈,我們簡單地分為兩類,一類是 hub ,另一類是 zone,若用最簡單的特點去分辨,hub 會負責跨鏈的通訊,而 zone 則更多的是負責某種應用功能 (例如去中心化存儲,去中心化社交,去中心化搜尋器,去中心化直播應用等,都可以是一個 zone 去負責),但要注意的是,這不代表 hub 就沒有跨鏈通訊以外的應用功能,即一個做去中心化社交的區塊鏈,亦可以同時具備跨鏈通訊的功能,這取決於項目的定位及資源分配。
Cosmos Hub 才是一條區塊鏈
Cosmos 將由很多不同的區塊鏈組成,而第一條區塊鏈就是 Cosmos Hub,顧目思義,Cosmos Hub 就是一個 hub。按官方的設計原意,Cosmos Hub 並不意圖成為 Cosmos 的中心。作為 Cosmos 的第一條區塊鏈,Cosmos Hub 的純椊功能就是負責跨鏈通訊。我們預期,在 Cosmos 生態的發展初期,生態中的區塊鏈都會連接至 Cosmos Hub 以構成一個小型去中心化網絡。那麽,何謂「Cosmos 生態區塊鏈」 (Cosmos ecosystem chains) 呢?這又要說幾件不同但有相關的事。
Tendermint:拜占庭容錯級別的共識引擎
早於 2014 年,比特幣愛好者 Jae Kwon,研究如何將學術領域中的拜占庭容錯 (Byzantine Fault Tolerance,簡稱 BFT) 概念,實際應用到基於權益證明 (proof-of-stake,簡稱 PoS) 的公眾區塊鏈上,以期解決區塊鏈的開發及擴容瓶頸,促進產業的發展。他繼而成立 All in Bits 公司 (簡稱 AiB,這名字與 Tendermint Inc 互通) 開發名為 Tendermint 的軟件。
區塊鏈的架構可分為網路層 (network layer)、共識層 (consensus layer) 及應用層 (application layer) 。由於當時區塊鏈世界還是初生期,人們若希望構建自己的區塊鏈,一般都是複雜比特幣的底層,但比特幣將這三層混在一起,令後來者難以修改以符合他們的個別用途。若開發者要從頭開始開發這三層架構,技術門檻及開發成本就非常高,拖慢區塊鏈產業發展。
Tendermint 團隊的理念是開發具 BFT 特點的共識引擎 (consensus engine),即 Tendermint,並結合其他技術,協助開發員處理網路層及共識層的複雜協定,開發員只需要專注於應用層的開發。這大幅降低區塊鏈的開發門檻,踏出了百花齊放的一小步。
Cosmos 白皮書的誕生
經過兩年的歷練,Tendermint 逐步成熟並贏到市場認同。在 2016 年,Tendermint 的兩位聯合創辦人 Jae Kwon 及 Ethan Buchman 提出一個更遠大的構想:將無數不同的區塊鏈以去中心化的方式連起來,組成一個去中心化網絡。非牟利的 Interchain 基金會 (Interchain Foundation,簡稱 ICF) 亦於同年成立,準備作為 Cosmos 募資的實體。在 2017 年 4 月,ICF 於 30 分鐘內完成 1,680 萬美元等值的公眾代幣募資,是其中一單最成功的區塊鏈募資案例。
Cosmos SDK: 開發員友善的軟件開發工具包
Tendermint 解決了網絡層及共識層方面的開發難點,但要開發區塊鏈仍有很高的技術門檻,所以團隊推出 Cosmos SDK。Cosmos SDK 是一個以 Go 語言寫的軟件開發工具包,令開發員更輕鬆地在 Tendermint 之上開發區塊鏈。
Cosmos 生態區塊鏈
我們一般會視以 Tendermint 作共識引擎的區塊鏈為 Cosmos 生態區塊鏈。另外,由於目前所有用 Cosmos SDK 開發的區塊鏈都是用 Tendermint 作共識引擎,所以它們都自動成為 Cosmos 生態區塊鏈。
驗證人:區塊鏈的守護者
基於廣義的 PoS 機制的區塊鏈,一般都有驗證人 (validator) 的角色,在不同的生態或許有不同的名字,在 Cosmos 叫 validator,在 Tezos 叫 baker,在 EOS 叫 masternode,在 V Systems 叫 supernode,但具體功能相近,就是為區塊鏈提供安全的網絡。每一條 Cosmos 生態區塊鏈都需要各自有一班驗證人工作,而由於它們都是基於 Tendermint,所以若本來就是某一條 Cosmos 生態區塊鏈 (如 Cosmos Hub) 的驗證人,他們參與另一條 Cosmos 生態區塊鏈時會比較容易上手。
驗證人是一個很大的題目,日後必定要另文再述。
IBC:區塊鏈世界的 TCP/IP
既提供了 Tendermint 及 Cosmos SDK 等尖端的技術來大幅降低區塊鏈的開發成本,又栽培了穩健又活躍的驗證人社區來為生態中的不同區塊鏈提供安全的網絡,要實現 Cosmos 互聯鏈構想的另一必要條件就是 IBC,令不同的區塊鏈能以去中心化的方式溝通,實現一個去中心化及抗審查 (censorship-resistant) 的網絡。IBC 目前還在測試階段,我們預計 ICF 將會在本年 2 月推出 Game of Zones (GoZ) 的比賽規則,GoZ 將會是 IBC 推出前的大型具對抗性質的演習。
結語
這文章只涉及到 Cosmos 世界的一小點,我將分享更多,希望助大家更深入到走進區塊鏈帶來的自由國度。
關於 @BigDipper:由 @Forbole 開發,是 Cosmos 生態的開源區塊鏈瀏覽器及管理工具,它是 Cosmos HackAtom 的獲奬作品,上線至今已有來自全球 140 個國家的用戶瀏覽。
關於 @Terence:@Forbole 的聯合創辦人,希望加密貨幣及區塊鏈技術能為人類帶來真正的自主及改善生活水準。他愛比特幣但不是 maximalist,他愛百花齊放但對 shitcoins 零容忍。你亦可以在 Twitter,LinkedIn 及 Medium 上找到他。利益申報:我或我作為主要股東的公司,持有文中所提及的各種加密貨幣或通證。