哈希时间锁定机制
特別好的一篇文章,之前收藏過好幾次,,但是都沒了,所以復(fù)制了一篇過來看
撰文:錢柏均,就職于 HashKey Capital Research
審校:鄒傳偉,萬向區(qū)塊鏈、PlatON 首席經(jīng)濟(jì)學(xué)家
結(jié)合最新的文章添加一點(diǎn)東西:
閃電網(wǎng)絡(luò)最近提出了PTLC(Point Time Locked
Contracts),去掉了HTLC中對(duì)哈希的使用,更保護(hù)交易的隱私和安全。PTLC以標(biāo)量和支付點(diǎn)取代了原像和哈希值的設(shè)置,之后的節(jié)點(diǎn)都要求不同的隨機(jī)數(shù),因此難以識(shí)別具體路徑上的節(jié)點(diǎn)【來源于HashKey2021年數(shù)字資產(chǎn)行業(yè)年終回顧】。
本文研究哈希時(shí)間鎖的合約機(jī)制、主要特點(diǎn)、應(yīng)用瓶頸以及改進(jìn)方向。
哈希時(shí)間鎖是去中心化和去信任化環(huán)境中進(jìn)行條件支付的基礎(chǔ),是理解數(shù)字貨幣和數(shù)字資產(chǎn)的可編程性的基礎(chǔ)。除了對(duì)密碼學(xué)的應(yīng)用,哈希時(shí)間鎖的核心是序貫博弈。多個(gè)哈希時(shí)間鎖可以組成多跳支付,是比特幣閃電網(wǎng)絡(luò)支付通道的基礎(chǔ),也在用央行數(shù)字貨幣進(jìn)行跨境支付有廣泛應(yīng)用,被很多中央銀行所關(guān)注。相向而行的哈希時(shí)間鎖可以組成原子交換,在區(qū)塊鏈應(yīng)用于證券結(jié)算以及去中心化交易所中有應(yīng)用。
哈希時(shí)間鎖(Hash Time Locked Contract,HTLC) 起源于閃電網(wǎng)絡(luò),而后應(yīng)用到 Interledger、雷電網(wǎng)絡(luò)、Sprites 通道等。哈希時(shí)間鎖使多個(gè)用戶之間「條件支付」(Conditional Payment)能以去中心化、無需第三方受信任中介的方式完成,這些用戶不一定在同一條區(qū)塊鏈上。哈希時(shí)間鎖可以組成多跳支付 (即雙方在交易過程中可藉助多個(gè)中間節(jié)點(diǎn)來完成交易)和原子交換(Atomic Swap),是鏈下支付通道和跨鏈交易的基礎(chǔ),并在央行數(shù)字貨幣跨境支付、證券結(jié)算以及去中心化交易所中有廣泛應(yīng)用。
本文共分三部分:第一部分介紹 HTLC 合約機(jī)制,提出對(duì) HTLC 的序貫博弈分析方法,并分析 HTLC 在應(yīng)用中遇到的瓶頸;第二部分以 Interledger 的 HTLAs(哈希時(shí)間鎖定協(xié)議) 和雷電網(wǎng)絡(luò)為例,分析 HTLC 的改進(jìn)方向;第三部分討論 HTLC 的兩個(gè)重要應(yīng)用案例:跨境轉(zhuǎn)賬,以及證券結(jié)算和去中心化交易所。
HTLC 合約機(jī)制
HTLC 支持「條件支付」:通過多個(gè)首尾相連的支付通道串聯(lián)起來形成的支付路徑,支持首尾雙方通過支付路徑完成支付。HTLC 的核心是時(shí)間鎖和哈希鎖。
時(shí)間鎖指,交易雙方約定在某個(gè)時(shí)間內(nèi)提交才有效,超時(shí)則承諾方案失效(無論是提出方或接受方)。
哈希鎖指,對(duì)一個(gè)哈希值 H,如果提供原像 R 使得 Hash? = H,則承諾有效,否則失效。
如果交易因?yàn)楦鞣N原因未能成功,時(shí)間鎖能夠讓交易參與各方拿回自己資金,避免因欺詐或交易失敗造成的損失。
接下來,我們用一個(gè)例子說明 HTLC 工作流程。
假設(shè) Alice 想開啟一個(gè)與 Bob 的交易,交易金額為 0.5 BTC,但 Alice 需要通過 Carol 才能與 Bob 建立通道進(jìn)行交易(圖 1):
第一步:Bob 設(shè)定原像 R (也被稱為暗示數(shù)),把哈希值 H=Hash? 告訴 Alice。
第二步:Alice 通過 HTLC 向 Carol 進(jìn)行條件支付:當(dāng)且僅當(dāng) Carol 在 T 時(shí)刻前提供與哈希值 H 對(duì)應(yīng)的原像 R,Alice 才向 Carol 支付 0.5 BTC。類似地,Carol 通過 HTLC 向 Bob 進(jìn)行條件支付:當(dāng)且僅當(dāng) Bob 在 t 時(shí)刻前提供與哈希值 H 對(duì)應(yīng)的原像 R,Carol 才向 Bob 支付 0.5 BTC,其中 t<T。
第三步:Bob 如果在 t 時(shí)刻前向 Carol 提供 R,獲得 0.5 BTC,此時(shí) Carol 知悉 R。反之,0.5 BTC 會(huì)返回給 Carol,Carol 不會(huì)遭受任何損失。
第四步:Carol 如果在 T 時(shí)刻前向 Alice 提供 R,獲得 0.5 BTC。反之,0.5 BTC 會(huì)返回給 Alice,Alice 不會(huì)遭受任何損失。
可以看出兩點(diǎn):第一,在參與者理性前提下,HTLC 中所有「條件支付」要么全部完成,要么全不完成但所有參與者都能拿回自己的資金,因此是原子式的(Atomic)。這是序貫博弈均衡的結(jié)果(見下節(jié))。第二,原像 R (信息)和資金相向流動(dòng),原像 R 可以被視為收據(jù)(Receipt)。在 HTLC 中原像和哈希值的傳輸可以全部在鏈下完成,鏈上只做相關(guān)內(nèi)容的檢驗(yàn),因此可以有效保護(hù)客戶隱私信息。
對(duì) HTLC 的序貫博弈分析
在上節(jié) HTLC 例子中,存在 Bob、Carol 和 Alice 3 人的序貫博弈 (圖 2)。圖 2 采取博弈樹形式。博弈樹的每個(gè)節(jié)點(diǎn)都代表一個(gè)參與者,從每節(jié)點(diǎn)出來的每條邊都表示該參與者可選擇的一個(gè)行動(dòng)。在博弈樹的每一個(gè)末端節(jié)點(diǎn)上,都有一個(gè) 3 維支付向量。支付向量中的元素依次表示在不同策略組合下 Bob、Carol 和 Alice 的凈收益。
圖 2: HTLC 序貫博弈分析 (1)序貫博弈程序如下:
3.Alice 行動(dòng)。在 Carol 選擇「在 T 時(shí)刻前提供正確原像」時(shí),Alice 只有一個(gè)可選行動(dòng):「向 Carol 支付」。在其他場(chǎng)景下,Alice 只有一個(gè)可選行動(dòng):「不向 Carol 支付」。顯然,Alice 實(shí)際上沒有選擇的自由。
我們用倒推法求解序貫博弈的納什均衡:從最后階段開始分析(實(shí)際是從 Carol 開始分析,因?yàn)?Alice 并無選擇行動(dòng)的自由),每一階段分析該階段局中人行動(dòng)選擇和路徑,再確定前一階段局中人行動(dòng)選擇和路徑。
首先(圖 3,用 X 表示被排除掉的策略路徑,下同),在 Bob 選擇「在 t 時(shí)刻前提供正確原像」的情況下,Carol 選擇「向 Bob 支付,并在 T 時(shí)刻前提供正確原像」的凈收益是 0,選擇「向 Bob 支付,并在 T 時(shí)刻前不提供或提供錯(cuò)誤原像」的凈收益是-0.5BTC。因此,Carol 的理性選擇是「向 Bob 支付,并在 T 時(shí)刻前提供正確原像」。
圖 3: HTLC 序貫博弈分析 (2) 其次 (圖 4),Bob 如果選擇「在 t 時(shí)刻前提供正確原像」,他的凈收益為 0.5BTC;反之,他的凈收益為 0。因此,Bob 的理性選擇是「在 t 時(shí)刻前提供正確原像」。 圖 4: HTLC 序貫博弈分析 (3) 因此,序貫博弈的納什均衡策略是:{Bob「在 t 時(shí)刻前提供正確原像」,Carol「向 Bob 支付,并在 T 時(shí)刻前提供正確原像」,Alice「向 Carol 支付」}。序貫博弈也為分析其他形式的 HTLC 提供了合適工具。HTLC 主要特點(diǎn)
- 時(shí)間敏感性
HTLC 機(jī)制對(duì)交易時(shí)間的敏感性使得交易發(fā)起者不必浪費(fèi)時(shí)間持續(xù)等待以確定他們的付款是否通過。如果設(shè)定時(shí)間已過,資金將被退回交易發(fā)起者,能夠有效避免惡意拖延交易,降低交易對(duì)手風(fēng)險(xiǎn)。
- 去信任化
HTLC 的最大優(yōu)勢(shì)是去信任化。HTLC 消除了對(duì)中心化交易和受信任中介的依賴。交易可以經(jīng)由兩方或多方執(zhí)行而不需要它們彼此信任。由于用戶不需要將資金提供給第三方托管機(jī)構(gòu),安全性也會(huì)相對(duì)提高。交易可以直接從用戶的個(gè)人錢包發(fā)起,大幅地降低了第三方參與的風(fēng)險(xiǎn)。
- 跨資產(chǎn)交互性
在 HTLC 中,資金鎖定實(shí)現(xiàn)了質(zhì)押效果,為不同資產(chǎn)之間的交易提供了信任基礎(chǔ)。而原像及哈希秘鑰的傳遞,則保證了交易的原子性。
HTLC 應(yīng)用瓶頸
- 協(xié)議兼容性較低
HTLC 實(shí)施需要滿足一些必要條件:一是用戶資產(chǎn)所在區(qū)塊鏈需要基于相同哈希算法(比如都使用比特幣的 SHA-256 哈希算法);二是區(qū)塊鏈需要兼容 HTLC 和其他可編程功能;三是交易雙方需要在同一區(qū)塊鏈上有交易賬戶。這些條件可能會(huì)成為 HTLC 推廣應(yīng)用的主要障礙。
- 時(shí)間鎖機(jī)制造成退款時(shí)間過長
時(shí)間鎖有效降低了交易對(duì)手風(fēng)險(xiǎn)。但如果有中間節(jié)點(diǎn)因故無法進(jìn)行交易,則必須等時(shí)間鎖設(shè)定時(shí)間結(jié)束才能退款。如果發(fā)送者在設(shè)定時(shí)間結(jié)束前改變路徑,將會(huì)承擔(dān)極大風(fēng)險(xiǎn)。
例如圖 1 中, Alice 利用 HTLC 通道,通過節(jié)點(diǎn) Carol 給 Bob 轉(zhuǎn)賬,但現(xiàn)在由于某些原因,Carol 出現(xiàn)故障,無法在時(shí)間鎖設(shè)定時(shí)間內(nèi)在線,從而 Alice 無法通過 Carol 轉(zhuǎn)賬。如果原來的 HTLC 沒有到期,Alice 要換路徑的話,會(huì)面臨很大風(fēng)險(xiǎn)。原因是,Bob 可以與 Carol 共謀,Bob 在通過新路徑拿到支付金額后,再向 Carol 透露原 HTLC 的原像,從而 Alice 在原來那條路徑鎖定的資金也就會(huì)被 Carol 解鎖取走,Alice 就相當(dāng)于支付了兩次。因此,一旦有節(jié)點(diǎn)掉線,等待時(shí)間鎖解鎖成為唯一選項(xiàng)。
HTLC 改進(jìn)方向
Interledger 的 HTLAs(哈希時(shí)間鎖定協(xié)議)
HTLAs (Hashed Time-Lock Agreements)是 Interledger 提出的基于 HTLC 的泛化協(xié)議,目標(biāo)是不管區(qū)塊鏈賬本是否支持 HTLC 協(xié)議,不管其是分布式區(qū)塊鏈還是中心化賬本,系統(tǒng)和系統(tǒng)之間都能使用 HTLAs 實(shí)現(xiàn)跨鏈交換,并且支持多個(gè)系統(tǒng)之間的多跳跨鏈互換。在 HTLAs 下,不同用戶節(jié)點(diǎn)可以根據(jù)交易所需通過不同種類的 HTLAs 完成交易,而 Interledger 協(xié)議可以確保每個(gè) HTLAs 擁有獨(dú)立的安全性,不會(huì)受其他區(qū)塊鏈交易失敗的影響。
HTLAs 根據(jù)系統(tǒng)支持的功能性主要可區(qū)分成四種:條件支付通道(Conditional Payment Channels with HTLC)、鏈上持有 / 托管 (On-Ledger Holds/Escrow with HTLC)、簡單支付通道 (Simple Payment Channels) 以及信任線 (Trustlines)。
圖 5: Interledger 跨鏈交易過程
- 條件支付通道
此種協(xié)議需要區(qū)塊鏈賬本支持 HTLC 條件支付通道,并可以在交易結(jié)束后更新通道余額。閃電網(wǎng)絡(luò)的 HTLC 機(jī)制屬于這類。交易參與者需要在區(qū)塊鏈上預(yù)先支付一筆資金至雙方共有的臨時(shí)賬戶中 (即通道余額)。當(dāng)交易開始時(shí),發(fā)送者會(huì)發(fā)送一個(gè)帶有哈希鎖和時(shí)間鎖以及附帶簽名的更新到接收者。若接收者能在約定時(shí)間內(nèi)告知哈希鎖的原像,則可從賬戶中獲取資金,并且發(fā)送者與接收者需要同時(shí)簽名確認(rèn)共有賬戶的余額變動(dòng)。由于交易的傳輸和處理時(shí)間會(huì)被計(jì)算在交易時(shí)間范圍內(nèi),所以該種協(xié)議更適合支持高速交易的區(qū)塊鏈系統(tǒng)。
- 鏈上持有 / 托管
此種協(xié)議需要區(qū)塊鏈支持 HTLC 協(xié)議,并且費(fèi)率低、交易速度快、吞吐量高。以太坊和 Ripple 第三方托管合約屬于此類。交易參與者可以直接通過 HTLC 協(xié)議發(fā)起跨鏈交易。交易發(fā)起者將要傳輸?shù)馁Y金先放到區(qū)塊鏈提供的特定持有賬戶中,并且附帶哈希鎖和時(shí)間鎖。只有當(dāng)接收者在約定時(shí)間前能提供正確的哈希原像,區(qū)塊鏈才將資金發(fā)送給接收者,否則區(qū)塊鏈會(huì)把資金退回給發(fā)送者。只要區(qū)塊鏈?zhǔn)强尚刨嚨?#xff0c;這種方式可由區(qū)塊鏈全權(quán)控制交易狀態(tài),交易雙方?jīng)]有額外風(fēng)險(xiǎn)。它與條件支付通道的差異是,交易參與者是將資金存放在區(qū)塊鏈賬戶,而非雙方共有賬戶。
- 簡單支付通道
簡單支付通道的特點(diǎn)是交易雙方可以合并多個(gè)交易而只清算最終賬戶的凈軋差。簡單支付通道交易發(fā)生在區(qū)塊鏈之外而非鏈上,且雙方需要在同一區(qū)塊鏈上擁有賬戶。交易分為以下三個(gè)階段 : 設(shè)立階段、狀態(tài)更新階段以及清算階段。
(1) 設(shè)立階段 : 假設(shè) Alice 和 Bob 進(jìn)行交易準(zhǔn)備,其中一方或雙方需要將一定數(shù)量的資金托管在一個(gè)暫時(shí)性且共享的支付通道中。
(2) 狀態(tài)更新階段 : 在交易開始前,雙方先簽署一個(gè)狀態(tài)聲明,用以表示支付通道中雙方資金占比。Alice 會(huì)傳送一個(gè)簽署過后帶有哈希鎖及時(shí)間鎖的狀態(tài)聲明給 Bob(而非區(qū)塊鏈)。該更新后的狀態(tài)聲明呈現(xiàn)了交易結(jié)束后雙方在支付通道的資金占比分配。唯有當(dāng) Bob 在時(shí)間鎖設(shè)定的時(shí)間內(nèi)傳送哈希值的原像,狀態(tài)聲明才會(huì)更新。交易通道并無方向限制,只要雙方余額為正值便可持續(xù)雙向交易。
(3) 清算階段:一旦有一方參與者想停止使用支付通道,可以執(zhí)行退出操作——將最后的狀態(tài)聲明更新提交至區(qū)塊鏈,結(jié)算后的余額會(huì)退給發(fā)起支付通道的兩方。主鏈可以通過核實(shí)簽名和最后結(jié)余來驗(yàn)證狀態(tài)更新的有效性,從而防止參與者使用無效狀態(tài)來退出支付通道。
簡單支付通道與閃電網(wǎng)絡(luò)所使用的條件支付最大差異在于是否有強(qiáng)制性。在兩個(gè)方法下,雙方同樣是通過鏈外協(xié)議交換簽署過的狀態(tài)聲明進(jìn)行交易。但在條件支付下,一旦在設(shè)定時(shí)間內(nèi) HTLC 條件滿足,區(qū)塊鏈會(huì)強(qiáng)制執(zhí)行轉(zhuǎn)賬。而在簡單支付通道下,即使在設(shè)定時(shí)間內(nèi) HTLC 條件滿足,鏈上轉(zhuǎn)賬與否仍是雙方操作,并無強(qiáng)制性,因此較依賴雙方之間的信任程度。
- 信任線
信任線是交易雙方憑借信任基礎(chǔ)進(jìn)行的一種交易方式。信任線交易發(fā)生在鏈下而非鏈上,只有最后清算在鏈上發(fā)生。交易可以分為以下三個(gè)階段 : 設(shè)立階段、狀態(tài)更新階段以及清算階段。
(1) 設(shè)立階段 : 假設(shè)交易發(fā)送者 Alice 及交易接收者 Bob 在同一個(gè)區(qū)塊鏈上擁有賬戶,想要開始一個(gè)信任線交易。Alice 首先需要設(shè)定 Bob 的信任線額度,這個(gè)信任線額度關(guān)系到 Bob 可以在雙方的信任線做的交易額度而無須清算。同樣,Bob 也需要設(shè)定 Alice 的信任線額度。
(2) 狀態(tài)更新階段 : 在交易開始時(shí),Alice 會(huì)傳送一道帶有哈希鎖及時(shí)間鎖的交易訊息給 Bob。當(dāng) Bob 在時(shí)間鎖設(shè)定的時(shí)間內(nèi)傳送哈希值的原像至 Alice 后,雙方的信任線狀態(tài)會(huì)更新,一方余額增加而另一方余額減少。此階段尚未清算。信任線為雙向通道,只要交易總金額并未超過雙方信任線額度便可一直進(jìn)行交易,而無須在鏈上進(jìn)行清算。
(3) 清算階段 : 交易雙方將總凈額在區(qū)塊鏈上清算以結(jié)束交易。
信任線和簡單支付通道的主要有兩個(gè)差異 : 一是在信任線機(jī)制下,交易雙方無須存一筆保證金至通道,可以以最初設(shè)定的余額進(jìn)行逐筆交易,相當(dāng)于信用交易。二是一旦交易總金額超過雙方信任線額度,或是雙方同意清算,便可以直接進(jìn)行一筆鏈上轉(zhuǎn)賬結(jié)束交易。而在簡單支付通道機(jī)制下,任何一方均可主動(dòng)結(jié)束交易,不需雙方同意。
表 1 為四種 HTLAs 支付方式的比較。可以看出,區(qū)塊鏈功能復(fù)雜程度與風(fēng)險(xiǎn)程度反向變化:支付方式越復(fù)雜,交易風(fēng)險(xiǎn)越低,反之亦然。
Stella 項(xiàng)目發(fā)現(xiàn),條件支付通道、鏈上持有 / 托管和第三方托管都是安全的,而信任線的安全性最差。
以太坊的雷電網(wǎng)絡(luò)
雷電網(wǎng)絡(luò)是以太坊的一個(gè)鏈下交易方案。據(jù)官網(wǎng)開發(fā)路線圖,目前方案尚未完備,還在測(cè)試階段。2017 年 11 月底,μRaide(微雷電) 正式在以太坊主鏈上線,可以支持每秒 100 萬筆交易。2018 年 3 月,Liquidity.Network 正式加入了雷電網(wǎng)絡(luò)。雷電網(wǎng)絡(luò)目標(biāo)是將交易場(chǎng)景從以太坊轉(zhuǎn)移到支付通道上,期望解決以太坊兩大問題——通道擁堵及交易費(fèi)用高。雷電網(wǎng)絡(luò)的 HTLC 機(jī)制大多承襲閃電網(wǎng)絡(luò),但也有部分技術(shù)創(chuàng)新。以下介紹兩個(gè)新增機(jī)制 : 智能條件及重試哈希鎖。
智能條件
雷電網(wǎng)絡(luò)引入「智能條件」(Smart Condition) ,比閃電網(wǎng)絡(luò)的 HTLC 機(jī)制更為通用。閃電網(wǎng)絡(luò)的 HTLC 機(jī)制是以哈希函數(shù)的原像作為秘鑰,但在雷電網(wǎng)絡(luò)中,用戶可以設(shè)定基于任何函數(shù)的秘鑰作為智能條件。這種設(shè)計(jì)能夠讓雷電網(wǎng)絡(luò)的交易更加智能化,但同時(shí)也增大了交易風(fēng)險(xiǎn)與變數(shù)。
重試哈希鎖
在閃電網(wǎng)絡(luò)中,HTLC 的原像一般由收款人設(shè)置,然后將原像的哈希值提供給付款人。但這種設(shè)計(jì)存在一定問題:如果付款人想在原先 HTLC 時(shí)間鎖解鎖前發(fā)起另一個(gè)相同交易,中間人與收款人將有合謀的可能性,導(dǎo)致付款人重復(fù)付款(見前文)。為了緩解這個(gè)問題,雷電網(wǎng)絡(luò)設(shè)置了重試哈希鎖 (Retry Hashlock)。為區(qū)分兩個(gè)哈希鎖,下文把閃電網(wǎng)絡(luò)的哈希鎖改稱為收據(jù)哈希鎖 (Receipt Hashlock)。
假設(shè) Alice 在雷電網(wǎng)絡(luò)上支付一筆款項(xiàng)給 Bob,并且 Alice 需要通過 Carol 建立通道才能與 Bob 進(jìn)行交易。以下為重試哈希鎖機(jī)制 :
第一步:Bob 設(shè)定原像 R (收據(jù)哈希鎖),把哈希值 H=Hash? 告訴 Alice。
第二步:Alice 設(shè)定原像 R*(重試哈希鎖),其哈希值為 H*=Hash?*。Alice 通過 HTLC 向 Carol 進(jìn)行條件支付:當(dāng)且僅當(dāng) Carol 在 T 時(shí)刻前提供分別與哈希值 H、H對(duì)應(yīng)的原像R,Alice 才向 Carol 支付資金。
第三步 : Carol 通過 HTLC 向 Bob 進(jìn)行條件支付:當(dāng)且僅當(dāng) Bob 在 t 時(shí)刻前提供分別與哈希值 H、H*對(duì)應(yīng)的原像,Carol 才向 Bob 支付。其中,t<T。
第四步:當(dāng) Alice 確認(rèn) Carol 發(fā)起交易并成功設(shè)定與 Bob 的 HTLC 后,Alice 才會(huì)向 Bob 提供哈希值 H對(duì)應(yīng)的原像 R。
第五步:Bob 已知 R 和 R*。Bob 在 t 時(shí)刻前向 Carol 提供 R、R*,獲得資金,此時(shí) Carol 知悉 R、R*。反之,資金會(huì)返回給 Carol,Carol 不會(huì)遭受任何損失。
第六步:Carol 在 T 時(shí)刻前向 Alice 提供 R、R*,獲得資金。反之,資金會(huì)返回給 Alice,Alice 不會(huì)遭受任何損失。
在上述機(jī)制中,如果在交易途中 Carol 因故無法向 Bob 進(jìn)行條件支付(第三步),Alice 可以重新設(shè)置重試哈希鎖,改以另外途徑進(jìn)行支付。Bob 因?yàn)椴徽莆?R*,不能與 Carol 共謀進(jìn)行雙重支付攻擊。
重試哈希鎖也適用序貫博弈分析法。因篇幅限制,本文就不展開闡述了。感興趣的讀者可以參考圖 2-4 的做法。
HTLC 應(yīng)用案例
跨境轉(zhuǎn)賬
目前,跨境轉(zhuǎn)賬依賴于 SWIFT 網(wǎng)絡(luò),存在手續(xù)費(fèi)高、無法實(shí)時(shí)收款等問題。區(qū)塊鏈在跨境轉(zhuǎn)賬中的應(yīng)用一直備受關(guān)注,集中體現(xiàn)為央行數(shù)字貨幣和以 Libra 項(xiàng)目為代表的全球穩(wěn)定幣,目標(biāo)是通過區(qū)塊鏈替代代理行模式,以降低交易費(fèi)用和所需時(shí)間。如果兩個(gè)央行數(shù)字貨幣使用不同的區(qū)塊鏈網(wǎng)絡(luò),那么兩個(gè)貨幣區(qū)之間跨境轉(zhuǎn)賬就涉及跨鏈操作和交易對(duì)手信用風(fēng)險(xiǎn)管理。這本質(zhì)上是涉及多個(gè)條件支付的多跳支付,是 HTLC 能發(fā)揮作用的地方。
2019 年中,加拿大銀行與新加坡金管局成功利用 HTLC 技術(shù)完成一筆跨境轉(zhuǎn)賬(圖 6)。加拿大銀行和新加坡銀行分別利用 Corda 和 Quorum 區(qū)塊鏈平臺(tái)進(jìn)行合作。試驗(yàn)使用 HTLC (具體來說,前文介紹的 Interledger 的 HTLAs 協(xié)議)來連結(jié)兩個(gè)區(qū)塊鏈平臺(tái),以提升跨鏈交易的安全性和清算同步率,提高跨境轉(zhuǎn)賬效率。盡管轉(zhuǎn)賬過程仍然離不開中間銀行(Intermediary Bank),但位于新加坡和加拿大的中間銀行是同一家。
圖6: 加拿大銀行與新加坡金管局跨境轉(zhuǎn)賬試驗(yàn)Stella 項(xiàng)目特別分析了以下情形:如果付款人破產(chǎn),托管資金是否安全?具體而言,就是圖 7 的多個(gè)條件支付中:如果在第 4 步完成后,Connector 1 破產(chǎn),Connector 2 能否執(zhí)行第 5 步以拿到資金?
- 原子交換介紹
原子交換是一種能實(shí)現(xiàn)資產(chǎn)在不同網(wǎng)絡(luò)間進(jìn)行點(diǎn)對(duì)點(diǎn)交換的智能合約,由多重簽名及 HTLC 構(gòu)成。原子交換具有三個(gè)特性 : 第一,交易具有原子性;第二,如果交易中出現(xiàn)惡意節(jié)點(diǎn)作惡,其他節(jié)點(diǎn)不會(huì)遭受損失 ; 第三,根據(jù)序貫博弈分析,理性節(jié)點(diǎn)無作惡動(dòng)機(jī)。HTLC 是原子交換中最核心的概念,確保了原子交換過程中的去中介化。基于 HTLC 的原子交換是跨鏈解決方案的一種。相對(duì)于其他跨鏈方案,原子交換不需要通過生成新的映像資產(chǎn)完成跨鏈,交易雙方的資產(chǎn)還是通過原有的區(qū)塊鏈進(jìn)行確認(rèn),資產(chǎn)的安全性不會(huì)發(fā)生本質(zhì)性變化,因此不具備資產(chǎn)托管的金融屬性。
原子交換有兩種類型 : 鏈上原子交換 (On-chain Atomic Swap) 和鏈下原子交換 (Off-chain Atomic Swap)。鏈上原子交換顧名思義就是發(fā)生在兩個(gè)不同區(qū)塊鏈系統(tǒng)的交易。例如,萊特幣和比特幣都是基于比特幣協(xié)議的區(qū)塊鏈網(wǎng)絡(luò),可以進(jìn)行鏈上原子交換。鏈上原子交換需要相當(dāng)長時(shí)間進(jìn)行交易驗(yàn)證,因此并不適合作為常規(guī)交易使用,較適合應(yīng)用在大型且頻率低的場(chǎng)景。鏈下原子交換發(fā)生在 Layer 2 ,利用鏈下支付通道來進(jìn)行原子交換。閃電網(wǎng)絡(luò)是其中一個(gè)例子。鏈下原子交換支持同構(gòu)或異構(gòu)的區(qū)塊鏈系統(tǒng),可以實(shí)現(xiàn)不同協(xié)議的加密資產(chǎn)轉(zhuǎn)換,交易速度較快。
- 原子交換在去中心化交易所的應(yīng)用
去中心化交易所是由區(qū)塊鏈上的智能合約構(gòu)筑的交易平臺(tái)。用戶資金由自身錢包或去中心化的方式儲(chǔ)存,且用戶在區(qū)塊鏈上能實(shí)現(xiàn)自動(dòng)點(diǎn)對(duì)點(diǎn)撮合交易。在整個(gè)交易處理過程中,用戶保留對(duì)私鑰唯一保管權(quán)。去中心化交易所有多種實(shí)現(xiàn)方式,原子交換是其中一種。原子交換在去中心化交易所最核心的功用有三個(gè) : 第一,用戶可以控制自己的私鑰,而非由第三方托管 ; 第二,實(shí)現(xiàn)實(shí)時(shí)且全額的鏈上結(jié)算 ; 第三,用戶可以跨鏈進(jìn)行多種加密資產(chǎn)交易,過程無須通過中心化機(jī)構(gòu)。
Komodo 交易所是原子交換領(lǐng)域先驅(qū)。目前,Komodo 交易所超過 95% 的加密資產(chǎn)交易基于原子交換技術(shù)實(shí)現(xiàn)。其跨鏈功能兼容比特幣協(xié)議網(wǎng)絡(luò)和以太坊、ERC20 代幣。
幣安 DEX 與 TrustToken 合作,利用 HTLC 實(shí)現(xiàn)穩(wěn)定幣跨鏈交易。TrustToken 之前發(fā)行的穩(wěn)定幣都是 ERC20 版。在幣安鏈主網(wǎng)使用 HTLC 后,這些穩(wěn)定幣可以實(shí)現(xiàn) ERC20 和幣安鏈 BEP2 兩個(gè)標(biāo)準(zhǔn)之間的跨鏈轉(zhuǎn)換,為用戶在加密貨幣和銀行賬戶之間進(jìn)行資產(chǎn)轉(zhuǎn)移提供更多選擇。
原子交換在證券結(jié)算的應(yīng)用
目前,證券結(jié)算采用中心化機(jī)構(gòu)的「限制交付」方法實(shí)現(xiàn) DvP。而在去中心化環(huán)境下,DvP 可以基于原子交換來實(shí)現(xiàn)。日本銀行和歐州央行的 Stella 項(xiàng)目在第二階段進(jìn)行了類似試驗(yàn),分為單鏈 DvP (Single-ledger DvP) 以及基于 HTLC 的跨鏈 DvP(Cross-ledger DvP with HTLC)。基于 HTLC 的跨鏈 DvP 并不依賴證券結(jié)算網(wǎng)絡(luò)的連結(jié),可以通過鏈下原子交換進(jìn)行,因此較有可擴(kuò)展性及可交互性,應(yīng)用場(chǎng)景較廣。
目前基于 HTLC 的跨鏈只是概念上的實(shí)現(xiàn),具體技術(shù)實(shí)現(xiàn)有兩個(gè)主要的風(fēng)險(xiǎn) : 第一,當(dāng)雙方并未在時(shí)間鎖時(shí)間內(nèi)完成交易時(shí),現(xiàn)金和證券會(huì)被退回買方及賣方,雙方會(huì)承受流動(dòng)性風(fēng)險(xiǎn)。第二,基于 HTLC 的跨鏈 DvP 的實(shí)現(xiàn)需要現(xiàn)金方及證券方兩個(gè)哈希時(shí)間鎖條件同時(shí)滿足。當(dāng)其中一個(gè)哈希時(shí)間鎖條件(假設(shè)為現(xiàn)金)滿足而另一個(gè)條件(假設(shè)為證券)不滿足時(shí),現(xiàn)金交易結(jié)算上鏈,證券交易退回,證券賣方會(huì)獲得交易對(duì)手的現(xiàn)金并拿回自身的證券,造成證券買方的實(shí)質(zhì)損失。因此,原子交換要成為跨資產(chǎn)交易和結(jié)算的金融底層結(jié)構(gòu),還需要解決許多技術(shù)上的問題。
總結(jié)
- 上一篇: HP监控软件sitescope的简介和应
- 下一篇: java websocket下载_jav