本文首發(fā)于[深入淺出區(qū)塊鏈社區(qū)(https://learnblockchain.cn/)
原文鏈接:跨鏈技術(shù)的分析和思考原文已更新十酣,請(qǐng)讀者前往原文閱讀
當(dāng)前的區(qū)塊鏈底層技術(shù)平臺(tái)百花齊放驴党,不同的業(yè)務(wù)彪杉、不同的技術(shù)底層的區(qū)塊鏈之間缺乏統(tǒng)一的互聯(lián)互通的機(jī)制褐啡,這極大限制了區(qū)塊鏈技術(shù)和應(yīng)用生態(tài)的健康發(fā)展继控≌遛保跨鏈的需求由此而來(lái)停巷,本文通過(guò)分析幾種主流的跨鏈方案探討跨鏈技術(shù)的本質(zhì)及相應(yīng)的解決思路耍攘。
跨鏈的類型
跨鏈交互根據(jù)所跨越的區(qū)塊鏈底層技術(shù)平臺(tái)的不同可以分為同構(gòu)鏈跨鏈和異構(gòu)鏈跨鏈:同構(gòu)鏈之間安全機(jī)制、共識(shí)算法畔勤、網(wǎng)絡(luò)拓?fù)淅俑鳌^(qū)塊生成驗(yàn)證邏輯都一致,它們之間的跨鏈交互相對(duì)簡(jiǎn)單庆揪。而異構(gòu)鏈的跨鏈交互相對(duì)復(fù)雜式曲,比如比特幣采用PoW算法而聯(lián)盟鏈Fabric采用傳統(tǒng)確定性共識(shí)算法,其區(qū)塊的組成形式和確定性保證機(jī)制均有很大不同,直接跨鏈交互機(jī)制不易設(shè)計(jì)吝羞。異構(gòu)鏈之間的跨鏈交互一般需要第三方輔助服務(wù)輔助跨鏈交互兰伤。
主流跨鏈機(jī)制概述
截至目前,主流的區(qū)塊鏈跨鏈技術(shù)方案按照其具體的實(shí)現(xiàn)方式主要分為三大類钧排,分別是公證人機(jī)制敦腔、側(cè)鏈/中繼和哈希鎖定:
- 公證人機(jī)制(Notary schemes): 公證人也稱見(jiàn)證人機(jī)制,公證人機(jī)制本質(zhì)上是一種中介的方式恨溜。具體而言符衔,假設(shè)區(qū)塊鏈A和B本身是不能直接進(jìn)行互操作的,那么他們可以引入一個(gè)共同信任的第三方作為中介糟袁,由這個(gè)共同信任的中介進(jìn)行跨鏈消息的驗(yàn)證和轉(zhuǎn)發(fā)判族。公證人機(jī)制的優(yōu)點(diǎn)在于能夠靈活地支持各種不同結(jié)構(gòu)的區(qū)塊鏈(前提是公證人能夠訪問(wèn)相關(guān)方的鏈上信息),缺點(diǎn)在于存在中心化風(fēng)險(xiǎn)系吭。
- 哈希鎖定(Hash-locking): 哈希鎖定技術(shù)主要是支持跨鏈中的原子資產(chǎn)交換五嫂,最早起源自比特幣的閃電網(wǎng)絡(luò)。其典型實(shí)現(xiàn)是哈希時(shí)間鎖定合約HTLC(Hashed TimeLock Contract)肯尺。哈希鎖定的原理是通過(guò)時(shí)間差和影藏哈希值來(lái)達(dá)到資產(chǎn)的原子交換沃缘。哈希鎖定只能做到交換而不能做到資產(chǎn)或者信息的轉(zhuǎn)移,因此其使用場(chǎng)景有限则吟。
- 側(cè)鏈/中繼鏈(Sidechains / Relays): 側(cè)鏈?zhǔn)侵竿耆珦碛心虫湹墓δ艿牧硪粭l區(qū)塊鏈槐臀,側(cè)鏈可以讀取和驗(yàn)證主鏈上的信息。主鏈不知道側(cè)鏈的存在氓仲,由側(cè)鏈主動(dòng)感知主鏈信息并進(jìn)行相應(yīng)的動(dòng)作水慨。而中繼鏈則是側(cè)鏈和公證人機(jī)制的結(jié)合體,中繼鏈具有訪問(wèn)需要和驗(yàn)證進(jìn)行互操作的鏈的關(guān)鍵信息并對(duì)兩條鏈的跨鏈消息進(jìn)行轉(zhuǎn)移敬扛。從這個(gè)角度看中繼鏈也是一種去中心的公證人機(jī)制晰洒。
下面就這幾種跨鏈方式的典型實(shí)現(xiàn)方式進(jìn)行詳細(xì)分析:
典型跨鏈機(jī)制實(shí)現(xiàn)分析
公證人機(jī)制
最傳統(tǒng)的公證人機(jī)制是基于中心化交易所得跨鏈資產(chǎn)交換,這種跨鏈的方式比較單一啥箭,只支持資產(chǎn)的交換谍珊,如下圖演示了Alice通過(guò)交易所,用比特幣和Bob交換ETH的過(guò)程急侥。
- Alice 通過(guò)交易所錢(qián)包將自己的比特幣打入交易所地址;
- Alice 在交易所上掛上賣(mài)單1個(gè)BTC賣(mài)出20ETH價(jià)格砌滞;
- Bob需要將自己的ETH打入交易所的以太坊地址;
- Bob通過(guò)交易所掛出購(gòu)買(mǎi)比特幣的單子 20ETH買(mǎi)一個(gè)比特幣坏怪;
- 交易所將Alice的賣(mài)單和Bob的賣(mài)單進(jìn)行撮合贝润;
- 交易所將Alice在交易所存儲(chǔ)的1BTC 轉(zhuǎn)移給Bob的比特幣地址;
- 交易所將Bob在交易所存儲(chǔ)的20ETH 轉(zhuǎn)移給Alice的以太坊地址铝宵;
至此完成了Alice和Bob的BTC和ETH的交換(案例中省去了交易所的服務(wù)費(fèi))打掘。通過(guò)該例子可以看出交易所的方式目前僅能夠支持資產(chǎn)的交換,且資產(chǎn)交換的原子性、安全性完全由中心化的交易所保障存在較大的中心化風(fēng)險(xiǎn)胧卤。
除此之外還有一種著名的分布式賬本技術(shù)Ripple唯绍,也是采用類似公證人的機(jī)制來(lái)解決全球金融機(jī)構(gòu)之間的資產(chǎn)交換踱蛀。Ripple的系統(tǒng)架構(gòu)如上圖所示缴罗,Ripple系統(tǒng)中交易通過(guò)網(wǎng)絡(luò)中的驗(yàn)證者進(jìn)行交易的驗(yàn)證逻淌,驗(yàn)證者驗(yàn)證的交易通過(guò)加密算法保護(hù)交易內(nèi)容不能被驗(yàn)證著窺探從而保證交易的隱私性。
公證人機(jī)制的跨鏈技術(shù)實(shí)現(xiàn)簡(jiǎn)單叶撒,且能夠比較靈活地支持不同類型的底層區(qū)塊鏈體系。公證人機(jī)制的主要問(wèn)題在于公證人機(jī)制的安全性保障完全由公證人系統(tǒng)保障耐版。參與跨鏈的相關(guān)方需要對(duì)中間人給予較大的信任祠够。
哈希鎖定
哈希時(shí)間鎖定(HTLC)最早出現(xiàn)在比特幣的閃電網(wǎng)絡(luò),跨鏈資產(chǎn)交換支持一定數(shù)量的A鏈資產(chǎn)和一定數(shù)量的B鏈資產(chǎn)進(jìn)行原子交換粪牲。哈希時(shí)間鎖定巧妙地采用了哈希鎖和時(shí)間鎖古瓤,迫使資產(chǎn)的接收方在deadline內(nèi)確定收款并產(chǎn)生一種收款證明給打款人,否則資產(chǎn)會(huì)歸還給打款人腺阳。收款證明能夠被付款人用來(lái)獲取接收人區(qū)塊鏈上的等量?jī)r(jià)值的數(shù)量資產(chǎn)或觸發(fā)其他事件落君。
如下圖所示,我們用一個(gè)例子來(lái)闡述如何使用哈希時(shí)間鎖定進(jìn)行跨鏈的原子資產(chǎn)交換亭引,假設(shè)Alice和Bob有資產(chǎn)交換的需求绎速,Alice想用1個(gè)BTC和Bob換20個(gè)ETH. 那么首先需要在兩條鏈上設(shè)置哈希時(shí)間鎖定合約,然后執(zhí)行如下步驟:
- Alice 隨機(jī)構(gòu)建一個(gè)字符串s焙蚓,并計(jì)算出其哈希
h = hash(s)
纹冤; - Alice 將h發(fā)送給Bob的合約;
- Alice鎖定自己的1個(gè)BTC資產(chǎn)购公,并設(shè)置一個(gè)
較長(zhǎng)
的鎖定時(shí)間t1, 并設(shè)置了獲取該BTC的一個(gè)條件:誰(shuí)能夠提供h的原始值s就可以得到該BTC
; - Bob觀察到Alice 合約中鎖定了一個(gè)BTC, 然后Bob鎖定自己的20個(gè)ETH資產(chǎn)萌京,并設(shè)置一個(gè)
相對(duì)較短
的鎖定時(shí)間t2, t2 < t1, Bob也設(shè)置了同樣獲取條件(誰(shuí)提供h的原始值s就可以獲取20個(gè)ETH); - Alice將自己最初生成的字符串s 發(fā)送到Bob的合約里取得了20個(gè)ETH;
- Bob觀察到步驟5中Alice的s值宏浩,將其發(fā)送給Alice的合約成功獲取1個(gè)BTC; 至此Alice和Bob完成了資產(chǎn)的交換知残。
從上述的過(guò)程我們可以看出哈希時(shí)間鎖定合約有一些約束條件:
- 進(jìn)行跨鏈資產(chǎn)交換的雙方必須能夠解析雙方的合約內(nèi)部數(shù)據(jù),例如s绘闷,例如鎖定資產(chǎn)的證明等橡庞;
- 哈希鎖定的超時(shí)時(shí)間設(shè)置時(shí)需要保證存在時(shí)間差,這樣在單方面作弊時(shí)另一方可以及時(shí)撤回自己的資產(chǎn)印蔗。
哈希鎖定的思想運(yùn)用在支付領(lǐng)域較多扒最,例如閃電網(wǎng)絡(luò)、雷電網(wǎng)絡(luò)以及跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議Interledger等华嘹。但是哈希鎖定目前看只適合偏資產(chǎn)或者關(guān)鍵數(shù)據(jù)的交換吧趣,甚至不支持轉(zhuǎn)移因此其試用場(chǎng)景受限。
側(cè)鏈/中繼鏈
側(cè)鏈
側(cè)鏈?zhǔn)窍鄬?duì)于主鏈而言的,最初的側(cè)鏈提出是針對(duì)比特幣做新特性的測(cè)試和研發(fā)强挫。側(cè)鏈相對(duì)主鏈而言能夠驗(yàn)證和解析主鏈中的區(qū)塊數(shù)據(jù)和賬本數(shù)據(jù)岔霸。側(cè)鏈實(shí)現(xiàn)的基礎(chǔ)技術(shù)是雙向錨定(Two-way Peg),通過(guò)雙向錨定技術(shù)可以將數(shù)字資產(chǎn)在主鏈上進(jìn)行鎖定俯渤,同時(shí)將等價(jià)的資產(chǎn)在側(cè)鏈中釋放呆细。相反當(dāng)側(cè)鏈中相關(guān)資產(chǎn)進(jìn)行鎖定時(shí),主鏈上錨定的等價(jià)資產(chǎn)也可以被釋放八匠。
BTC-Relay是號(hào)稱的史上第一個(gè)側(cè)鏈絮爷,BTC-Relay是通過(guò)以太坊構(gòu)建了一個(gè)比特幣的側(cè)面,運(yùn)用以太坊的智能合約允許用戶驗(yàn)證比特幣的交易梨树。這里我們?nèi)匀灰訟lice 1BTC和Bob的20ETH數(shù)字資產(chǎn)交換為例闡述相應(yīng)原理:
- Bob將20ETH發(fā)送到BTCSwap的合約進(jìn)行凍結(jié)坑夯;(該合約只要能夠確認(rèn)BTC網(wǎng)絡(luò)上Bob接收到來(lái)自Alice 1BTC就自動(dòng)將20ETH轉(zhuǎn)給Alice)
- Alice 確認(rèn)Bob凍結(jié)信息后,將1 BTC轉(zhuǎn)給Bob比特幣賬戶抡四;
- BTC Relayer將比特幣區(qū)塊頭推送到BTCSwap合約柜蜈;
- Alice 接下來(lái)就可以調(diào)用relay tx;
- BTCSwap合約結(jié)合tx和BTC鏈的區(qū)塊鏈進(jìn)行SPV驗(yàn)證,驗(yàn)證通過(guò)則將20ETH轉(zhuǎn)給Alice以太坊地址指巡。
這種跨鏈的實(shí)現(xiàn)方式簡(jiǎn)單淑履,但是BTC Relay需要額外的信任和維護(hù)成本,且智能合約內(nèi)部的數(shù)據(jù)存儲(chǔ)會(huì)有體積膨脹的問(wèn)題厌处。但是側(cè)鏈的機(jī)制相對(duì)哈希鎖定而言能夠提供更多的跨鏈交互場(chǎng)景鳖谈,側(cè)鏈以及類SPV驗(yàn)證的思想適合所有跨鏈的場(chǎng)景。
中繼鏈
中繼鏈本質(zhì)上算是公證人機(jī)制和側(cè)鏈機(jī)制的融合和擴(kuò)展阔涉,目前社區(qū)內(nèi)最活躍的兩個(gè)跨鏈項(xiàng)目Cosmos
和 Polkadot
采用的都是基于中繼鏈的多鏈多層架構(gòu)缆娃,其中Cosmos
目前支持的是跨鏈資產(chǎn)交互而Polkadot
則宣稱提供任意類型的跨鏈交互,具體實(shí)現(xiàn)還有待觀察瑰排。
Cosmos
Cosmos網(wǎng)絡(luò)是一個(gè)多鏈混合的區(qū)塊鏈網(wǎng)格結(jié)構(gòu)贯要,如下圖所示,該網(wǎng)絡(luò)中主要包括兩種角色:
Hub: 用于處理跨鏈交互的中繼鏈椭住;
Zone: Cosmos中的平行鏈崇渗, Cosmos中平行鏈需要具備兩個(gè)前提條件: 1. 快速確定性(fast finality), 這個(gè)特性由共識(shí)算法保障,也就是說(shuō)Cosmos的跨鏈不直接支持PoW等概率確定模型的區(qū)塊鏈京郑; 2. 強(qiáng)監(jiān)管性(Sovereignty):每個(gè)平行鏈都具有一組驗(yàn)證者能夠決定其出塊宅广。
為了支持平行鏈之間的跨鏈互操作,Cosmos提出了一種跨鏈交互協(xié)議IBC(Inter-Blockchain Communication protocol), 并利用tendermint共識(shí)算法的即時(shí)確定性實(shí)現(xiàn)多個(gè)異構(gòu)鏈之間的價(jià)值和數(shù)據(jù)傳輸些举。
首先我們以Chain A 到Chain B 轉(zhuǎn)賬10 token為例說(shuō)明使用IBC的跨鏈交互: 1. 互相跟蹤跟狱,也就是說(shuō)如果A要和B進(jìn)行跨鏈交易,那么A和B鏈需要分別運(yùn)行相當(dāng)于對(duì)方區(qū)塊鏈的輕節(jié)點(diǎn)服務(wù)户魏,這樣互相可以實(shí)時(shí)接收到對(duì)方的區(qū)塊頭信息(方便后續(xù)執(zhí)行類SPV驗(yàn)證)驶臊; 2. A鏈上初始化IBC協(xié)議挪挤,凍結(jié)相關(guān)資產(chǎn)10 token, 并生成相應(yīng)的證明發(fā)送給B區(qū)塊鏈; 3. B鏈接收到相應(yīng)的IBC消息关翎,通過(guò)A鏈的區(qū)塊頭信息確定A確實(shí)進(jìn)行相應(yīng)的資產(chǎn)凍結(jié)扛门,然后B鏈會(huì)生成等價(jià)值10 token的資產(chǎn)。
以上是使用IBC協(xié)議的兩個(gè)平行鏈直接進(jìn)行跨鏈的基本過(guò)程纵寝,如果區(qū)塊鏈很多论寨,那么這種方式的兩兩跨鏈復(fù)雜度會(huì)呈現(xiàn)組合級(jí)別增加。因此Cosmos網(wǎng)絡(luò)又引入了一種Hub的中繼鏈店雅,所有的平行鏈都通過(guò)IBC連接到Hub政基,讓Hub輔助跨鏈交易的驗(yàn)證和轉(zhuǎn)移,目前Cosmos實(shí)現(xiàn)了一個(gè)官方的Hub稱為Cosmos Hub(如前圖所示)闹啦。
如下圖所示是Cosmos 網(wǎng)絡(luò)的詳細(xì)架構(gòu)圖,Cosmos為方便平行鏈開(kāi)發(fā)提供了基本服務(wù)CosmosSDK包括:共識(shí)辕坝、網(wǎng)絡(luò)以及IBC協(xié)議等窍奋,這樣基于Cosmos SDK開(kāi)發(fā)的子鏈之間都能夠方便地互相交互。此外對(duì)于非Cosmos SDK 開(kāi)發(fā)的區(qū)塊鏈需要使用Peg Zone進(jìn)行橋接酱畅,如圖中的Ethereum琳袄。
筆者認(rèn)為Cosmos為跨鏈帶來(lái)的最大貢獻(xiàn)在于IBC協(xié)議的設(shè)計(jì),IBC協(xié)議提供了一種通用的跨鏈協(xié)議標(biāo)準(zhǔn)纺酸。IBC的設(shè)計(jì)使得跨鏈交易可以在多個(gè)Hub之間進(jìn)行安全路由和轉(zhuǎn)發(fā)窖逗,類似目前互聯(lián)網(wǎng)的TCP/IP 協(xié)議。但是遺憾的是目前的Cosmos設(shè)計(jì)也只能夠支持資產(chǎn)的跨鏈餐蔬,而且由于不同區(qū)塊鏈的業(yè)務(wù)不同其共識(shí)速率的不一致也會(huì)影響跨鏈交易有效性的證明碎紊。
Polkadot
Polkadot也是一種集成平行鏈和中繼鏈的多層多鏈架構(gòu),Polkadot區(qū)塊鏈的整體架構(gòu)圖如下圖所示樊诺,主要包含三種角色鏈和四種參與方:
三種鏈角色:
- 中繼鏈(Relay chain): 中繼鏈位于Polkadot的體系的核心地位仗考,主要是為整個(gè)系統(tǒng)提供統(tǒng)一的共識(shí)和安全性保障;
- 平行鏈(Parachain): 在Polkadot中平行鏈負(fù)責(zé)具體的業(yè)務(wù)場(chǎng)景词爬,平行鏈自身不具備區(qū)塊的共識(shí)秃嗜,它們將共識(shí)的職責(zé)渡讓給了中繼鏈,所有平行鏈共享來(lái)自中繼鏈的安全保障顿膨,中繼鏈?zhǔn)荘olkadot組成的一部分锅锨;
- 橋接鏈:橋接鏈指的是非Polkadot體系之外的區(qū)塊鏈,如Bitcoin, Ethereum恋沃, 這些區(qū)塊鏈有自身的共識(shí)算法必搞,它們通過(guò)不同的Bridge與Polkadot連接在一起進(jìn)行跨鏈交互。
四種參與方:
- 驗(yàn)證者(Validator): 驗(yàn)證者負(fù)責(zé)Polkadot的網(wǎng)絡(luò)出塊芽唇,會(huì)運(yùn)行一個(gè)中繼鏈的客戶端顾画,在每一輪區(qū)塊產(chǎn)生中會(huì)對(duì)其提名的平行鏈出的塊進(jìn)行核驗(yàn)取劫。當(dāng)平行鏈的跨都被他們的子驗(yàn)證者集合確定好之后,驗(yàn)證者們會(huì)將所有平行鏈區(qū)塊頭組裝到中繼鏈的區(qū)塊并進(jìn)行共識(shí)研侣。
- 核驗(yàn)人(Collator): 幫助驗(yàn)證者收集谱邪、驗(yàn)證和提交備選平行鏈區(qū)塊,維護(hù)了一個(gè)平行鏈的全節(jié)點(diǎn)庶诡。
- 釣魚(yú)人(Fisherman):釣魚(yú)人主要靠檢舉非法交易或者區(qū)塊以獲取收益惦银;
- 提名人(Nominator): 擁有stake的相關(guān)方,維護(hù)和負(fù)責(zé)驗(yàn)證者的安全性末誓。
Polkadot的特性包括兩個(gè)扯俱,一個(gè)是共享安全性,一個(gè)是不需信任的跨鏈交互喇澡。這里的不需信任的跨鏈交互其實(shí)是和第一個(gè)特點(diǎn)共享安全性密切相關(guān)的迅栅,而且Polkadot的不需信任的跨鏈交互也主要是只其內(nèi)部的平行鏈之間。
在Polkadot中如果parachain A 需要發(fā)送一筆交易到parachain B的過(guò)程如下:
- A鏈將跨鏈交易放到自己的engress(每個(gè)平行鏈有一個(gè)消息輸出隊(duì)列engress 和一個(gè)消息輸入隊(duì)列ingress);
- A鏈的Collator收集A鏈的普通交易以及跨鏈交易并提交給A鏈的驗(yàn)證者集合晴玖;
- A鏈的驗(yàn)證者集合驗(yàn)證成功读存,將本次A鏈的區(qū)塊頭信息以及A鏈的engress內(nèi)信息提交到中繼鏈上;
- 中繼鏈運(yùn)行共識(shí)算法進(jìn)行區(qū)塊確認(rèn)以及跨鏈交易路由呕屎,中繼鏈上的驗(yàn)證者會(huì)將A鏈的相應(yīng)交易從A鏈的engress queue中移動(dòng)到B鏈的ingress queue中让簿。
- B鏈執(zhí)行區(qū)塊,將ingress queue中相應(yīng)交易執(zhí)行并修改自身賬本秀睛。
以上便是Polkadot跨鏈交易的主要步驟尔当,由于所有平行鏈的共識(shí)同步發(fā)生(中繼鏈區(qū)塊示意圖如下),因此跨鏈交易不會(huì)有諸如雙花等安全性問(wèn)題蹂安。
Polkadot 的平行鏈之間的跨鏈交換的安全性保障主要來(lái)自共享安全性這個(gè)特點(diǎn)椭迎,共享安全性使得跨鏈交易和普通交易同步發(fā)生也就不存在其他跨鏈場(chǎng)景中的雙花等跨鏈數(shù)據(jù)不一致問(wèn)題。其次Polkadot中的引入的特殊狀態(tài)驗(yàn)證方法方便中繼鏈進(jìn)行跨鏈等消息的有效性驗(yàn)證藤抡。
值得一提的是Polkadot項(xiàng)目目前還處在項(xiàng)目初期侠碧,對(duì)于parachain的設(shè)計(jì)、Collator的協(xié)作以及Validator的共識(shí)缠黍、工作效率等都未完善弄兜。這種共享安全性的方式是否也限制了平行鏈自身的性能都還有待考證。
關(guān)于跨鏈技術(shù)的幾點(diǎn)思考
綜合以上的一些主流跨鏈場(chǎng)景和方案的分析瓷式,從跨鏈的概念以及需求上看跨鏈的本質(zhì)其實(shí)就是 如何將A鏈上的消息M安全可信地轉(zhuǎn)移到B鏈并在B鏈上產(chǎn)生預(yù)期效果
替饿。那么一個(gè)成功的跨鏈交互到底需要解決哪些問(wèn)題呢?筆者認(rèn)為主要有以下四個(gè)問(wèn)題:
- 消息M的真實(shí)性證明贸典,也就是說(shuō)M是否確實(shí)是存在A鏈上的视卢,也確實(shí)是A鏈發(fā)給B鏈的;
- 消息M的路由廊驼,如何讓跨鏈消息安全跨系統(tǒng)路由据过;
- 消息M的有效性證明惋砂,這里的有效性是指來(lái)自A鏈的消息M如何讓B鏈認(rèn)可其抵達(dá)B鏈時(shí)狀態(tài)仍然有效,比如轉(zhuǎn)移的資產(chǎn)是否是凍結(jié)的绳锅,沒(méi)有雙花的西饵,如果是狀態(tài)那么是否在此期間未發(fā)生改變等;
- 消息M的執(zhí)行結(jié)果證明鳞芙,這個(gè)是指A鏈需要確認(rèn)跨鏈操作是否成功眷柔,以及成功操作的相應(yīng)回執(zhí)。
那么針對(duì)這些關(guān)鍵本質(zhì)問(wèn)題原朝,如何去處理呢驯嘱?筆者設(shè)想未來(lái)的區(qū)塊鏈應(yīng)該在底層平臺(tái)的設(shè)計(jì)之初就需要遵循統(tǒng)一的跨鏈協(xié)議標(biāo)準(zhǔn),就像現(xiàn)在的操作系統(tǒng)對(duì)TCP/IP協(xié)議的支持一樣喳坠。需要進(jìn)行通用跨鏈的區(qū)塊鏈至少要支持一下功能:
提供跨鏈消息的輸入和輸出口徑鞠评,例如Cosmos和Polkadot的跨鏈隊(duì)列;
提供跨鏈消息的真實(shí)性證明壕鹉,區(qū)塊鏈需要提供類似SPV的證明手段谢澈;
消息的有效路由需要構(gòu)建跨鏈消息的統(tǒng)一格式,定義好消息的來(lái)源和去處以及消息內(nèi)容御板,如Cosmos的IBC協(xié)議;
消息的有效性證明牛郑,區(qū)塊鏈可能需要設(shè)計(jì)新的類似UTXO的可驗(yàn)證存儲(chǔ)結(jié)構(gòu)怠肋,方便做類SPV類驗(yàn)證,否則目前的基于KV的數(shù)據(jù)存儲(chǔ)方式做有效性證明幾乎不可能淹朋;
跨鏈執(zhí)行結(jié)果證明笙各,和有效性證明類似,需要全新的數(shù)據(jù)結(jié)構(gòu)和運(yùn)行算法支持础芍。
除此之外杈抢,跨鏈系統(tǒng)的設(shè)計(jì)還需要考慮系統(tǒng)穩(wěn)定性、可擴(kuò)展性以及易升級(jí)性仑性、容錯(cuò)等等惶楼,總而言之,真正的可信互聯(lián)網(wǎng)建設(shè)艱辛蠻長(zhǎng)诊杆,諸君共勉歼捐!
本文經(jīng)作者授權(quán)轉(zhuǎn)自BITKING
深入淺出區(qū)塊鏈 - 系統(tǒng)學(xué)習(xí)區(qū)塊鏈,打造最好的區(qū)塊鏈技術(shù)博客晨汹。
??
本文原文鏈接