上证指数 3895.35 -0.48%
|
深证成指 13052.63 -0.72%
|
恒生指数 26029.84 -0.01%
|
纳斯达克 23275.92 -0.38%
|
日经225指数 49291.83 -0.02%
|
Leora 站内编辑
569 文章
402764 阅读
首页  >  要闻 >  区块链 >  正文
申请成为签约作者 >
示范给你看:怎么完成一笔跨区块链原子互换
2019年12月12日 01:00    
收藏  
举报

原子互换(Atomic swap):不经由第三方完成的安全可靠的跨区块链交易。

所谓的原子性(Atomic)指的是一笔交易应该像原子一样,被视为最小的,不可再分割(虽然原子好像可以)的单位。也就是说,我给你钱你给我货这两件事情呢,必须要同时发生,否则就同时不发生。

为了创造这样的特性,我们会用上一些区块链的神奇黑魔法,以比特币来说是哈希函数和时间锁;至于以太坊的话就是智能合约。

交易的过程大致上是这样子的,假设我和一位匿名网友达成共识,要用我持有的10个比特币交换他的100 个以太币。首先我们需要知道彼此的收付款地址,为了后续说明方便,这里假设它们分别是:

BTC_in

BTC_out

ETH_in

ETH_out

再来,为了完成这笔交易,我需要为这笔交易创造一个秘密,具体来说会是一段只有我自己知道的字串,并算出这个秘密的哈希值。

这里我选用的秘密是:早上好我的朋友

秘钥设置

SHA256 Hash of早上好我的朋友= 46f347a3d5b192f561898ade4665f7c48e8803046094601576f7f608e06298f4

接着,我发送一笔交易,将我的10个比特币从BTC_out转出到一个特殊的暂存位置(P2SH),并且规定这笔钱有两种方式可以转走:一种是如果出示那个可以被Hash变成46f34…8f4的秘密,就把钱交给BTC_in;另一种是如果钱放了两个小时还没被领走,那BTC_out就可以把钱领回去。

对方也要做类似的事情,把100个以太币从ETH_out转到暂存的智能合约,规定只要ETH_in向合约出示能变成46f34…8f4的正确秘密就可以把钱领走,否则一小时后ETH_out可以把钱拿回去。

等这些设定都完成了之后,我就可以对合约说「早上好我的朋友」,然后把对方的100个以太币领走,同时因为区块链数据是公开的,对方看得到我用来领钱的秘密,当然也就来把我的10 个比特币拿走,交易就算顺利完成啦。

点击关注币海启行微信公众号,了解更多

声明: 本文由入驻币海编者上传,观点仅代表编者本人,不代表币海财经赞同其观点或证实其描述,请自行判断。
延伸阅读
华尔街铁杆多头喊单员揭示投资者今年犯下的错误
   鲁克        2025/11/14 06:28
430亿!骗走12万老人积蓄 比特币洗钱主犯在英获刑
   流动的沙        2025/11/12 06:46
加密多头与空头:这些力量分裂了市场
   流动的沙        2025/11/04 02:45
伊朗主要私人银行破产,影响4200万客户
   鲁克        2025/10/27 04:07
华尔街的加密巨头:比特币和以太坊囤积数十亿
   流动的沙        2025/08/25 03:03
2023年高点后9天,锁定在DeFi的价值跌破500亿美元
   流动的沙        2023/04/24 01:57
莱特币减半:未成价格灵药,反成矿工毒药
   Leora        2019/09/20 03:00