作者:Muneeb Ali

2021 年 8 月 11 日




鉴于比特币近 1 万亿美元的市值和被越来越多的机构采用,比特币 DeFi 是一个巨大的、尚未开发的市场。然而,尽管比特币越来越多地被用作主权货币,但就DeFi而言,直到现在,比特币在没有通过中心化交易所或以包裹BTC形式的单独区块链的情况下,其生产效率不如其他加密货币。

Stacks 生态系统的开发者最近证明了比特币 DeFi在今天是可能的。经过Stacks 社区成员 Friedger MuffkeAsteria 和 Jude Nelson 与Stacks其他社区开发者的长期合作,他们成功部署了比特币与 NFT 和其他加密资产的交易 (swaps)

原生 BTC 交换到新资产是比特币 DeFi 的基础设施。从本质上讲,现在可以直接在比特币上实现类似以太坊的功能。这将导致先进的去中心化应用程序和围绕原生 BTC 交易构建的类似 Uniswap 的自动做市商AMM 的爆炸式增长,所有这些都使用纯比特币交易并受益于比特币的安全性。

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

在这篇文章中,我将重点介绍最近由 Friedger 和 Stacks 生态系统中的其他开发者开创的去信任交易 (trust-less swap) 的发展,我将向您展示如何使用 Clarity 来尝试使用此类交易。

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

真正的比特币 DeFi

由于比特币的脚本语言的限制,比特币 DeFi 在历史上一直很困难,但这同时也是它的优势。 比特币不容易编程。 比特币故意没有提供给我们在其他生态系统中看到的智能合约功能。 这是一种有意的折衷,目的是为比特币作为一种去中心化的的价值存储提供安全性和可靠性。

开发者试图通过创建衍生比特币资产来应对这一挑战,这些资产需要中心化的交易方或有包裹BTC的单独的区块链。 但是包裹 BTC 不是比特币,许多比特币人不相信独立区块链或单方托管解决方案的安全性和去中心化。 中心化替代品对比特币类 DeFi 产品的需求一直存在,但真正的比特币 DeFi 之前一直没有被破解。

真正的比特币 DeFi 是什么意思? 关键组件是能够发送链上比特币交易并在智能合约中执行逻辑,从而消除对中心媒介的需求。

鉴于 Stacks 合约对比特币状态的可见性以及 Stacks 固有的利用比特币安全性和结算保证的能力,Stacks 在实现真正的比特币 DeFi 方面具有独特的优势。 Stacks 链通过其传输证明共识机制与比特币相连,因此所有 Stacks 交易都以比特币结算。 这确保了 Stacks 共享比特币对交易重组的长期、无与伦比的安全性。

介绍下双体船去信任交易 (Catamaran Trust-Less Swaps)

上个月,Stacks 社区开发者使用合约部署了可用的比特币交易 (swaps),这些合约对比特币状态具有独特的可见性,并且可以触发由纯比特币交易驱动的基于 Stacks 的智能合约中的操作。这些目前被称为“双体船交易” (Catamaran swaps),这些交易展示了一个通过 Stacks 启用的比特币 DeFi 应用程序的世界。这些是去信任交易,这意味着执行交易零依赖任何第三方或托管服务——没有 KYC,没有交易对手风险。

该术语是闪电社区中更知名的潜艇交易 (Submarine swap) 概念的类似扩展。 潜艇交易是链上到链下的原子交换 (atomic swaps)。双体船交易是三方交易,其中两笔交易发生在 Stacks 链上,一笔交易发生在比特币链上。与一些动作发生在链上(水上)和一些链下(水下)的潜艇交易相反,所有操作都发生在两个不同的区块链上,因此叫双体船。

双体船交易的这种实现依赖于另一个 Clarity 合约,该合约验证给定的比特币交易是在比特币链上的给定区块中挖出的。 通过将提供的块详细信息的哈希值与可通过Clarity的块信息函数查看的哈希值进行比较来进行验证。然后将比特币交易的merkle根和提供的merkle证明与验证块的merkle根进行比较。如果这些哈希值相同,则可以得出结论,比特币交易确实包含在比特币链上的区块中。

再深入研究下机制,在第一笔 Stacks 交易中,数字资产被置于智能合约的托管中,并且为交换定义了比特币接收者地址、BTC 数量、时间限制等参数。 然后执行比特币交易。 一旦确认,第二笔 Stacks 交易将验证比特币交易并释放 Stacks 资产。

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

更多合约请访问https://github.com/friedger/clarity-friedger-pool
与 swaps 类似,触发比特币交易时可以触发其他逻辑,例如,偿还贷款,铸造新代币......(例如,Friedger Pool 为每笔比特币奖励交易铸造的包裹栈押奖励代币)。

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

Swaps的改进

现在是开发的早期阶段, Stacks 2.1 可以进行改进,将这些交互所需的交易数量从 3 减少到 2,改善闪块故障,解除任何其他现有网络限制,并为最终用户和开发者的交易优化UI。

其他解决方案

Stacks 并不是唯一一个注重比特币 DeFi 的项目,考虑到比特币生态系统的利害关系,这是正确的。当今市场上的替代性包裹比特币资产为该领域带来了创新,并且在某些情况下表现出有意义的牵引力。也就是说,迄今为止,这些资产中没有一个实际上是在比特币上结算——它们在其他网络上结算,一些开发者和用户对资产的安全性和去中心化存在疑问。

还有一些正在进行的实验,例如连接到以太坊虚拟机的 RSK、扩展比特币的 Lightning (闪电) 和使用比特币侧链的 Liquid。 Taproot和 Sapio 等开发也为比特币较低级别提供了更多功能。

与我们一起构建

这只是围绕比特币创建的整个开放金融世界的开始。我们计划在比特币 DeFi 上发布更多帖子,因此请留意后续发布的文章。 同时,查看 GitHub 上双体船交易的实施,加入 Stacks社区Discord 以获取更多信息,并使用我们易于使用的工具进行构建。