在一條區塊鏈中,鏈上各參與方借助區塊鏈共識機制建立信任體系。那么問題來了,在多條區塊鏈的跨鏈場景中,鏈與鏈間的信任如何傳遞?鏈間的信任,信的是什么?這種跨鏈信任,又該如何建立?
鏈間的信任,信的是什么?
先說結論:鏈間的信任,以信任對方鏈的執行機制為前提,信的是符合執行機制的執行結果。
其中緣由,得從跨鏈的基礎操作談起。
跨鏈的基礎操作為:對方鏈執行某個操作完成后,本地鏈才可執行另一個操作。如下圖所示:區塊鏈A成功執行操作X后,區塊鏈B執行操作Y。X操作是Y操作執行的前提條件。
上述操作中,一個請求X經過簽名,變成一筆交易發到區塊鏈A上,經過區塊鏈A共識,生成區塊。區塊中包含了塊頭、交易列表等信息,塊頭中又包含了共識結果信息。上述信息都可統稱為區塊鏈的執行結果,具體流程如下圖所示:
區塊鏈A的執行結果被發到區塊鏈B上。區塊鏈B在執行請求Y前,必須先判斷X是否上鏈。
Clover Finance發布跨鏈交易瀏覽器:波卡智能合約平臺Clover Finance發推宣布跨鏈交易瀏覽器現已上線,可提供跨鏈交易的總體摘要,如總計數、交易量、活躍地址和跨鏈費用,可顯示跨鏈交易的銷毀信息,例如交易哈希、區塊號和時間戳,可顯示跨鏈交易的索賠信息,可顯示跨鏈過程中每個步驟的狀態鏈式交易(待定/成功/失敗)。[2021/7/15 0:54:14]
判斷的方法是,在區塊鏈B的運行環境中,驗證區塊鏈A與X相關的執行結果是否有效。驗證通過,表示X已上鏈,區塊鏈B可繼續執行后續步驟:發送請求Y,在區塊鏈B進行上鏈。
需要注意的是,此操作基于一個前提,即區塊鏈B必須信任區塊鏈A的執行機制。區塊鏈A上正確的執行結果,代表的是區塊鏈A上各方意愿。區塊鏈B要驗證區塊鏈A上某個交易是否有效,必須信任區塊鏈A的執行機制,并按照區塊鏈A的執行機制,驗證區塊鏈A的執行結果,才可判斷區塊鏈A上的某個交易已上鏈。
可見,在整個過程中,通過驗證對方鏈的執行結果來判斷請求是否上鏈,是建立跨鏈信任的核心步驟。因而,鏈間的信任,以信任對方鏈的執行機制為前提,信的是符合執行機制的執行結果。
跨鏈DeFi平臺Alpha Finance推出預言機聚合器:據官方消息,跨鏈 DeFi 平臺 Alpha Finance Lab (ALPHA)宣布推出預言機聚合器Alpha Oracle Aggregator,結合了預言機 Band Protocol 和 Chainlink 的數據信息。[2021/5/11 21:47:45]
建立鏈間信任,需經四層驗證
執行結果雖然在不同區塊鏈有不同實現方式,但萬變不離其宗,區塊鏈的核心數據結構是以區塊為單位的鏈式結構,交易存在于區塊中。
因此,我們可將執行結果的驗證劃分為以下四層:
驗區塊連續:在驗證開始時,需確認數據來源,基于區塊鏈的連續性,驗證區塊是否歸屬于指定區塊鏈,防止攻擊者用任意區塊鏈的區塊進行偽造。
驗區塊共識:在確認來源后,需驗證區塊是否代表對方鏈的整體意愿。此步驟驗證區塊的共識信息是否符合要求,防止攻擊者用未經過共識的區塊進行偽造。
HashQuark成為Avalanche-Ethereum跨鏈橋首批戰略合作方:2月9日,Avalanche宣布Avalanche-Ethereum跨鏈橋AEB正式上線,HashQuark成為首批戰略合作伙伴。
據了解,Avalanche-Ethereum跨鏈橋(AEB)由HashQuark、ChainSafe、Protofire、POANetwork、Avascan和Meter.io共同開發,支持代幣在兩協議之間的雙向交易。[2021/2/9 19:20:03]
驗交易存在:區塊被驗證合法后,需驗證指定交易是否屬于此區塊。不同鏈有不同驗證方法,下一節會展開描述。
驗交易正確:交易存在性得到驗證后,并不能代表此交易確實是跨鏈場景下預期的操作,還需結合業務場景,判斷交易的具體內容是否符合預期。
只有通過上述四層才算驗證通過。驗證通過后,說明操作已在對方鏈上上鏈,本地的鏈可執行后續步驟。?
各層次驗證機制的實現方案
分片項目Elrond集成Poly Network協議實現BTC等代幣跨鏈操作:11月25日,分片項目Elrond官方宣布,已與區塊鏈互操作性協議Poly Network合作,通過將Elrond主網集成到Poly Network中,將能使BTC、ETH、NEO及Cosmos在Elrond主網進行跨鏈DeFi。[2020/11/25 22:03:31]
上節所述四層驗證,在不同區塊鏈上有不同的實現方式。WeCross的插件化框架,定義了通用的編程接口,開發者只需按照鏈類型實現四個層次的驗證邏輯即可。
下面,我們來看看各層次的具體實現方案。
驗區塊連續
在不同區塊鏈上的實現大同小異。當前區塊中記錄著上一個區塊的哈希值,當前區塊的哈希值又在下一個區塊中被記錄,多個區塊依次相連形成區塊鏈。不同區塊鏈只在哈希算法和計算區塊哈希的字段上存在差異。
在WeCross中,驗證區塊鏈連續性,只需按照相應鏈的實現,驗證區塊依次相連成鏈即可。
聲音 | 火星人許子敬:HX跨鏈技術能讓BTC變得非常聰明:火星人許子敬在微博表示:BTC目前的現狀,既笨重又昂貴,甚至有些人說BTC已經是老古董,該被時代拋棄。但是,在HX跨鏈技術的幫助下,BTC變得非常聰明,擁有10000TPS,轉賬手續費幾乎為零,并且可以執行任何復雜的智能合約,比如Fomo3D,更不用說去中心OTC平臺。Let’s Make Bitcoin Great Again! ????[2019/1/11]
驗區塊共識
驗區塊共識,即驗證區塊的共識信息是否符合對應的算法條件。不同算法有不同的實現。此處給出最具代表性的兩種共識算法:POW和PBFT。
POW屬于最終一致性共識算法,通過最長鏈和延遲確認的方式逐漸讓共識結果收斂一致。WeCross提供了POW驗證所需步驟:
驗難度:驗證區塊的nonce是否滿足工作量證明條件
驗延遲:驗證當前塊是否低于已知最高塊N個塊
驗最長鏈:引入多方,驗證當前區塊處于最長鏈上,防止單方面謊造最高塊高和偽造分叉鏈進行作惡
PBFT算法在多方共識后立即達成一致,區塊鏈不存在分叉和回滾的可能。在算法中,節點通過多次相互廣播簽名以達到共識。
在區塊中,足夠數量的簽名代表了區塊的合法性。因此,WeCross中對PBFT的驗證較為簡單:
配置公鑰:事先配置對方鏈共識節點的公鑰
驗簽名:用事先配置的公鑰驗證區塊中簽名的有效性,并判斷有效簽名數量是否達到PBFT共識條件
驗交易存在
驗交易存在同樣需要根據不同實現判斷,比較有代表性的是SPV和背書策略。
SPV的初衷是為了實現輕客戶端,目前已在大多數區塊鏈上實現。隨著跨鏈技術興起,此技術也被用作驗證區塊中某數據的存在性。
以交易為例,區塊頭中記錄了當前區塊內所有交易哈希組成Merkle樹的樹根,即“交易根”。任何一筆交易,都唯一對應了一條通向交易根的Merklepath。區塊內不存在的交易,無法偽造出通向交易根的MerklePath。
因此,在WeCross中只需驗證某交易的MerklePath,即可判斷某交易是否屬于某區塊。
背書策略為HyperledgerFabric所采用。在Fabric中,每筆交易都需滿足某個事先定義好的背書策略。
交易在執行時會被多個背書節點簽名,當各方簽名滿足背書策略時,此交易才被認為有效。Fabric將背書節點簽名信息作為交易的一部分保存于區塊中。多筆交易組成區塊內的交易列表。交易列表以二進制形式計算哈希值,此哈希值被記錄于區塊頭中。
因此,在WeCross目前的實現中,僅需判斷交易是否在交易列表中,并校驗交易列表哈希值,即可初步判斷交易的存在性。
WeCross后續將結合背書策略,驗證交易的背書節點簽名,進一步增強交易存在驗證的有效性。
驗交易正確
驗交易正確,是根據業務的預期參數判斷前三步驗證的交易哈希是否是業務預期的那個操作。
例如,預期操作為transfer(a,b,100),則相應的交易內容不能是get(a)。驗證時,需根據交易的編碼方式和哈希算法,校驗業務預期參數與交易哈希是否對應。不同區塊鏈實現的差別只體現在交易編碼和哈希算法上,根據鏈實現采用相應方法進行校驗即可。
WeCross中不同鏈的插件實現了不同的校驗邏輯。FISCOBCOS插件采用的是RLP編碼和SHA-256哈希算法,驗證的是交易哈希是否正確;而Fabric插件則采用ProtoBuf編碼,驗證的是交易二進制是否正確。
完整驗證過程舉例
為了更直觀進行說明,下圖給出了FISCOBCOS的完整驗證過程。
當某條鏈拿到了對方鏈的執行結果后,即可在本地進行驗證。
在驗區塊連續上,FISCOBCOS通過比對區塊頭中父區塊哈希與真實的父區塊哈希,驗證此區塊是對方鏈的區塊。
在驗區塊共識上,通過校驗當前區塊的簽名列表,判斷合法簽名數量是否滿足PBFT共識條件,確認當前區塊代表了對方鏈的整體意愿。
通過驗證交易哈希通向交易根的MerklePath的正確性,可判斷交易已存在于區塊鏈上。
通過驗證業務預期、交易二進制、交易哈希的對應關系,可判斷交易是業務預期的那個操作。四個層次驗證通過后,說明業務所預期的操作已在對方鏈上上鏈,驗證完成。
總結
鏈間的信任,以信任對方鏈的執行機制為前提,信的是符合執行機制的執行結果。執行結果是否正確,驗的是四個層次的數據。驗證機制在不同鏈有不同的實現,WeCross以插件化的方式提供支持。
:以太早間延續之前的陰跌走勢,一路跌至356-351強支撐帶后反彈,凌晨最高觸及373一線后再次回落,很遺憾沒能達到昨日凌晨給出策略的止盈點位377,今天以太實在太不爭氣,比特幣領漲再創新高.
1900/1/1 0:00:00尊敬CoinW用戶: CoinW將在DeFi專區上線MEME/USDT交易對,具體時間安排如下: 充值時間:已開啟 交易時間:2020年8月30日14:00 提幣時間:已開啟 為慶祝MEME正式.
1900/1/1 0:00:00尊敬的LBank用戶: LBank將于2020年9月17日16:00(UTC8)上線YFFII.
1900/1/1 0:00:001.DEX龍頭Uniswap為什么不著急發幣?現在再看SushiSwap,它遠沒有剛面世時的光鮮了.
1900/1/1 0:00:00OKExInsights和Catallact的最新研究表明,隨著新冠肺炎大流行開始,散戶和機構比特幣投資者采取了截然不同的方法.
1900/1/1 0:00:00親愛的CoinW用戶: CoinW將于4月27日16:00開啟DASH減半活動。活動期間參與DASH幣幣、合約交易即可享5折交易手續費特權,指定交易排位前10名用戶每天瓜分1888CNYT獎池.
1900/1/1 0:00:00