跨鏈橋不是一個新話題,但我們還需要重新認識它。今天,我們推出跨鏈橋系列文章,將對跨鏈橋的基本要素、跨鏈技術以及跨鏈橋的安全性進行了全面的分類和解讀。
原用標題:深度| Web3 世界的信任邊界,跨鏈互操作性技術會影響區塊鏈發展的未來嗎?
封面: Photo by Shubham Dhage on Unsplash
1. 什麼是跨鏈橋?
當前區塊鏈行業發展迅猛,出現了各種各樣的公有鏈,但是不同鏈上有著不同類型的資產、協議等,使得它們之間無法直接通信,這給用戶帶來了諸多不便,比如:某用戶持有比特幣資產,但是想在以太坊生態中進行投資或消費,那麼最直接的方式就是通過中心化的交易所進行兌換,但是整個過程非常繁瑣,耗時很長並且需要多次支付手續費。
跨鏈技術的發展使得用戶對於不同區塊鏈之間的互操作(如:資產交易和信息交互)成為可能,其中應用範圍最廣的實現就是跨鏈橋。Web3 領域中的「跨鏈橋」,不是物理位置連接的橋,而是連接兩個不同的區塊鍊網絡。這種連接非常重要,因為如果沒有區塊鏈「橋」,區塊鏈就會處於孤立的環境中,無法相互通信。
擴展閱讀:科普| 什麼是跨鏈橋協議?
2. 跨鏈互操作性詳細解讀
區塊鏈的互操作性 Interoperability,由 Interaction、Operation 和 Ability 組合而成,即 “相互操作的能力”,簡稱互操作性。區塊鏈互操作性主要包含三方面內容:一是用於應用層的互操作性,主要解決上層應用與底層鏈緊密耦合的問題,二是用於鏈間互操作性,主要解決 “鏈級孤島” 問題,三是鏈下數據互操作性,主要解決鏈上鍊下數據的安全可信交互。而本文主要從跨鏈交易的用途討論區塊鏈互操作性,即不同區塊鏈系統之間的資產和信息交互。
下面將首先對三種區塊鏈中的互操作性技術進行詳細介紹:
2.1 公證人機制
公證人機制是技術上可實現的最簡單的一種跨鏈機制,本質上是一種中介的方式。通過引入一個或多個可信第三方做信用背書,持續監聽鏈上的事件,並根據獲取到的事件信息負責在其他鏈上進行跨鏈消息的驗證和轉發。公證人機制的實現方式主要分為以下三種:
1. 單簽名公證人機制
最簡單的公證人機制,該方式會選取一個獨立的節點或者機構作為第三方公證人。公證人在整個跨鏈交互中進行數據收集、驗證、交易確認等任務。該方式兼容性高、交易速度快,但使用範圍僅限於跨鏈資產交換等場景。
2. 多簽名公證人機制
該方式中公證人為一群獨立節點或者機構組成的聯盟,每個節點都擁有一個密鑰,只有一定比例的公證人在跨鏈交易上簽名達成共識時,該交易才有效。
該方式弱化了單簽名公證人機制的中心化風險,具有更高的安全性,即使有部分節點受到惡意攻擊也不會影響整個跨鏈系統的運行。
3. 分佈式簽名公證人機制
該方式相較於多簽名公證人機制,採用了多方計算 MPC(multipartycomputation)來確保密鑰的安全性和隱私性。即將密鑰拆分為多個碎片並隨機分發給公證人,但無法利用這些碎片得出完整的密鑰,僅當一定比例的公證人共同完成簽名後才能拼湊出完整的密鑰。
2.2 哈希鎖定
哈希鎖定全稱為哈希時間鎖定合約(Hash timelock contract),該方式利用哈希函數的單向性與低碰撞性,通過哈希鎖和時間鎖,在無需可信第三方作為公證人的情況下完成不同鏈間資產兌換的跨鏈技術。其中,哈希時間鎖要求接收方在規定的 deadline 期限內,能夠確認收款並生成證明給發送方,否則資金將會歸還。發送方能夠使用收款證明獲取到接收方在目標鏈上的資金或觸發相關事件。
該方式的能夠保證同一條鏈上的資產總量保持不變,但通常只能用於轉賬操作。下面以閃電網絡中基於哈希鎖定的原子交換實現過程:
1)用戶 A 生成隨機數 s,併計算出其哈希值 H(s);
2)將 H(s) 值通過網絡發送給另一條鏈上的用戶 B;
3)用戶 A 設置時間鎖 t1,並使用 H(s) 將 BTC 鎖定在自己所在的鏈的腳本中,該操作限定了只有能提供 s 值的用戶才能獲取到鎖定的 BTC;
4)另一條鏈上的用戶 B 在 A 所在鏈上確認上述交易後,同樣在自己所在的鏈上設置時間鎖 t2(t2 < t1),同時使用接收到的 H(s) 將自己的 BTC 鎖定在該鏈的腳本中;
5)用戶 A 在 t2 時間內向用戶 B 的腳本發送 s 值;
6)用戶 B 的合約驗證通過後,將鎖定的 BTC 發送給用戶 A,同時獲取到 s 值。此時如果交易超過 t2 時限則跨鏈交易失敗,雙方都各自取回待兌換的資產。
7)用戶 B 將獲取到的 s 值在 t1 時限內,發送給用戶 A 的腳本。待其驗證通過後,腳本將鎖定的 BTC 發送給用戶 B。如果超時同樣使得跨鏈交易失敗。
2.3 側鏈/中繼技術
側鍊和中繼是最常用的跨鏈機制,都可以通過採集原鏈上的信息,實現主鏈區塊和賬本數據的解析和驗證。
但二者存在以下幾點差異:首先,側鏈從屬於主鏈,側重於提高主鏈的可擴展性,對於主鏈不可見,通常共享原鏈上的原生代幣,而中繼則沒有從屬關係,著重於跨鏈數據的傳輸;其次,側鏈處理交易時需要同步所有的區塊頭,導致其速度比中繼鏈慢;最後,側鍊和主鏈的安全機制相互獨立,即側鏈具有自己的共識協議,這些協議通常是為特定類型的交易設計的,意味著其通常不會繼承主鏈的安全屬性,在使用側鏈時,用戶將失去對資金的保管權,且僅依賴於側鏈的安全性。而中繼則依賴於主鏈進行驗證。
中繼本質上是各主鏈抽像出的一個跨鏈操作層,是公證人和側鏈機制的融合和擴展。主要作用是作為一個通信中樞收集不同區塊鏈間的數據並進行消息轉發,適用於異構或同構的區塊鏈。
側鏈實現的基本技術是雙向錨定(Two-way Peg)。跨鏈過程實際上是在一條鏈上鎖定某種代幣資產,同時又在另一條鏈上生成對應的另一種代幣資產。其中,雙向錨定技術就是解決跨鏈過程中,目標鏈如何判定代幣資產已經被安全鎖定的問題。被認為是區塊鏈上第一條側鏈的 BTC-Relay,其就通過在智能合約中內嵌 Bitcoin SPV 功能來允許用戶在以太坊上驗證比特幣的交易。
該技術目前可以通過單一託管模式、聯盟模式、驅動鏈模式、SPV 模式實現,
下面將進行具體介紹:
1. 單一託管模式
最簡單的實現方式,基本原理與單簽名公證人相同。通過公證人實現側鏈資產的鎖定和驗證釋放。
2. 聯盟模式
資產託管方是公證人聯盟,基本原理與多簽名公證人相同,利用多重簽名減小上述方式中中心化的風險。
3. 驅動鏈模式
該模式中由交易處理節點作為公證人,負責資金的託管和解鎖。具體過程為:交易處理節點提交其他鏈上的資產鎖定信息到區塊中並發起草案,在投票與確認後,在當前鏈上解鎖指定的資產。
4.SPV(Simple Payment Verification)模式
主鍊和側鏈通過 SPV 驗證,確定資產是否被安全鎖定。下面以 BTC-Relay 中該模式的具體實現為例,進行介紹:
1)用戶 A 向主鏈上包含了側鏈信息的指定地址發送代幣,鎖定主鏈資產;
2)等待一段確認期,使得上述交易經過主鏈共識後被確認;
3)用戶在側鏈提交一筆鑄幣交易和對應的主鏈資產鎖定交易的 SPV 證明,側鏈區塊根據 SPV 證明驗證上述交易的有效性,驗證通過後側鏈會進行鑄幣但該資產此時處於鎖定狀態;
4)等待一段競爭期,目的是為了保證資產被完全鎖定,從而防範雙花攻擊。如:等待 SPV 區塊頭的驗證數大於 6 次;
5)側鏈解鎖鑄幣,使得其可以在側鏈上自由流通。
3. 跨鏈互操作性協議
3.1 資產交換
區塊鏈在轉移跨鏈資產時通常分為以下四種方式:第一種是鎖定和鑄造,該方式會在原鏈上鎖定資產,並在目標鏈上鑄造對應的資產;第二種方式是銷毀和鑄造,該方式會銷毀原鏈上的資產,並在目標鏈上鑄造資產;第三種方式是原子交換,該方式會將原鏈上的資產直接兌換為目標鏈上的資產,且無需信任,因此其不需要前兩種方式中的可信第三方;第四種方式為流動性置換,該方式會在不同的鏈上建立流動性資金池,用戶可以在資金池中直接兌換另一條鏈上的原生資產,另外流動性提供者也可以通過提供代幣作為流動性資金。典型的資產交換協議有 Plasma、Rollup 等,下面將進行詳細介紹。
3.1.1 Plasma
Plasma 包含一系列運行在區塊鏈上的智能合約,通過與側鏈間接交互實現跨鏈。它可以創建子鏈的無限分支,這些子鍊是以太坊主鏈的的較小副本,具有自己的共識機制。計算所需的帶寬和交易數據在側鏈進行,僅定期發布交易結果到主鏈。每個子鏈都依賴於 “欺詐證明系統” 的安全性,任何人都可以質疑其有效性。
Plasma 實際上不是單指一個項目本身,而是一種框架。其有多種實現方式,本文以 Plasma MVP,一種基於 UTXO 模型的側鍊為例進行介紹。Plasma MVP 的側鏈採用 POA 共識算法,即參與共識的只有一個管理者(Operator)。在業務類型上該項目只支持轉賬,共有兩種種場景,分別為:存款(Deposit)、取款/退出(Withdrawal/Exit),下面將分別進行介紹:
1. 存款(Deposit):
1)用戶發起一個 Deposit 調用交易向主鏈 Plasma 智能合約上發送一定數額
的以太幣或 ERC20 代幣,交易成功執行後產生一個 DepositCreated 事件;
2)Operator 監測到該事件,生成一個僅包含一筆交易的區塊。該筆交易是
由合約調用 deposit() 函數為用戶創建側鏈資產 Creat(DepositCreated,amount);
3)側鏈上創建的交易包含兩個輸入 UTXO 和兩個輸出 UTXO,在存款(充
值)時,只有輸出的第一個 UTXO 不為 0,其他值都為 0,具體如下:
4)Operator 將該區塊的默爾克樹根發送到主鏈合約中,合約會產生
BlockSubmitted 事件;
5)用戶監聽到該事件,驗證其有效性,存款成功。
2. 取款/退出(Withdrawal/Exit):
1)用戶向主鏈的 Plasma 合約發起 Exit 交易,其中包含一些必要參數用於明確待提現的 UTXO 位置和合法性:要取款的 UTXO 所在區塊號(h)、區塊內交易所在編號(Tindex)、交易中 UTXO 編號(Uindex)等標識目標 UTXO 位置的參數,以及該 UTXO 涉及到的一系列交易確認簽名等信息。此外,同時還要提供一筆保證金 EXIT_BOND;
2)該交易會被放入一個優先隊列中,優先級按照如下公式進行計算:
根據該公式計算優先級決定取款順序的原因是保證在出現惡意交易時,之前的 UTXO 都可以安全退出,即舊的 UTXO 總是先於新的 UTXO 被取出;
3)Exit 交易需要等待一段挑戰期才會生效,最快 7 天、最慢 14 天。
在 Exit 交易中,如果有其他用戶發現申請人存在惡意行為,就會發起一個爭議 challengeExit。該爭議需要提供有效的 UTXO 爭議對象的默克爾證明。如果該爭議被驗證成功,則被爭議對象的交易將會從隊列中刪除,同時將保證金獎勵給發起爭議的用戶。
由於 Operator 負責將區塊打包給主鏈,所以其可以監控到側鏈上的所有交易,而一旦其存在某些惡意行為將會導致嚴重的後果,如雙花攻擊等。
針對這一點,Plasma 在取款/退出期間也進行了很多設計避免了這些情況。首先是上文中提到的優先級隊列,其主要目的是保證存在惡意交易時,能夠保證用戶的資金安全。該優先級按照上述計算公式,首先由區塊的次序決定,其次是單個塊中的交易次序,最後是交易中的餘額,同時上述三個值就可以唯一的確定一個 UTXO 的位置。因此上述優先級計算公式可以確保舊的交易優先級高於新的交易,這意味著如果一筆不正確的交易(如:雙花攻擊)被加入到區塊時,那麼所有錯誤交易之前的交易都會先執行,最後再執行錯誤交易,這會使得雙花攻擊失敗。
但是存在 Operator 可以故意將錯誤交易打包到用戶交易之前的可能,針對這種情況,Plasma 的交易中其實存在兩個簽名。第一個是當用戶發起交易時,會對交易本身進行簽名,接著發送給 Operator 打包。第二個是當交易被加入到區塊中時,用戶會再進行一次簽名,其被稱為 “確認簽名”。如果用戶正確遵循該規則,那麼在該筆交易被 Operator 打包前,用戶絕不會發出確認簽名,即 Operator 無法將非法交易寫在用戶的交易之前。
Plasma 存在的問題:
1)每個用戶都必須監控和驗證整個 Plasma MVP 鏈上的所有交易,防範惡意交易並及時退出。但是驗證成本高昂,且增大了鏈上開銷;
2)數據可用性問題:側鏈的 Operator 如果僅發佈區塊頭,而拒絕發布鏈下的交易數據,這將使得主鏈無法驗證側鏈的正確性。
3)用戶取款/退出操作耗時很長,必須等待挑戰期結束。
3.1.2 Rollup
Rollup 與 Plasma 類似都通過側鏈實現對數據的交易和執行,二者不同之處在於,Plasma 將數據和計算都放到鏈下進行,但是該方式存在鏈下數據的可用性問題。針對該問題,Rollup 僅將計算(和狀態存儲)移到鏈下,但將每個交易的部分數據保存在鏈上。具體地說,該方案會將數百個鏈下交易匯總為一個批次,並在側鏈上按批次執行交易,最終完成的交易 “打包” 後再按批次發佈到主鏈上,以此提升主鏈的交易速度。這種將數據存放在鏈上的方式,允許任何人在本地進行 Rollup 中的所有操作,從而實現欺詐驗證、發起提款、甚至自己打包交易等功能。
Rollup 主鏈上存在一個智能合約維護一個狀態樹的根節點,該節點數據包括:賬戶餘額、合約代碼等,但該狀態樹本身並不存儲在合約內部,該樹由側鏈每隔一段時間通過數據的交易和執行結果產生,具體如下圖所示:
交易的批次由一個高度壓縮的交易集合,以及之前的狀態根和新的狀態根(執行該批次交易之後生成的新的狀態根)組成。合約將檢查批次中前一個狀態根是否與當前的狀態根匹配,如果匹配,將切換到新的狀態根,具體如下:
Rollup 針對誰可以提交批次這一問題,有以下幾種方案:
1)任何人都可以提交,該方式是最簡單的一種方式。但是,由於存在多個參與者,如果批次交易並行發布,會導致生成證明或批次交易發佈到鏈上的這個過程產生過多的花銷。
2)中心化定序器(Centralized sequencer):目前最常用的一種方式,由一個中心化的單一定序器提交交易批次。
3)定序器拍賣(Sequencer auction):通過拍賣的方式,使得出價最高的實體有權成為定序器。
4)PoS 投票:任何人都可以將指定代幣存入 Rollup 合約,接著可以從每批交易中的存款者中隨機選取一位作為定序器,選取的概率與存入的代幣數量成正比,該方式的缺點是會導致大量不必要的資金被鎖定。
5)DPoS 投票:拍賣中選取的定序器,如果存在離線或打包惡意交易等不良操作,代幣持有者可以通過投票將其踢出並舉行新的拍賣重新選取定序器。
Rollup 中的一個重要問題是如何確定批次中的後狀態根的正確性,因為如果提交偽造的後狀態根而無需付出任何代價,那麼攻擊者可以偽造該數據使得自己獲取到所有代幣。針對該問題,Rollup 目前有兩種典型的解決方案 ZK-rollups 和 Optimistic-rollups。
Optimistic-rollups 使用欺詐證明,即 Rollup 合約跟踪狀態根的整個歷史記錄和每個批次的交易 Hash 值。如果有人發現某個批次的狀態後根不正確,可以將其生成欺詐證明發佈到合約中,如果合約驗證通過,將恢復該批次和之後的所有批次。典型的項目有 Arbitrum、Optimism;ZK-rollups 則使用有效性證明,每個批次都包含一個 ZK-SNARK 的加密證明,其可證明後狀態根是執行正確的結果。
3.2 信息交互
3.2.1 Polkadot
Polkadot 是一種支持多鏈的異構多鏈跨鏈平台,使得多個區塊鏈之間可以實現去信任地交互,其架構中有三種類型的鏈:
第一種是中繼鏈(Relay chain),該鏈位於 Polkadot 的核心,主要用於轉發各平行鏈上產生的跨鏈交易,記錄各平行鏈的交易狀態,並傳遞交易的驗證和執行結果,採取拜占庭容錯算法(BFT,byzantine fault tolerance)為整個系統提供統一的共識和安全保障。該鏈本身不包含任何交易,只負責最頂層的跨鏈交易路由,DApp 均在平行鏈上進行開發和部署。
第二種是平行鏈(Parachain),其只負責具體的業務場景中的 DApp 應用開發和部署,各自並行存在,開發者可以依據特定應用場景下的問題,選擇平行鏈底層的區塊鏈系統。其鏈本身不具備區塊共識,其安全性通過 Polkadot 的共享安全性模型由中繼鏈的驗證者提供。
第三種是橋接鏈,專門針對異構鏈開發設計的一個跨鏈結構,如當以太坊需要與 Polkadot 中繼鏈進行交互時,以太坊數據需要首先經過以太坊底層系統中的橋接鏈對跨鏈信息進行規範化處理,才能轉換為 Polkadot 網絡交互需要的形式。該鏈具有自身的共識算法,通過不同的 Bridge 與 Polkadot 連接在一起進行交互。
其核心是通過提供一個中繼鏈,鏈上以區塊鏈的數據形式存儲所有連接到中繼鏈上的所有其他鏈信息,這些信息來自連接在中繼鏈上的各個獨立運行的平行鏈。網絡中存在四種類型的參與者,包括驗證人(Validator)、收集人(Collator)、釣魚人(Fisherman)、提名人(Nominator)。下面將對其進行具體介紹:
驗證人:擁有最高權限,主要負責 Polkado 網絡的出塊,通過運行一個中繼鏈的客戶端,在整個網絡的每一輪區塊產生過程中,驗證各個被提名的平行鏈出的區塊。當各個平行鏈的區塊都被其驗證人確定之後,驗證人會將所有平行鏈區塊頭組裝到中繼鏈區塊並進行共識出塊;
收集人:幫助驗證人在各個平行鏈收集必要的交易信息,打包並執行相關交易,然後將執行交易的結果附上一個零知識證明,提交給該平行鏈的驗證人;
釣魚人:不直接參與區塊打包的過程,釣魚人可以通過檢舉一個有質押的參與方存在的非法行為,並提供帶簽名的有效證明去獲取獎勵收益。其中非法行為包括驗證人對兩個有相同父區塊的不同區塊進行簽名,或在平行鏈上驗證通過一個無效區塊等;
提名人:是一個擁有權益的群體,驗證人由提名人選舉產生。提名人選擇驗證人之後,可以通過將自身的權益質押給驗證人,從而使驗證人代表其維護整個 Polkadot 網絡,這種方式使得提名人和驗證人可以收到相同比例的獎勵和懲罰。
每個平行鏈有兩個消息隊列,一個是輸出隊列 engress,一個是輸入隊列 ingress。Polkadot 中的平行鏈 A 和平行鏈 B 之間的跨鏈交易過程如下:
1)A 鏈將跨鏈交易存放到自己的輸出隊列 engress 中;
2)A 鏈的 Collator 收集 A 鏈的普通交易和跨鏈交易並提交給 A 鏈的 Validator 集合;
3)A 鏈的 Validator 集合驗證成功後,將本次區塊頭信息和 engress 內信息提交到中繼鏈上;
4)中繼鏈利用共識算法確認區塊以及跨鏈交易路由後,中繼鏈上的 Validator 會將 A 鏈的相應交易從 A 鏈的 engress 隊列提交到鏈 B 上的 ingress 隊列;
5)B 鏈執行區塊和 ingress 隊列中的交易並修改自身賬本。
由於所有平行鏈的共識同步發生,所以跨鏈交易沒有雙花等安全性問題。
3.2.2 Cosmos
Cosmos 與 Polkadot 類似,都是通過一個中繼鏈對跨鏈消息進行中轉,從而創建一個異構跨鏈平台,但二者也存在一些不同之處。首先在 Cosmos 網絡中存在兩種角色包括:Hub、Zone,其中 Hub 為用於處理跨鏈交互的中繼鏈,Zone 為 Cosmos 中的平行鏈。Cosmos 生態中有不同的 Hub 作為中心樞紐,每個中心樞紐又可以和自己的分區 Zone 連接,同時不同的 Hub 之間也可以互相連接。具體的網絡架構如下:
為了支持平行鏈之間的跨鏈操作,Cosmos 提出了一種跨鏈交互協議 IBC(inter-blockchain communication protocol),並利用 tendermint 共識算法的即時確定性實現多個異構鏈之間的價值和數據傳輸。因此,Cosmos 中平行鏈需要滿足如下兩個前提條件:
1)快速確定性(fast finality):由共識算法保證, 即 Cosmos 的跨鏈不支持 PoW 等概率確定模型的區塊鏈;
2)強監管性(sovereignty):每個平行鏈都具備一組驗證人能夠決定其出塊。同時如果要連接概率鏈(如:以太坊),則需要額外的結構支持。
Cosmos 網絡體系外的其他異構鏈需要通過一個 Bridge-Zone 轉接層才能接入 Hub,該轉接層用於中轉異構鏈中的跨鏈交易,並對跨鏈交易信息中的數據結構進行規範化處理,具體包括:對原鏈交易的確認、在 Cosmos 網絡中生產或銷毀相應代幣等。
下面以以太坊用戶向 Cosmos 網絡轉移資產為例,介紹 Cosmos Bridge 的跨鏈通信流程:首先需要在以太坊上部署一個 Bridge 合約,該合約負責跨鏈交易的處理,包含具體的交互規則。如果用戶需要向 Cosmos 網絡轉賬時,需要先將 ETH 發送到 Bridge 合約中鎖定,但是跨鏈交易如果失敗,系統可以回退到交易前的狀態。或者當 Bridge 合約監測到 Cosmos 有跨鏈交易將資產轉移到以太坊,那麼合約將自動解鎖對應資產。Bridge 合約會跟踪 Zone 驗證節點的狀態,並且其可以和 Hub 共享一組驗證者節點。當 Zone 的驗證者節點接收到跨鏈交易時,會首先會通過 SPV 驗證用戶是否給 Bridge 合約發送了 ETH,驗證通過將在 Bridge-Zone 生成對應的 Cosmos-ETH。同理,將 Cosmos-ETH 轉移到以太坊的過程也類似,不過該過程將銷毀 Cosmos-ETH,同時解鎖 Bridge 合約中對應的 ETH 並轉移到某賬戶地址中。
Cosmos 中各個網絡中樞 Hub 和 Hub 所在的分區 Zone 之間的消息傳遞都使用 IBC 協議,當新 Zone 產生時,在線治理社區的投票會決定新 Zone 是否可以連接到 Hub 上,所以 Cosmos 也支持區塊鏈的擴展。不同 Zone 之間的跨鏈消息傳遞如下圖所示:
具體為:首先 Zone1 向 Hub 發出一筆 BlockCommit 交易,包含區塊的頭部信息和所有驗證人的公鑰;接著如果 Zone1 試圖發起一筆向 Zone3 的代幣轉移交易,Zone1 首先驗證該交易的合法性,如果有效則將該交易發送到自己的輸出隊列中,等待發送給 Hub,交易信息包括:交易的發起者 Zone、該筆交易在發起 Zone 中確認的高度和目標 Zone;接下來,Zone1 中的中繼程序根據消息隊列中的交易生成默克爾證明並作為 Packet 中的有效載荷發送到 Hub;Hub 中的驗證者通過 SPV 驗證對該證明進行核驗,核驗通過則發送消息給 Zone3,Hub 給 Zone3 發送消息的過程同上;Zone3 接收到 Hub 發送的跨鏈交易後,首先驗證對該筆交易是否由 Zone1 發起的真實有效交易,並給 Hub 發送確認消息表明可以接收來自 Zone1 的資產;最後 Hub 給 Zone3 發送消息,將資產發送給 Zone3,完成了一筆完整的跨鏈交易。
綜上,本文主要介紹了三種常見的跨鏈互操作性技術,包括公證人機制、哈希鎖定、側鏈/中繼。下一篇文章將介紹基於以上三種跨鏈技術實現的跨鏈橋項目。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。