• 跨链资产原子转移工具包 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

  • 相关阅读:
    善用不同语言描述问题
    评黑书《算法艺术与信息学竞赛》
    代码设计的几个基础技巧
    结构和类
    看很多算法书,有个体会就是:算法关我屁事
    看好win8应用商场
    12306 火车订票网站的改进方案(专家讲解)
    有限责任公司章程
    该如何抽象
    财务软件的设计
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313213.html
Copyright © 2020-2023  润新知