什么是Atomic Swap?
原子交换(Atomic Swap),简单而言是两种不同数字货币的点对点交换,可以在链下通道进行,也可以跨越具有不同原生代币的区块链上执行。目前,有10种支持原子交换方式的数字货币,包括比特币(BTC)、比特币现金(BCH)、以太币(ETH)、莱特币(LTC)等。
为什么要用原子互换?
有的人可能会问,有这么多交易所供加密对,为什么我们要用原子互换来进行这些操作呢?最主要的原因是降低关于集中式交易所对手违约的风险。由于欺诈、管理不当和网络攻击,已经发生了许多资金损失的案例。最值得关注的例子是Mt. Gox,Coincheck和Zaif。除了数字资产,用户的个人数据也面临风险。
原子互换为用户提供了一种无需信任协力厂商即可交换数字货币的方案。
HAPI 运作模式
第一步:
假设Alice有10个比特币,而Bob有10个莱特币,他们想要交换他们的数字货币。Alice可以用哈希函数H(x)生成一个智能合约tx1,其中x是一个乱数。她的是个比特币有条件地锁在了智能合约。
交易1:
【支付10个比特币到Bob的公开金钥,如:
i)x对于H(x)是已知的,并且由Bob签名或
ii)由Alice和Bob共同签名。】
因为她的比特币锁在了交易1中,如果Bob违约,她需要生成另一个智能合约交易2 来取出她的比特币。
交易2:
【从tx1中支付10个比特币到Alice的公开金钥,锁定48小时,并且由Alice签名】
交易1 和交易2 均称作哈希时间锁定协定(HTLCs) 。
第二步:
Alice然后发送交易2 给Bob。一旦Bob完成交易2 签署,Alice将交易1 广播到网络或直接发送给Bob。
第三步:
Bob用散列函数H(x)创建智能合约交易3 和交易4。
交易3:
【支付100个莱特币到Alice的公开金钥,如:
i)x对于H(x)是已知的,并且由Alice签名或
ii)由Alice和Bob共同签名。】
交易4:
[pay 100 LTC from tx3 to Bob's public key, locked for 24 hours, signed by Bob]
第四步:
Bob会将交易4 发送给Alice,Alice签署后回发给Bob。Bob将交易3 广播到网络或直接发送给Alice。
然后Alice签署tx3并且从合约中解锁100个莱特币到她的地址中,同时告诉Bob x的值。Bob现在可以在知道x值的tx1上签名并接收比特币。哈希函数H(x)可以被认为是一个锁
原子互换的未来
除了能够消除协力厂商风险,原子互换还允许用户在不需要中间币的情况下交易数字货币。比如,如果Bob想要把他的LTC换成VTC,如果没有直接的数字货币对的话,他需要把LTC交易成BTC,然后再用BTC交易VTC。囙此,原子互换可以作为降低手续费的工具。
现时,该科技被大规模采用前还有很长一段路要走。要启动原子互换,两种数字货币都需要有能力执行哈希时间锁定协定(如上述例子的交易1 & 交易2)。还有其他的科技障碍,包括哈希算法和公共原像。
在闪电网络中,原子交换是最引人注目的,我们希望看到这两种科技的应用呈现行的增长。