跨鏈技術(shù)能夠解決區(qū)塊鏈的哪些問(wèn)題
跨鏈技術(shù)是什么?
跨鏈技術(shù)可以被理解為一種協(xié)議,解決兩個(gè)或多個(gè)不同鏈上的資產(chǎn)以及功能狀態(tài)不能互相傳遞、轉(zhuǎn)移、交換的問(wèn)題。也就是說(shuō),跨鏈技術(shù)能夠增加區(qū)塊鏈的可拓展性,能夠從根本上解決不同公鏈/側(cè)鏈之間交易困難產(chǎn)生的”數(shù)據(jù)孤島“問(wèn)題。
跨鏈技術(shù)的難點(diǎn)
跨鏈技術(shù)從 Blockstream 提出側(cè)鏈概念以來(lái),一直是區(qū)塊鏈技術(shù)的重點(diǎn)攻關(guān)方向。目前并沒(méi)有被普遍認(rèn)可的跨鏈機(jī)制,原因在于各個(gè)公鏈之間的底層技術(shù)實(shí)現(xiàn)差異巨大給跨鏈技術(shù)帶來(lái)了不小的障礙。
跨鏈需要解決的幾個(gè)難點(diǎn)問(wèn)題:
· 保證跨鏈信息真實(shí)可信
原鏈上的交易信息對(duì)于另一條鏈來(lái)說(shuō)是一個(gè)外部信息,如何保證這個(gè)外部信息進(jìn)入另一條鏈時(shí)是正確的,是整個(gè)跨鏈機(jī)制的重要環(huán)節(jié)。如果要考慮到使用 POW 機(jī)制的區(qū)塊鏈上沒(méi)有終局狀態(tài)(始終存在分叉的情況,只是隨著確認(rèn)塊的增加,概率逐漸變?。?,這個(gè)問(wèn)題的復(fù)雜度會(huì)更高。
· 跨鏈交易要確保原鏈上的 Token 總量不會(huì)因?yàn)榭珂湺鴾p少或增多
跨鏈技術(shù)很重要的一個(gè)應(yīng)用方向就是數(shù)字資產(chǎn)的跨鏈轉(zhuǎn)移,如何保證不同鏈上的數(shù)字資產(chǎn)能夠安全地從一條鏈轉(zhuǎn)移到其他鏈,又可以從其他區(qū)塊鏈安全地返回主鏈?zhǔn)秦酱鉀Q的問(wèn)題之一。對(duì)于數(shù)字資產(chǎn)的跨鏈轉(zhuǎn)移來(lái)說(shuō),原鏈上 Token 總量減少的后果是當(dāng) Token 需要跨回原鏈時(shí),原鏈無(wú)法產(chǎn)生新的 Token ,也就是只能單向跨鏈。原鏈 Token 增多是名義上的增多,實(shí)際上是本來(lái)已經(jīng)跨鏈至另一個(gè)賬本的 Token 在原鏈上被雙重支付了,這種情況違背了精確記賬的原則,是在任何時(shí)候都無(wú)法接受的。因此當(dāng) Token 跨出原鏈時(shí),原鏈上的 Token 必然需要進(jìn)入“鎖定”的狀態(tài),當(dāng) Token 跨回原鏈時(shí),這些 Token 需要被解鎖。如何通過(guò)去中心化的管理機(jī)制完成“鎖定”、“解鎖“的過(guò)程就成為了跨鏈的關(guān)鍵。
· 保證整個(gè)跨鏈交易的原子性
交易的原子性,簡(jiǎn)單來(lái)說(shuō)是指交易處理的某個(gè)環(huán)節(jié)停止,整個(gè)交易能夠撤銷(xiāo),而不會(huì)存在部分成功,部分失敗的情況,無(wú)法保證原子性會(huì)造成雙重支付。在跨鏈技術(shù)中保證原子性的難點(diǎn)在于,跨鏈雙方是兩條獨(dú)立的鏈,可能具有不同的共識(shí)機(jī)制、數(shù)據(jù)結(jié)構(gòu)、交易處理邏輯等等,造成交易最終沒(méi)有被執(zhí)行的原因也千差萬(wàn)別。
現(xiàn)有的跨鏈技術(shù)方案
目前主流的區(qū)塊鏈跨鏈技術(shù)有公證人機(jī)制(Notary schemes)、側(cè)鏈/中繼(Sidechains/relays)、哈希鎖定(Hash-locking)。
上表列出了各種跨鏈技術(shù)的基本區(qū)別,早期跨鏈技術(shù)包括以瑞波和BTC Relay為代表,它們更多關(guān)注的是資產(chǎn)轉(zhuǎn)移;現(xiàn)有跨鏈技術(shù)以Polkadot和Cosmos為代表更多關(guān)注的是跨鏈基礎(chǔ)設(shè)施;新出現(xiàn)的FUSION實(shí)現(xiàn)了多幣種智能合約,是一種很有應(yīng)用價(jià)值的公有鏈,在其上可以產(chǎn)生豐富的的跨鏈金融應(yīng)用。
公證人機(jī)制
公證人技術(shù)的代表就是瑞波 Interledger 協(xié)議。2012年,瑞波實(shí)驗(yàn)室提出 Interledger 協(xié)議,旨在連接不同賬本并實(shí)現(xiàn)它們之間的協(xié)同。Interledger 協(xié)議適用于所有記賬系統(tǒng)、能夠包容所有記賬系統(tǒng)的差異性,該協(xié)議的目標(biāo)是要打造全球統(tǒng)一支付標(biāo)準(zhǔn),創(chuàng)建統(tǒng)一的網(wǎng)絡(luò)金融傳輸?shù)膮f(xié)議。
Interledger 協(xié)議使兩個(gè)不同的記賬系統(tǒng)可以通過(guò)第三方“連接器”或“驗(yàn)證器”互相自由地傳輸通證。記賬系統(tǒng)無(wú)需信任“連接器”,因?yàn)樵搮f(xié)議采用密碼算法用連接器為這兩個(gè)記賬系統(tǒng)創(chuàng)建資金托管,當(dāng)所有參與方對(duì)交易達(dá)成共識(shí)時(shí),便可相互交易。
側(cè)鏈
側(cè)鏈?zhǔn)且藻^定某種原鏈上的通證為基礎(chǔ)的新型區(qū)塊鏈,正如美金錨定到黃金。側(cè)鏈?zhǔn)沁B接各種鏈,其它區(qū)塊鏈則可以獨(dú)立存在。
側(cè)鏈技術(shù)的代表是 BTC Relay。它被認(rèn)為是區(qū)塊鏈上的第一個(gè)側(cè)鏈。BTC Relay 把以太坊網(wǎng)絡(luò)與比特幣網(wǎng)絡(luò)通過(guò)使用以太坊的智能合約連接起來(lái),可以使用戶在以太坊上驗(yàn)證比特幣交易。它通過(guò)以太坊智能合約創(chuàng)建一種小型版本的比特幣區(qū)塊鏈,但智能合約需要獲取比特幣網(wǎng)絡(luò)數(shù)據(jù),因此實(shí)現(xiàn)去中心化比較困難。BTC Relay 進(jìn)行了跨區(qū)塊鏈通信的有意義的嘗試,打開(kāi)了不同區(qū)塊鏈交流的通道。
中繼技術(shù)
中繼技術(shù)的代表是 Polkadot。Polkadot 是由原以太坊主要核心開(kāi)發(fā)者推出的公有鏈。它主要解決當(dāng)今兩大難題:即時(shí)拓展性和可擴(kuò)展性。Polkadot 計(jì)劃將私有鏈/聯(lián)盟鏈融入到公有鏈的共識(shí)網(wǎng)絡(luò)中,同時(shí)又能保有私有鏈/聯(lián)盟鏈的原有的數(shù)據(jù)隱私和許可使用的特性。它可以將多個(gè)區(qū)塊鏈互相連接。
Polkadot的提出者 Gavin Wood 希望用一條中繼鏈(Relay-chain)來(lái)實(shí)現(xiàn)其他所有鏈的交易的驗(yàn)證工作, 再通過(guò)平行鏈的創(chuàng)建實(shí)現(xiàn)與原鏈的交易與通信。
Polkadot目前還是以以太坊為主,實(shí)現(xiàn)其與私鏈的互連,并以其他公有鏈網(wǎng)絡(luò)為升級(jí)目標(biāo),最終讓以太坊直接與任何鏈進(jìn)行通訊。
哈希鎖定技術(shù)
哈希鎖定技術(shù)的代表是閃電網(wǎng)絡(luò)。閃電網(wǎng)絡(luò)底層運(yùn)用了 HTLC 技術(shù)和 RSMC 技術(shù),構(gòu)建了一個(gè)個(gè)鏈下支付通道。這些通道合在一起成為一個(gè)網(wǎng)絡(luò)。交易雙方的數(shù)目比較小的微支付可以通過(guò)一系列的鏈下協(xié)議完成,從而拓展比特幣的性能。
閃電網(wǎng)絡(luò)的關(guān)鍵技術(shù)是HTLC哈希鎖定技術(shù),基本原理如下:Alice和Bob可以達(dá)成這樣一個(gè)協(xié)議:協(xié)議將鎖定Alice的0.1 BTC,在時(shí)刻T到來(lái)之前(T以未來(lái)的某個(gè)區(qū)塊鏈高度表述),如果Bob能夠向Alice出示一個(gè)適當(dāng)?shù)腞(稱(chēng)為秘密),使得R的哈希值等于事先約定的值H(R),Bob就能獲得這0.1 BTC;如果直到時(shí)刻T過(guò)去Bob仍然未能提供一個(gè)正確的R,這0.1 BTC將自動(dòng)解凍并歸還Alice。
閃電網(wǎng)絡(luò)并不試圖解決單次支付的問(wèn)題,其假設(shè)是單次支付的金額足夠小,即使一方違約另一方的損失也非常小,風(fēng)險(xiǎn)可以承受。因此使用時(shí)必須注意“微支付”這個(gè)前提。
分布式私鑰控制技術(shù)
私密資產(chǎn)通過(guò)分布式私鑰生成與控制技術(shù)被映射到基于協(xié)議的內(nèi)置資產(chǎn)模板的區(qū)塊鏈上,根據(jù)跨鏈交易信息部署新的智能合約、創(chuàng)建新的資產(chǎn)。當(dāng)一種已注冊(cè)資產(chǎn)由原有鏈轉(zhuǎn)移到跨鏈上時(shí),跨鏈節(jié)點(diǎn)會(huì)為用戶在已有合約中發(fā)放相應(yīng)等值代幣。為確保原有鏈資產(chǎn)在跨鏈上仍然可以相互交易流通,實(shí)現(xiàn)和解除分布式控制權(quán)管理的操作稱(chēng)為:鎖入(Lock-in)和解鎖(Lock-out)。鎖入是對(duì)所有通過(guò)密鑰控制的數(shù)字資產(chǎn)實(shí)現(xiàn)分布式控制權(quán)管理和資產(chǎn)映射的過(guò)程。這時(shí)需要委托去中心化的網(wǎng)絡(luò)掌管用戶的私鑰,用戶自己掌握跨鏈上那部分代理資產(chǎn)的私鑰。當(dāng)解鎖時(shí)再將數(shù)字資產(chǎn)的控制權(quán)交還給所有者。
雖然中心化的網(wǎng)絡(luò)掌握用戶部分私鑰,但用戶并沒(méi)有失去對(duì)這筆資產(chǎn)的控制權(quán),擁有私鑰才是擁有對(duì)這筆資產(chǎn)的控制權(quán)。
FIBOS 的跨鏈思考
哈希鎖定作為 FIBOS 跨鏈技術(shù)的選型并不理想。一方面哈希鎖定無(wú)法保證數(shù)據(jù)來(lái)源的可信度;另一方面,它還需要用戶在一定時(shí)間窗口完成操作,用戶本身也成為了跨鏈的一部分,提升了用戶使用門(mén)檻。
公證人機(jī)制天然比較契合 FIBOS 的生態(tài),因?yàn)?FIBOS 中 BP 節(jié)點(diǎn)(Block Producer)恰好可以作為公證人。但這也帶來(lái)了一定的問(wèn)題,首先,BP 節(jié)點(diǎn)由投票產(chǎn)生,其變動(dòng)速度較快,公證人列表需要不斷的更新,需要考慮如何去中心化的同步公證人列表、以及公證人列表和 FIBOS BP 不一致所帶來(lái)的數(shù)據(jù)同步問(wèn)題;其次,因?yàn)?BP節(jié)點(diǎn) 是由 FIBOS 選出,其他鏈?zhǔn)欠裢耆J(rèn)同這一結(jié)果還未可知;最后,公證人機(jī)制本身存在數(shù)據(jù)重復(fù)發(fā)送的問(wèn)題,降低了效率。并且,得到的數(shù)據(jù)依靠“多簽”機(jī)制來(lái)判斷能否執(zhí)行,不能在數(shù)學(xué)層面上驗(yàn)證,這也會(huì)產(chǎn)生風(fēng)險(xiǎn)。
側(cè)鏈技術(shù)對(duì)于 FIBOS 跨鏈技術(shù)有一定的可取性。由于其區(qū)塊狀態(tài)在合約內(nèi)同步進(jìn)行,所以會(huì)產(chǎn)生不必要的 CPU,RAM 等資源消耗。同時(shí)帶來(lái)的問(wèn)題是,由于 FIBOS 出塊速度較快(0.5s),在 FIBOS 側(cè)鏈進(jìn)行多塊的狀態(tài)同步,容易產(chǎn)生超時(shí)問(wèn)題。使用側(cè)鏈來(lái)解決數(shù)據(jù)的可信度是一個(gè)很好的方案,可是不應(yīng)該將其放在合約內(nèi)進(jìn)行。
中繼方案看起來(lái)更為可取,因?yàn)橹欣^鏈的存在,不會(huì)因同步狀態(tài)消耗額外資源在原鏈上。同時(shí),異構(gòu)鏈的數(shù)據(jù)結(jié)構(gòu)不同問(wèn)題,可以在中繼鏈內(nèi)進(jìn)行數(shù)據(jù)轉(zhuǎn)換解決。這使得中繼方案不僅比較經(jīng)濟(jì),而且能在異構(gòu)鏈之間進(jìn)行轉(zhuǎn)賬。唯一的問(wèn)題在于鎖定資產(chǎn)賬戶由誰(shuí)來(lái)控制,以及狀態(tài)和數(shù)據(jù)同步由誰(shuí)進(jìn)行,這一點(diǎn)在上述的中繼技術(shù)方案里并沒(méi)有給出答案。
對(duì)于 FIBOS 生態(tài)來(lái)說(shuō),解決跨鏈問(wèn)題是一個(gè)戰(zhàn)略性地挑戰(zhàn),尤其在談到和 EOS 之間的跨鏈轉(zhuǎn)賬問(wèn)題時(shí),跨鏈技術(shù)是必須要攻克的難關(guān)之一。對(duì)此,融合公證人機(jī)制和中繼的方案有著較高的可行性。資產(chǎn)鎖定賬號(hào)由公證人共同掌握,公證人同時(shí)負(fù)責(zé)區(qū)塊狀態(tài)的初始化和給出一個(gè)同步地址。當(dāng)出現(xiàn)跨鏈轉(zhuǎn)賬操作時(shí),首先由見(jiàn)證人執(zhí)行多簽對(duì)跨鏈資產(chǎn)進(jìn)行轉(zhuǎn)出,然后進(jìn)入中繼鏈,進(jìn)行數(shù)據(jù)驗(yàn)證。驗(yàn)證成功后,再由多簽操作轉(zhuǎn)入目標(biāo)鏈。這使得公證人機(jī)制能夠在數(shù)學(xué)層面上被驗(yàn)證,同時(shí)使得中繼鏈的數(shù)據(jù)來(lái)源較為可信。
區(qū)塊鏈從技術(shù)上來(lái)說(shuō)是P2P網(wǎng)絡(luò)、加密技術(shù)和分布式賬本,從經(jīng)濟(jì)上來(lái)說(shuō),它是價(jià)值網(wǎng)絡(luò)。而目前,由于不同鏈之間通信壁壘的存在,導(dǎo)致了區(qū)塊鏈的價(jià)值網(wǎng)絡(luò)呈割裂狀態(tài)。區(qū)塊鏈作為價(jià)值網(wǎng)絡(luò)的基礎(chǔ)設(shè)施部分,不應(yīng)該局限于一個(gè)個(gè)“價(jià)值孤島”,更不能僅僅將價(jià)值圈定于一個(gè)個(gè)小的生態(tài)中。因此需要跨鏈技術(shù)將不同的鏈之間進(jìn)行鏈接和拓展,構(gòu)建價(jià)值網(wǎng)絡(luò)的高速公路。隨著區(qū)塊鏈技術(shù)的高效迭代和創(chuàng)新,相信跨鏈技術(shù)會(huì)越來(lái)越成熟,區(qū)塊鏈價(jià)值網(wǎng)絡(luò)的高速公路也終將會(huì)把一個(gè)個(gè)“孤島”連接起來(lái)。