跨链资产原子转移工具包 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交易中提取兌換密碼,并通過兌換密碼從第一個參與方的合約交易中兌換目標貨幣。
一次正常的原子互換交互過程:
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
總結
以上是生活随笔為你收集整理的跨链资产原子转移工具包 Decred atomicswap的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈以太坊智能合约的设计模式与升级方法
- 下一篇: BCOS系统合约介绍