比原鏈的跨鏈技術(shù)介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著Bystack的主側(cè)鏈架構(gòu)的推出,主側(cè)鏈之間的跨鏈問題也成為比原鏈團(tuán)隊(duì)的主要攻克工程難題,當(dāng)前比原鏈已經(jīng)推出了兩種跨鏈的機(jī)制,各有不同的側(cè)重點(diǎn),可能因?yàn)楸旧淼目珂溂夹g(shù)比較晦澀。
一些預(yù)備知識(shí)
跨鏈簡單的來說就是解決如何讓一條鏈上的token轉(zhuǎn)移到另一條鏈上,本質(zhì)是將一條鏈上的價(jià)值轉(zhuǎn)移到另一條鏈,跨鏈需要保證以下幾點(diǎn):
1. 確保已跨鏈的資產(chǎn)的妥善保管,不能在原鏈上能夠繼續(xù)流通,要防止被竊取或者挪用;
2. 確保兩條鏈上轉(zhuǎn)移的資產(chǎn)是等同的,不能A鏈上減少了100價(jià)值的資產(chǎn),而B鏈上只增加了50價(jià)值的資產(chǎn);
3. 轉(zhuǎn)移的資產(chǎn)能夠安全的再轉(zhuǎn)移回原鏈上,不能價(jià)值只是單向轉(zhuǎn)移,或者轉(zhuǎn)移過去無法轉(zhuǎn)移回來;
基于這些要求,誕生出很多不同的跨鏈方案,主要是公證人機(jī)制,側(cè)鏈/中繼和哈希時(shí)間鎖等方案,除此之外還有分布式私鑰,和公證人機(jī)制+側(cè)鏈混合技術(shù)。這里不對這些技術(shù)進(jìn)行展開,如果有興趣的朋友,可以推薦閱讀V神給R3寫的關(guān)于跨鏈的文章《Chain Interoperability》。
比原鏈的跨鏈選型
比原鏈的跨鏈模型也脫離不了上面敘述的跨鏈模型,當(dāng)前主要使用的是公證人機(jī)制和哈希時(shí)間鎖的模式。
因?yàn)閭?cè)鏈Vapor本身是沒有資產(chǎn)的,所以我們使用公證人機(jī)制將主鏈的資產(chǎn)轉(zhuǎn)移到側(cè)鏈上(實(shí)際上是在主鏈鎖定資產(chǎn),在Vapor側(cè)鏈創(chuàng)造資產(chǎn)),同時(shí)因?yàn)楣C人機(jī)制需要一定的時(shí)間進(jìn)行簽名審核,所以我們再使用哈希時(shí)間鎖的機(jī)制做補(bǔ)充,可以快速的交換主側(cè)鏈之間的資產(chǎn)(但哈希時(shí)間鎖機(jī)制不會(huì)創(chuàng)造資產(chǎn),只是對現(xiàn)有的主側(cè)鏈資產(chǎn)進(jìn)行跨鏈互換)。
公證人(網(wǎng)關(guān))機(jī)制
但凡是參與過比原側(cè)鏈超級(jí)節(jié)點(diǎn)投票對于跨鏈轉(zhuǎn)移BTM一定不會(huì)陌生,在Bycoin中通過切換到側(cè)鏈錢包,可以實(shí)現(xiàn)一鍵跨鏈,如圖所示:
通過一鍵跨鏈就可以將BTM或者其他資產(chǎn)跨到側(cè)鏈上,從而在側(cè)鏈上進(jìn)行資產(chǎn)交換。那么公證人機(jī)制背后的原理是怎么樣的呢?忽略其中的技術(shù)細(xì)節(jié),核心就是價(jià)值生成和銷毀,資產(chǎn)托管和主側(cè)鏈的接口通信,如下圖所示:
每當(dāng)從主鏈轉(zhuǎn)移到側(cè)鏈,就需要在側(cè)鏈上創(chuàng)造相應(yīng)的資產(chǎn),而如果要從側(cè)鏈上轉(zhuǎn)回主鏈,則需要銷毀側(cè)鏈上相應(yīng)的資產(chǎn),這就是價(jià)值的生成和銷毀。當(dāng)主鏈的資產(chǎn)跨鏈到側(cè)鏈上,就需要對主鏈的資產(chǎn)進(jìn)行托管,出于安全的考慮,一般都會(huì)采用多簽的方式,還有對大額資產(chǎn)進(jìn)行冷熱分離。
先介紹幾個(gè)概念:
1. 驗(yàn)證人:側(cè)鏈的出塊人,就是當(dāng)前的正式出塊的超級(jí)節(jié)點(diǎn)方(前十的超級(jí)節(jié)點(diǎn))。
2. 收集人:監(jiān)控主鏈鎖定在聯(lián)邦合約地址的交易,收集主鏈的交易并在側(cè)鏈上創(chuàng)建等額的資產(chǎn),監(jiān)控側(cè)鏈跨鏈請求,銷毀側(cè)鏈的資產(chǎn)并釋放等額資產(chǎn)到主鏈上。驗(yàn)證人和收集人都是系統(tǒng)中的角色,并不是指代實(shí)際的人,但其中可能會(huì)需要人進(jìn)行參與。
3. 聯(lián)邦地址:由多名聯(lián)邦成員公鑰生成的多簽地址。
當(dāng)用戶點(diǎn)擊一鍵跨鏈之后,發(fā)生了什么事情?
如果是從主鏈到側(cè)鏈:
1. 收集人監(jiān)測到主鏈的聯(lián)邦地址接受到了一筆轉(zhuǎn)賬;
2. 收集人等待主鏈打包,當(dāng)?shù)竭_(dá)一定確認(rèn)數(shù)后這筆交易將不能被逆轉(zhuǎn);
3. 收集人在側(cè)鏈上創(chuàng)建等額的資產(chǎn),通過多簽進(jìn)行審核確認(rèn),并打入到用戶的側(cè)鏈地址;
4. 用戶的側(cè)鏈上獲得可以流通的資產(chǎn);
如果是從側(cè)鏈到主鏈:
1. 收集人監(jiān)測到一筆側(cè)鏈銷毀資產(chǎn)的交易(這里用戶并不需要將自己的側(cè)鏈資產(chǎn)打到聯(lián)邦地址上,而是自己發(fā)起一筆銷毀側(cè)鏈資產(chǎn)的交易);
2. 收集人等待側(cè)鏈打包,當(dāng)?shù)竭_(dá)一定確認(rèn)數(shù)后這筆交易將不能被逆轉(zhuǎn);
3. 收集人將聯(lián)邦地址中等額的資產(chǎn),通過多簽進(jìn)行審核確認(rèn),并打入到用戶的主鏈地址;
4. 用戶在主鏈上獲得可以流通的資產(chǎn);
網(wǎng)關(guān)(公證人)機(jī)制則是一個(gè)被實(shí)際場景檢驗(yàn)過的高效可實(shí)用機(jī)制,網(wǎng)關(guān)起到了建立跨鏈信任背書、統(tǒng)一跨鏈通信協(xié)議、協(xié)調(diào)主側(cè)鏈交易確認(rèn)的重要作用。但在實(shí)際場景里,跨鏈網(wǎng)關(guān)會(huì)面臨中心化運(yùn)營的弊端,導(dǎo)致跨鏈協(xié)作無法完全去信任,互操作性不高。后續(xù)的開放式聯(lián)邦網(wǎng)關(guān)管理框架 OFMF就是為了解決中心化的問題,這塊后續(xù)會(huì)專門寫文探討,這里不做贅述。
同時(shí)因?yàn)樾枰斯ざ嗪灥脑?,跨鏈需要用戶較長的等待時(shí)間,所以又推出了基于哈希時(shí)間鎖的跨鏈資產(chǎn)原子互換機(jī)制,和公證人機(jī)制進(jìn)行一個(gè)互補(bǔ)。
哈希時(shí)間鎖跨鏈機(jī)制
哈希鎖定模式是指用戶在規(guī)定的時(shí)間段對于哈希值的原值進(jìn)行猜測來支付的一種機(jī)制。簡單講,就是在智能合約的基礎(chǔ)上,雙方先鎖定資產(chǎn),如果都在有限的時(shí)間內(nèi)輸入正確哈希值的原值,即可完成交易。
通過公證人機(jī)制,可以將比原主鏈的資產(chǎn)遷移到側(cè)鏈上去,那么通過哈希時(shí)間鎖,則可以將比原主鏈和側(cè)鏈的資產(chǎn)直接進(jìn)行交換。
比如你在主鏈上有BTC,我在側(cè)鏈上有ETH,如果使用公證人機(jī)制,我需要首先將BTC跨到側(cè)鏈上去,或者將ETH跨到主鏈上來,這樣才能進(jìn)行互換;而有了哈希時(shí)間鎖的機(jī)制,就可以直接把我主鏈上的資產(chǎn)打給你,而你將側(cè)鏈上的資產(chǎn)打給我,并能保證整個(gè)過程的原子性和資產(chǎn)安全。
這個(gè)圖是簡化的流程,為了保證主側(cè)鏈資產(chǎn)交易的原子性,其中涉及比較多的流程,大致流程描述如下:
1. 用戶A想用主鏈上的BTC換取用戶B側(cè)鏈上的ETH;
2. A開通一個(gè)主鏈上的智能合約,并設(shè)置一個(gè)能夠解開該合約的謎語(哈希鎖H),設(shè)置一個(gè)可以猜謎的時(shí)間(時(shí)間鎖T),超過這個(gè)猜謎時(shí)間A可以拿回他自己的BTC;
3. A將謎面(哈希鎖H)給用戶B,用戶B用同樣的謎語(哈希)在側(cè)鏈上開通一個(gè)智能合約,也設(shè)置一個(gè)猜謎時(shí)間(時(shí)間鎖t);
4. A,B雙方互相檢查各自的合約(檢查是否用統(tǒng)一的哈希鎖,檢查是否接收地址是對方的);
5. 確認(rèn)智能合約無誤后,A在時(shí)間t內(nèi)使用謎底(哈希原值)去解鎖B的側(cè)鏈智能合約,并獲得側(cè)鏈的ETH;
6. 一旦A成功解鎖B的智能合約,那么謎底(哈希原值)就會(huì)暴露,B獲得了謎底(哈希原值),在時(shí)間T內(nèi),去解鎖A的主鏈上的智能合約,并獲得主鏈上的BTC;
7. 雙方的資產(chǎn)互換完成;
哈希時(shí)間鎖完全使用合約來進(jìn)行跨鏈資產(chǎn)的交換,所以無需擔(dān)心中心化的風(fēng)險(xiǎn),但哈希時(shí)間鎖機(jī)制只能互換主側(cè)鏈已有的資產(chǎn),而不能將資產(chǎn)價(jià)值轉(zhuǎn)移到另一條鏈上。當(dāng)前的比原的哈希時(shí)間鎖機(jī)制并沒有集成到界面上,所以普通用戶使用還比較困難,需要產(chǎn)品的進(jìn)一步提升。
跨鏈的展望
比原鏈Bystack的跨鏈技術(shù)正在如火如荼的完善中,通過跨鏈技術(shù),我們可以很好的發(fā)揮側(cè)鏈的高性能優(yōu)勢,讓各類資產(chǎn)在側(cè)鏈上流通起來并形成各種各樣的應(yīng)用。
除此之外,跨鏈技術(shù)的成熟,除了可以利用在我們自己的主側(cè)鏈之外,我們還可以將這套技術(shù)用在比原鏈跟其他區(qū)塊鏈的跨鏈上,將其他區(qū)塊鏈資產(chǎn)都跨到比原鏈上來,從而實(shí)現(xiàn)比原鏈多樣性資產(chǎn)的目標(biāo)。
來源: 比原鏈Bytom?