欧易OKEx
数字资产服务平台

一文入门tBTC:比特币与以太坊之间的DeFi桥梁

tBTC平台着眼于寻求加密货币最令人垂涎的应用之一:将比特币与以太坊的DeFi连接起来,在加密货币领域相互隔离的主要大陆之间建立一座桥梁。 出人意料的是,tBTC正式发布之后,却在很短的时间内就因为失败而进行了第一次迭代。(官方已发布了详细的漏洞报告)

在本文中,我们将对tBTC进行更深入的研究,阐明其背后的动机,深入研究其内部工作原理,了解此前失败的根本原因,并最终推测其未来。

比特币和以太坊:一场混搭游戏

比特币就像是一条游荡在加密世界里的大金枪鱼。 它具有最大的市值,最多的用户和最多的流动性(当前为$ 1700亿美元),但除价值存储和(“ HODLing”)外,实用应用却很少。

比特币主导地位:占据加密货币总市值的三分之二

另一方面,凭借智能合约的功能性,去中心化金融(DeFi)创新已在以太坊区块链上起飞。 DeFi协议越来越受欢迎。 用户现在可以通过以太坊网络上的智能合约以完全去中心化的方式交换,交易,借出和借用ETH和很多种类的其他代币。

DeFi应用锁定的价值近10亿美元

因此,将这些当前隔离的世界连接到一起是非常有意义的,这将允许用户从DeFi中获得其比特币收益。 尽管一些解决方案试图进行过一些尝试并在比特币上构建DeFi,但似乎更简单的方法是将比特币直接引入以太坊的DeFi。

将比特币带入以太坊DeFi

迄今为止,填补DeFi障碍的最著名解决方案是BitGo的WBTC(Wrapped BTC)以太坊(ERC20)代币。 一方面,由于它是ERC20代币,因此WBTC持有者可以使用DeFi服务。 另一方面,WBTC代币价值与BTC挂钩,因为它被保证会得到现实BTC的完全支持。 也就是说,对于以太坊上的每个WBTC,都有一个BTC被锁定以支撑它。 结果,实现了具有可以在DeFi中使用的类似BTC的代币的目标。

WBTC及其类似解决方案的问题在于,BTC由中心化的保管人持有。 普通用户不能直接将BTC换成WBTC,必须先由WBTC托管人铸造。

这种方式很有局限性,例如可以产生多少个WBTC代币,以及必须信任WBTC保管人才能做好存储BTC的工作。

铸造挂钩比特币的中心化代币WBTC

为了缓解这些问题,tBTC项目被创建了出来。

tBTC去中心化解决方案

去中心化是Keep开发的tBTC项目的主要不同之处,因为它使拥有BTC(和一些ETH)的任何用户都能够通过使用一个签名者(signers)网络来创建tBTC。 与以前的解决方案不同,锁定的比特币没有中央托管人。 随机选择签名者,并为每个铸造的tBTC选择不同的签名者组。 签名人提供抵押品(ETH),以确保他们不能轻易地拿着资金跑路。

此外,存款一直是超额抵押的。也就是说,每存入1个BTC,签署人必须提供价值1.5个BTC的ETH作为抵押。 锁定ETH作为抵押的过程中,签署者将获得手续费作为回报。 这个手续费将在抵押品赎回时支付。

另一个有趣的方面是,签名人使用阈值签名协议创建一个唯一地址。 这意味着单个签名人无法拿走这笔资金。 需要所有分配的签名人的配合才能执行操作。

如果所有签名人希望破坏协议并窃取锁定的BTC,则需要合作才能做到。

如果他们偏离协议,任何人都可以提供证明签名人行为不当的证据。 作为回报,原告将获得签名人的抵押品作为奖励。 由于签名人的存款被超额抵押,因此窃取BTC的损失比收获多。

铸造TBTC:

如果存储人希望铸造TBTC。 他们可以将交易发送到tBTC平台,支付gas费用以建立存款合约。随机选择一组签名人来持有这些BTC签名人提供BTC价值的150%(以ETH形式)作为抵押签名人创建阈值签名地址并发布存款人将BTC发送到发布的地址并等待比特币区块链确认一旦收到足够的确认信息(6个区块),存款人便证明付款已经完成,合约然后可以为存款人铸造TBTC。

铸造挂钩比特币的去中心化代币tBTC

同样,持有TBTC的任何人都可以将其兑换为某些签名人持有的BTC。 该过程类似于一种反向铸造过程。

赎回者向合约支付TBTC,并提供其BTC地址(将资金汇入的地址)。签名人创建阈值签名并生成付款交易,将BTC发送到赎回者提供的地址。一旦资金被发送,签署人就向合约提供付款证明,以解锁其ETH抵押。

从tBTC赎回BTC

在以太坊上证明一笔比特币付款

tBTC解决方案的关键是能够向基于以太坊的合约证明已支付了BTC。 这不是小事,因为以太坊和比特币是两个不同的区块链。 存款智能合约需要知道是否可以向用户铸造TBTC。 为此,存款人必须提供证明确实已经支付给签署人的证明。 为此,智能合约将执行简化的BTC验证过程(类似于比特币SPV客户端,在此处有更多)。 存款人提供付款的哈希值,以及证明付款确实在比特币区块链上进行了,并已收到6个区块确认。 由于比特币的工作量证明共识机制,因此该证明是可靠的。 赎回过程中,签名人需要提供相同的证明。 只有这样,他们才能赎回抵押品。

安全事故

tBTC去中心化应用程序(DApp)主网于5月16日启动。 5月18日,经过大约48小时的运营,Keep项目的首席执行官宣布,该团队正在使用其一次性杀灭开关来关闭平台上所有BTC存款。也就是说,第一个正式主网版本的tBTC由于漏洞,仅存活了48小时。

问题所在

Keep团队在5月20日发布的详细“验尸”报告表示,根本问题出现在赎回协议。

如前所述,在赎回过程中,赎回者提供了一个比特币地址,签名人应将其保管的比特币发送到该地址。但由于比特币具有多个版本的有效地址,而且每个版本的长度和前缀略有不同,这就导致了问题。

例如:

新比特币地址格式:bc1qngsulfgcudt8ztwv9quef9k5sv0ld2px0jh8nw

旧比特币地址格式:1PPhYgecwvAN7utN2EotgTfy2mmLqzF8m3

由于合约兑换过程中存在错误,签署人无法证明他们正确地将资金汇入了旧格式的地址。

这意味着什么?

对于诚实的赎回人,这并不会有什么影响。 赎回人可以提供任何比特币地址,他们都将收到他们的资金。

问题出在签名人身上。 当他们试图证明自己已经向赎回人付款时,即使赎回人诚实行事,但如果赎回人使用了旧格式的地址,合约也不会接受该证明。 因此,系统会认定这个签名人是不诚实,因为他们没有正确地提供付款证明。 在这一点上,任何用户(原告)都可以认定签名人存在恶意行为。 作为奖励,原告获得签名人抵押品的一部分。(也就是说,签名人正确地进行了付款,却被错误认定为不诚实,并自己的抵押品被罚没)

一旦这个漏洞被利用,作为协议主干的签名人将同时失去BTC(因为它已发送给赎回者)和自己抵押的ETH(被原告获得)。 发现这一漏洞的恶意赎回人可能会发起许多恶意赎回过程,并盗取BTC和ETH。

可以避免吗?

编写完美的代码是非常困难的。 以智能合约的形式编写完美的代码则更加困难,因为您只能上传一次并且永远不能更改(或难以更改)。

Keep团队最终决定不向合约添加“升级”功能(升级功能具有其优势但风险更高)。因此,他们不能简单地用新合约替换旧合约并解决未来的问题。 事后调查广泛涵盖了团队可以做的事情以及未来计划,以避免tBTC 2.0走向相似的命运。

从我们在正式启动协议之前进行试验的经验来看,我们认为测试网络 DApp测试阶段应该更长一些,在主网启动之前应该进行更广泛的测试和用例。 例如,当我们尝试赎回时,我们无法完成该过程。

在测试阶段,tBTC DApp遇到了困难

展望未来

虽然最初的启动肯定是失败的,但这并不是tBTC的结束。 由于收回了99.87%的TBTC并将其偿还给持有人(其余可能是加密历史纪念品),因此没有造成经济损失,并且tBTC团队在整个过程中沟通和保持透明度方面做得很出色。

失败是由于合同中的错误造成的,并且在有时间测试其操作的更复杂方面(价格预言,签署方分配,清算等)之前,系统已关闭。 最重要的是,那里的需求和潜力很大。 最终,将建立比特币和以太坊DeFi之间的桥梁。 如果tBTC无法做到这一点,那么肯定会有其他人跟随。

猜你喜欢