跨链资产原子转移工具包 Decred atomicswap

Decred 是一种新型的去中心化加密货币。在2017年底,Decred的开发者发布了atomicswap工具包,支持Decred与Bitcoin、Litecoin、Monacoin及其他一些加密货币的跨链原子互换。它的主要特点是:

  • 去中心化,无需第三方托管

  • 去信任化交易

  • 点对点交易,抗审查

  • 资产原子性转移

应用atomicswap的区块链需要支持以下条件:

  • 交易脚本分支
  • 交易脚本使用同样的哈希算法
  • 交易脚本签名检查
  • 交易脚本支持CheckLockTimeVerify或CheckSequenceVerify操作码

目前大部分从Bitcoin fork出来的加密货币都满足以上条件。

实现原理上,主要是利用了交易脚本功能实现合约交易。合约交易中会约定交换金额,接收方地址,兑换密码哈希,回退方地址,合约锁定时间等信息。其中兑换密码的设计用于保证原子互换、合约锁定的设计主要是用于保证违约情况下的资金正常回退。

正常情况下,一次交换过程需要双方执行多个步骤,同时双方在执行过程需要交互信息。原子互换过程主要用到以下命令:

  • initiate

    用于第一个参与方初始化输出合约交易内容,兑换密码,兑换密码哈希,以及一个锁定48小时的回退交易等信息。

  • participate

    用于第二个参与方初始化输出与initiate类似的合约交易内容,不一样的地方在于secret hash参数必须与第一个参与方通过initiate命令生成的兑换密码一致,且回退交易的锁定时间是24小时。

  • auditcontract

    审查合约交易内容。主要是查看合约交易中的output接收地址、交换金额、兑换密码哈希、回退交易锁定时间。

  • redeem

    用于参与方从合约中兑换另一方支付的货币。secret参数必须与initiate中的兑换密码一致。一旦第一个参与方发布redeem执行兑换,第二个参与方就可以执行extractsecret命令从交易中提取出兑换密码,再通过执行redeem兑换回自己的目标货币。

  • refund

    用于创建和发送回退交易,将合约交易中的货币执行回退到原始发送方。

  • extractsecret

    用于第二个参与方从第一个参与方的redeem交易中提取兑换密码,并通过兑换密码从第一个参与方的合约交易中兑换目标货币。

一次正常的原子互换交互过程:

atomicswap.png

https://github.com/toxotguo/thinking/blob/master/Decred%20atomicswap%20%E8%B7%A8%E9%93%BE%E5%8E%9F%E5%AD%90%E8%B5%84%E4%BA%A7%E8%BD%AC%E7%A7%BB%E5%B7%A5%E5%85%B7%E5%8C%85.md

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值