如何用去中心化的方式把比特币引入以太坊:读懂tBTC资产跨链方案与漏洞补救_比特币:MMA

编者按:本文来自链闻ChainNews,撰文:潘致雄,链闻研究总监,星球日报经授权发布。以去中心化实现比特币资产跨链的方案中,tBTC是近期最受瞩目的项目。当BTC可以安全且无需信任地迁移到以太坊网络之后,相当于BTC能享受到图灵完备的智能合约,想象空间更大。比如,这样以来,比特币资产可以应用在去中心化金融生态中——毕竟比特币拥有最多的用户、最高的市值、最显著的网络效应。tBTC是由Thesis公司旗下KeepNetwork开发的一个子项目,这甚至有点像是他们「不务正业」推出的实验项目。原本KeepNetwork是一个为以太坊提供隐私层的方案,利用链下的容器存放隐私数据;而tBTC则是一个比特币跨链方案,听起来好像与Keep本身的方向毫无关联。不过,两者还是存在一些交集的,比如利用了相同的代币KEEP和多签名机制等。

另外Summa和Cross-ChainGroup也是tBTC项目的参与方。按照介绍,这些合作方是这样分工的:Keep将ECDSA门限签名运用在比特币去中心化托管的逻辑中,且tBTC的原生代币使用的是KEEP;Summa专注跨链解决方案,也就是tBTC协议中负责如何在以太坊区块链中验证比特币交易的部分;Cross-ChainGroup则负责跨链技术的研究、设计和实施。Keep的投资者包括了数家美国的主流机构,如PolychainCapital、a16z、DraperAssociates、FabricVentures、DistributedCapitalPartners等。其中a16z还是多家DeFi协议的投资者,包括稳定币协议Maker、借贷协议Compound、交易协议dYdX等,这三家也是目前DeFi协议中的头部项目,如果他们后续能集成tBTC,或许是一个双赢的策略:比特币可以支持DeFi,DeFi可以使用比特币。

目前集成tBTC的项目在tBTC之前,加密资产的跨链、尤其是比特币资产的跨链方案,绝大多数都是通过中心化机构托管方式实现的,比如WBTC、imBTC或HBTC。虽然这些方案也考虑到了安全性和透明度,但对于加密货币社区而言,人们更想要一个完全去中心化、非托管、无准入门槛、无需许可的资产跨链基础设施。毕竟,资产从一个地方挪到另一个地方是一个很基础的权利,不应该牵扯到其他因素、不应该增加额外风险、也不应该牺牲隐私。虽然tBTC已完成审计并上线主网,但项目仍处于早期阶段,仍有很多未知风险等待早期用户探索。而且tBTC的整套机制也存在一些争议,比如引入了预言机这个外部不可控的因素。此外,tBTC网络的参与者的质押率较高资金效率较低,这也会带来参与者的参与动机较弱。不过tBTC项目还是有机会对这些现有的问题进行优化和调整的。总体而言,tBTC的两个最重要的优势为:由原资产抵押:由于tBTC通过质押比特币而跨链生成的等价TBTC代币,所以不会产生额外的比特币。相反的,像Synthetix这类资产合成协议,是通过其他代币铸造出「模拟」比特币价值的代币sBTC,事实上增加了比特币的流通量。由去中心化协议托管:在tBTC协议内的比特币资产是被去中心化的协议托管的,而且也设置了一系列的安全机制确保整个流程无法作恶。从上述两个角度来看,目前与tBTC类似的项目可以这么分类:

tBTC是如何运作的?

像稳定币协议Maker为了维持价格所设计的各种机制一样,tBTC在整套方案中也考虑到了各种可能会对系统安全带来的特殊情况,如果将这些模块一一拿出解释或辅以案例说明,可能是一篇论文的长度,或不亚于白皮书。毕竟对于大多数tBTC系统或者是TBTC代币的使用者而言,并不需要接触到这么多繁杂的逻辑。只有对于系统的深度参与者或者原生代币的交易者而言,才应该彻底了解整个系统的运作机制,就算很费时间也需要仔细读一读他们的白皮书。不过,在此之前,也可以将本文作为了解tBTC的入门手册,以快速建立起对tBTC协议的概念和系统运作的核心工作流程。简而言之,这里主要解答的是这个问题:为什么tBTC可以安全且去中心化地进行资产跨链?先做一些说明和解释:tBTC是这个项目和协议的名称,而TBTC是由比特币跨链后在以太坊上流通的代币名,也就是TBTC=BTC。在tBTC的方案中,涉及到这几方:存款人:希望把BTC挪到以太坊上的用户;验证人/签署人:维护tBTC网络安全且能赚取收益的用户;赎回者:希望把以太坊上的TBTC换成真正BTC的用户。BTC->TBTC铸造流程

对于比特币与以太坊的资产跨链解决方案,两个主要的挑战是:用户如何确保抵押的资产不会被盗:tBTC选择的方案是将资产保存在由3人共同保管的多签名地址中,没有任何一个人可以挪动资产,且需要抵押超额资产。如何在以太坊的链上确认比特币的交易和所有权:tBTC采用了由Summa设计的SPV技术实现跨链的交易验证。所以,从BTC换成TBTC的流程分为两大步骤:1.存款人申请资产跨链,在tBTC协议的分配下由验证人辅助负责资产托管,然后存款人将比特币转至由三个人共同托管的比特币地址中。

2.转账至比特币托管地址的6个区块后,存款人向协议提交已完成转账的证明,然后就可以铸造相应数量的TBTC了。

简单介绍一下TDT:tBTC系统为了记录不同存款人不同的托管数量或者时间,在铸造TBTC之前还会发行一枚非同质化代币,称为TDT。虽说叫代币,但其实类似于一张「凭证」,不可分割且独一无二,后续赎回BTC需要用到这张凭证。当然,在协议的设计中还需要考虑其他可能的问题以及相应的处理方式,最常见的是如果ETH价值相比BTC价值贬值后,可能会产生验证人抵押不足的情况,导致验证人就有动机作恶了,所以tBTC设计了相应的清算模块以应对。tBTC协议包含了预清算和强制清算两个阶段,和其他的清算系统的设计目标类似,在强制清算阶段将会启动拍卖流程,将ETH以折扣价拍卖给TBTC的持有者以保证抵押品ETH价值大于TBTC的价值。而如果清算后还有剩余资金,则根据不同的情况进行收益分配。BTC->TBTC赎回流程

赎回流程相比较而言简单一些,当用户希望将持有的TBTC换回BTC时,只需将TBTC以及一小笔「费用」提交给以太坊的智能合约,同时附上收款的比特币地址,三位验证人就必须共同签署一笔比特币链上交易,将BTC转至规定的地址。如果有验证人不配合呢?那抵押的ETH就只能被清算了。也正因为验证人提供了联合的托管业务,并付出了ETH抵押资产,所以赎回者需要支付一小笔额外的费用给他们作为经济激励。所以作为验证人,可以将tBTC系统作为一种收益稳定的资产管理工具。据白皮书计算,验证人的年化收益约为1.875%,考虑到150%的抵押率,真实的年化收益约为1.25%。这是让社区中不少人吐槽tBTC的地方:很多人认为目前设定的收益率较低,可能会导致验证人的参与动机不足。当然,这也就意味着目前参数设定,对于存款人和赎回者更友好一些。KEEP代币:付出劳动才能获得回报

在tBTC的系统里,原生代币KEEP是一种工作型代币,这也就意味着持有KEEP不能带来任何收益,但是在持有KEEP的同时又付出劳动,才能因此获得收益。回顾一下铸造TBTC的环节,在「步骤2」中,tBTC系统需要从包含一群验证人的池子中抽取其中的三个,是以什么作为依据抽取的?没错,就是按照KEEP代币持有量作为依据的。举个例子,持有1000枚KEEP的人是持有100枚KEEP的人被抽中概率的十倍,也就是如果放在一个很长的时间跨度中,前者干活的数量是后者的十倍。持有更多KEEP意味着验证人可以更多的参与托管BTC,也就有机会获得更多的潜在收益。上线两天就被发现的Bug,怎么回事?

在tBTC上线的两天后,官方发现了一个协议的严重问题,于是按下了之前预留的全局开关,将整个系统的充值功能暂停10天。在此之前需要先介绍一个背景知识,比特币在10多年的发展过程中,随着技术的演进诞生了多种地址类型,由不同类型的脚本生成:最初的比特币地址以「1开头」,这类脚本称为P2PKH;后来诞生了由「3开头」的地址,这类脚本称为P2SH,功能比较强大,支持多签以及可以和后来的隔离见证组合;最后诞生的是原生隔离见证地址,由「bc1开头」,这类脚本称为P2WPKH,也会被称为Bech32。最初tBTC在协议设计时,限定并强制要求赎回的地址必须是P2WPKH。但是到了今年2月,tBTC的工程负责人提交了一个变更,放松了这个限制,也就是支持了P2WPKH之外的脚本。这个调整可以提升用户体验,赎回者可以以任意地址赎回,毕竟Bech32的普及程度并不高。据txstats的数据显示,目前储存在Bech32中的BTC数量约3%。但tBTC的系统却没有因为增加支持其他脚本而做相应的调整。不过这样也不一定会产生问题,软件开发中设置的测试流程,就是为了及早发现这样的问题,但他们表示,测试用例中竟然没有覆盖到「非P2WPKH」脚本。虽然后来在测试网中总算测试了P2SH地址,但是又由于赎回DApp流程中的前端漏洞,导致团队误认为该测试通过了。问题未被发现的一整个流程为:tBTC协议设计中仅支持P2WPKH地址—>临时决定放松对P2WPKH限制—>但系统未做相应调整—>测试用例未覆盖—>其他功能漏洞导致误认为测试通过了。这些问题堆积在一起,导致了tBTC带着漏洞上线主网。后续如何改进?

在该事件的回顾报告中,tBTC项目表示将优化他们工作流程,还将与安全团队TrailofBits合作,为tBTC规划更多的自动化集成测试和系统测试。随后,为了进一步减少项目的整体风险,tBTC重新定义了他们的软件发布流程。原来上线主网的tBTC「正式版」将回退至「发布候选版」,版本号为RC0,所以下一个版本是RC1。补充一下,软件开发流程中,在发布某个正式版之前,通常会先发布数个版本称之为「发布候选版」,如果未发现任何漏洞,最后一个Releasecandidates就会成为最终的正式版,比如比特币的下一个大版本0.20.0就已经发布了两个RC版本。tBTC认为,另外一个可以有效降低项目风险的机制是限制整个系统的容量。也就是他们限制了BTC可以换成TBTC的最大数量,这样就算出现严重问题,损失的也就是可控范围内的比特币或以太坊。具体来说,在RC1版本中,第一个月的系统容量被设定为100BTC,之后按月增加,分别是250BTC、750BTC、1000BTC,这些逻辑也都是按照智能合约预设的执行即可。5个月后,该限制将自动解除,而且如果12个月后未发生事故,团队将禁用紧急暂停按钮,也就是保护了这次系统没有受到更多损失的预留「后门」。

最后,tBTC还表示除了ConsenSys和TrailofBits的安全审计外,还将组织第三次安全审计,专门针对涉及BTC交易和跨链通信的部分。同时,tBTC还将漏洞赏金计划的最高奖励提高了10倍,至100万个KEEP代币。激励初始化流动性:「质押空投」

考虑到很多潜在的验证人可能暂时没有KEEP代币,tBTC发起了一个为期6至12个月的「质押空投」活动,为项目进行额外的激励,促进项目的初始化和流动性。活动中将分发KEEP代币总量的20%,期间用户可以仅依靠质押ETH成为tBTC网络的验证人,为资产跨链提供去中心化托管服务,而活动结束后,就会按照之前的方案,以KEEP代币作为抽签依据。所以对于验证人而言,这个期间内将获得除了1.25%年化收益率之外的KEEP代币奖励,而数量要参考参与tBTC网络的具体表现,更多细节后续也会公布。值得长期观察

虽然tBTC在机制设计、协议治理以及开发流程还有很大的改进空间,比如:改用去中心化预言机、通过系统治理调整参数等,但他们设计的去中心化跨链解决方案依旧是目前比较完整的,且产品的实现速度也较快。再加上该项目由三个团队合作推进各司其职,以及背后投资方有强大的资源支持,未来该协议的普及应该不是问题,被加到各种DeFi协议内也是迟早的事情。更何况tBTC的未来将不仅限于以太坊。采用了Keep和Summa技术的开放式区块链项目,或许都可以实现比特币的资产跨链,因为这将是各个区块链之间互联互通的重要基础设施。因此,tBTC这类资产跨链项目值得长期关注。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

BNBDAO:价值互联网的去中心化治理层_DOT:POLK

多年来,改变组织的主要特征是:降低交易成本以进行协调。这反映在科斯的企业理论中。您可以实现一些微不足道的改进,例如在组织内应用决策支持系统,但有时会发生一次大的系统性变化,起初看起来像是一项微不.

[0:0ms0-4:127ms