跨鏈研究 - 哈希時(shí)間鎖定

摘要

隨著區(qū)塊鏈技術(shù)的發(fā)展,越來(lái)越多的公鏈涌現(xiàn)出來(lái)蹋绽,例如:比特幣芭毙,以太訪,比特現(xiàn)金卸耘,EOS等稿蹲,但是每個(gè)公鏈就像一個(gè)價(jià)值孤島,各自定義著各自的協(xié)議鹊奖,鏈與鏈之間是不能互通的苛聘,因此出現(xiàn)了不少跨鏈或者側(cè)鏈項(xiàng)目,目的就是打通各條鏈之間的連接忠聚,連接各條鏈上的資產(chǎn)和數(shù)據(jù)设哗。

目前比較常用的方法有中心化公證人機(jī)制,多重簽名的公證人機(jī)制两蟀,雙向錨定的側(cè)鏈技術(shù)网梢,以及哈希時(shí)間鎖定。今天詳細(xì)介紹哈希時(shí)間鎖定是如何實(shí)現(xiàn)的赂毯,其他的以后慢慢填坑战虏。

哈希時(shí)間鎖定

跨鏈交易一定是原子交易,只有成功和失敗党涕,通過(guò)哈希時(shí)間鎖定技術(shù)可以實(shí)現(xiàn)該需求烦感。假設(shè)我們實(shí)現(xiàn)一條跨鏈CrossChain, CrossChain的代幣是cct,可以和以太訪等帶有公鏈的項(xiàng)目進(jìn)行資產(chǎn)轉(zhuǎn)移膛堤。

假設(shè)Alice和Bob在以太訪和跨鏈CrossChain均有賬戶手趣,Alice_Eth, Alice_Cross, Bob_Eth, Bob_Cross, 則Alice可以用自己手中的1eth,兌換Bob手中的10 cct肥荔,中間過(guò)程是通過(guò)哈希時(shí)間鎖定去中心化的绿渣。除了跨鏈CrossChain朝群,我們還需要實(shí)現(xiàn)一個(gè)跨鏈錢包CrossWallet,通過(guò)CrossWallet發(fā)起跨鏈交易中符。具體流程如下:

1. 在以太訪上創(chuàng)建智能合約姜胖,提供對(duì)外函數(shù) eth2cctLock, 包含的參數(shù)有:

a. hs:賬戶Alice_Eth 生成的隨機(jī)值s,進(jìn)行hash后的值

b. eth_value: 轉(zhuǎn)入的eth代幣數(shù)量

c. to: 跨鏈交易的兌換賬戶淀散,即:Bob_Eth

d. timeOut: 跨鏈轉(zhuǎn)賬超時(shí)時(shí)間右莱,如果在超時(shí)時(shí)間內(nèi),跨鏈交易失敗吧凉,則退回鎖定的eth給賬戶Alice_Eth

e. ss: 隨機(jī)值s經(jīng)過(guò)Alice_Cross賬戶公鑰加密后的數(shù)值

f.?cct_value: 兌換的cct數(shù)量

2. 在CorssChain創(chuàng)建智能合約隧出,提供對(duì)外函數(shù) cct2ethLock, 包含的參數(shù)有:

a. hs:賬戶Alice_Eth 生成的隨機(jī)值s踏志,進(jìn)行hash后的值

b. cct_value: 轉(zhuǎn)入的cct代幣數(shù)量

c. to: 跨鏈交易阀捅,接受cct的賬戶,即:Alice_Cross

d. timeOut:?跨鏈轉(zhuǎn)賬超時(shí)時(shí)間针余,如果在超時(shí)時(shí)間內(nèi)饲鄙,跨鏈交易失敗,則退回鎖定的cct給賬戶Bob_Cross

e. ss: 隨機(jī)值s經(jīng)過(guò)Alice_Cross賬戶公鑰加密后的數(shù)值

f. eth_value: 跨鏈交易eth的數(shù)量

3. Alice通過(guò)CrossWallet 調(diào)用以太訪智能合約的函數(shù)eth2cctLock圆雁,傳入?yún)?shù)hs, 1 eth,?Bob_Eth, 2小時(shí)忍级,ss, 10 cct。此時(shí)eth是鎖定狀態(tài)伪朽,只有傳入了正確的隨機(jī)值s轴咱,才能將eth給Bob_Eth,否則超時(shí)后eth回退給Alice_Eth烈涮。

4. CrossWallet 通知Bob有一個(gè)來(lái)自Alice的跨鏈交易朴肺,Bob覺(jué)得eth轉(zhuǎn)cct的匯率沒(méi)問(wèn)題,這比轉(zhuǎn)賬交易可以執(zhí)行坚洽,則通過(guò)CrossWallet 調(diào)用CrossChain上智能合約的函數(shù)cct2ethLock戈稿,傳入?yún)?shù)hs, 10 cct,?Alice_Cross, 1小時(shí),ss, 1 eth讶舰。此時(shí)cct是鎖定狀態(tài)鞍盗,只有傳入了正確的隨機(jī)值s,才能將cct給Alice_Cross, 否則超時(shí)后cct回退給Bob_Cross跳昼。

5. CrossWallet 通知Alice有一個(gè)來(lái)自Bob的跨鏈交易般甲,Alice通過(guò)ss,利用自己在CrossChain上的私鑰解密出隨機(jī)值s鹅颊,覺(jué)得交易沒(méi)有問(wèn)題的話欣除,調(diào)用CrossChain智能合約函數(shù)eth2cctUnLock,? 傳入的參數(shù)是隨機(jī)值s。

智能合約檢驗(yàn)s和hs是否匹配挪略,不匹配历帚,終止交易滔岳。匹配將合約上鎖定的10 cct給Alice_Cross, 然后自動(dòng)調(diào)用以太訪上的智能合約函數(shù)eth2cctUnLock,傳入?yún)?shù)s挽牢,以太訪智能合約檢驗(yàn)s和hs是否匹配谱煤,不匹配,終止交易禽拔。匹配將合約上的1 eth給Bob_Eth刘离。

綜上,通過(guò)哈希鎖定保證了跨鏈交易的原子性睹栖,cct轉(zhuǎn)eth是一個(gè)相反的過(guò)程與此類似硫惕。上述是通過(guò)智能合約的實(shí)現(xiàn)方法,比特幣這種非圖靈完備的哈希交易腳本實(shí)現(xiàn)起來(lái)較為復(fù)雜恼除,但思路都是一樣的,哈希值鎖定資產(chǎn)豁辉,通過(guò)原隨機(jī)值解鎖資產(chǎn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徽级,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子聊浅,更是在濱河造成了極大的恐慌餐抢,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旷痕,死亡現(xiàn)場(chǎng)離奇詭異努咐,居然都是意外死亡苦蒿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門渗稍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)佩迟,“玉大人,你說(shuō)我怎么就攤上這事报强。” “怎么了秉溉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)召嘶。 經(jīng)常有香客問(wèn)我,道長(zhǎng)弄跌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任埠胖,我火速辦了婚禮,結(jié)果婚禮上淳玩,老公的妹妹穿的比我還像新娘。我一直安慰自己蜕着,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布圈盔。 她就那樣靜靜地躺著豹芯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宽闲。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天容诬,我揣著相機(jī)與錄音沿腰,去河邊找鬼。 笑死颂龙,一個(gè)胖子當(dāng)著我的面吹牛习蓬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播措嵌,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枫慷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起或听,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎再姑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體元镀,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡霎桅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遇革。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萝快,死狀恐怖著角,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吏口,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布昂勒,位于F島的核電站,受9級(jí)特大地震影響戈盈,放射性物質(zhì)發(fā)生泄漏谆刨。R本人自食惡果不足惜塘娶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一痴荐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧生兆,春花似錦膝宁、人聲如沸根吁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至圣蝎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間徘公,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工关面, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留十厢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓蛮放,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筛武。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挎塌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容