排掉交换:爱上原子交换的经验教训

CoinMarketCap当前列出了1,600多种不同的加密货币,新硬币的数量预计将增加,并且可能会急剧增加.

如果一个人仅拥有一种加密货币,并且一生中只会使用一种加密货币进行交易,那么所有交易都是在该一种区块链上进行的简单交易。 (毕竟,世界上许多人可能仅使用本国法定货币就可以终其一生。)

但是,在无边界和动态的加密货币世界中,人们通常拥有不止一种硬币。一个人可能拥有很多硬币。一个人可能拥有各种各样的投资组合,其中包括比特币,以太币,莱特币,门罗币,还有一些晦涩难懂的投机性硬币。这些硬币中的每一个都存在于自己的区块链中,并且这些区块链中的任何一个都不互相通信.

在某个时候,您可能想将以太币换成比特币,将Monero换成Litecoin,将Litecoin换成Ether,用比特币换成某种东西,或者将它们换成其他东西. 在集中式上下文中,您可以在交换上执行此操作,并信任交换以处理交易的详细信息.

这种方法与通过银行处理交易或使用信用卡付款没有什么不同。买卖双方都信任中央银行在此过程中锁定资金,并确保各方最终拥有正确的资产,或者如果交易无法使所有人满意,则确保退款得到处理.

集中式交易所的功能与中央银行完全相同.

但是,存在许多充分的理由,为什么您可能不想通过集中的授权机构进行交易。您可能不信任集中式机构。集中管理机构收取的费用可能太高.

集中管理机构的网站可能已关闭或存在其他可访问性问题。您可能会通过使用集中授权来牺牲一定数量的隐私.

在不信任,分散的环境中,跨链原子交换将完成集中管理机构的所有工作。 “跨链”性质提供了单独的区块链之间的桥梁。 “原子”性质确保交易(“掉期”)将成功完成,或确保所有资产均归还其原始所有者。.

跨链原子交换101

原子交换的实景拍摄.

跨链原子交换可以在任何支持哈希锁和时间锁的区块链上实现。假设爱丽丝有a硬币,鲍勃有b硬币,他们想交易。他们没有任何理由互相信任,也不想使用集中式交换。有关如何在跨链原子交换中工作的概述如下.

1)爱丽丝(Alice)选择一个随机值X并对其进行哈希处理以创建私有哈希锁来锁定事务。她暂时将这个价值保留给自己,并发布交易1以将她的a硬币发送给Bob。这些资金目前无法使用,因为它们被哈希锁锁定.

2)Bob等待交易1确认,然后发布交易2将其b硬币发送给Alice。他尚不知道解锁哈希码的X值,因此此时所有资金都无法使用.

3)爱丽丝等待交易2的确认,然后她发布交易3,与鲍勃共享X的值.

4)鲍勃发布交易4,以解锁资金。鲍勃现在可以从爱丽丝那里消费硬币,爱丽丝可以从鲍勃那里消费硬币。.

必须完成所有四个事务才能完成整个事务。这就是描述此过程的“原子”一词的含义.

上述协议需要适当的时间管理.

例如,如果爱丽丝出于任何原因从未发布过交易3,则所有资金都可能被冻结并永远丢失。这是时间锁定的地方。如果在指定的时间段内未发生交易3,则时间锁定将取消交易,并且所有资金都将归还其原始所有者.

并且由于Alice首先具有X的值,因此该实现必须非常小心,以防止Alice尝试进行的任何欺骗。在这方面,事务3和事务4之间的时间也很重要。如果算法未正确实施,则存在利用漏洞,爱丽丝可以共享X的值,但不能给鲍勃时间从交易中检索他的硬币.

上面的方法描述了 TierNolan算法 (有关该主题的讨论,请参见以下线程: https://bitcointalk.org/index.php?topic=193281.msg2224949. 该协议具有不同的变体。例如,如果爱丽丝(Alice)和鲍勃(Bob)都相互信任,则可以减少和简化交易数量.

定位此协议的一个方便地方是从主要区块链上去除大量处理并在闪电网络等侧链中实施逻辑,这将减轻矿工必须处理主要区块链上所有交易的负担,这样可以加快整个过程。您可以在此处找到有关闪电网络的说明:https://coincentral.com/lightning-network-beginners-guide/

最后的想法

存在其他算法,并且有充分的理由。与TierNolan协议不同的一种完全不同的进行跨链原子交换的方式是在a-coin区块链和b-coin区块链之外创建一个全新的区块链.

这个新的区块链将是两种单独的加密货币之间的中介。这个新的区块链将理解a-coins和b-coins,并能够处理它们之间的交易。这种方法将需要用于此新区块链的网络节点和矿工愿意投资资源来处理交易.

新的网络将需要一种治理模型,以确保公平,安全地处理交易,并且任何一方都不会比另一方有任何优势。.

无论采用哪种方法,在使用多种加密货币的去中心化,不信任的世界中,跨链原子交换将不可避免地成为加密货币交易的重要组成部分.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me