V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gitandgit
V2EX  ›  Bitcoin

围绕比特币的 Defi 生态来了:深入了解去中心化比特币交易程序 Catamaran Swaps

  •  
  •   gitandgit · 2021-08-24 17:57:56 +08:00 · 663 次点击
    这是一个创建于 1220 天前的主题,其中的信息可能已经有所发展或是发生改变。

    围绕比特币的去中心化金融程序:Catamaran Swaps

    本篇为中文翻译,原英文文章链接: https://www.hiro.so/blog/bitcoin-defi-is-here-a-deep-dive-into-trust-less-swaps

    目前比特币近 1 万亿美元的市值,并且越来越多的机构持有比特币,比特币 DeFi 是一个巨大的、尚未开发的市场。然而,尽管越来越多的国家将比特币用作主权货币。但是,直到现在,跟其他加密货币相比,如果脱离中心化交易所或边链外,撇除 wrapped BTC 的方式,比特币还没有成为 Defi 的生产力工具。

    image Stacks 生态系统的开发人员最近证明了比特币 DeFi 在今天是可能的。Stacks 区块链社区成员 Friedger Muffke 、Asteria 和 Jude Nelson 与其他 Stacks 区块链开发人员合作,上线了与 NFT 和其他加密资产跟比特币进行去中心化交易的程序

    原生 BTC 可以跟新的加密资产进行交易是构建比特币 DeFi 的基础。从本质上讲,现在可以直接在比特币区块链上实现类似以太坊的功能。这将导致更高级的去中心化应用程序爆发,也会出现围绕原生 BTC 链构建的类似 Uniswap AMM 的应用程序,所有这些应用程序都将使用原生的比特币进行交易,并由比特币区块链的安全性提供支持。

    随着这一发展,用户很快能够对稳定币、衍生品、永续合约和其他基于 Stacks 区块链的加密资产进行无需第三方托管的 BTC 交易,以及购买数字资产(例如 NFT 和去中心化域名),所有这些都是通过原生比特币进行的,通过比特币区块链进行交互和交易。随着 USDC 进入 Stacks 区块链,不通过任何第三方软件,而进行 BTC/USDC 交换将成为可能。这是一个巨大的市场——日交易量接近 1.5 亿美元,不通过中心化的交易所即可交易!同样,xBTC 将启用 BTC 与 xBTC 之间的无信任交换的功能,这些功能可以用于一系列 DeFi 产品。

    在这篇文章中,我将重点介绍最近由 Friedger 和 Stacks 区块链生态系统中的其他开发人员所开发的去中心化交易程序,我将向您展示如何使用 Clarity 智能合约开发语言

    但首先,让我们谈谈我们是如何走到这一步的。

    真正的比特币 DeFi

    由于比特币的脚本语言有限,围绕比特币区块链的去中心化金融软件在历史上一直很难面世。比特币区块链不容易编程。比特币区块链故意没有提供我们在其他生态系统中经常看到的智能合约开发功能。这是基于为比特币作为去中心化价值存储提供安全性和可靠性的权衡。

    开发人员试图通过创建衍生的比特币资产来应对这一挑战,这些资产需要集中的交易对手或侧链与 wrapped BTC 。但是 WBTC 不是真正的比特币,许多比特币持有人不相信边链去中心化,或者单一的托管解决方案的安全性。人们需要去中心化的金融替代品,并且比特币去中心化的金融产品的需求一直存在,但真正的比特币去中心化金融程序开发直到现在才被破解。

    真正的去中心化的比特币金融服务是什么?关键因素就是能够直接发送链上比特币交易并在智能合约中执行逻辑,从而消除对中介的需求。

    Stacks 智能合约对比特币链上状态具有可见性,并且 Stacks 区块链利用了比特币区块链的安全性和结算保证的能力,从而使 Stacks 区块链在实现真正的比特币去中心化金融程序开发方面,具有了独特的优势。Stacks 区块链链通过其转账证明共识机制与比特币区块链相连,因此所有 Stacks 区块链上的交易都以比特币区块相互锚定。这确保了 Stacks 区块链共享了比特币区块链对交易重组长期的、绝无仅有的安全性。

    去中心化比特币交易程序 Catamaran Swaps 简介

    上个月,Stacks 区块链的社区开发人员使用智能合约部署了一个比特币去中心交易程序,这些合约程序对比特币交易状态具有独特的可查性,并且可以触发原生比特币的交易,交易的自动执行是基于 Stacks 区块链的智能合约。这些智能合约程序目前被称为“Catamaran swaps”,这些交易记录展示了通过 Stacks 区块链智能合约开发比特币 DeFi 应用程序的可能性。这些交易记录都是无需通过中心化交易所的原生转账记录,这意味着,智能合约程序可以自动执行原生的比特币交易,无需任何第三方或托管服务——没有 KYC,没有第三方托管和验证。

    该程序类似于比特币闪电网络社区中知名的Submarine swaps扩展程序。Submarine swaps 是链上到链下的原子交换。Catamaran swaps 共发生 3 次交易,其中两笔交易发生在 Stacks 区块链上,一笔交易发生在比特币区块链上。与一部分交易执行在链上(水上)和一些交易在链下(水下)的 Submarine swaps 不一样,所有的自动交易执行动作都发生在两个不同的区块链上,因此名字叫 Catamaran swaps 。

    Catamaran swaps 的这种程序依赖于 Clarity 智能合约,该合约程序可以验证指定的比特币交易是否包含在比特币区块链上的区块中。通过将提供的区块详细信息的散列与通过 Clarity 的区块信息功能查看的散列进行比较,进行验证。然后将比特币交易的默克尔根和提供的默克尔证明与验证区块的默克尔根进行比较。如果这些哈希值相同,则可以得出结论,比特币交易确实包含在比特币链上的区块中。

    让我们继续深入了解这个交易机制,在第一个 Stacks 交易中,数字资产被托管到 stacks 区块链的智能合约程序中中,并且为交易定义了比特币接收者地址、BTC 数量、时间限制等参数。然后执行比特币交易。一旦确认,第二个 Stacks 交易将验证比特币交易并释放 Stacks 资产。

    这些合约程序用 Clarity 开发语言编写,只有 70 行长,并且使用了比特币库合约的验证逻辑。验证 BTC 交易的典型合约程序函数如下所示:

    ;; calls the verification function of the library
    (match (contract-call? 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.clarity-bitcoin-lib-v1 was-tx-mined block tx-buff proof)
        result
            (begin
              (asserts! result ERR_VERIFICATION_FAILED)
    
              ;; verifies the transferred BTC amount and BTC receiver address 
              (match (get out (unwrap! (get-out-value tx (get btc-receiver swap)) ERR_NATIVE_FAILURE))
                out (if (>= (get value out) (get sats swap))
                  (begin  
    
                        ;; BTC transaction was verified                  
                        ;; do the logic that needs to be triggered by the BTC transaction
                        ;; Transfer the asset!
                        ...
    
                  ERR_TX_VALUE_TOO_SMALL)
               ERR_TX_NOT_FOR_RECEIVER))
          error (err (* error u1000)))
    

    点击查看关于此程序的源代码: https://github.com/friedger/clarity-friedger-pool

    与交易类似,触发比特币交易时,可以触发其他逻辑,例如:偿还贷款,铸造新代币......(例如,Friedger 矿池为每笔比特币交易奖励了 wrapped 的新代币)。

    目前有一些技术限制可能会导致无需第三方托管的比特币交易失败。太大的比特币交易(> 1024 字节,> 8 进或出)或在闪存块期间发生的交易, 这些无法在链上验证。 以后的 Stacks 2.1 版本将改善 z 这些。因此,当前版本的合约程序具有取消功能,可以在一定期限后将资产释放给卖方。在这种情况下,需要手动转移资产。

    对该交易程序的改进

    这些程序都属于开发的早期阶段,可以使用 Stacks 区块链 2.1 版本进行改进,将这些交互所需的交易数量从 3 笔减少到 2 笔,改善闪存块故障,解除任何其他现有的网络限制,提供一个让普通用户和开发人员都可以方便使用的前端界面。

    替代的解决方案

    Stacks 区块链并不是唯一一个聚焦比特币 DeFi 的项目,考虑到当前的比特币生态系统,这个方向是正确的。当今市场上的 wrapped btc 资产为该领域带来了创新,并且在某些情况下也表现出有意义的吸引力。迄今为止,这些资产中没有一个实际上是在比特币区块链上结算——它们在其他的网络上结算,并且一些开发人员和用户对资产的安全性和去中心化存在疑问。

    还有一些正在进行的实验,例如连接到以太坊虚拟机的 RSK 、扩展比特币的闪电网络和使用比特币侧链的 Liquid 。Taproot 和 Sapio 等项目也围绕比特币区块链提供了很多开发功能。

    和我们一起开发程序

    这只是围绕比特币创建的整个开放金融世界的开始。我们计划在比特币 DeFi 上发布更多帖子,因此请留意后续发布的帖子。同时,你可以查看 Catamaran swap 在 GitHub 上的源代码 加入 stacks 区块链的 discord 群,以便了解更多信息。也可以查阅我们的开发文档,和很多有意思的程序员一起开发。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5428 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:37 · PVG 16:37 · LAX 00:37 · JFK 03:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.