8BTCCI: 15191.64 +7.95% 8BTCVI: 8141.82 +6.58% 24H成交额: ¥5618.04亿 -5.39% 总市值: ¥19976.06亿 +8.57%
浅析跨链中原子互换协议

浅析跨链中原子互换协议

曹海涛 发布在 区块链 海盗号 46292

前言


每个区块链都有自己的数据资产与数据信息,比特币创建以来TPS一直成为区块链行业的瓶颈,难以突破。为此行业涌现出各种解决办法,改进共识、区块扩容、改进数据结构等。plasma等侧链技术,从区块链的横向扩容方面对区块链性能进行提升。即主链负责处理基本事务,侧链负责处理特定事务,例如比特币可以生成pizza链、fruit链、drink链,当人们需要使用比特币进行购买pizza、水果、酒水时,可以将比特币兑换为侧链上的数字资产,在侧链进行购买。这样每条链可以用于处理不同的事务,对不同的事务分而治之,从整体上提高链的处理能力、增加链的存储容量。

 

原子互换


 

跨链中的原子互换,即在不同的区块链系统中,进行原子性的资产互换。换句话说,就是资产转移互换成功,要么失败。不能出现,Alice在A上转移资产成功,在B链上却没有收到相应数量的资产。下面以Alice与Bob在比特币和以太坊上,的资产转移为例,说明跨链交易的原子互换原理。

原子互换步骤

1)Alice有1BTC,想要换取Bob的20ETH,Alice与Bob在两条链上各有一个账户

2)首先Alice随机生成一个密钥K,发起交易1,向Bob比特币账户转1BTC。该交易只有在得到Bob的签名和密钥K时才能完成。

3)在交易1发起前,Alice会广播一笔回撤交易(交易2),该交易表明若48小时内交易1未完成,则将资产回退给Alice;回撤交易得到Alice与Bob的共同签名后生效。同时,Alice只有在交易2成功生效的情况下,才会发起交易1。

4)Bob接收到Alice的交易2,若同意跨链转账则在交易2中添加签名。此时交易2生效,Alice将交易1向全网广播。

5)Bob在以太坊上发起交易3,向Alice支付20ETH以得到密钥K,Alice在交易中输入密钥K和签名后才可以得到20ETH。为保障交易3中Bob资产安全,在交易3之前同样会发送一笔回撤交易(交易4)。

6)Alice收到交易4后,会附加自己的签名,回撤交易4生效后,Bob将交易3在全网广播。

7)Alice为获得20ETH,在交易3中附上自己的签名和密钥K;此时交易3成功,Alice获得20ETH,Bob获得密钥K。

8)在比特币中Bob输入自己的签名和密钥K,获得1BTC。

原子互换小结

原子互换并没有将比特币的资产转移到以太坊上,只是同时交换了两条链资产的所有权。两条链的资产总量并未改变,因此原子互换协议无法实现链间资产转移。原子互换不仅可以运用在区块链中,同样可以在中心化的系统中使用,只要系统提供回撤交易、时间锁定、密钥锁定的功能。

 

设计浅析


转账交易1中,需要密钥K与Bob签名同时满足才可以完成交易:

1.密钥K保证了发起方资金安全,即没有密钥K接受人无法直接获得资产。

2.接收方签名保证了接收方资产的安全性,即没有接收方的私钥,即使别人获得了密钥K也无法获得资产。

交易1的达成,需要同时得到发起方和接收方的确认。

回撤交易的作用:

1.就资产转移达成一致协议(48小时未成功,则撤销交易1,回退资金至Alice)

2.避免一份资产发起多次跨链交易(类似于“双花”,48小时内锁定跨链交易资产,该笔资产不能在用于其他交易)

Quesstion

原子互换中如何在交易3中保证密钥K的正确性,即实现密钥K正确交易成功,错误交易失败?


参考资料:

【火币区块链产业专题报告】跨链篇(上) https://www.jianshu.com/p/f2d2e83473fc

 

作者:曹海涛

文章标签: 跨链技术
评论
登录 账号发表你的看法,还没有账号?立即免费 注册