哈希鎖定
哈希時間鎖定(HTLC)最早出現在比特幣的閃電網絡,跨鏈資產交換支持一定數量的A鏈資產和一定數量的B鏈資產進行原子交換。哈希時間鎖定巧妙地采用了哈希鎖和時間鎖,迫使資產的接收方在deadline內確定收款并產生一種收款證明給打款人,否則資產會歸還給打款人。收款證明能夠被付款人用來獲取接收人區塊鏈上的等量價值的數量資產或觸發其他事件。
如下圖所示,我們用一個例子來闡述如何使用哈希時間鎖定進行跨鏈的原子資產交換,假設Alice和Bob有資產交換的需求,Alice想用1個BTC和Bob換20個ETH. 那么首先需要在兩條鏈上設置哈希時間鎖定合約,然后執行如下步驟:
Alice 隨機構建一個字符串s,并計算出其哈希 h = hash(s);
Alice 將h發送給Bob的合約;
Alice鎖定自己的1個BTC資產,并設置一個較長的鎖定時間t1, 并設置了獲取該BTC的一個條件:誰能夠提供h的原始值s就可以得到該BTC;
Bob觀察到Alice 合約中鎖定了一個BTC, 然后Bob鎖定自己的20個ETH資產,并設置一個相對較短的鎖定時間t2, t2 < t1, Bob也設置了同樣獲取條件(誰提供h的原始值s就可以獲取20個ETH);
Alice將自己最初生成的字符串s 發送到Bob的合約里取得了20個ETH;
Bob觀察到步驟5中Alice的s值,將其發送給Alice的合約成功獲取1個BTC; 至此Alice和Bob完成了資產的交換。
從上述的過程我們可以看出哈希時間鎖定合約有一些約束條件:
進行跨鏈資產交換的雙方必須能夠解析雙方的合約內部數據,例如s,例如鎖定資產的證明等;
哈希鎖定的超時時間設置時需要保證存在時間差,這樣在單方面作弊時另一方可以及時撤回自己的資產。
哈希鎖定的思想運用在支付領域較多,例如閃電網絡、雷電網絡以及跨鏈資產轉移協議Interledger等。但是哈希鎖定目前看只適合偏資產或者關鍵數據的交換,甚至不支持轉移因此其試用場景受限。
側鏈/中繼鏈
側鏈
側鏈是相對于主鏈而言的,最初的側鏈提出是針對比特幣做新特性的測試和研發。側鏈相對主鏈而言能夠驗證和解析主鏈中的區塊數據和賬本數據。側鏈實現的基礎技術是雙向錨定(Two-way Peg),通過雙向錨定技術可以將數字資產在主鏈上進行鎖定,同時將等價的資產在側鏈中釋放。相反當側鏈中相關資產進行鎖定時,主鏈上錨定的等價資產也可以被釋放。
BTC-Relay是號稱的史上第一個側鏈,BTC-Relay是通過以太坊構建了一個比特幣的側面,運用以太坊的智能合約允許用戶驗證比特幣的交易。這里我們仍然以Alice 1BTC和Bob的20ETH數字資產交換為例闡述相應原理:
Bob將20ETH發送到BTCSwap的合約進行凍結;(該合約只要能夠確認BTC網絡上Bob接收到來自Alice 1BTC就自動將20ETH轉給Alice)
Alice 確認Bob凍結信息后,將1 BTC轉給Bob比特幣賬戶;
BTC Relayer將比特幣區塊頭推送到BTCSwap合約;
Alice 接下來就可以調用relay tx;
BTCSwap合約結合tx和BTC鏈的區塊鏈進行SPV驗證,驗證通過則將20ETH轉給Alice以太坊地址。 這種跨鏈的實現方式簡單,但是BTC Relay需要額外的信任和維護成本,且智能合約內部的數據存儲會有體積膨脹的問題。但是側鏈的機制相對哈希鎖定而言能夠提供更多的跨鏈交互場景,側鏈以及類SPV驗證的思想適合所有跨鏈的場景。
中繼鏈
中繼鏈本質上算是公證人機制和側鏈機制的融合和擴展,目前社區內最活躍的兩個跨鏈項目Cosmos 和 Polkadot 采用的都是基于中繼鏈的多鏈多層架構,其中Cosmos目前支持的是跨鏈資產交互而Polkadot則宣稱提供任意類型的跨鏈交互,具體實現還有待觀察。
Cosmos
Cosmos網絡是一個多鏈混合的區塊鏈網格結構,如下圖所示,該網絡中主要包括兩種角色:
Hub: 用于處理跨鏈交互的中繼鏈;
Zone: Cosmos中的平行鏈, Cosmos中平行鏈需要具備兩個前提條件: 1. 快速確定性(fast finality), 這個特性由共識算法保障,也就是說Cosmos的跨鏈不直接支持PoW等概率確定模型的區塊鏈; 2. 強監管性(Sovereignty):每個平行鏈都具有一組驗證者能夠決定其出塊。
此文由 中國比特幣官網 編輯,未經允許不得轉載?。?a href="http://www.huohuxiazai.com/">首頁 > 比特幣行情 » 跨鏈技術的分析和思考