所有語言
Cosmos是一個并行網絡,各鏈由諸如Tendermint共識提供支持。在cosmos生態系統中各空間可以相互通信、交易、互操作。Cosmos的願景是打破區塊鏈之間的障礙,創建一個區塊鏈互聯網,成為各種實際使用場景的優先選擇平台。
這一實現伴隨着一系列系統工具的開發,包括Tendermint,Cosmos SDK、IBC,Hub和Zone之間的通信,通過IBC協議實現。以太坊所採用的Go-Ethereum是單片技術堆棧範疇,對其特性的一些升級、以及定製性的提升,是2014成立的Tendermint最早的切入點。Tendermint BFT是一種解決方案,它將區塊鏈的網絡層和共識層打包,開發人員只需專註於應用層而無需在意底層協議,這一對開發者友好的設計在公鏈泛濫的當今看起來並無新意,但如果考慮這一設想最早出現在2014年底,就能自然而然明白cosmos的前瞻性了。
此外,Tendermint 共識算法的主要好處就是它具有安全簡易的輕客戸端,這一點使其成為手機和物聯網用例的理想工具。Tendermint 輕客戸端只需和驗證組的變化保持一致,然後驗證最新區塊中預先提交的+⅔,來確定最新情況。 總而言之,跨鏈不是comos的全部,Tendermint技術在開發時間的節省上也下了很大的功夫,Tendermint BFT的屬性適用公鏈、私鏈,Tendermint BFT僅處理區塊鏈的網絡和共識,節點傳播事務和驗證器就一組事務達成一致,以附加到區塊鏈,每秒可處理數千事務。
COSMOS建立在Tendermint的BPOS+PBFT的共識機制上。該機制涉及驗證人與提議人。PBFT則用來確認區塊的有效性,抵押代幣的數量決定驗證人投票的權重過程中的權力,BPOS用來分配驗證人的權力。每輪的提議人會從驗證人順序列表中按照其選票比例來選擇確定。Tendermint採用由絕對多數的選票三分之二選定的最優拜占庭容錯算法。
圖1 Cosmos SDK功能
SDK在Tendermint BFT的基礎上,進一步縮短第三方開發者的研發周期,首先,它允許開發人員在Golang上移植任何現有的區塊鏈代碼庫,Ethermint面向以太坊網絡。所有現有的工具(Truffle,Metamask等)都與Ethermint兼容,無需額外工作即可移植智能合約。cosmos SDK基於兩個主要原則,在此基礎上進一步規範了框架:
• 模塊化: Tendermint團隊構建了Cosmos Hub所需的基礎模塊。任何開發人員在構建自己的應用程序時都可以使用這些模塊。並可以為Cosmos SDK創建一個模塊。
• 安全邊界:限制模塊之間的安全邊界,使開發人員能夠更好地處理模塊的可組合性,同時,限制惡意或意外交互的範圍。
Cosmos SDK的詳情可以在官網進行查閱,提供了用於構建命令行界面(CLI),REST服務器和各種其他常用的實用程序庫。
在cosmos網絡中,區塊鏈之間的連接通過區塊間通信協議(IBC)協議實現。IBC利用Tendermint共識,允許異構鏈將值(即token)或數據相互轉移。異構鏈的特點是具有不同的層,各區塊鏈由一組驗證器維護,這些驗證器稱為礦工。在各自的網絡中,共識、應用層皆有不同,為了與IBC兼容,需要遵循一些共識層的要求。IBC允許異構區塊鏈相互傳遞令牌和數據,這意味着具有不同應用程序和驗證器集的區塊鏈是可互操作的。
鏈A上的一個帳戶想要發送10個令牌到鏈B時,系統將連續地進行跟蹤,將允許每個鏈跟蹤另一個鏈的驗證器集。且每一條鏈都運行另一條鏈的輕客戶端。啟動IBC傳輸時,IBC協議中的兩個關鍵信息分別是IBCBlockCommitTx和IBCPacketTx,前者記錄發送方所在的最新區塊信息;後者是跨鏈交易本身的信息,執行時通過提及跨鏈指令存入outgoing隊列;從outgoing隊列取出交易信息,提交到Hub,由Hub執行後續步驟,以實現跨鏈交易。在此過程中,ATOM被鎖定(綁定)在鏈A上,然後將10個ATOM的證據從鏈A轉發到鏈B,並在鏈B上針對鏈A的有效性進行驗證,如果有效,則在鏈B上創建10個ATOM憑證。在鏈B上創建的ATOM不是真正的ATOM,類似的機制用於在ATOM返回其原始鏈時解鎖ATOM。
在IBC的設計原理上,通過直接連接可以將網絡中的每個區塊鏈彼此串聯起來。但這種情況需要面臨二次增長的不可控性,為了解決這個問題,Cosmos提出了一種模塊化架構,在網絡中具有兩類區塊鏈:樞紐Hub和區域Zone。前者專門設計用於將區域連接在一起。當區域與樞紐建立IBC連接時,它可以自動訪問(即發送和接收)與其連接的每個其他區域。因此,每個區域只需要與一組受限的樞紐建立有限數量的連接。還可以防止區域內的雙重支出。空間內部所有代幣的轉移將通過Cosmos Hub,Hub將完成各空間代幣持有總量的記錄,以及各空間的隔離,並囊括用戶數據報協議(UDP)、傳輸控制協議(TCP)。Hub與各空間的狀態變化會保持信息通信的一致,通過發布梅克爾證明(Merkle-proof)來說明信息已經被傳送或接收。
Cosmos將在發布時提供良好的垂直可擴展性,在完成IBC模塊后,將實施水平可擴展性解決方案。在Cosmos Network中推出的第一個Hub是Cosmos Hub。其令牌稱為ATOM。Cosmos 中的驗證人類似於提供機器的礦工,非驗證人將ATOM權益代幣委託用於投票。以此實現一定的ATOM獎勵分配,當驗證人被攻擊或作惡時,系統採用一定的機制進行懲罰和削弱。
1、可擴展性
工作量證明協議緩慢,昂貴,不可擴展且對環境有害。
Tendermint BFT解決了這個問題。
Tendermint BFT是拜占庭式容錯共識引擎,可為Cosmos權益證明提供支持。
2、易用性
區塊鏈應用程序很複雜,開發人員很難理解。
Cosmos SDK修復了此問題。
Cosmos SDK是用於構建可互操作的,特定於應用程序的區塊鏈的模塊化框架。
3、互通性
區塊鏈經濟孤立無援,彼此之間無法轉移資產。
IBC協議解決了這個問題。
區塊鏈間通信(IBC)是一種類似於TCP / IP的區塊鏈消息傳遞協議。
Tendermint Core: “Tendermint Core”是一款即用型區塊鏈引擎,配備 Cosmos 實用拜占庭容錯共識協議。內核可用於搭建公共或私有區塊鏈。共識機制提供即時結算和安保;優先保障安全,其次才是網絡活躍度。
Cosmos SDK: 作為便利工具包,Cosmos SDK 有助開發者搭建應用專屬的區塊鏈。
跨鏈通信: 為了向開發者提供更多搭建區塊鏈的工具,Cosmos 項目的下一個目標是提高不同區塊鏈之間的互操作能力,實現跨鏈和跨層交易。藉助分區組合,用戶得以在 IBC 兼容鏈組成的代幣生態系統內自由交易。
相關鏈接:
https://cosmos.network/intro
https://www.dprating.com/rating/report/114
https://cosmos.network/resources/whitepaper