在一條區塊鏈中,鏈上各參與方借助區塊鏈共識機制建立信任體系。那么問題來了,在多條區塊鏈的跨鏈場景中,鏈與鏈間的信任如何傳遞?鏈間的信任,信的是什么?這種跨鏈信任,又該如何建立?
先說結論:鏈間的信任,以信任對方鏈的執行機制為前提,信的是符合執行機制的執行結果。
其中緣由,得從跨鏈的基礎操作談起。
跨鏈的基礎操作為:對方鏈執行某個操作完成后,本地鏈才可執行另一個操作。如下圖所示:區塊鏈A成功執行操作X后,區塊鏈B執行操作Y。X操作是Y操作執行的前提條件。
上述操作中,一個請求X經過簽名,變成一筆交易發到區塊鏈A上,經過區塊鏈A共識,生成區塊。區塊中包含了塊頭、交易列表等信息,塊頭中又包含了共識結果信息。上述信息都可統稱為區塊鏈的執行結果,具體流程如下圖所示:
Immutable X推出NFT跨鏈協議Archv1.0版本:6月16日消息,以太坊NFT二層擴容方案Immutable X宣布推出ERC-721格式NFT跨鏈協議Archv1.0版本,旨在支持以太坊主網和StarkNet之間NFT的跨鏈轉移。目前該協議已上線Goerli測試網,Immutable X表示,未來將在去中心化、StarkNet上自動化的合約部署、支持Layer2原生資產的跨鏈以及多鏈擴展方面進行改進。(medium)[2022/6/16 4:31:33]
區塊鏈A的執行結果被發到區塊鏈B上。區塊鏈B在執行請求Y前,必須先判斷X是否上鏈。
判斷的方法是,在區塊鏈B的運行環境中,驗證區塊鏈A與X相關的執行結果是否有效。驗證通過,表示X已上鏈,區塊鏈B可繼續執行后續步驟:發送請求Y,在區塊鏈B進行上鏈。
需要注意的是,此操作基于一個前提,即區塊鏈B必須信任區塊鏈A的執行機制。區塊鏈A上正確的執行結果,代表的是區塊鏈A上各方意愿。區塊鏈B要驗證區塊鏈A上某個交易是否有效,必須信任區塊鏈A的執行機制,并按照區塊鏈A的執行機制,驗證區塊鏈A的執行結果,才可判斷區塊鏈A上的某個交易已上鏈。
Rollup跨鏈橋HopProtocol推出跨鏈橋Hoptimism:Rollup跨鏈橋HopProtocol推出連接以太坊擴容解決方案Optimism和以太坊以及其他擴展解決方案的跨鏈橋Hoptimism,可以在幾分鐘內將資產轉入和轉出Optimism。[2021/8/26 22:38:08]
可見,在整個過程中,通過驗證對方鏈的執行結果來判斷請求是否上鏈,是建立跨鏈信任的核心步驟。因而,鏈間的信任,以信任對方鏈的執行機制為前提,信的是符合執行機制的執行結果。
執行結果雖然在不同區塊鏈有不同實現方式,但萬變不離其宗,區塊鏈的核心數據結構是以區塊為單位的鏈式結構,交易存在于區塊中(本文不討論DAG形式的區塊鏈)。
因此,我們可將執行結果的驗證劃分為以下四層:
驗區塊連續:在驗證開始時,需確認數據來源,基于區塊鏈的連續性,驗證區塊是否歸屬于指定區塊鏈,防止攻擊者用任意區塊鏈的區塊進行偽造。
Poly Network已修復導致keeper地址被修改為白帽黑客指定地址的跨鏈合約約漏洞:Poly Network表示,已修復導致keeper地址被修改為白帽黑客指定地址的跨鏈合約約漏洞,修復方法為對外部調用的合約及方法名做了白名單限制。[2021/8/15 22:15:42]
驗區塊共識:在確認來源后,需驗證區塊是否代表對方鏈的整體意愿。此步驟驗證區塊的共識信息是否符合要求,防止攻擊者用未經過共識的區塊進行偽造。
驗交易存在:區塊被驗證合法后,需驗證指定交易是否屬于此區塊。不同鏈有不同驗證方法,下一節會展開描述。
驗交易正確:交易存在性得到驗證后,并不能代表此交易確實是跨鏈場景下預期的操作,還需結合業務場景,判斷交易的具體內容是否符合預期。
只有通過上述四層才算驗證通過。驗證通過后,說明操作已在對方鏈上上鏈,本地的鏈可執行后續步驟。
上節所述四層驗證,在不同區塊鏈上有不同的實現方式。WeCross的插件化框架,定義了通用的編程接口,開發者只需按照鏈類型實現四個層次的驗證邏輯即可。
全聚合協議OpenOcean與波卡跨鏈交易網絡Zenlink達成戰略合作:3月11日消息,全聚合協議OpenOcean與基于Polkadot的跨鏈去中心化交易網絡Zenlink達成戰略合作,OpenOcean將聚合Zenlink DEX,為用戶提供波卡生態相關資產的便捷交易入口。此外,Zenlink與OpenOcean均是具備跨鏈屬性的協議,雙方達成合作意在共同探索多鏈聚合技術的可能性。
Zenlink是基于波卡的跨鏈DEX協議,目前已完成兩個Web3基金會Grant的交付,并即將在卡槽拍賣期間發布測試網。與Zenlink的戰略合作是OpenOcean向波卡生態聚合邁進的第一步。[2021/3/11 18:35:18]
下面,我們來看看各層次的具體實現方案。
驗區塊連續
在不同區塊鏈上的實現大同小異。當前區塊中記錄著上一個區塊的哈希值,當前區塊的哈希值又在下一個區塊中被記錄,多個區塊依次相連形成區塊鏈。不同區塊鏈只在哈希算法和計算區塊哈希的字段上存在差異。
在WeCross中,驗證區塊鏈連續性,只需按照相應鏈的實現,驗證區塊依次相連成鏈即可。
RAMP DeFi正式加入IOST節點合伙人,跨鏈打通IOST與以太坊生態:據IOST官方消息,此前IOST宣布戰略投資了去中心化金融項目Ramp DeFi,現已正式加入IOST節點合伙人生態。
RAMP DeFi首創了TVU (Total Value Unlocked) 的概念,專注于解鎖Staking質押資產流動性問題,跨鏈打通IOST與以太坊生態。通過RAMP DeFi智能合約,用戶超額抵押IOST獲得IOST主網上的穩定幣iUSD,iUSD可以 1:1 兌換為 rUSD(以太坊網絡穩定幣)。持有 rUSD 的用戶可以借入或兌換與法定貨幣等值的穩定幣,例如 USDT 或 USDC,rUSD也可以用于投資以太坊上新的 DeFi 項目、交易或者兌換成法定貨幣等。[2020/11/27 22:21:02]
驗區塊共識
驗區塊共識,即驗證區塊的共識信息是否符合對應的算法條件。不同算法有不同的實現。此處給出最具代表性的兩種共識算法:POW(工作量證明)和PBFT(實用拜占庭容錯)。
POW屬于最終一致性共識算法,通過最長鏈和延遲確認的方式逐漸讓共識結果收斂一致。WeCross提供了POW驗證所需步驟:
驗難度:驗證區塊的nonce是否滿足工作量證明條件
驗延遲:驗證當前塊是否低于已知最高塊N個塊(N可取為10,表示1個小時前的區塊)
驗最長鏈:引入多方,驗證當前區塊處于最長鏈上,防止單方面謊造最高塊高和偽造分叉鏈進行作惡
PBFT算法在多方共識后立即達成一致,區塊鏈不存在分叉和回滾的可能。在算法中,節點通過多次相互廣播簽名以達到共識。
在區塊中,足夠數量的簽名代表了區塊的合法性。因此,WeCross中對PBFT的驗證較為簡單:
配置公鑰:事先配置對方鏈共識節點的公鑰
驗簽名:用事先配置的公鑰驗證區塊中簽名的有效性,并判斷有效簽名數量是否達到PBFT共識條件
驗交易存在
驗交易存在同樣需要根據不同實現判斷,比較有代表性的是SPV(簡單支付驗證)和背書策略。
SPV的初衷是為了實現輕客戶端,目前已在大多數區塊鏈上實現。隨著跨鏈技術興起,此技術也被用作驗證區塊中某數據的存在性。
以交易為例,區塊頭中記錄了當前區塊內所有交易哈希組成Merkle樹的樹根,即“交易根”。任何一筆交易,都唯一對應了一條通向交易根的Merkle path。區塊內不存在的交易,無法偽造出通向交易根的Merkle Path。
因此,在WeCross中只需驗證某交易的Merkle Path,即可判斷某交易是否屬于某區塊。
背書策略為Hyperledger Fabric所采用。在Fabric中,每筆交易都需滿足某個事先定義好的背書策略。
交易在執行時會被多個背書節點簽名,當各方簽名滿足背書策略時,此交易才被認為有效。Fabric將背書節點簽名信息作為交易的一部分保存于區塊中。多筆交易組成區塊內的交易列表。交易列表以二進制形式計算哈希值,此哈希值被記錄于區塊頭中。
因此,在WeCross目前的實現中,僅需判斷交易是否在交易列表中(且對應flag有效),并校驗交易列表哈希值,即可初步判斷交易的存在性。
WeCross后續將結合背書策略,驗證交易的背書節點簽名,進一步增強交易存在驗證的有效性。
驗交易正確
驗交易正確,是根據業務的預期參數判斷前三步驗證的交易哈希(或二進制)是否是業務預期的那個操作。
例如,預期操作為transfer(a, b, 100),則相應的交易內容不能是get(a)。驗證時,需根據交易的編碼方式和哈希算法,校驗業務預期參數與交易哈希(或二進制)是否對應。不同區塊鏈實現的差別只體現在交易編碼和哈希算法上,根據鏈實現采用相應方法進行校驗即可。
WeCross中不同鏈的插件實現了不同的校驗邏輯。FISCO BCOS插件采用的是RLP編碼和SHA-256哈希算法,驗證的是交易哈希是否正確;而Fabric插件則采用ProtoBuf編碼,驗證的是交易二進制是否正確。
為了更直觀進行說明,下圖給出了FISCO BCOS的完整驗證過程。
當某條鏈拿到了對方鏈的執行結果后,即可在本地進行驗證。
在驗區塊連續上,FISCO BCOS通過比對區塊頭中父區塊哈希與真實的父區塊哈希,驗證此區塊是對方鏈的區塊。
在驗區塊共識上,通過校驗當前區塊的簽名列表,判斷合法簽名數量是否滿足PBFT共識條件,確認當前區塊代表了對方鏈的整體意愿。
通過驗證交易哈希通向交易根的Merkle Path的正確性,可判斷交易已存在于區塊鏈上。
通過驗證業務預期、交易二進制、交易哈希的對應關系,可判斷交易是業務預期的那個操作。四個層次驗證通過后,說明業務所預期的操作已在對方鏈上上鏈,驗證完成。
鏈間的信任,以信任對方鏈的執行機制為前提,信的是符合執行機制的執行結果。執行結果是否正確,驗的是四個層次的數據。驗證機制在不同鏈有不同的實現,WeCross以插件化的方式提供支持。
Tags:區塊鏈CROSSROSCROS區塊鏈是什么多選題CrossPadHOTCROSSMirrored Microsoft
2020年國家網絡安全宣傳周在全國范圍內統一開展。記者了解到,螞蟻集團旗下螞蟻鏈推出的摩斯多方安全計算平臺已經完成商用,并在金融、電信、汽車等10多個行業落地.
1900/1/1 0:00:00上個月11日,YAM 推出,僅僅過了一天YAM 協議發現漏洞,導致了社區大規模參與的“拯救YAM活動”《YAM的重啟之路》。 一個月之后,YAM v3又要回來了.
1900/1/1 0:00:00自動化做市商(AMM)是一個相對新穎的概念,而這一概念主要是由Uniswap推動的。關于AMM權衡的大多數討論通常有兩種形式,第一種來自于經驗豐富的交易者,他們無法躍過AMM池交易造成的低效問題.
1900/1/1 0:00:009月15日上午,詹克團召開全員大會,針對北京法人再次變更發表以下觀點。他表示已經馬上提起了行政復議,理論上還能變回來。同時北京奧北科技園、深圳工廠兩地正在緊急轉移物資.
1900/1/1 0:00:00金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.
1900/1/1 0:00:00作為太空競賽活動計劃的一部分,Filecoin 團隊與 Filecoin 社區每周舉辦現場 AMA。團隊主持了兩場 AMA ,回答了多個關于太空競賽、密碼經濟學和 Filecoin 挖礦的問題.
1900/1/1 0:00:00