前言:原子交换是不同区块链上的代币实现点对点交易的方法。它的好处就是两个用户,比如比特币用户和莱特币用户可以直接进行代币交易,无须第三方参与。有人认为它可能会取代中心化的交易场景,但这太早期了,原子交换是代币交换的方法之一,它能发挥多重要的作用,还需要看市场的演化。本文来源bitcoinmagazine,由蓝狐笔记的“LC”翻译。
原子交换是一种在不同区块链上交换代币的方法,它是点对点的、无须信任的。本质上,原子交换允许你交易,例如,比特币和莱特币的交易,与此同时避免信任交易所或其他任何第三方的需要。
原子交换通过两种方式进行:首先,原子跨链交易可以直接在两种区块链的不同原生代币之间完成,这称之为链上原子交换。其次,你可以使用链下通道,这些通道是主要区块链涉及的分支,也称为链下原子交换。
链上原子交换提供更高的安全性,原因是交换机制嵌入区块链本身,交易要么是确定的,要么被取消。另一方面,链下原子交换速度更快,比链上原子交换有更大的吞吐量,但执行起来更加复杂,并且距离实际实现还有些时间。
原子交换的历史
原子交换也称为原子跨链交易,这个想法从2012年7月开始出现,Sergio Demian Lerner最初尝试创造一个无须信任的交易协议,名为P2PTradeX。这个想法于2013年5月由Tier Nolan进一步完善和正式化。
Nolan的算法被前比特币开发者Mike Hearn和其他人进一步改进。他们改进的方法允许在比特币的衍生区块链上直接交易代币,而无需协议的特定支持。
直到2014年,才出现成功实施Nolan原子交换的正式描述,开发者jl777用狗狗币与莱特币进行了原子交换的测试。Decred后来简化了代码,让原子交换变得更加广泛,并于2017年9月成功执行与莱特币的原子交换。
第一个比特币对莱特币的链下原子交换发生在2017年11月,它使用闪电网络产生。这些链下原子交换很大程度上主要是示范,并且只展示两个支持相同闪电网络规范的代币,也就是所谓的BOLT。
原子交换是如何运作的?
假设Alice和Bob想用1个btc交换100个ltc,Alice有1个btc想要100个ltc,而Bob有100个ltc想要1个btc。
为了进行交换,Bob首先创造一个秘密号码,也就是“值”。然后他根据这个“值”生成一个哈希值,并将这个哈希值共享给Alice,不过他并没有分享该“值”本身。
现在,Bob创建一个比特币交易,“锁定”一个比特币。这枚比特币可以通过两种方式在后续交易中索要:
· 要么,它可以被Alice用她的签名结合秘密“值”索要。如果该秘密“值”和哈希值吻合。那么比特币网络能够认出它,这包括在此次交易中。
· 要么,它可以被Bob用他的签名索要,但只能在两周后索要。
现在,Alice不能索要比特币,因为她并不知道“秘密值”,同时,Bob也不能索要比特币,因为两周还没有过去。
接着,Alice创建一个莱特币交易,“锁定”100枚莱特币。锁定在此交易中的这100枚莱特币可以通过两种方式在后续交易中解锁:
· 要么它可以被Bob索要,方式是结合他的签名和“秘密值”;
· 要么它可以被Alice索要,方式是用她的签名,但这只能在一周之后。
这意味着,Bob现在可以索要100枚莱特币:他确实知道秘密值。他需要在一周内完成,因为在那一周之后,Alice可以将100莱特币索要取走。
现在,如果Bob通过后续交易索要100枚莱特币,他广播秘密值:它现在包括进莱特币区块链中。所以,如果Alice密切关注莱特币区块链,她可以获取该秘密值,并且,反过来,用它索要比特币区块链上的比特币。(她需要在两周完成,在Bob能够索回比特币之前。)
事实上,如果Bob让Ailce索要她的比特币,Bob只能索要100枚莱特币:一个无须信任的交易。(蓝狐笔记:原子交换运用了哈希时间锁定合约的技术,Hahsed timelock contracts。)
原子交换的未来
随着原子交换技术的成熟,可以看到在去中心化交易所和钱包中对它的使用越来越多。在这一点上,我们开始看到一些原子交换的使用,例如Altcoin.io、Atomic钱包和Liquid 钱包等。
如果原子交换被广为使用,他们可能最终在让中心化交易变得过时中发挥作用。但首先,原子交换需要集成进入现有的钱包和服务中,也需要改善用户体验,让跨链交易对普通人来说变得容易。