當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 跨鏈原子交換概念介紹: 假設(shè)Alice持有BTC,想要換取Bob持有的LV。雙方達(dá)成了交易醫(yī)意愿,并確定了兌換比例和具體的交易金額。雙方如何進(jìn)行交易呢? -如果Alice先把比特

跨鏈原子交換概念介紹:

假設(shè)Alice持有BTC,想要換取Bob持有的LV。雙方達(dá)成了交易醫(yī)意愿,并確定了兌換比例和具體的交易金額。雙方如何進(jìn)行交易呢?

-如果Alice先把比特幣轉(zhuǎn)賬給Bob,Alice會(huì)擔(dān)心萬(wàn)一Bob收了比特幣就逃跑了、消失了。如果Bob先把LV轉(zhuǎn)賬給Alice,Bob同樣需要擔(dān)心Alice可能會(huì)逃跑、消失。

因此,數(shù)字貨幣之間的交易,往往需要一個(gè)可信第三方,例如交易所或者交易見(jiàn)證人。

那么是否有可能在沒(méi)有中介、交易雙方也不完全信任對(duì)方的情況下完成交易呢?

跨鏈原子交換,就提供了一種完全依賴鏈上交易、保證兩種數(shù)字貨幣之間能夠在無(wú)中介的情況下無(wú)風(fēng)險(xiǎn)交易的方式。所謂“原子交換”,是指交易要么整體完成,要么整體失敗,不會(huì)因一方完成而另一方失敗造成單方損失。

LV-BTC跨鏈原子交換全流程:(假設(shè)Alice持有BTC,想要換取Bob持有的LV)

STEP1:Alice發(fā)起交易

STEP2:Bob響應(yīng)交易

STEP3:Alice取走LV

STEP4:Bob取走BTC

說(shuō)明:當(dāng)前版本的LV-BTC跨鏈原子交換機(jī)僅為全節(jié)點(diǎn)錢(qián)包內(nèi)置(0.3.4版本開(kāi)始支持),用戶需要有操作全節(jié)點(diǎn)錢(qián)包(命令行方式)的基礎(chǔ)。未來(lái),Lava會(huì)進(jìn)一步完善跨鏈原子交換機(jī)的使用體驗(yàn)。

【STEP 1:Alice發(fā)起交易】

“我是Alice,我手里持有BTC,要交換Bob手里持有的LV。我們已經(jīng)約定好了交易的數(shù)量和價(jià)格。現(xiàn)在需要由我來(lái)發(fā)起跨鏈原子交換!”

1. 首先,自定義一個(gè)謎底,比如說(shuō) “abcd”,記住千萬(wàn)不能告訴任何人!

接著,通過(guò)getimage獲取相應(yīng)的謎面(imagehash)。

輸入:自定義的謎底,此處為abcd

返回:{ “preimage”: “abcd”,

“imagehash_SHA256”: “123d4c7ef2d1600a1b3a0f6addc60a10f05a3495c9409f2ecbf4cc095d000a6b”,

“imagehash_RIPEMD160”: “a21c2817130deaa1105afb3b858dbd219ee2da44”}

2. 然后可以開(kāi)始構(gòu)造BTC上的HTLC交易:先創(chuàng)建一個(gè)BTC凍結(jié)地址。

使用createhtlcaddress接口。輸入:

?Bob的BTC地址(私下問(wèn)bob要):

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,

?我自己的BTC地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?上面的謎題(選取短的即可):

a21c2817130deaa1105afb3b858dbd219ee2da44

?這筆錢(qián)的凍結(jié)高度(BTC高度):

1609905 (注意,這里的高度含義是當(dāng)BTC主網(wǎng)超過(guò)這個(gè)高度時(shí),我有權(quán)直接收回凍結(jié)的BTC。)

返回:

{“address”: “2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT”,

“redeemScript”:

“63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a914090e217eff3b75215b5d106ad861d40e0d46af776703b19018b17576a91402b6eb3eb965532c942f1c112c585716db12b0636888ac”}

3. 現(xiàn)在,對(duì)上面產(chǎn)生的凍結(jié)地址:

“2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT”

轉(zhuǎn)入約定數(shù)量的BTC。轉(zhuǎn)賬完成后,這些BTC就暫時(shí)凍結(jié)在這個(gè)地址中了。

凍結(jié)完成后,將以下三個(gè)信息私下通知給Bob,等待Bob響應(yīng)即可。

我自己的BTC地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

上面的謎面(選取短的即可):

a21c2817130deaa1105afb3b858dbd219ee2da44

(千萬(wàn)別把謎底“abcd”告訴Bob?。?/p>

這筆錢(qián)的凍結(jié)高度(BTC高度):

1609905

【STEP 2:Bob響應(yīng)交易】

“我是Bob,我手里持有LV,要交換Alice手里持有的BTC。我們已經(jīng)約定好了交易的數(shù)量和價(jià)格。Alice已經(jīng)跨出了第一步,現(xiàn)在我該做什么呢?”

1. 首先,要對(duì)Alice發(fā)起的交易進(jìn)行驗(yàn)證。

假設(shè)現(xiàn)在我(Bob)收到了Alice通過(guò)微信發(fā)給你的三個(gè)信息:

?Alice的BTC地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?一個(gè)很難解的謎面:

a21c2817130deaa1105afb3b858dbd219ee2da44

?Alice設(shè)定的BTC凍結(jié)高度:1609905

接下來(lái),我需要驗(yàn)證Alice給我的信息的真實(shí)性和有效性:

首先驗(yàn)證凍結(jié)高度1609905是否已經(jīng)到達(dá)?

→如果主網(wǎng)已經(jīng)到達(dá)了1609905,那么不能再操作,告訴Alice不交易了,讓她取回自己的BTC。

→如果高度未到達(dá),我就可以繼續(xù)操作。通過(guò)上述信息調(diào)用createhtlcaddress接口,復(fù)現(xiàn)Alice的操作,依次輸入:

?我(Bob)自己的BTC地址:

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,

?Alice的BTC地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?上面的謎題:

a21c2817130deaa1105afb3b858dbd219ee2da44

?Alice手中BTC的凍結(jié)高度(BTC高度):1609905

返回:

{“address”: “2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT”,

“redeemScript”: “63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a914090e217eff3b75215b5d106ad861d40e0d46af776703b19018b17576a91402b6eb3eb965532c942f1c112c585716db12b0636888ac”}

其次驗(yàn)證Alice是否已經(jīng)往該凍結(jié)地址中轉(zhuǎn)入BTC?

去瀏覽器上查詢:

“2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT”地址的交易記錄,看看Alice有沒(méi)有給它轉(zhuǎn)賬約定數(shù)量的BTC。這個(gè)數(shù)量也就是之后我(Bob)會(huì)獲得的BTC數(shù)量。

以上驗(yàn)證步驟,有任何一個(gè)地方出現(xiàn)問(wèn)題,請(qǐng)立即終止交易!

2.驗(yàn)證通過(guò),Alice沒(méi)騙我。下面我需要構(gòu)造一筆凍結(jié)LV的交易,以響應(yīng)Alice的交易請(qǐng)求。

與Alice流程一樣,我開(kāi)始構(gòu)造Lava上的HTLC交易,創(chuàng)建一個(gè)Lava的凍結(jié)地址。

使用createhtlcaddress接口。依次輸入:

?Alice的Lava地址(私下問(wèn)Alice要):

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?自己的Lava地址:

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,

?上面的謎面:

a21c2817130deaa1105afb3b858dbd219ee2da44

?這筆錢(qián)的凍結(jié)高度(Lava高度):7600 →注意:請(qǐng)確保該Lava高度到來(lái)的比Alice設(shè)定的BTC高度更早!這一點(diǎn)非常重要!

返回:

{“address”: “2NBzEWiW4T9de94VRRq2RZno1712uSxopG9”,

“redeemScript”: “63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a91402b6eb3eb965532c942f1c112c585716db12b0636702b01db17576a914090e217eff3b75215b5d106ad861d40e0d46af776888ac”}

3. 向凍結(jié)地址:

“2NBzEWiW4T9de94VRRq2RZno1712uSxopG9”轉(zhuǎn)入約定數(shù)量的LV。

完成轉(zhuǎn)賬后,將以下信息私下通知給Alice,等待Alice進(jìn)一步響應(yīng)即可:

這筆錢(qián)的凍結(jié)高度(LAVA高度):7600

【STEP 3:Alice取走LV】

“我是Alice,我手里持有BTC,要交換Bob手里持有的LV。現(xiàn)在,Bob已經(jīng)完成對(duì)LV的凍結(jié),我需要取走這些LV以完成交易?!?/p>

1. 首先是檢驗(yàn)Bob設(shè)定的高度和金額信息是否正確:

獲得Bob發(fā)來(lái)的Lava高度信息 7600 后,開(kāi)始用相同的方式推演出Bob的凍結(jié)地址。

當(dāng)然,請(qǐng)確保這個(gè)Lava高度 7600 還沒(méi)達(dá)到, 否則請(qǐng)終止交易(放心,不會(huì)有任何損失)。

仍然調(diào)用createhtlcaddress:

輸入:

?自己的Lava地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?Bob的Lava地址:

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,

?自己創(chuàng)的謎題:

a21c2817130deaa1105afb3b858dbd219ee2da44

?這筆錢(qián)的凍結(jié)高度(Lava高度):7600

返回:

{“address”: “2NBzEWiW4T9de94VRRq2RZno1712uSxopG9”,

“redeemScript”:

“63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a91402b6eb3eb965532c942f1c112c585716db12b0636702b01db17576a914090e217eff3b75215b5d106ad861d40e0d46af776888ac”}

然后,去Lava的主網(wǎng)查看:

“2NBzEWiW4T9de94VRRq2RZno1712uSxopG9”地址上是否有約定好的LV金額。沒(méi)有的話就取消交易吧。

2. 以上都確認(rèn)無(wú)誤后,我將要進(jìn)行最后的步驟:提款走人。

根據(jù)Lava瀏覽器查詢結(jié)果,我已經(jīng)知道Bob凍結(jié)LV的交易id是:

b05fa0adec37559f98b7b94c775e78f6e93434c0029c3795eae584a69580957b

接著,調(diào)用整個(gè)交換過(guò)程中最復(fù)雜的接口spendhtlcwithwallet來(lái)將這些LV轉(zhuǎn)走。

輸入:

?剛才獲取的bob凍結(jié)LV交易的txid:

b05fa0adec37559f98b7b94c775e78f6e93434c0029c3795eae584a69580957b

?上面交易中的對(duì)應(yīng)output序號(hào),可以瀏覽器自己查詢看到,也可以用命令行看到,這次是0。我們用命令行來(lái)驗(yàn)證下。確實(shí)是0.

?Alice想取走的金額:當(dāng)然是取走所有約定的金額

?Alice的LV接收地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD (重要,就是接受這筆LV的地址。這是一個(gè)我的私人地址。)

?Alice之前設(shè)置的謎底:abcd (終于用上了?。?/p>

以及Bob構(gòu)造這筆100lv凍結(jié)交易時(shí)的信息:

?Alice使用的謎題:

a21c2817130deaa1105afb3b858dbd219ee2da44

?Alice的Lava地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?Bob的Lava地址:

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,

?這筆錢(qián)的凍結(jié)高度(Lava高度):7600

?標(biāo)志位,表示該花費(fèi)交易是否為贖回交易:

這里填0,表示是正常流程的互換交易;

如果填1,表示是違約后,或者超時(shí)后的取回交易。

返回:

02000000017b958095a684e5ea95379c02c03434e9f6785e774cb9b7989f5537ecada05fb000000000bf473044022068d9e6c815d99fedd31b6cd4f205124a8e1da3b2b65042c389ddca873ff708cb02203864c31bf8b8597de9e2f101b006dd0f55877e9854af568df10525297cdabef6012102da788aa6e547746556a27bee415ff3187df45033e3ef7e79fe8d506047bd6fb802abcd514c4f63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a91402b6eb3eb965532c942f1c112c585716db12b0636702b01db17576a914090e217eff3b75215b5d106ad861d40e0d46af776888ac00000000017ccc0b54020000001976a91402b6eb3eb965532c942f1c112c585716db12b06388ac00000000

把以上結(jié)果在用sendrawtransacTIon接口發(fā)送到Lava主網(wǎng)。

獲得txid為:

2abc47531de88a6952614702f3c842f24e4d524fc73e16b07934e530f46e9135

【STEP 4:Bob取走BTC】

“我是Bob,我手里持有LV,要交換Alice手里持有的BTC?,F(xiàn)在Alice已經(jīng)取走了我凍結(jié)的LV,現(xiàn)在我要取走Alice凍結(jié)的BTC來(lái)正式完成這筆交易?!?/p>

1. 觀察Lava瀏覽器,我發(fā)現(xiàn)之前凍結(jié)LV的地址 2NBzEWiW4T9de94VRRq2RZno1712uSxopG9 中出現(xiàn)一筆轉(zhuǎn)賬交易:

2abc47531de88a6952614702f3c842f24e4d524fc73e16b07934e530f46e9135

這也就是剛才Alice轉(zhuǎn)走LV的交易。

既然Alice已經(jīng)利用謎底轉(zhuǎn)走LV了,那么這個(gè)謎底就暴露在區(qū)塊鏈上了!調(diào)用checkpreimage接口即可獲取Alice公布的謎底:

輸入?yún)?shù)為:

目標(biāo)txid:

2abc47531de88a6952614702f3c842f24e4d524fc73e16b07934e530f46e9135

返回:

{“Preimage”: “abcd”}

由此,我知道了Alice設(shè)置的謎底就是 abcd。

2. 接下來(lái),我也使用spendhtlcwithwallet接口來(lái)轉(zhuǎn)走Alice凍結(jié)的BTC:

輸入?yún)?shù):

?剛才獲取的Alice凍結(jié)BTC的txid:

4b879e138ea104569d718f12bb47d7207c908f7f2ee5750ddf127bc8bebf0060

?上面交易中的對(duì)應(yīng)輸出序號(hào),可以瀏覽器自己查詢看到,是0。

?我想轉(zhuǎn)走的金額:當(dāng)然是取走所有約定的金額

?我的BTC接收地址:

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442

?Alice之前設(shè)置的謎底:abcd (剛才獲得的)

以及Alice構(gòu)造這筆0.00031BTC凍結(jié)交易時(shí)的信息:

?Alice使用的謎題:

a21c2817130deaa1105afb3b858dbd219ee2da44

?我的BTC地址:

mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,

?Alice的BTC地址:

mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,

?這筆錢(qián)的凍結(jié)高度(BTC高度):1609905

?標(biāo)志位,表示該花費(fèi)交易是否為贖回交易:

這里填0,表示是正常流程的互換交易,

如果填1,表示是違約后,或者超時(shí)后的取回交易。

將上面獲取的結(jié)果通過(guò)Lava內(nèi)置的命令sendrawBTCtx發(fā)送到BTC主網(wǎng),即可取回屬于我的BTC,大功告成!

這里需要注意:

1.軟件默認(rèn)使用的比特幣區(qū)塊鏈瀏覽器(https://www.blockcypher.com/)可能有翻墻的問(wèn)題,可能使sendrawBTCtx發(fā)送不成功。我們也可以直接去該網(wǎng)站或者其他比特幣主網(wǎng)瀏覽器上直接發(fā)送交易。

2.考慮到BTC網(wǎng)絡(luò)交易費(fèi)用很高,所以做這筆BTC主網(wǎng)交易之前一定要設(shè)置好合理的settxfee!具體的btc交易費(fèi)一般都可以在btc瀏覽器上找到。在第四步Bob使用spendhtlcwithwallet之前,先調(diào)用lava全節(jié)點(diǎn)的settxfee=btc主網(wǎng)費(fèi)率即可。

Lava通過(guò)PoC共識(shí)機(jī)制讓人人挖礦成為現(xiàn)實(shí),?大降低了挖礦的門(mén)檻和成本。使得挖礦成為每?個(gè)人都可以操作的小事情。更通過(guò)「跨鏈原?子交換機(jī)」使得?戶挖出來(lái)的幣有了更加方便、安全的流通?式,使得Lava?態(tài)變得更為健康和完善,保證了挖礦?戶的收益,也保持了鏈上的活性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉