
首先我們以Chain A 到Chain B 轉賬10 token為例說明使用IBC的跨鏈交互: 1. 互相跟蹤,也就是說如果A要和B進行跨鏈交易,那么A和B鏈需要分別運行相當于對方區塊鏈的輕節點服務,這樣互相可以實時接收到對方的區塊頭信息(方便后續執行類SPV驗證); 2. A鏈上初始化IBC協議,凍結相關資產10 token, 并生成相應的證明發送給B區塊鏈; 3. B鏈接收到相應的IBC消息,通過A鏈的區塊頭信息確定A確實進行相應的資產凍結,然后B鏈會生成等價值10 token的資產。
以上是使用IBC協議的兩個平行鏈直接進行跨鏈的基本過程,如果區塊鏈很多,那么這種方式的兩兩跨鏈復雜度會呈現組合級別增加。因此Cosmos網絡又引入了一種Hub的中繼鏈,所有的平行鏈都通過IBC連接到Hub,讓Hub輔助跨鏈交易的驗證和轉移,目前Cosmos實現了一個官方的Hub稱為Cosmos Hub(如前圖所示)。
如下圖所示是Cosmos 網絡的詳細架構圖,Cosmos為方便平行鏈開發提供了基本服務CosmosSDK包括:共識、網絡以及IBC協議等,這樣基于Cosmos SDK開發的子鏈之間都能夠方便地互相交互。此外對于非Cosmos SDK 開發的區塊鏈需要使用Peg Zone進行橋接,如圖中的Ethereum。 筆者認為Cosmos為跨鏈帶來的最大貢獻在于IBC協議的設計,IBC協議提供了一種通用的跨鏈協議標準。IBC的設計使得跨鏈交易可以在多個Hub之間進行安全路由和轉發,類似目前互聯網的TCP/IP 協議。但是遺憾的是目前的Cosmos設計也只能夠支持資產的跨鏈,而且由于不同區塊鏈的業務不同其共識速率的不一致也會影響跨鏈交易有效性的證明。
Polkadot
Polkadot也是一種集成平行鏈和中繼鏈的多層多鏈架構,Polkadot區塊鏈的整體架構圖如下圖所示,主要包含三種角色鏈和四種參與方: 三種鏈角色:
中繼鏈(Relay chain): 中繼鏈位于Polkadot的體系的核心地位,主要是為整個系統提供統一的共識和安全性保障;
平行鏈(Parachain): 在Polkadot中平行鏈負責具體的業務場景,平行鏈自身不具備區塊的共識,它們將共識的職責渡讓給了中繼鏈,所有平行鏈共享來自中繼鏈的安全保障,中繼鏈是Polkadot組成的一部分;
橋接鏈:橋接鏈指的是非Polkadot體系之外的區塊鏈,如Bitcoin, Ethereum, 這些區塊鏈有自身的共識算法,它們通過不同的Bridge與Polkadot連接在一起進行跨鏈交互。
四種參與方:
驗證者(Validator): 驗證者負責Polkadot的網絡出塊,會運行一個中繼鏈的客戶端,在每一輪區塊產生中會對其提名的平行鏈出的塊進行核驗。當平行鏈的跨都被他們的子驗證者集合確定好之后,驗證者們會將所有平行鏈區塊頭組裝到中繼鏈的區塊并進行共識。
核驗人(Collator): 幫助驗證者收集、驗證和提交備選平行鏈區塊,維護了一個平行鏈的全節點。
釣魚人(Fisherman):釣魚人主要靠檢舉非法交易或者區塊以獲取收益;
提名人(Nominator): 擁有stake的相關方,維護和負責驗證者的安全性。
Polkadot的特性包括兩個,一個是共享安全性,一個是不需信任的跨鏈交互。這里的不需信任的跨鏈交互其實是和第一個特點共享安全性密切相關的,而且Polkadot的不需信任的跨鏈交互也主要是只其內部的平行鏈之間。
在Polkadot中如果parachain A 需要發送一筆交易到parachain B的過程如下:
A鏈將跨鏈交易放到自己的engress(每個平行鏈有一個消息輸出隊列engress 和一個消息輸入隊列ingress);
此文由 中國比特幣官網 編輯,未經允許不得轉載!:首頁 > 比特幣行情 » 跨鏈技術的分析和思考