【區塊鏈技術介紹】哈希時間鎖定協議

深度 正文 幣世界 2018-07-25

區塊鏈技術正在向各行業快速滲透,為探討區塊鏈的潛在應用領域,幣世界和哈希世界研究院聯合發佈“區塊鏈應用研究系列報告”

作者:陳致佳、蒙繹澤、江澤武

哈希時間鎖定協議(Hashed-Timelock Agreements, HTLAs)是一項可使不同區塊鏈項目之間進行代幣交易、互換的技術。在傳統的交易所進行代幣交易時,交易者往往需要把代幣提前質押給交易所,這帶來了一定的交易風險,並需要較高的手續費用。而在哈希時間鎖定協議中,只需發送者、連接方、接受者三方,即可實現代幣的交易,期間不需要任何交易所平臺;且在交易失敗時,代幣並未發生實際轉移,不需支付額外的交易費用。與交易所相比,哈希時間鎖定協議相當於提供了一個“跳蚤市場”,毋需託管的第三方,交易所的作用被分散至社區內的個人,人與人之間可以安全地進行代幣間的交易。

哈希時間鎖定協議技術想法的提出,最早應源於2013年BitcoinTalk論壇裡的一場討論 ;而技術的實際落地,又與比特幣的閃電網絡有關聯。在閃電網絡中,為實現兩個用戶之間的小額支付通道,用戶需提前鎖定自己的部分款項,兩用戶涉及該部分款項的交易在鏈下進行。一段時間後,款項的最終分配確定下來,該分配方案再上傳至主鏈(圖1)。這樣一來,即可使大量的小額交易在鏈下進行,提高了比特幣網絡的交易吞吐量。

image003.jpg圖1 閃電網絡示意圖

閃電網絡中用於鎖定用戶款項的哈希鎖合同(Hashed Timelock Contracts, HTLC)技術啟發了後來的開發者們。代幣與代幣之間的交易,需要經由中間人的轉換,這其中的關鍵在於取得各方的信任。而對代幣進行鎖定的過程,正是一個可以產生信任的質押過程。

以一筆虛構的交易為例。假如1個比特幣與10個以太幣的價值等同,發送者(Sender)手上擁有1.1個比特幣,希望購買接收者(Receiver)提供的價值10個以太幣的服務。則發送者可以聯繫一個同時具有比特幣地址與以太坊地址的連接方(Connector),並協商好代幣轉換的手續費為0.1個比特幣。那麼交易的流程如下圖(方案一):

image004.jpg圖2 代幣交易方案示意圖

在這一過程裡,風險較高的是傳輸1.1比特幣的步驟:連接方有可能在收取1.1個比特幣後馬上退出交易,使得發送方利益受損。合理的方案是把比特幣的交付延後處理。當以太幣實現交付後,再進行比特幣交付,交易風險即轉移至連接方(方案二)。

為了同時保障連接方的利益,需解決的問題是確保接收方在獲得10個以太幣的同時,發送方的1.1個比特幣也送往連接方,兩個事件需要同時發生。這實際上是交易“原子性”的體現:要麼款項完全實現轉移,要麼款項完全未轉移,不存在中間的狀態。這一問題由預共享密鑰(Pre-Shared Key, PSK)技術解決。

如果把1.1比特幣看做一個交易包,10以太幣看做另一交易包,在PSK技術中,這兩個交易包都由同一個密鑰啟動,從而實現“兩者同時發生”。

發送方預先由加密算法得到一個密鑰,把密鑰發送給接收者,把相關信息發給連接方。同時,發送方將自己的1.1個比特幣鎖定在交易包1裡,需要密鑰才能轉移款項。

連接方通過發送方給出的信息,製作一個包含10個以太幣的交易包2併發給接收者。當接收者用密鑰打開交易包2時,接收者獲得10個以太幣,同時密鑰也被髮送給連接方,連接方即可以使用該密鑰獲得交易包1裡的1.1個比特幣。這樣一來即實現了代幣之間的互換。

image005.gif圖3 使用哈希時間鎖定協議的交易過程

為避免款項鎖定時間過長,交易包一、二均需約定限制時間,超出時間後款項即解鎖、返回原地址,這就是時間鎖(Timelock)功能。而上文提到的預共享密鑰則使用了哈希加密(Hashed),因此該技術方案被稱為哈希時間鎖定協議(Hashed-Timelock Agreements)。

這一技術依然存在一定的侷限性:

(1) 連接方需承擔一定風險。在PSK技術中,連接方需向交易包1注入密鑰才能獲得比特幣,也就是比特幣和以太幣的交付並非完全在同一時間發生。由於兩個幣種的交付均約定了限制時間,若交易包2的限制時間大於交易包1,有可能使得接收者獲取10個以太坊後,連接方無法收回應得的1.1個比特幣,蒙受損失。這一風險可通過設定交易包1的限制時間總大於交易包2來避免。

(2) 對於不支持哈希時間鎖技術的區塊鏈項目,只能通過另外的賬本平臺進行上述過程。額外的記賬平臺可保存代幣之間轉移的交易記錄。然而由於記賬平臺本身不發生代幣的轉移,本質上記錄的是賒賬、借賬的信息,需交易雙方之間相互具備充足的信任,交易才可進行。而通過賬本平臺,只要保證雙方具備信任基礎,非區塊鏈的資產亦可通過這一記賬方式進行交換。

本質上,不同資產之間的交易、流轉,只需提供信任基礎(產生聯繫),保證交易的原子性(資產交割),即可進行。而在哈希時間鎖定協議中,代幣的鎖定實現了資產質押,為交易提供了信任基礎。而密鑰的傳遞,則保證了交易的原子性。同時時間鎖的引入,避免了交易時間過長而造成的糾紛或意外。除區塊鏈項目外,這一模式可應用到不同資產類別的流轉中。

哈希時間鎖定協議技術已由Ripple Interledger項目基本實現,在可運行智能合約的區塊鏈項目中,幣幣交易的落地或將逐漸變得普遍。這一技術提供了一種區塊鏈項目生態的可能性:如BTC等主流區塊鏈項目作為主結算系統,而其他應用項目針對性地解決用戶的不同需求。當用戶享受服務、進行結算時,使用代幣互換技術進行支付。這樣一來,主流項目傳遞價值;應用項目面向細分需求,同時為主流項目分攤服務壓力;用戶各取所需。最終將構建起一張全球共用的可信任的結算網絡,在此基礎上運行一切去中心化的應用,真正實現豐富的區塊鏈應用生態。

參考文獻:

[1]Interledger Architecture, [EB/OL], https://interledger.org/rfcs/0001-interledger-architecture/

[2]Interledger Protocol V4, [EB/OL], https://interledger.org/rfcs/0027-interledger-protocol-4/

[3]Pre-Shared Key V2 (PSKv2) Transport Protocol, [EB/OL], https://interledger.org/rfcs/0025-pre-shared-key-2/

[4]Lightning Network, [EB/OL], https://en.bitcoin.it/wiki/Lightning_Network

[5]Hashed-Timelock-Contract-Ethereum, [EB/OL], https://github.com/chatch/hashed-timelock-contract-ethereum

[6]Two-Phase Commit, [EB/OL], http://foldoc.org/two-phase%20commit

相關推薦

推薦中...