售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
我在这里选择的秘诀是:早上好,我的朋友
接下来,我发送了一笔交易,将我的10 BTC从BTC_out转移到一个特殊的临时存储地点(P2SH),并规定可以通过两种方式转移资金:一种是如果出现,可以进行哈希处理。当它成为46f34 ... 8f4的秘密时,它会把钱捐给BTC_in;另一个是,如果这笔钱没有被带走两个小时,那么BTC_out可以拿回钱。
另一方必须做类似的事情,将100 ETH从ETH_out转移到临时智能合约,规定只要ETH_in可以显示46f34 ... 8f4的正确秘密,ETH_in可以拿钱,否则ETH_out可能需要一小时后。钱被收回。
完成这些设置后,我可以在合同中说“早安我的朋友”,然后拿另一方的100 ETH,并且由于区块链信息是公开的,另一方可以看到我以前收钱。当然,秘密将带走我的10 BTC,交易将顺利完成。
这里有两个值得注意的小细节。第一个是收钱规则。这不是任何知道这个秘密的人。如果指定的对手方说出这个秘密,那就可以了。这是因为区块链上的信息对每个人都是可见的,所以当我播放时,每个人都会看到我的好朋友,甚至可能在我的交易确认之前先抢先使用相同的秘密。偷钱,所以你不能只是偷偷地认识到这个秘密。
第二个是两个人的退出时间不同,因为即使双方使用同一组哈希,只有我在开始时单方面知道秘密,所以当前设置完成时,主动执行的时间何时我所持有的交易。如果双方的时间限制相同,我可以在到期前不久获得ETH命令,并在另一方做出反应之前取走原始BTC。所以通常对方会将时间限制设定为比有秘密的人设定的时间限制早一点,以确保即使你被压垮了,仍然有足够的时间来获得你应得的钱。
因此,换手的整个过程是我选择了加密密钥并构造了一个可以通过此密钥解锁的锁。基于神奇的数学魔法,锁无法推回钥匙的形状。因此,我安全地锁定了我的钱并给了另一个人一个相同的锁。另一个人也用这把锁安全地锁了他的钱,因为他知道只要我拿出钥匙拿走他的钱,我就可以用同样的钥匙拿走我的钱。
使用相同哈希锁的不同区块链上的两个事务产生了一个关联
因此,保证了交叉链交易的原子性。只有双方才能互相给钱。否则,双方都会收回原来的钱。 (理论上)永远不会出现一方接受它的情况。更重要的是,在整个过程中没有第三方参与。虽然有必要暂时锁定资金,但它与交易所上的大型金库有根本的不同。利用区块链本身的锁定机制,对货币的控制仍然掌握在所有者手中,不会在没有任何问题的情况下被盗。
拒绝支付攻击
原子交换保证两个相关事务将同时发生或不同时发生,但不能保证事务将发生,因此仍有一些问题需要解决。这类似于第三方托管的场外交易,因为交易从设置到完成都不及时,因此我们必须为彼此保留缓冲时间,以便完成支付过程,但可以利用这个时间差。 。
因为集合交易不一定执行,对于那些关心的人来说,这是一个很好的套利机会。我可以找人提议交易。在对手锁定资产后,他并不急于按下按钮同意付款。相反,他渴望跟随市场。一旦发现市场上的汇率波动,交易立即完成,同时以市场价格交易,取中间价差。如果时间尚未出现套利机会,拒绝支付,则找人启动交易,重复攻击。
以BTC: ETH=1: 10,锁定时间2小时/1小时为例,攻击者有1小时的机会故意拖延。如果双方都被锁定,那么在此期间汇率变为1:,原始BTC方面可以获得10%的利润且风险为零。
我们假设交易的含义意味着它对当前的汇率感到满意,也就是说,受到攻击的人心胸宽广,不关心中间的汇率差异,这仍然会造成一些损失。首先是机会成本。虽然该党给了缓冲期,但他没想到会被锁定到最后一刻。如果在此期间有更好的交易机会,这笔钱将无法参与。潜在的利润是亏损。
然后是使用区块链的成本。虽然在交易前设置阶段之后没有真正的转账,对于处理它的矿工来说,这仍然是交易,并且还收取一定的手续费,所以如果对方从根本上说我不是真诚的与你达成协议。事实上,这笔费用是一记耳光。
面对这些潜在的道德危机,完全分散的原子交换技术是无法克服的。在每个人都有自己的危险的情况下,很少有人愿意与陌生人一起使用这种交易方式。虽然有一些解决方法,例如缩短锁定时间,但却伴随着不便和盗窃的风险。至于其他解决方案,例如建立外部评估系统,或使用第二层架构(如支付渠道),将会有一定程度的集中化。这也可能是易用性,安全性和分散化的三难问题。
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!