前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何进行一次真正的原子交换

如何进行一次真正的原子交换

作者头像
Steve Wang
发布2018-03-15 15:49:52
1.5K0
发布2018-03-15 15:49:52
举报
文章被收录于专栏:从流域到海域从流域到海域

So How Do I Really Do An Atomic Swap

原文作者:hotshot⚡

原文地址:https://hackernoon.com/so-how-do-i-really-do-an-atomic-swap-f797852c7639

译者微博:@从流域到海域

译者博客:blog.csdn.net/solo95

Atiomic Swap, 直译原子交换, 在计算机科学中,原子操作是指密不可分的操作,即一系列操作要么都不执行,要么全部执行,不可分割。比如银行转账包括从A账户转出,B账户转入2个操作,为保证交易正常进行以及资金安全,这2个操作要么都进行,要么都不进行,银行作为第三方提供担保。加密货币中,是指在不依靠第三方的情况下进行2种不同加密货币的交换。(译者注,详见https://en.wikipedia.org/wiki/Atomic_swap,另外比特币专门有一个wiki网站:https://en.bitcoin.it/wiki/Main_Page)

如何进行一次真正的原子交换

Viacoin和Litecoin之间真正的原子交换(Viacoin、Litecoin是2种不同的比特币)

Crypto,Crypto,Crypto,现在大多数人都在谈论加密,加密技术的消亡,加密技术的革命,但是在这篇文章中我们不会谈论它,而是去做,去实际使用它。

我将向您展示原子交换在实践中是如何工作的,从代码角度来窥探它们背后的逻辑,以及实现达到最终结果的执行流程,即:

Alice拥有Viacoin,而Bob则是一名坚定的Litecoin拥护者,但他也想要Viacoin,因为他相信Viacoin有着光明的未来,所以Alice&Bob如何在不通过第三方的情况下相互交换一定数量的加密货币?

答案是Hashed Time-locked Contracts(哈希时间锁合约)**,简称HTLC。

简单地说,一个哈希时间锁合约是一种非图灵完备(non-Turing complete)的合同,它像需要用密钥才能解开的一个谜题,但需要求解者(在本例中,指Bob)提供在X时间前的密钥(x是任意指定的时间,译者注),否则他将丧失领取奖励的能力,并将其归还给合同的发起发起人。

在脚本(比特币脚本语言)中,哈希锁是满足一个条件的“事务谜题”,输入数据哈希值等于前一个块的哈希值,如下所示:

脚本是一种基于栈的语言。

原子交叉链交换是在两个区块链上发生的哈希锁合约,发起者将创建一个合同并锁定以Z个比特币代表的金额X,如果一个密钥提供了有效的密文,则在该合约有效时间段T内它可以移动锁定的比特币,如果这在时间T的末尾合约还没有完成,则合同被取消。

如果您从比特币原语的角度来思考它,它就是有意义的,它还显示了密码学如何使这一操作在简单的逻辑中安全无疑。

Alice在合同A中锁定了一些Viacoin,Bob在合同B中锁定了一些Litecoin,Alice给Bob一密钥来解锁锁定的Viacoins,而Bob也在最后做了同样的事情,Alice和Bob都主动分享密文,因为如果(交易失败)两人的比特币会自动回到他们各自的钱包,交换并没有发生。

让我们实际做一次原子交换

要求:

  • 2x VPS(Digital Ocean,Vultr ...)或2台机器。
  • 在每台机器上运行两个区块链的完整节点
  • atomicswap
  • 受支持的比特币(Bitcoin,Litecoin,Viacoin,Decred,Particl ...)所有基于UXTO的协议的比特币都可以。

首先,你需要安装两个节点,并按这里的描述配置它们使用testnet 。

场景:

atomicswap cli命令及其参数

在您的第一台机器上,您使用initiator blockchain发起合同。(即Alice的Viacoin)

一旦合同创建,Bob必然会对其进行审核,以检查是否:

  • 锁定金额是是双方商定的金额
  • 地址是Bob的地址
  • 合同发布在区块链上(不可变)

Bob审核Alice创建的合同

如果一切都是正确的,Bob就会紧接着通过参与合同来锁定他的硬币。

轮到Alice审核合同

如果一切都被检查完(条件达成一致),Alice继续兑换她的Litecoins

现在对于Bob来说,一旦这笔交易实际公布后,Bob就可以提取Alice在开始时就知道的密文,密文将解锁Viacoin区块链上锁定的比特币,Bob就可以兑换了。

就在这时,比特币被解锁,原子交换完成。

该技术将真正实现去中心式交换,原子互换相当于没有信任机制和去中心的外汇交易。(去中心是指不需要像银行或者交易中心等第三方参与,也有分散交易的意思。)

实现主流可用性的道路还很漫长,我希望这将有助于把它构建起来,这是新协议的时代。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • So How Do I Really Do An Atomic Swap
  • 如何进行一次真正的原子交换
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档