跨鏈技術方案之雜湊鎖定|白話區塊鏈入門202

買賣虛擬貨幣

友情提示入門連載已經超出200期了,因此科普也有些小難度了,大白建議新入門的小夥伴們,可以去文末掃描二維碼,進入科普目錄進行系統學習噢。

作者 | 宇星
出品|白話區塊鏈(ID:hellobtc)

在白話之前的推文《肖風博士讚不絕口的Cosmos和波卡兩大跨鏈技術專案》中提到了跨鏈技術,其中跨鏈技術的實現模式之一就是雜湊鎖定,今天大白就給大家詳細講解一下什麼是雜湊鎖定。

 01 
雜湊鎖定和閃電網路

雜湊鎖定,全稱雜湊時間鎖定合約(Hash TimeLock Contract),是閃電網路中提出的一種新的技術實現形式。

雜湊鎖定模式是指使用者在規定的時間段對於雜湊值的原值進行猜測來支付的一種機制。簡單講,就是在智慧合約的基礎上,雙方先鎖定資產,如果都在有限的時間內輸入正確雜湊值的原值,即可完成交易。

在這樣的機制下可以實現小額支付的快速確認,也就是說實現閃電網路快速確認的目標。

接下來大白將透過雜湊鎖定的應用場景之資產兌換為例來為大家科普雜湊鎖定是怎麼實現的。

 02 
怎麼實現雜湊時間鎖定?

為了方便理解雜湊時間鎖定到底是如何鎖定的,這裡給大家類比了兩個鎖,一個是雜湊鎖,一個是時間鎖。

1、雜湊鎖

透過雜湊值上鎖,上鎖之後只有用產生這個雜湊值的原本值進行開鎖,假設數 123,雜湊之後的值為 a03a,透過 a03a上鎖,不考慮雜湊碰撞的情況下,只能由 123 解鎖。

2、時間鎖

時間鎖要求在規定時間內輸入雜湊鎖的密碼。如果時間鎖的時間是 1 個小時,那麼就要求使用者需要在 1 個小時內輸入雜湊鎖的密碼,如果在 1 個小時後輸入雜湊鎖的密碼,時間鎖仍然不會開啟。

也就是說同時開啟這兩個鎖的條件是,在規定的時間內輸入雜湊值原本的值,上面的例子就是在1個小時內,輸入“ 123 ”,兩把鎖才會都處於開啟狀態。

現在大白將利用雜湊時間鎖定的機制把自己的比特幣在小黑那裡兌換以太幣,具體的操作步驟如下:

(1)大白先生成隨機數 S,再把隨機數的雜湊值 H(S) 透過網路給小黑,假設隨機數是 123 ,雜湊值是 a03a 。

同時,大白進行時間上鎖和雜湊上鎖,假設時間鎖的時間為1小時,雜湊鎖上鎖的雜湊值是 a03a。上完鎖後,待轉換的比特幣就被鎖定在鏈 A 上。

(2)小黑收到大白給的雜湊值“ a03a ”後,小黑根據這個雜湊值在以太坊上部署智慧合約,並往合約中存同等價值的以太幣。小黑的智慧合約要求大白在規定時間內提供密碼“ 123 ”才可以取走智慧合約中的以太幣。

這個過程相當於,小黑自己也上了兩把鎖,其中雜湊鎖和大白的那把雜湊鎖一樣,需要用同樣的密碼才可以開啟,時間鎖假如為半個小時。

(3)大白使用小黑的這個智慧合約,並在半個小時內輸入自己的密碼“ 123 ”,就能開啟小黑在鏈B上的雜湊鎖,就能取走小黑智慧合約裡的以太幣(相當於小黑的以太幣,因為智慧合約是小黑建立的,合約裡的以太幣也是小黑轉進去的)。

(4)因為大白在呼叫了小黑的智慧合約時輸入了密碼,因此小黑也就知道了密碼是“123”,他只要在一個小時內透過這個密碼開啟鏈A上的雜湊鎖,大白的比特幣就會轉給小黑。

透過上面的過程,可以看到,大白可以透過雜湊時間鎖定這種方式,實現了比特幣到以太幣的兌換。當然這往往需要大白多支付一點比特幣給小黑作為手續費,畢竟天下沒有免費的勞動力。

 03 
雜湊鎖定的優缺點

聽了大白上面的講解有的小夥伴會疑惑?有雜湊鎖不就可以了嗎?畢竟大白必須輸入雜湊鎖的密碼才能取走小黑的以太幣,小黑也只有當大白輸入完鏈B上的雜湊鎖密碼之後才能開啟鏈A上的雜湊鎖。看起來雜湊鎖就能搞定的事兒,幹嘛要加一個時間鎖?

在雜湊時間鎖定機制中,如果時間超過了規定時間,鎖定在系統中的代幣將會被收回。因此,加上時間鎖有效地促進了大白在小黑規定的時間內解開鏈 B 上的雜湊鎖,小黑也會因為自己的利益所需而在大白規定的時間段內解開鏈 A 上的雜湊鎖。在整個過程鏈與鏈之間也不用相互瞭解,進而促進了交易的速度。而且如果交易失敗,雜湊鎖定是不會收取額外的手續費。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;