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

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就可以兑换了。

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

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

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

本文的版权归 Steve Wang 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯TrustSQL

合作创新,就在腾讯区块链+

不只是金融,区块链技术即将改变更多行业,公益、版权、社交、法务、房产、医疗、众筹、云存储、运动健康、礼品卡、征信等行业随时都将迎来新一轮的技术革命,你准备好了吗...

64480
来自专栏腾讯TrustSQL

应用场景决定区块链未来

2016年10月27日,腾讯支付基础平台与金融应用线副总经理郭锐在2016中国科技金融FinTech创新大会就“区块链”发表主题演讲。郭锐认为,应用场景决定了区...

55750

RaiBlocks解释

现在,raiblock已经正式更名为NANO

60660
来自专栏PHP在线

加密货币的本质

去年,比特币暴涨,其他币也像雨后春笋一样冒出来,已经有1000多种了。 很多人都在问,加密货币(cryptocurrency)的时代,真的来临了吗?将来会不会人...

31650
来自专栏老九学堂

单价超越比特币,区块链技术结合游戏行业究竟有多疯狂?

区块链技术被炒得火热的除了比特币屡创天价外, 一种区块链撸猫的游戏突然火遍以太坊, 短短一周时间就让以太坊网络几乎瘫痪。 这款把以太坊网络“攻击”瘫痪的游戏就是...

39670

一篇评论文章:比特币现金。

Bisola Asolo是Mycryptopedia的联合创始人和作家。他的观点并不一定代表Mycryptopedia作为一个组织的观点。

38270
来自专栏PHP在线

区块链入门教程

区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。...

511100
来自专栏腾讯TrustSQL

看清区块链

虽然说比特币系统于2009年推出,但区块链技术自2015年才兴起,到今天也就两年多一点的时间。 比特币系统是把多种技术组合创新,实现了一个防止篡改、防止欺诈的多...

49850
来自专栏钱塘大数据

哈佛商业评论:关于区块链的真相

本文作者:哈佛商业评论 ? 合同,交易及其记录是构成我们社会经济,法律和政治体系的重要组成部分。他们保护了我们的资产,确定了组织的边界。他们形成并验证了我们的...

43260
来自专栏PHP在线

比特币入门教程

比特币(bitcoin)诞生于2008年的一篇论文。 一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:...

33090

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励