那么问题来了,我们如何站在用户的角度去理解HTLC呢? 首先我们来看个例子: 在日常生活中,我们常常有需要把人民币兑换成美元以及把美元兑换成人民币的时候。众所周知,完成这个过程您需要去一个中心化平台兑换,比如:银行或者机场专门进行货币兑换的窗口。 在区块链中,也会有需要通证之间兑换的时候。当BTC持有者A想把一部分BTC兑换成IRIS的时候,他可以不依赖任何一个平台直接与IRIS持有者B进行兑换。这背后的原理就是运用HTLC。 刚刚开头一段专业解释中,有一句话很关键:“HTLC在协议上能够确保参与方之间的所有交换过程要么成功,要么失败。”看到这里可能你会问,难道还有中间状态?一半成功一半失败?这是薛定谔的交易吗? 当然有。想象一下,如果你和老王做生意,一手交钱,一手交货。老王说,先下订单付款才能给你货。于是你下了订单,钱也付了。结果老王跑路了,货拿不到了……对于你来说,这笔交易失败了,但是对于老王来说钱已经拿到了。 如果这个时候有种机制可以保障你既能收到货,老王也能收到钱就好了。或者即使你付了钱,老王不交货,那么钱还会退给你,双方没有任何损失。这就是要么成功,要么失败。 而放在跨链交易的环境下,HTLC哈希时间锁就是能确保交易“要么成功,要么失败”的关键所在。 HTLC具体如何实施? 1.在已知BTC换IRIS的兑换率的时候,假设为1比30万。这就意味着用户A想用自己手里的1个BTC换取用户B手里的30万个IRIS。 2.用户A先发起一个HTLC,需要把自己手里的1个BTC给上个时间锁(时间锁的意思就是要在规定时间内发送,不然这笔交易就失效)并发送到用户B的BTC地址上,然后再设置一个密码。 3.用户B也把自己手里的30万个IRIS加上相同的时间锁发送到用户A的IRIS Hub地址。 4.当A确认到B发过来的30 万个IRIS后,密码被披露,这时,B用密码能得到A发来的1个BTC。这就是两个用户直接互相交换通证的全部过程。 5.如果用户A在时间锁的规定时间内没有取出来B发的IRIS,那么这笔交易将会失效。 举个实际的例子,HTLC就像是资产交换:你想用35RMB换5美元。你需要找到这个拥有5美元的人,然后按照以上步骤进行资产交换。 了解了HTLC跨链原子交换协议后,接下来讨论一下什么是IBC跨链通讯协议。 IBC跨链通讯协议是在不同区块链之间互换价值和数据。而通过IRISnet独创的iService,更可以实现区块链与其他系统的相互联系与操作。 对于IBC的解释,我们之前有一篇专门针对普通用户写的,详情请看:3分钟从看懂到使用Cosmos跨链IBC协议 IBC具体如何实施? 在IRIS Hub 和Cosmos Hub这两个不同链之间。
注意: IRIS只在IRIS Hub上存在,在Cosmos Hub上的IRIS只属于IRIS Hub上被锁住的那部分IRIS的代表。 相对于HTLC所带来的资产互换,IBC更像是资产转移:IRIS本来在IRIS Hub,我现在想把他转到Cosmos Hub上。 看完以上内容,我们可以总结:HTLC和IBC都可以实现跨链交互。 HTLC和IBC的区别是:HTLC是把资产互换(两个链上同时、各自发起链内转账),而IBC更可以实现资产转移(从一个链转向另一个链)。 但HTLC在目前这个阶段也有很好的实际用处,可以更快速、便捷与比特币等网络实现资产的跨链交互,所以IRISnet在增加了HTLC之后也能更好的支持链上应用。 (文章转载,如有侵权,请联系删稿) |