跨鏈與無限擴容:Cosmos
一、摘要
Cosmos是一個新型的區塊鏈網絡架構基礎平臺,將重點放在了跨(區塊)鏈技術上,提出了跨鏈溝通以及不同區塊鏈之間價值傳遞的解決方案。Cosmos的結構由多個獨立的區塊鏈共同組成,并且都被稱作“空間(Zones)”。其中第一個空間叫做Cosmos中心[Cosmos Hub,中心是翻譯后的結果,并不意味著這個Hub是所有區塊鏈的中心],其他所有空間都與Cosmos中心相連接。Cosmos中心負責記錄整個Cosmos網絡的狀態,也就是所有其他空間的狀態。除Cosmos中心外,其他空間之間相互獨立,只負責自己的空間狀態。Cosmos采用Tindermint共識機制解決交易量表現問題;在Tindermint共識機制中采用權益證明(Proof of stake)的方式避開了資源浪費的問題,同時也用于網絡的治理;Cosmos提出了跨區塊鏈溝通協議(Inter-Blockchain communication protocol,IBC)用于解決空間與空間之間的溝通問題。
二、Tendermint
Tendermint可以理解為幫助開發區塊鏈應用的一個軟件,Tendermint提供了安全高效的區塊鏈共識機制解決方案和應用程序開發交互界面。我們之前說過,區塊鏈網絡平臺是整個區塊鏈經濟系統的底層架構,為去中心化應用的開發提供基礎設施服務。而Tendermint則既可以作為更底層的解決方案,為區塊鏈網絡平臺服務;同時也可以跨過區塊鏈網絡平臺,直接為去中心化的應用程序服務。Cosmos區塊鏈網絡平臺就是建立在Tendermint的基礎上,因而在了解Cosmos之前,有必要對Tendermint做一個簡單介紹。
(一)拜占庭容錯
Tendermint對解決拜占庭將軍問題(Byzantine generals)提出了一種實際有效的解決方案。拜占庭將軍問題的實質是指,在一個可能存在惡意參與者的集體中,如何讓這個集體對某一事件如何達成一致的結果的問題。而拜占庭容錯是對拜占庭將軍問題的解決。在區塊鏈中的意思就是,在一個分布式的網絡結構中,即使是在存在惡意節點的情況下,整個網絡依然能夠對每一輪新產生的唯一區塊達成共識。用EthanBuchman[Tendermint聯合創始人,而且這個算法也正是Buchman的博士論文]的話說就是“不可靠的參與者共同建立的可靠系統。”
(二)Tendermint的結構
Tendermint的設計初衷是為了解決當前區塊鏈中的共識機制大一統式(Monolithic)的設計(與之對應的是模塊化的設計)存在的問題。大一統的設計指區塊鏈的共識維持是一個單一的程序,涵蓋了節點與節點之間連接、向全網廣播交易、對新區塊的承認機制、賬戶余額、圖靈完備的智能合約等內容。這樣的大一統設計主要問題有兩點,一是代碼的重復利用率低,因為如果是采用模塊化的設計,那么細分的模塊就可以被重復利用。第二個是限制了區塊鏈支持的編程語言。而Tendermint將區塊鏈的結構分為兩層:共識引擎(Consensus engine)和程序交互(Application interface)。其中前者負責節點間的信息記錄的一致性,也就是對區塊鏈共識的維持;后者使得智能合約的編寫支持任意一種編程語言。
(三)共識的過程
區塊鏈網絡中的共識可以理解為全網對每一輪對新出現的唯一區塊的認可。在Tendermint中,共識機制的參與者被稱作驗證人(Validators),他們負責對每一輪的新區塊進行提議和投票。整個共識達成的過程如圖1所示。
圖1 Tendermint實現共識的過程
其中,在每一輪的開始(New Round),節點對新一輪的區塊進行提議。之后,合格的提議區塊首先經過一輪預投票(Prevote)。在提議區塊獲得2/3以上的投票后,進入下一輪的預認可(Precommit),同樣是待獲得2/3以上的驗證人預認可后,被提議區塊就正式獲得了認可(Commit)。而得到認可的這個區塊就被添加的到區塊鏈中。
Tendermint的整個共識過程看起來其實比較簡單,除了上述的這個過程外,還有兩點需要注意。第一,圖1中右下角有兩個小人正在跳舞,而這種舞叫做“Polka”,來自捷克。第一輪預投票的過程也被稱作“Polka”。這個詞在Tendermint中最開始在Buchman的博士論文中出現,原因是在預投票的過程中,驗證人的工作與Polka十分相似[ “The term evolved to polka as it was realized the validators are doing the polka.”引自論文。至于叫這個名字的更細節原因,筆者在查閱資料過程中并沒有發現,有興趣的讀者可以自行查找]。
第二,我們上面關于Tendermint的描述相對較為簡單,旨在讓讀者明白其工作過程,在Tendermint的完整結構中還包括許多內容,如治理、P2P的網絡同步、應用程序的開發等等。
三、Cosmos
(一)Cosmos的網絡結構
在了解了Tendermint的內容以后,我們接下來對Cosmos進行介紹。在文章開頭說過,Cosmos是由多個區塊鏈組成的。這也就是說,如果我們把區塊鏈網絡看作是不同的節點以去中心化的方式連接而成的網絡,那么Cosmos則就是由不同的區塊鏈組成的網絡。圖2是對Cosmos的結構的一個直觀描述。其中網絡中第一個區塊鏈為Comos中心,記錄著其他所有區塊鏈(被稱作“空間”)的狀態。這些空間既可以是公有鏈,也可以是私有鏈。
對于Cosmos的結構需要強調的一點是,圖2中看上去Cosmos中心是位于所有空間的中心位置,但是這只能代表Cosmos中心記錄所有其他空間的狀態功能。并不意味著Cosmos網絡結構是一個中心化的結構。事實上,連接到Cosmos中心的空間并沒有任何限制,這些空間完全可以作為區塊鏈網絡平臺,然后在其平臺上衍生出其他區塊鏈或是應用程序,這種結構如圖3所示。從這個角度而言,Cosmos區塊鏈網絡平臺具有無限擴展性。
圖2 Cosmos結構
圖3 擴展的Cosmos網絡結構
(圖中的每一個圓圈都代表一個空間)
(二)Cosmos中心
上面我們說過,Cosmos中心的功能是記錄其他空間的狀態。這個狀態特指其他空間的資產狀況。空間的資產狀況一般指空間內部的代幣擁有量(這個代幣由空間開發者自己開發)。代幣可以通過跨鏈溝通協議在不同的空間轉移,而這個過程由Cosmos中心記錄,并且Cosmos中心負責整個網絡系統中的各種代幣的總量不會出現差錯[這里主要指不同代幣在不同空間轉移的時候,Cosmos中心保證轉出量始終等于轉入量]。所以Cosmos中心實際上就是一個多資產(代幣)的分布式賬本。而由于這個總賬本的功能,使得Cosmos中心這條區塊鏈的安全性在整個網絡的區塊鏈中是最重要的。
(三)空間
每一個空間都是一個獨立的區塊鏈系統。不同的空間可以通過Cosmos中心發送消息溝通,包括轉賬。需要注意一點的是,由于我們說過,每一個空間都可以作為一個區塊鏈平臺,然后在平臺上開發出不同的鏈。所以每一個空間可以擁有超過一種的代幣。另外,考慮到空間的規模可大可小,為了保證空間的安全性,每一個空間至少要擁有4個驗證人。
(四)跨區塊鏈溝通協議(IBC)
不同的空間可以溝通傳遞信息,這個信息包括空間的代幣(下面的例子我們都用轉賬作為溝通內容)。空間與空間交流的是非對稱的,也就是說雙方是依靠著Cosmos中心進行,而不是直接進行交易。這里的Cosmos中心充當的是一個中介的作用。
為了說明IBC的工作原理,我們假設現在有三個空間,分別是空間1、Cosmos中心以及空間2。現在空間1中有一個用戶想要發送一筆代幣給空間2的另一個用戶,那么空間1的這個發送人需要提供兩個證明:IBCBlockCommitTx和IBCPacketTx。IBCBlockCommitTx通過哈希值來表明發送方所在區塊鏈網絡的最新的區塊是哪一塊。IBCPacketTx則是轉賬本身的信息,包括發送方的身份證明等內容。這兩個證明以交易請求的方式首先從空間1發起,在空間1得到認可之后,被Cosmos中心所接收,Cosmos中心隨后更新在中心的區塊鏈上的空間1的狀態(扣除轉賬消息中的代幣數)。然后Cosmos中心也同樣發起這兩個交易,更新中心區塊鏈上的空間2的狀態(增加轉賬消息中的代幣數),將代幣發送到空間2中。而在Cosmos中心發起的兩個交易證明與先前發起的不同地方在于,此時IBCBlockCommitTx證明的是Cosmos中心的最新區塊,而不是空間1。而IBCPacketTx則與先前的一致。這個過程可以通過圖4來表示。
圖4 IBC的工作過程
關于這個IBC的工作原理我們需要注意的一點是,我們很容易把這個跨連交易過程理解為“運送”的過程,但是實際上卻有一些差別。這里的“運送”是指,如同我們生活中的快遞服務一樣,用戶發送的東西通過快遞公司的中介服務之后,另一方用戶會接收到一模一樣的東西。但是在Cosmos中,這個過程更像是“凍結與創造”的過程。這一點與銀行服務有些類似,一般情況下,收款人收到的錢并不是打款人轉出的那筆一模一樣的錢(例如打款人支付一張100元,收款人收到2張50元)。在Cosmos中心收到空間1的轉賬消息后,會將對應的代幣“凍結”起來,然后在空間2“創造”同樣數量的代幣,這兩個過程都是依靠智能合約完成。因此從這個角度講,當Cosmos網絡中的空間數目增加,代幣種類不斷增多,處理的跨鏈交易增多時,Cosmos中心就相當于是一個公共的代幣倉庫。
四、總結
從Cosmos的設計上我們可以看出,Cosmos試圖構建一個宏大的區塊鏈經濟網絡系統。事實上,Cosmos甚至能夠“兼容”以太坊,這也正是Cosmos正在研究的一個項目,叫做“Ethermint”。從設計上看,Cosmos的擴展性給予了其廣闊的前景空間,在垂直面上,Tendermint解決方案支持大規模的吞吐量以及交易快速處理能力;在水平層面上,跨鏈技術支持Cosmos網絡的無限擴容。但是由于其仍然處于開發階段,實際運行后的情況是否能達到預期,同其他計劃中的區塊鏈網絡平臺一樣,有待檢驗。
(完)
責任編輯:售電衡衡
-
5大重點任務11個重點細分 河北加快構建省級能源大數據中心
-
能源互聯網注入數字經濟新動能 電力大數據實現更多價值
2020-07-21能源互聯網,電力大數據,電力企業 -
中國首個100%利用清潔能源運營的大數據產業園投運
2020-07-21清潔能源,清潔能源消納,青海
-
探索大數據 區塊鏈實現與能源互聯網良好契合
2020-06-09區塊鏈,電力行業,能源互聯網 -
基于區塊鏈的含安全約束分布式電力交易方法
-
區塊鏈在能源交易與協同調度的應用前景:提升電力交易的自由度和實時響應效率
2019-11-04區塊鏈在能源交易與協同
-
5大重點任務11個重點細分 河北加快構建省級能源大數據中心
-
中國首個100%利用清潔能源運營的大數據產業園投運
2020-07-21清潔能源,清潔能源消納,青海 -
大數據產業園四處開花
2019-03-05大數據產業園
-
能源互聯網注入數字經濟新動能 電力大數據實現更多價值
2020-07-21能源互聯網,電力大數據,電力企業 -
全國人大代表、貴州六盤水市市長李剛:借力大數據綜合試驗區 建設六盤水5G示范城
2020-05-27大數據,5G,電力,六盤水,物聯網 -
融媒體平臺建設及縣域融媒體平臺軟件系統
2019-04-03融媒體平臺