魏昂
摘? ?要:伴隨著區(qū)塊鏈技術(shù)的飛速發(fā)展,各類區(qū)塊鏈項目呈井噴式增長。在區(qū)塊鏈項目數(shù)量呈現(xiàn)加速上升態(tài)勢的同時,后續(xù)沒有相應(yīng)的配套措施,導(dǎo)致目前大部分的區(qū)塊鏈項目無法互聯(lián)互通。為了解決每個鏈都是獨(dú)立的、垂直的封閉體系,讓鏈與鏈之間的互操作性成為可能,文章基于哈希鎖定技術(shù),設(shè)計了一種改進(jìn)的跨鏈技術(shù),通過將主鏈資產(chǎn)雙向錨定到側(cè)鏈,利用哈希時間契約鎖協(xié)議HTDLC,哈希鎖防止信息篡改,時間鎖限制交易時間,違約鎖放置違約強(qiáng)制保障協(xié)議,實(shí)現(xiàn)資產(chǎn)跨鏈交易。
關(guān)鍵詞:區(qū)塊鏈;跨鏈;哈希鎖定;HTDLC;違約鎖
中圖分類號:TP311.13? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A
Abstract: With the rapid development of blockchain technology, blowout growth of all kinds of blockchain projects. At the same time, the number of blockchain projects is increasing rapidly, and there are no corresponding supporting measures in the follow-up, which makes most of the current blockchain projects unable to interconnect. In order to solve the problem that each chain is an independent and vertical closed system, it is possible to make interoperability between chains. This paper designs a new cross-chain technology based on atomic swap. By anchoring the main chain assets to the sidechain in two directions, using the HTDLC, hashlock prevents information tampering, timelock restricts transaction time, and delylock places compulsory guarantee protocol to realize cross-chain transaction of assets.
Key words: blockchain; cross-chain; hash-locking; HTDLC; delylock
1 引言
區(qū)塊鏈(Blockchain)[1]技術(shù)作為繼云計算、物聯(lián)網(wǎng)、大數(shù)據(jù)之后的又一項顛覆世界的技術(shù),在金融、互聯(lián)網(wǎng)等領(lǐng)域已得到廣泛的應(yīng)用,顯現(xiàn)出廣闊的前景。目前,GitHub上的項目數(shù)達(dá)到10萬個以上,另據(jù)Coinmarketcap數(shù)據(jù)顯示,目前已有Token種類達(dá)到2397個,總市值約2700億美元。
隨著區(qū)塊鏈應(yīng)用的蓬勃發(fā)展,區(qū)塊鏈所面臨的問題也日益突出。在諸多問題中,各鏈之間彼此沒有任何連接,在很大程度上限制了區(qū)塊鏈應(yīng)用空間的發(fā)展,這對于整個區(qū)塊鏈生態(tài)來說,都是極其不利的。例如Alice需要到商場購買一部手機(jī),Alice僅擁有BTC(比特幣),商家支持使用ETH(以太幣),不接受與BTC的交易。此時Alice需要通過一定渠道將BTC兌換成商家支持的ETH。這筆交易的過程應(yīng)該是,首先Alice把BTC賣出得到ETH,然后再用ETH買入ETH,在這個過程中將會出現(xiàn)很多問題,如幣價不穩(wěn)定將會導(dǎo)致價值損耗,同時交易過程也很繁瑣,周期過長。于是,打破不同區(qū)塊鏈項目間通信壁壘的需求呼之欲出,鏈與鏈之間的互聯(lián)操作,越來越被重視,跨鏈技術(shù)也由此誕生。
本文設(shè)計了一種改進(jìn)的區(qū)塊鏈跨鏈技術(shù),實(shí)現(xiàn)了雙鏈之間資產(chǎn)交易,讓鏈與鏈之間的互操作性成為可能,解決每個鏈都是獨(dú)立的、垂直的封閉體系,實(shí)現(xiàn)信息傳遞互聯(lián)網(wǎng)向價值互聯(lián)網(wǎng)IoV(Internet of Value)[2]的進(jìn)步。
2 區(qū)塊鏈跨鏈技術(shù)
2.1 跨鏈技術(shù)
跨鏈技術(shù)(Cross-chain Technology)[3],顧名思義,就是能讓價值跨過鏈和鏈之間的障礙,進(jìn)行直接流通的一項技術(shù)??珂湵举|(zhì)上和貨幣兌換是一樣的,跨鏈并沒有改變每個區(qū)塊鏈上的價值總額,只是不同的持有人之間進(jìn)行了一個兌換而已。
跨鏈技術(shù)的核心要素是幫助一條鏈上的用戶與另一條鏈上的用戶進(jìn)行商品兌換。從業(yè)務(wù)的角度上來看,跨鏈技術(shù)更像是一個中間交易所,用戶能夠到交易所里進(jìn)行跨鏈交易。相比于之前的交易所都是中心化的法幣交易,現(xiàn)在主流的交易所都變成了幣與幣的交易。幣與幣的交易所當(dāng)交易所由多個主體共同運(yùn)行,或者干脆是一個公有鏈,任何人都能參與到這個交易所的運(yùn)行中,從而避免中心化交易所存在的盜幣、儲備不足等信用問題。
2.2 主流跨鏈技術(shù)對比
本節(jié)將對比分析目前主流跨鏈機(jī)制,公證人模式、側(cè)鏈/中繼模式、哈希鎖定、分布式私鑰控制、公證人機(jī)制+側(cè)鏈混合技術(shù)[4],從雙鏈之間互操作性,鏈操作信任模式,面對交易方面從是否支持跨鏈的資產(chǎn)交換、資產(chǎn)轉(zhuǎn)移、資產(chǎn)抵押,技術(shù)本身方面交易速度、實(shí)現(xiàn)難度、多幣種智能合約,多方面、多角度進(jìn)行對比分析,得出分析結(jié)果如表1所示。
從互操作性上看,公證人模式、側(cè)鏈/中繼模式和分布式私鑰支持所有,而哈希鎖定其實(shí)是一種依賴關(guān)系,存在著明顯的不足。
從信任模型上看,公證人模式需要多處公證人的證實(shí),公證人是第三方、特權(quán)機(jī)構(gòu),很容易成為整個系統(tǒng)中信任環(huán)節(jié)中最弱的那一環(huán),其它模式則不會出現(xiàn)此類問題。
面對交易方面,公證人模式、側(cè)鏈/中繼模式和分布式私鑰均能支持跨鏈資產(chǎn)交換及轉(zhuǎn)移,跨鏈合約和資產(chǎn)抵押。而哈希鎖支持的功能比較少,能夠支持跨鏈資產(chǎn)交換,大部分場景能夠支持資產(chǎn)抵押,但不支持跨鏈資產(chǎn)轉(zhuǎn)移。
在技術(shù)方面,公證人模式、側(cè)鏈/中繼模式處理交易速度相對較慢,哈希鎖定、分布式私鑰控制、公證人機(jī)制+側(cè)鏈混合技術(shù)交易處理速度相對較快;實(shí)現(xiàn)起來,哈希鎖定具有良好的實(shí)現(xiàn)可能,其它模式則相對困難,要具備良好的知識儲備;而多幣種智能合約在哈希鎖定不具備此業(yè)務(wù)拓展,其它模式實(shí)現(xiàn)起來來比較困難。
當(dāng)然不同的應(yīng)用背景下,跨鏈技術(shù)的選擇存在著明顯的不同,技術(shù)的應(yīng)用不僅要考慮技術(shù)本身的條件,還應(yīng)考慮各技術(shù)存在的問題。
2.3 跨鏈技術(shù)難點(diǎn)
當(dāng)前,跨鏈技術(shù)存在三個需要解決的難點(diǎn)問題。一是保障跨鏈交易的原子性:交易發(fā)生的可能性只有發(fā)生與不發(fā)生,保障交易雙方賬本信息一致且同步,創(chuàng)建無信任的環(huán)境避免雙花(Double-spending)[5]等問題,是跨鏈交易的基礎(chǔ)。二是技術(shù)實(shí)現(xiàn)難度較大:交易涉及兩條主鏈間的價值流通,需要根據(jù)原鏈的特性適配開發(fā)[6],對交易模型、加密技術(shù)、智能合約等方面具有較高的要求。三是交易速度有待提升:隨著數(shù)字經(jīng)濟(jì)的到來,跨鏈交易規(guī)模必將不斷增長,交易的復(fù)雜性決定了節(jié)點(diǎn)驗證過程的嚴(yán)格性,嚴(yán)格性決定了對時間、通道的資源占用,傳統(tǒng)跨鏈技術(shù)對于大規(guī)模跨鏈交易并發(fā)執(zhí)行速度必將有待改進(jìn)。
3 改進(jìn)的跨鏈技術(shù)設(shè)計
3.1 哈希時間契約鎖協(xié)議
為實(shí)現(xiàn)跨鏈交易的原子性,創(chuàng)建無信任的環(huán)境,需要特定的事務(wù)類型,本文設(shè)計了一種基于哈希鎖定[7]的哈希時間契約鎖協(xié)議(Hashed Timed DelyLock Contract,HTDLC)。HTDLC是指以加密方式進(jìn)行哈希處理并具有相關(guān)時間與保障金限制的合同,是一種能夠在加密貨幣渠道中進(jìn)行使用的智能合約。它用以實(shí)現(xiàn)有時間限制的事務(wù),這意味著交易的接收者必須通過在特定時間范圍內(nèi)生成加密證據(jù)來確認(rèn)付款。否則,交易不會發(fā)生。它同時規(guī)定了違約賠付的相關(guān)事務(wù),這意味著一旦線下協(xié)約一致進(jìn)行交易,出現(xiàn)單方違約,將不可避免地受到懲罰,扣除約定金額的違約金交予守約方。
HTDLC使用現(xiàn)有加密貨幣交易中的多個元素,包括私有公鑰來驗證事務(wù),但是有三個因素是區(qū)分HTDLC和標(biāo)準(zhǔn)的加密貨幣交易,如圖1所示。
哈希鎖(HashLock)是由事務(wù)的發(fā)起者生成的加密密鑰的加擾版本,其是一種阻礙,它限制輸出的開銷,直到公開顯示指定的某個數(shù)據(jù)(作為加密證據(jù))。這種證據(jù)也可以稱為反復(fù)嵌段的前映像。預(yù)映像只是用于生成反饋鎖的信息,以及稍后解鎖其資金的信息。
時間鎖(TimeLock)是一種限制資金支出的功能,使用時基來鎖定和釋放交易貨幣,僅在特定時間和日期或塊大小的特定高度完成事務(wù)。它可以在比特幣中實(shí)現(xiàn),例如使用Check Lock Time Verify(CLTV)或Check Sequence Verify(CSV)等函數(shù)。
違約鎖(DelyLock)是一種在跨鏈交易過程中作為保障交易強(qiáng)制執(zhí)行的方法,通過將10%的交易金額放入違約鎖進(jìn)行鎖定,一旦出現(xiàn)單方面發(fā)生了違約操作,例如在交易過程中,超出時間鎖限制的情況,則將對違約方進(jìn)行資金處罰,扣除違約鎖內(nèi)的金額給與應(yīng)約方。通過違約鎖設(shè)置,可間接減小雙方交易的時間,提高交易人雙方利益保障。
3.2 跨鏈設(shè)計
3.2.1 跨鏈交易模型
要使用HTDLC進(jìn)行交易,相關(guān)方需要相互打開渠道。準(zhǔn)備條件傳輸時,發(fā)送方向收件人發(fā)送包含哈希鎖和超時與違約的通道的簽名更新。當(dāng)且僅當(dāng)他們可以在超時之前呈現(xiàn)散列原像時,接收者可以兌換轉(zhuǎn)移金額。如果發(fā)件人和收件人同意在超時之前交付了原像,他們可以用新商定的渠道余額交換簽名的陳述。如果存在違約,另一方可以向側(cè)鏈提供最后一個索賠和散列鎖原像,側(cè)鏈將確定原像是否有效并在超時之前提交。
使用有條件支付渠道,發(fā)件人和收件人可以在沒有任何資金風(fēng)險的情況下進(jìn)行交易,因為所有爭議都將由側(cè)鏈調(diào)解,建立跨鏈協(xié)議模型如圖2所示。
區(qū)塊鏈A上用戶Alice與區(qū)塊鏈B上用戶Bob進(jìn)行數(shù)字資產(chǎn)的交易,假設(shè)兩者不能直接進(jìn)行跨鏈交易,此模型通過將兩種交易的資產(chǎn)通過雙向錨定機(jī)制暫時鎖定在側(cè)鏈,再進(jìn)行HTDLC合約實(shí)現(xiàn)價值傳輸?shù)目珂渽f(xié)議。通過哈希作為合同的鎖,避免了第三方直接參與交易過程,明顯地提高了資產(chǎn)交易的安全性。同時,為了降低交易對手風(fēng)險,支付接收方需要提供交易執(zhí)行的證據(jù),避免出現(xiàn)單方違約,加入了強(qiáng)有力的單方違約處罰規(guī)則。
3.2.2? 跨鏈交易過程
改進(jìn)的跨鏈技術(shù)要想實(shí)現(xiàn)跨鏈交易,首先交易雙方通過線下商議協(xié)定合同內(nèi)容,接著進(jìn)行線上服務(wù)請求,再一步進(jìn)行鏈間認(rèn)證資金流轉(zhuǎn),最終實(shí)現(xiàn)數(shù)字資產(chǎn)的跨鏈交易。
如圖3所示,跨鏈交易過程具體步驟。
(1)首先,Alice與Bob交易之前,進(jìn)行線下商議交易合約,雙方約定交易金額Alice用100ALC換Bob的1BTC,時間鎖鎖定時間48小時,10%交易金額的違約鎖保障資金等內(nèi)容達(dá)成一致性共識,并會把這些內(nèi)容寫入到智能合約當(dāng)中。
(2)接著交易雙方在各自的主鏈上,進(jìn)行交易請求,主鏈判斷用戶可用余額大于實(shí)際交易過程使用的金額,會對資產(chǎn)進(jìn)行暫時鎖定(其中包含交易金額和10%交易金額的保障資金),放入ALC、BTC資產(chǎn)冷藏池(主鏈上分配進(jìn)行資產(chǎn)暫存的位置)。
(3)交易雙方通過雙向錨定,在側(cè)鏈上生成等價值冷藏池的ALC、BTC代幣。
(4)Alice隨機(jī)生成一個密鑰data1,通過哈希算法將密鑰進(jìn)行計算,得出= hash(data1),然后再使用自己的私鑰對進(jìn)行簽名,即,將傳遞給Bob,發(fā)起交易1,向Bob比特幣賬戶轉(zhuǎn)100ALC,其中金額分為兩份,90ALC放入側(cè)鏈交易池中,10ALC放入DelyLock中。交易池中的金額可通過Bob的簽名和密鑰data1獲得,但是DelyLock中的金額,只有雙方完成交易或Alice出現(xiàn)違約才會發(fā)送給Bob,同時Bob出現(xiàn)違約,則將其返回給Alice。
(5)同時Alice會廣播一筆違約交易(交易2),交易2中說明雙方完成交易或Alice出現(xiàn)違約會自動執(zhí)行將DelyLock中的10ALC發(fā)送給Bob,超過48小時未完成交易1,資金退回Alice賬戶。
(6)在交易1、2發(fā)起前,Alice會廣播一筆回撤交易(交易3),該交易表明若48小時內(nèi)交易1未完成,則將資產(chǎn)回退給Alice;回撤交易得到Alice與Bob的共同簽名后生效。同時,Alice只有在交易3成功生效的情況下,才會發(fā)起交易1、2。
(7)Bob接收到Alice的交易3、2,若同意跨鏈轉(zhuǎn)賬則在交易3、2中添加簽名。此時交易3、2生效,Alice將交易1向全網(wǎng)廣播。
(8)Bob在B鏈上發(fā)起交易4,向Alice支付1BTC以得到密鑰data1,Alice在交易中輸入data1和簽名后才可以得到0.9BTC。為保障交易4中Bob資產(chǎn)安全,在交易4之前同樣會發(fā)送一筆違約交易(交易5),一筆回撤交易(交易6)。
(9)Alice收到交易6、5后,會附加自己的簽名,交易6、5生效后,Bob將交易4在全網(wǎng)廣播。
(10)Alice為獲得0.9BTC,在交易4中附上自己的簽名和密鑰data1'。
(11)Bob對data1'進(jìn)行哈希處理,得到=hash(data1'),同時將交易1發(fā)生時收到的用Alice的公鑰進(jìn)行解密,得到,判斷與是否一致。
(12)與一致,此時交易4成功,Alice獲得0.9BTC,Bob獲得密鑰data1。
(13)在B鏈中Bob輸入自己的簽名和data1,獲得90ALC。
(14)雙方48小時內(nèi)完成交易,DelyTime違約金發(fā)送給雙方,完成交易,將交易記錄寫入各自主鏈中。
4 結(jié)束語
本文基于側(cè)鏈和哈希鎖定設(shè)計的跨鏈技術(shù),利用HTDLC合約去信任的管理機(jī)制完成“鎖定”“解鎖”的過程,密碼學(xué)技術(shù)的使用保證交易過程中交易雙方外部信息進(jìn)入另一條鏈時是正確的,雙方賬本信息一致且同步。違約鎖的設(shè)計,可有效地避免單方違約情況,減少單方違約所造成對方時間成本的浪費(fèi),以及占用交易通道的浪費(fèi),一切糾紛將由側(cè)鏈解決,督促雙方高效快速的完成交易,提高交易速度,為面對大規(guī)模交易并行計算,提供了一種解決思路。
價值互聯(lián)網(wǎng)如何能夠鏈接成“網(wǎng)”,而不是各自的一條線,解決鏈間無規(guī)律的聯(lián)系,這需要不斷地實(shí)踐創(chuàng)新跨鏈技術(shù)。在區(qū)塊鏈大浪潮下,跨鏈技術(shù)作為整合區(qū)塊鏈項目,提高區(qū)塊鏈性能的重要手段,必將受到核心開發(fā)者的重視。無論是作為技術(shù)研究還是投資的角度,跨鏈的發(fā)展都是值得進(jìn)一步關(guān)注和研究的。未來跨鏈技術(shù)發(fā)展方向,必將會對智能合約進(jìn)一步增強(qiáng),同時使用并行計算提高智能合約的效率,提高鏈的可擴(kuò)展性從而使各鏈進(jìn)行安全、高效的互操作交易。
參考文獻(xiàn)
[1] ANTONOPOULOS A M. Mastering Bitcoin[M]. USA:O'Reilly Media,2014.
[2] 劉權(quán).區(qū)塊鏈與人工智能 構(gòu)建智能化數(shù)字經(jīng)濟(jì)世界[M].北京:人民郵電出版社,2019.
[3] 李芳,李卓然,趙赫.區(qū)塊鏈跨鏈技術(shù)進(jìn)展研究[J].軟件學(xué)報,2019,30(06):1649-1660.
[4] 江鵬.跨鏈技術(shù)概覽及項目對比[EB/OL]. http://www.mimajike.com/2417/.html.
[5] KARAME G O, ANDROULAKI E, CAPKUN S. Doublespending Fast Payments in Bitcoin[C]//ACM. The 2012 ACM Conference on Computer&Communications Security, October 16–18, 2012, Raleigh, North Carolina, USA. New York:ACM, 2012:906-917.
[6] 路愛同,趙闊,楊晶瑩,王峰.區(qū)塊鏈跨鏈技術(shù)研究[J].信息網(wǎng)絡(luò)安全,2019(08):83-90.
[7] 張詩童,秦波,鄭海彬.基于哈希鎖定的多方跨鏈協(xié)議研究[J].網(wǎng)絡(luò)空間安全,2018,9(11):57-62+67.