主页 > imtoken里的ht > 比特币和以太坊的混搭

比特币和以太坊的混搭

imtoken里的ht 2023-08-05 05:14:16

tBTC:开局不利,未来可期?

tBTC平台开始追逐加密货币社区觊觎的梦想:让比特币进入以太坊的DeFi生态,在加密货币领域搭建两个独立网络之间的桥梁。然而,它的第一个版本非常短暂。

在本文中,我们将深入探讨 tBTC,阐明其背后的设计意图,分析其内部工作原理,了解失败的根本原因,并最终预测其未来。

比特币和以太坊的混搭

作为加密货币领域的领导者,比特币拥有最高的市值、最多的用户和最大的流动性(目前为 1700 亿美元),但它除了作为一种价值储存手段(“长期持有”)。多么有用。

比特币市值占加密货币总市值的2/3(来源:Coinmarketcap)

另一方面,去中心化金融(DeFi)通过利用以太坊区块链上的智能合约功能实现了真正的飞跃。DeFi 协议越来越受欢迎。通过以太坊网络上的智能合约,用户现在可以以完全去中心化的方式交换、交易和借用各种代币和 ETH。

近 10 亿美元的价值锁定在 DeFi 应用程序中(来源:defipulse)

如果可以在两个独立的网络之间建立一座桥梁,它将允许用户使用他们持有的比特币在 DeFi 中赚取收入。虽然有一些解决方案试图在比特币网络上构建 DeFi,但让比特币进入以太坊的 DeFi 空间似乎更容易。

让比特币进入以太坊的 DeFi 空间

在迄今为止打破 BTC 和 DeFi 之间壁垒的所有提议中,最引人注目的是 BitGo 的 WBTC(Wrapped BTC)——一种基于以太坊的(ERC 20) 代币。一方面,由于 wBTC 是一个 ERC20 代币,wBTC 持有者可以使用 DeFi 服务。另一方面,发行方承诺 wBTC 由完整的比特币支持,因此其价值锚定在比特币上。也就是说,以太坊上的每一个代币在发行一个 wBTC 时,一个比特币被锁定为其背书,这样就达到了在 DeFi 中使用类似比特币的代币的目的。

wBTC 和类似解决方案的问题在于,用于背书的比特币由中心化托管人持有。普通用户不能直接将比特币兑换成 wBTC,wBTC 必须先由托管人铸造。

这既限制了可发行的 wBTC 代币数量,又迫使用户相信 wBTC 托管人会按照承诺锁定全部比特币。

锚定比特币的中心化代币 wBTC 的铸造过程

为了缓解这些问题,tBTC 项目应运而生。

去中心化解决方案 tBTC

去中心化是 KEEP 开发的 tBTC 项目和 wBTC 之间的主要区别,因为 tBTC 允许任何用户通过签名者网络使用比特币(和一些以太坊)铸造 tBTC。与之前的解决方案不同,tBTC 不依赖中心化托管人来持有锁定的比特币。签名者是随机选择的,每次铸造新的 tBTC 时,系统都会选择一组不同的签名者。这组签名者提供以太币作为抵押品,以确保他们不会逃跑。

所有比特币存款都以超额抵押为后盾。签名者必须为每个存入的 BTC 提供价值 1.5 BTC 的以太币作为抵押品。将 ETH 锁定为抵押品后,签名者将获得一笔手续费,该手续费在用户赎回 BTC 时支付。

另一个有趣的点是签名者通过阈值签名协议创建了一个唯一的地址。这意味着签署人不可能带着钱逃跑。一切都必须由所有选定的签署者合作执行。

同样,如果要违反协议并且锁定的比特币被盗,则所有签署者必须合谋才能成功。

如果签名者违反协议,任何人都可以提供签名者作恶的证据。作为回报,签名者的抵押品将奖励给举报人。由于签名者被超额抵押,如果他们带着比特币逃跑,他们将失去比他们得到的更多。

tBTC的铸造过程

如果存款人想要铸造 tBTC,他们会向 tBTC 平台发送一笔交易,支付用于建立存款合约的 gas 费

系统随机选择一组签名者来持有比特币

Signer 提供 150% 的比特币价值的以太币作为抵押品

签名者创建阈值签名地址并发布

存款人将比特币发送到该地址并等待比特币区块链的确认

一旦收到足够的确认(6 个区块),存款人就证明付款已经完成,并且合约会为存款人生成 tBTC

锚定比特币的去中心化代币 tBTC 的铸造过程

同样加入比特币的流程,任何 tBTC 持有者都可以使用 tBTC 从签名者那里兑换比特币。赎回过程与铸币过程相反。

赎回者向合约支付 tBTC,并提供自己的比特币地址,即支付地址

签名者创建阈值签名并生成支付交易,将比特币发送到赎回者提供的地址

将资金发送回赎回者后,签名者向合约提供付款证明,解锁他们的以太币抵押品

使用与比特币挂钩的去中心化代币赎回比特币的过程

以太坊上比特币支付的证明

tBTC 解决方案的关键是能够向以太坊合约证明已经进行了比特币支付。做到这一点并不容易,因为以太坊和比特币是两个不同的区块链。存款智能合约需要知道是否可以为该用户生成 tBTC。为此,存款人必须提供已向签名人付款的证明。为了生成证明,智能合约需要执行一个简化的比特币验证过程(类似于比特币的 SPV(Simplified Payment Verification)客户端)。存款人提供付款的哈希值,以及付款已在比特币区块链上进行验证的证明 6。鉴于比特币的工作量证明共识机制,这个证明是可靠的。签名者在兑换比特币的过程中需要提供相同的证明。

安全事件

官方 tBTC 去中心化应用程序(DApp)于 5 月 16 日上线。5 月 18 日(运行约 48 小时后),Keep Network 项目的 CEO 宣布,他的团队已经激活了一次性终止开关,暂时关闭了平台的比特币存款功能。

根本问题

在 5 月 20 日发布的详细评测中,Keep 团队指出,根本问题在于赎回协议。

如回顾中所述,在赎回期间,赎回者提供了一个比特币地址,签名者应将其托管比特币发送到该地址。有效的比特币地址有几个版本。每个版本的长度和前缀略有不同。

例子:

新格式:bc1qngsulfgcudt8ztwv9quef9k5sv0ld2px0jh8nw

旧格式:1PPhYgecwvAN7utN2EotgTfy2mmLqzF8m3

由于合约赎回过程中的错误加入比特币的流程,签名者无法证明他们正确地将比特币发送到旧格式的地址。

这是什么意思?

这对诚实的救赎者没有影响。赎回者可以提供任何比特币地址并接收他们的比特币。问题在于签署方。当签名者试图证明他们已经支付给赎回者时,如果赎回者使用的是旧格式的地址,即使签名者是诚实的,合约也不会接受他们的证明。结果,签名者将被系统视为未及时提供付款证明的肇事者。在这种情况下,任何用户都可以指责签名者“作恶”,并获得签名者的部分抵押品作为奖励。

一旦漏洞被利用,签名者(协议的骨干)就会丢失比特币(发送给赎回者)和以太币(奖励给原告)。发现此漏洞的恶意赎回者将启动多个恶意赎回过程,不仅要取回比特币,还要获取签名者的以太币。

这种情况可以避免吗?

编写完美的代码本身就很困难,更不用说上传一次就不能再更改的智能合约的代码了。

Keep 团队选择不在智能合约中包含“升级”功能。这种方法当然有其优势,但也存在重大风险。正因为如此,他们不能简单地用新合同替换旧合同来解决未来的问题。Keep 团队的评论提到了可能已经采取的预防措施,以及未来如何避免与 tBTC 2.0 相同的问题的计划。

根据我们在协议正式上线前的实验经验,我们认为测试网DApp的测试阶段应该会更长,在主网上线之前应该会有更广泛的测试和用例。例如,当我们尝试兑换时,我们无法完成该过程并卡在下面的界面中。

我们在 tBTC DApp 的 beta 阶段遇到了一些问题

砥砺前行

虽然刚上线时就惨遭失败,但tBTC仍有机会卷土重来。幸运的是,99.87% 的 tBTC 被追回并归还给了持有者(剩余的 tBTC 很可能是这次活动的纪念品),没有造成任何经济损失。tBTC团队自始至终在沟通和信息披露方面做得非常好。

此失败是由于合同中的错误造成的。在系统关闭之前,没有时间测试更复杂的操作(价格信息录入机制、签名者分发、清算等)。

更重要的是,连接比特币和以太坊的 DeFi 有着巨大的需求和潜力。我们最终将在两者之间架起一座桥梁。如果 tBTC 做不到,就会有后来者。

原文链接: