LocalMonero will be winding down
- Effective immediately, all new signups and ad postings are disabled;
- On May 14th, 2024, new trades will be disabled as well;
- After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.
原子互换技术将如何在门罗币上实现
在加密货币领域,人们一直都在追求真正意义上的去中心化和建设无需授权就可参与的交易系统,也正因如此,去中心化交易所和原子交换是少有的,让人日思夜想的技术. 自诞生以来,门罗币社区也一直在努力尝试实现原子交换技术,但由于门罗币隐私技术的特殊性,导致在设计门罗币相关协议时会产生独特的问题.
但首先,让我们先回顾一下,到底什么是原子交换. 说到底,原子交换技术是一种协议,通过该协议可以在无第三方担保,且无需信任交易对方的前提下,自由兑换两种不同区块链上的加密货币. 这意味着,如果有人想将加密货币A兑换为加密货币B,那么他们将能够在去中心化的情况下实现交易,并不需要去一个中心化的交易所. 当然我们也可以想象,开发这种技术要做大量的研究工作,而使理论落地的技术会更加复杂. 再一次,LocalMonero的开发人员在本文里会为普通人提供科普,以便帮助大家更好的理解.
首先,让我们回顾一下最简单的原子交换形式,这个技术在比特币上已经实现. 假设有人想用比特币兑换另一种加密货币,这里原子交换技术是依靠的the same hash time lock contract technology,中文翻译成哈希时间锁,具体操作如下.爱丽丝有比特币BTC,但想要莱特币LTC,而鲍勃拥有LTC,但他想要BTC. 于是他们决定进行原子交换,以便每个人都能得到他们想要的加密货币. 首先,爱丽丝使用程序脚本将BTC锁定到一个特殊的比特币地址,该脚本会将资金锁定,即使她本人也无法拿回币. 读者可以想象成,就像爱丽丝将她的比特币BTC锁进密码箱中一样. 制作了密码箱后,她得到了一把钥匙,并将该钥匙的哈希值发送给鲍勃. 现在鲍勃本身没有那笔比特币的密钥,他有的只是哈希值,所以他还无法拿到资金.
鲍勃使用此哈希作为种子,从中生成自己的密码箱,并将其LTC发送到那里,鲍勃的莱特币也被锁定了. 由于鲍勃的密码箱是使用爱丽丝密钥的哈希值作为种子,因此爱丽丝可以使用她的密钥在鲍勃的密码箱中拿到莱特币.并且,通过使用数学魔法,当爱丽丝使用钥匙打开LTC锁时,也就同时向Bob透露钥匙,然后鲍勃可以使用该钥匙索取爱丽丝放入密码箱的BTC. 这样,在没有中介的情况下,爱丽丝和鲍勃成功地交换了资产.相信看到这里大家已经看晕了,这里译者额外举一个例子帮助大家理解,假设A有两个一模一样的保险柜,开锁方式是声音控制的,每当有人大喊菠萝菠萝蜜,两个保险柜不论相距多远都会打开,A把自己的苹果放进其中一个保险柜,并把这个柜子交给B,这时候虽然A知道密码,可保险柜在B手里,B虽然有保险柜可是打不开,这时的第二步是B把手里的梨放进A的第二个保险柜里,因为A两个保险柜密码都一样,所以A可以打开,只见A大喊菠萝菠萝蜜,然后顺利打开保险柜拿到B的梨,B也知道了口令,拿到了A的苹果.希望这个例子可以帮助大家理解,如何在不需要第三方参与的情况下,完成A和B的交易.
但是这里有一个问题. 假设爱丽丝发送到她的币到了密码箱,而鲍勃中途变卦,决定不继续交易了,这时候该怎么办.情况就变成了,爱丽丝无法拿回被锁定的比特币,由于另一方不履行剩下的步骤,导致先锁定自己币的人永远失去了自己的币. 幸运的是,这一点在设计的时候已经被考虑到了,比特币有一种被称为退款交易的小技术,因此在一段时间后,如果鲍勃没有拿走BTC,则程序脚本启动内置的保护功能,将BTC将自动返回至Alice. 而恰恰这点是门罗币原子交换实施过程里的主要瓶颈. 这是由于门罗币的 环形签名技术,门罗币的发送者总是隐秘的. 程序脚本不知道门罗币来自何处,也不知道该如何进行退款交易.
在2017年,一组研究人员概述了原子交换在门罗币上工作的另一种方法. 经过几年的完善,最终确定了一个流程,通过该交换流程,门罗币可以与比特币进行原子交换,甚至无需用到退款就可保证交易.
和以前一样,复杂的技术和学术细节我们不去长篇累牍,有兴趣的人可以自己去检查和核实,本文首要任务还是简化过程帮助大家理解,可简化不代表简单,下面的论述会扎实的带来该理论的工作原理.
还是同样的设定,假设Alice拥有XMR并需要BTC和Bob拥有BTC并希望XMR,首先他们都必须下载并运行支持原子交换的程序,原子交换的程序可以部署在钱包里,去中心化的交易所或其它的特定程序中,只要该软件运行了原子交换协议. 接下来的,第一步,Alice和Bob的客户端相互连接,并生成几个共享的密钥. 在此步骤中,将创建一个新的门罗币,其中Alice拥有密钥的一半,而Bob拥有另一半密钥. 交易开始前这个新钱包里还没有门罗币,因此也没有人可以花. 还有一件要注意的是,他们俩都拥有该钱包的查看密钥,因此他们都可以窥视钱包内部,以查看是否或何时收到门罗币.
第二步,Bob将他的比特币发送到一个特殊的地址,类似于我们上文里讨论过的比特币原子交换协议. Alice看到比特币BTC到达区块链上的该地址后,便将门罗币发送到她和Bob都有一半钥匙的门罗币地址. Bob可以确认是否收到,因为他拥有查看密钥,并且一旦他看到门罗币已安全地放在钱包中,便向Alice发送一把钥匙,以允许她提取比特币. 与上文的协议类似,拿到比特币的时候,她会自动把她手里的一半门罗币钥匙给Bob, 现在Bob拥有完整的密钥,因此他可以解锁门罗币,而Alice始终只有密钥的一半,所以她拿不到那笔门罗币.
如果你仔细研究了所有以上这些内容,但对门罗币如何解决退款交易问题仍然感到困惑,其实答案很简单. 由于门罗币本身还没有退款交易,因此上述这个过程里,首先第一步是发送的比特币,比特币是有退款功能的,并且只有当验证了比特币在区块链上被确认了之后,另一方才发送门罗币.这使得门罗币可以利用比特币编写好的退款脚本加以利用,而无需本身具有这些功能.
现在原子交换已经完成,对于Bob来说,他可以继续使用此门罗币钱包,或将这个钱包里的门罗币移至他已经拥有的另一个钱包,而至于Bob到底有没有转出去币,包括拥有这个钱包观察密钥的Alice在内的其他人并不知道.不过事实上 Bob还是很可能会将门罗币转移到另一个钱包,因为爱丽丝虽然不能看到他到底有没有转出去币,但仍然可以查看这个钱包有没有其它币进账.
该协议的优点在于它很现代,并且有很大的优化空间.它的架构也非常灵活,因此在其他钱包或去中心化交易所中实现是简单且易行的,并与现有架构完全兼容.