A鏈的Collator收集A鏈的普通交易以及跨鏈交易并提交給A鏈的驗證者集合;
A鏈的驗證者集合驗證成功,將本次A鏈的區塊頭信息以及A鏈的engress內信息提交到中繼鏈上;
中繼鏈運行共識算法進行區塊確認以及跨鏈交易路由,中繼鏈上的驗證者會將A鏈的相應交易從A鏈的engress queue中移動到B鏈的ingress queue中。
B鏈執行區塊,將ingress queue中相應交易執行并修改自身賬本。
以上便是Polkadot跨鏈交易的主要步驟,由于所有平行鏈的共識同步發生(中繼鏈區塊示意圖如下),因此跨鏈交易不會有諸如雙花等安全性問題。 Polkadot 的平行鏈之間的跨鏈交換的安全性保障主要來自共享安全性這個特點,共享安全性使得跨鏈交易和普通交易同步發生也就不存在其他跨鏈場景中的雙花等跨鏈數據不一致問題。其次Polkadot中的引入的特殊狀態驗證方法方便中繼鏈進行跨鏈等消息的有效性驗證。
值得一提的是Polkadot項目目前還處在項目初期,對于parachain的設計、Collator的協作以及Validator的共識、工作效率等都未完善。這種共享安全性的方式是否也限制了平行鏈自身的性能都還有待考證。
關于跨鏈技術的幾點思考
綜合以上的一些主流跨鏈場景和方案的分析,從跨鏈的概念以及需求上看跨鏈的本質其實就是 如何將A鏈上的消息M安全可信地轉移到B鏈并在B鏈上產生預期效果。那么一個成功的跨鏈交互到底需要解決哪些問題呢?筆者認為主要有以下四個問題:
消息M的真實性證明,也就是說M是否確實是存在A鏈上的,也確實是A鏈發給B鏈的;
消息M的路由,如何讓跨鏈消息安全跨系統路由;
消息M的有效性證明,這里的有效性是指來自A鏈的消息M如何讓B鏈認可其抵達B鏈時狀態仍然有效,比如轉移的資產是否是凍結的,沒有雙花的,如果是狀態那么是否在此期間未發生改變等;
消息M的執行結果證明,這個是指A鏈需要確認跨鏈操作是否成功,以及成功操作的相應回執。
那么針對這些關鍵本質問題,如何去處理呢?筆者設想未來的區塊鏈應該在底層平臺的設計之初就需要遵循統一的跨鏈協議標準,就像現在的操作系統對TCP/IP協議的支持一樣。需要進行通用跨鏈的區塊鏈至少要支持一下功能:
提供跨鏈消息的輸入和輸出口徑,例如Cosmos和Polkadot的跨鏈隊列;
提供跨鏈消息的真實性證明,區塊鏈需要提供類似SPV的證明手段;
消息的有效路由需要構建跨鏈消息的統一格式,定義好消息的來源和去處以及消息內容,如Cosmos的IBC協議;
消息的有效性證明,區塊鏈可能需要設計新的類似UTXO的可驗證存儲結構,方便做類SPV類驗證,否則目前的基于KV的數據存儲方式做有效性證明幾乎不可能;
跨鏈執行結果證明,和有效性證明類似,需要全新的數據結構和運行算法支持。
除此之外,跨鏈系統的設計還需要考慮系統穩定性、可擴展性以及易升級性、容錯等等,總而言之,真正的可信互聯網建設艱辛蠻長,諸君共勉!
【文章版權歸原作者所有,其內容與觀點不代表Unitimes立 場。轉載文章僅為傳播更有價值的信息,合作或授權聯系請發郵件至 editor@unitimes.media 或添加微信 unitimes2017】 本文首發于微信公眾號:Unitimes。文章內容屬作者個人觀點,不代表和訊網立場。投資者據此操作,風險請自擔。
此文由 中國比特幣官網 編輯,未經允許不得轉載?。?a href="http://www.huohuxiazai.com/">首頁 > 比特幣行情 » 跨鏈技術的分析和思考