本文摘要:跨链原子互相交换概念讲解:假设Alice持有人BTC,想交换条件Bob持有人的LV。
跨链原子互相交换概念讲解:假设Alice持有人BTC,想交换条件Bob持有人的LV。双方达成协议了交易医意愿,并确认了外币比例和明确的交易金额。双方如何展开交易呢?-如果Alice再行把比特币账户给Bob,Alice不会担忧万一Bob缴了比特币就逃走了、消失了。如果Bob再行把LV账户给Alice,Bob某种程度必须担忧Alice可能会逃走、消失。
因此,数字货币之间的交易,往往必须一个可靠第三方,例如交易所或者交易见证人。那么否有可能在没中介、交易双方也不几乎信任对方的情况下已完成交易呢?跨链原子互相交换,就获取了一种几乎倚赖链上交易、确保两种数字货币之间需要在无中介的情况下无风险交易的方式。所谓“原子互相交换”,是指交易要么整体已完成,要么整体告终,会因一方已完成而另一方告终导致单方损失。LV-BTC跨链原子互相交换仅有流程:(假设Alice持有人BTC,想交换条件Bob持有人的LV)STEP1:Alice发动交易STEP2:Bob号召交易STEP3:Alice拿走LVSTEP4:Bob拿走BTC解释:当前版本的LV-BTC跨链原子交换机仅有为全节点钱包内置(0.3.4版本开始反对),用户必须有操作者仅有节点钱包(命令行方式)的基础。
未来,Lava不会更进一步完备跨链原子交换机的用于体验。【STEP 1:Alice发动交易】“我是Alice,我手里持有人BTC,要互相交换Bob手里持有人的LV。
我们早已誓约好了交易的数量和价格。现在必须由我来发动跨链原子互相交换!”1. 首先,自定义一个谜底,比如说 “abcd”,忘记千万无法告诉他任何人!接着,通过getimage提供适当的谜面(imagehash)。输出:自定义的谜底,此处为abcd回到:{ "preimage": "abcd","imagehash_SHA256": "123d4c7ef2d1600a1b3a0f6addc60a10f05a3495c9409f2ecbf4cc095d000a6b","imagehash_RIPEMD160": "a21c2817130deaa1105afb3b858dbd219ee2da44"}2. 然后可以开始结构BTC上的HTLC交易:再行创立一个BTC失效地址。
用于createhtlcaddress模块。输出:•Bob的BTC地址(私下问bob要):mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,•我自己的BTC地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•上面的谜题(挑选较短的才可):a21c2817130deaa1105afb3b858dbd219ee2da44•这笔钱的失效高度(BTC高度):1609905 (留意,这里的高度含义是当BTC主网多达这个高度时,我有权必要交还失效的BTC。)回到:{"address": "2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT","redeemScript":"63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a914090e217eff3b75215b5d106ad861d40e0d46af776703b19018b17576a91402b6eb3eb965532c942f1c112c585716db12b0636888ac"}3. 现在,对上面产生的失效地址:“2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT”转至誓约数量的BTC。
账户已完成后,这些BTC就继续失效在这个地址中了。失效已完成后,将以下三个信息私下通报给Bob,等候Bob号召才可。我自己的BTC地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,上面的谜面(挑选较短的才可):a21c2817130deaa1105afb3b858dbd219ee2da44(千万别把谜底“abcd”告诉他Bob!)这笔钱的失效高度(BTC高度):1609905【STEP 2:Bob号召交易】“我是Bob,我手里持有人LV,要互相交换Alice手里持有人的BTC。我们早已誓约好了交易的数量和价格。
Alice早已踏出了第一步,现在我该做到什么呢?”1. 首先,要对Alice发动的交易展开检验。假设现在我(Bob)接到了Alice通过微信发给你的三个信息:•Alice的BTC地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•一个很难解法的谜面:a21c2817130deaa1105afb3b858dbd219ee2da44•Alice原作的BTC失效高度:1609905接下来,我必须检验Alice给我的信息的真实性和有效性:首先检验失效高度1609905否早已抵达?→如果主网早已抵达了1609905,那么无法再行操作者,告诉他Alice不交易了,让她拿回自己的BTC。→如果高度并未抵达,我就可以之后操作者。
通过上述信息调用createhtlcaddress模块,复现Alice的操作者,依序输出:•我(Bob)自己的BTC地址:mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,•Alice的BTC地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•上面的谜题:a21c2817130deaa1105afb3b858dbd219ee2da44•Alice手中BTC的失效高度(BTC高度):1609905回到:{"address": "2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT","redeemScript": "63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a914090e217eff3b75215b5d106ad861d40e0d46af776703b19018b17576a91402b6eb3eb965532c942f1c112c585716db12b0636888ac"}其次检验Alice否早已往该失效地址中转至BTC?去浏览器上查找:“2MwjSbwWbq6u3Yyvrz67meWUZ6WaaVqdFbT”地址的交易记录,想到Alice是不是给它账户誓约数量的BTC。这个数量也就是之后我(Bob)不会取得的BTC数量。以上检验步骤,有任何一个地方经常出现问题,请求立刻中止交易!2.检验通过,Alice没骗我。下面我必须结构一笔失效LV的交易,以号召Alice的交易催促。
与Alice流程一样,我开始结构Lava上的HTLC交易,创立一个Lava的失效地址。用于createhtlcaddress模块。依序输出:•Alice的Lava地址(私下问Alice要):mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•自己的Lava地址:mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,•上面的谜面:a21c2817130deaa1105afb3b858dbd219ee2da44•这笔钱的失效高度(Lava高度):7600 →留意:请求保证该Lava高度来临的比Alice原作的BTC高度更加早于!这一点十分最重要!回到:{"address": "2NBzEWiW4T9de94VRRq2RZno1712uSxopG9","redeemScript": "63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a91402b6eb3eb965532c942f1c112c585716db12b0636702b01db17576a914090e217eff3b75215b5d106ad861d40e0d46af776888ac"}3. 向失效地址:“2NBzEWiW4T9de94VRRq2RZno1712uSxopG9”转至誓约数量的LV。已完成账户后,将以下信息私下通报给Alice,等候Alice更进一步号召才可:这笔钱的失效高度(LAVA高度):7600【STEP 3:Alice拿走LV】“我是Alice,我手里持有人BTC,要互相交换Bob手里持有人的LV。
现在,Bob早已已完成对LV的失效,我必须所取回头这些LV以已完成交易。”1. 首先是检验Bob原作的高度和金额信息否准确:取得Bob发去的Lava高度信息 7600 后,开始用完全相同的方式回溯出有Bob的失效地址。
当然,请求保证这个Lava高度 7600 还没有超过, 否则请中止交易(安心,会有任何损失)。依然调用createhtlcaddress:输出:•自己的Lava地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•Bob的Lava地址:mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,•自己创的谜题:a21c2817130deaa1105afb3b858dbd219ee2da44•这笔钱的失效高度(Lava高度):7600回到:{"address": "2NBzEWiW4T9de94VRRq2RZno1712uSxopG9","redeemScript":"63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a91402b6eb3eb965532c942f1c112c585716db12b0636702b01db17576a914090e217eff3b75215b5d106ad861d40e0d46af776888ac"}然后,去Lava的主网查阅:"2NBzEWiW4T9de94VRRq2RZno1712uSxopG9"地址上否有誓约好的LV金额。没的话就中止交易吧。
2. 以上都证实正确性后,我即将展开最后的步骤:付款走人。根据Lava浏览器查找结果,我早已告诉Bob失效LV的交易id是:b05fa0adec37559f98b7b94c775e78f6e93434c0029c3795eae584a69580957b接着,调用整个互相交换过程中最简单的模块spendhtlcwithwallet来将这些LV转走。输出:•刚才提供的bob失效LV交易的txid:b05fa0adec37559f98b7b94c775e78f6e93434c0029c3795eae584a69580957b•上面交易中的对应output序号,可以浏览器自己查找看见,也可以用命令行看见,这次是0。
我们用命令行来检验下。显然是0.•Alice想取回头的金额:当然是拿走所有誓约的金额•Alice的LV接管地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD (最重要,就是拒绝接受这笔LV的地址。这是一个我的私人地址。
)•Alice之前设置的谜底:abcd (再一用上了!)以及Bob结构这笔100lv失效交易时的信息:•Alice用于的谜题:a21c2817130deaa1105afb3b858dbd219ee2da44•Alice的Lava地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•Bob的Lava地址:mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,•这笔钱的失效高度(Lava高度):7600•标志位,回应该花费交易否为归还交易:这里堆0,回应是长时间流程的交换交易;如果堆1,回应是债权人后,或者超时后的拿回交易。回到:02000000017b958095a684e5ea95379c02c03434e9f6785e774cb9b7989f5537ecada05fb000000000bf473044022068d9e6c815d99fedd31b6cd4f205124a8e1da3b2b65042c389ddca873ff708cb02203864c31bf8b8597de9e2f101b006dd0f55877e9854af568df10525297cdabef6012102da788aa6e547746556a27bee415ff3187df45033e3ef7e79fe8d506047bd6fb802abcd514c4f63a614a21c2817130deaa1105afb3b858dbd219ee2da448876a91402b6eb3eb965532c942f1c112c585716db12b0636702b01db17576a914090e217eff3b75215b5d106ad861d40e0d46af776888ac00000000017ccc0b54020000001976a91402b6eb3eb965532c942f1c112c585716db12b06388ac00000000把以上结果在用sendrawtransaction模块发送到Lava主网。取得txid为:2abc47531de88a6952614702f3c842f24e4d524fc73e16b07934e530f46e9135【STEP 4:Bob拿走BTC】“我是Bob,我手里持有人LV,要互相交换Alice手里持有人的BTC。现在Alice早已拿走了我失效的LV,现在我要拿走Alice失效的BTC来月已完成这笔交易。
”1. 仔细观察Lava浏览器,我找到之前失效LV的地址 2NBzEWiW4T9de94VRRq2RZno1712uSxopG9 中经常出现一笔账户交易:2abc47531de88a6952614702f3c842f24e4d524fc73e16b07934e530f46e9135这也就是刚才Alice转走LV的交易。既然Alice早已利用谜底转走LV了,那么这个谜底就曝露在区块链上了!调用checkpreimage模块才可提供Alice发布的谜底:输出参数为:目标txid:2abc47531de88a6952614702f3c842f24e4d524fc73e16b07934e530f46e9135回到:{"Preimage": "abcd"}由此,我告诉了Alice设置的谜底就是 abcd。2. 接下来,我也用于spendhtlcwithwallet模块来转走Alice失效的BTC:输出参数:•刚才提供的Alice失效BTC的txid:4b879e138ea104569d718f12bb47d7207c908f7f2ee5750ddf127bc8bebf0060•上面交易中的对应输入序号,可以浏览器自己查找看见,是0。
•我想要转走的金额:当然是拿走所有誓约的金额•我的BTC接管地址:mgLqJcG6kykw636f4B8BtKjx5HUmnH1442•Alice之前设置的谜底:abcd (刚才取得的)以及Alice结构这笔0.00031BTC失效交易时的信息:•Alice用于的谜题:a21c2817130deaa1105afb3b858dbd219ee2da44•我的BTC地址:mgLqJcG6kykw636f4B8BtKjx5HUmnH1442,•Alice的BTC地址:mfmJmsGPgoJGPY4yzZsDj4Z5CfpWUQQHHD,•这笔钱的失效高度(BTC高度):1609905•标志位,回应该花费交易否为归还交易:这里堆0,回应是长时间流程的交换交易,如果堆1,回应是债权人后,或者超时后的拿回交易。将上面提供的结果通过Lava内置的命令sendrawBTCtx发送到BTC主网,才可拿回归属于我的BTC,大功告成!这里必须留意:1.软件配置文件用于的比特币区块链浏览器(https://www.blockcypher.com/)有可能有翻墙的问题,有可能使sendrawBTCtx发送到不顺利。我们也可以必要去该网站或者其他比特币主网浏览器上必要发送到交易。
2.考虑到BTC网络交易费用很高,所以做到这笔BTC主网交易之前一定要设置好合理的settxfee!明确的btc交易酬劳一般都可以在btc浏览器上寻找。在第四步Bob用于spendhtlcwithwallet之前,再行调用lava全节点的settxfee=btc主网费率才可。Lava通过PoC共识机制让人人挖矿沦为现实,⼤大减少了挖矿的门槛和成本。
使得挖矿沦为每⼀个人都可以操作者的小事情。更加通过「跨链原⼦子交换机」使得⽤户挖出的币有了更加方便、安全性的流通⽅式,使得Lava⽣态显得更为身体健康和完备,确保了挖矿⽤户的收益,也维持了链上的活性。
本文来源:优德88-www.r6g2e.com
我要加盟(留言后专人第一时间快速对接)
已有 1826 企业通过我们找到了合作项目