将比特币解锁为完全可编程、有生产力的资产,将使比特币成为DeFi的支柱和更安全的Web3。能够自由地在智能合约中移动比特币资产,并且这些合约可以信任地写入比特币区块链,可以为Web3解锁数百亿美元的被动BTC。在本文中,我们提出了一种新颖的去中心化比特币锚定机制。使用这个锚定机制,可以在比特币层上发行一种以BTC为1:1锚定的资产,它不依赖于中心化或预先确定的参与者来实现其功能。相反,锚定机制以去中心化方式运作,使用一组经济激励的动态参与者的开放成员资格,这些参与者可以开始或停止对锚定功能的贡献。
在比特币生态系统中,去中心化的双向比特币锚定一直是一个未解决的“圣杯”问题,尤其是因为它可以实现对比特币的无信任写入。去中心化的锚定机制使得BTC可以成为一种生产性资产,而无需将其委托给中心化实体,并可应用于诸如去中心化BTC贷款、以BTC为支撑的稳定币等应用中。尽管wBTC(以太坊上的包装比特币资产)委托给单一托管人,与比特币精神背道而驰,但其使用规模已达到50亿至150亿美元。我们描述了一种名为sBTC的比特币锚定资产的设计,它使用Stacks比特币层和比特币主链(L1)之间的独特交互来实现去中心化的锚定机制,从而提供高性能和去中心化的安全性。
比特币是最分散、安全和耐用的区块链。BTC在行业中是一种独特而有价值的资产,比特币区块链是最好的最终结算层。比特币在基础层面优化了简单性和分散化[1]。比特币设计相对较慢,本质上不提供完全表达智能合约所需的功能,因此需要在基础层之外构建更快和更复杂的应用。比特币层使得这一点成为可能,与比特币L1进行必要的交互,但在基础层之外提供高性能和高级功能。(我们使用“比特币层”作为一个广义术语,意为L1之外的功能层,我们的比特币层定义包括像L2、侧链[2]等概念。)比特币层提供了快速支付(Lightning)、资产发行(Liquid)和智能合约(Stacks和RSK)等功能。
一个理想的比特币层需要具备以下三个特性:
1.具有全面表达能力的智能合约和全球分类账,使开发人员可以以分散化的方式构建复杂的应用程序。
2.可以以安全、去中心化的方式轻松地在层之间移动比特币,并以程序化方式写入比特币。
3.由基础层(比特币)100% 支持的交易高度安全性。
虽然比特币层已经取得了显著的进展,但截至2022年,各种比特币层仍存在一些限制:闪电网络没有全面表达能力的智能合约或全球分类账(用于不可变记录),Liquid和RSK具有联邦锚定机制,没有比特币1结算,而最初版本的Stacks没有去中心化的比特币锚定机制。相比之下,最近的以太坊层对ETH具有这三个属性,并且最近在用户和资本投入方面经历了显著的增长。对于以太坊,各个层主要用于可扩展性,但对于比特币而言,由于基础层功能有限,比特币层更加重要;比特币层既需要可扩展性,也需要新功能。
这项关于sBTC的工作让我们更接近构建理想的比特币层。用户不仅可以在比特币层访问具有全面表达能力的智能合约,而且可以以去中心化的方式轻松地在层之间移动比特币。同时,层交易可以由比特币L1的100%安全性进行保障。去中心化的锚定机制开启了比特币应用程序的新时代,可以加速比特币经济的增长。
我们的sBTC锚定机制具有以下特性,使其独特:
• 开放和去中心化:锚定机制由一组动态更改的签名者的开放成员资格操作,而不是由预定的联邦或中央集权方操作;去中心化签名者受到经济激励。
• 具有抗审查性:锚定机制的操作,如签名者选择、peg-out请求等,发生在比特币L1上,并遵循比特币的抗审查性,这意味着Stacks层的外部参与者不能审查这些操作。
• 廉价的锚定机制:通过Stacks层共识的BTC奖励,激励阈值签名者参与,使他们具有强烈的经济激励,而无需引入任何额外的锚定机制费用。
• 基于区块链的比特币预言机:锚定机制的操作不依赖于外部预言机,而是使用在比特币L1上实现的唯一价格预言机。
• 比特币安全性:Stacks层和锚定状态会自动分叉比特币L1,自动以100%比特币最终性解决比特币L1上的所有交易,提供强有力的安全保证。
• 商业上可行:现实世界的参与数据表明,鉴于最近在Stacks共识中锁定的资本,sBTC的流通供应量可以达到数亿至数十亿美元,使sBTC在商业上可行和可扩展。
除了允许轻松地在层之间移动比特币外,锚定机制还使层上的智能合约可以以无信任的方式向比特币写入。这种比特币写入功能是开发人员的主要解锁,使他们能够构建可以通过去中心化锚定机制以编程方式向比特币地址发送BTC的智能合约。
去中心化双向比特币锚定机制
基于安全和性能的考虑,智能合约不应该在比特币基础层操作;基础层应该保持简单。我们提出了一种使用Stacks比特币层的去中心化、开放成员资格的比特币锚定机制:BTC可以锁定在比特币L1上,并在Stacks层上发行一个与BTC 1:1锚定价值的衍生资产,称为sBTC。智能合约可以使用sBTC,需要时,sBTC可以再次锚定回BTC(即sBTC被销毁,等额的BTC会自动在比特币链上释放)。智能合约可以以编程方式将sBTC发送到BTC地址(将其作为BTC锚定),解决了比特币写入问题,使得在比特币L1之外的合约可以无需信任地向比特币区块链写入数据。
读者应该查看最新版本的Stacks论文[3],以了解关于拟议的Nakamoto发布和使用比特币最终性的最新安全模型的详细信息。
sBTC方法允许智能合约将比特币作为货币资产使用,但在Stacks层上具有更快速、更便宜的交易。BTC衍生的锚定资产已经在以太坊上实现,包括wBTC,在RSK上的R-BTC和在Liquid上的L-BTC。然而,在所有这些情况下,锚定都由一个中央托管方或一组受信任实体的联邦管理和信任。sBTC是一个去中心化的锚定BTC资产,由完全无许可、去中心化的、动态的参与者组成,他们有明确的经济激励来正确操作锚定机制。
这样的去中心化比特币锚定机制一直是使BTC成为生产性资产(即通过在合同中部署BTC而无需将其委托给中央实体来产生利润)的主要障碍。这可以解锁数百亿美元的BTC,以被无需信任地部署在合同中,实现去中心化的BTC借贷、以BTC为支撑的稳定币等应用,满足比特币持有人所迫切需要的去中心化安全性。
sBTC锚定机制是由Stacks层和它与比特币的连接的独特特性所支持的。具体来说:
• Stacks层具有独特的共识协议Proof of Transfer(PoX),利用比特币的工作证明(PoW)协议,自然支持sBTC。在PoX中,Stacker锁定他们的资本并执行门槛签名以进行peg-out交易,并获得BTC作为回报。Stacks矿工花费BTC来挖掘Stacks区块。正是这个BTC以奖励的形式分配给了Stacker。这为成功的锚定提供了一种激励兼容的经济保障:对于Stacks矿工来说,挖掘规范分支始终是激励兼容的,对于Stacker来说,忠实地维护锚定始终是最有利可图的选择。
• Stacker已经通过核心共识协议获得了奖励。因此,在正常运行期间,用户在锚定他们的BTC时不需要支付“包装费”;协议奖励提供了经济激励。这是一个重大优势,因为在托管系统中,包装费变得很高(比如wBTC的情况)。
• Stacks不存在分叉风险。Stacks层会自动“与”比特币L1一起“分叉”,即当比特币L1分叉时,Stacks层也相应地分叉。这意味着即使比特币分叉或重新组织,对于peg操作、peg钱包和Stacker集合的更改都会反映在Stacks链上(对应的Stacks分叉上)。只有在特定的Stacks分叉上,这些操作才会在sBTC状态上实现,且这些操作与该分叉上的sBTC状态是一致的。结果是,尽管挖掘和Stacking都是开放成员资格,但peg永远不会因分叉而受到破坏。因此,Stacker不会因分叉而损失资金,分叉也不会对用户BTC的安全构成风险。这在像以太坊[7]这样不与比特币一起分叉的链上的锚定BTC资产上并非如此:在那里,比特币重新组织可能会使封装的BTC的状态与规范比特币分叉不一致,需要干预。
• 门槛签名者的集合,称为Stackers,通过参与共识获得BTC奖励来维持系统的活力并签署peg-out请求;这些BTC奖励是他们工作的补偿。通过参与Stacks共识获得BTC补偿是Stacks层的独特特性。
• 门槛签名者的集合通过比特币交易选举产生,因为Stacks上的合约可以读取和处理比特币交易。这意味着Stacks矿工不能审查Stackers的选举。同样,BTC的peg-out请求也被广播为比特币交易,Stacks矿工不能忽略这些请求。
• 该系统还将BTC支付给Stackers作为恢复活力机制,如果Stackers未能及时签署peg-out请求,则有些BTC支付将被重新用于满足peg-out请求。
sBTC的设计在商业上是可行的,因为它可以扩展到今天价值数亿美元的BTC的sBTC流通供应,未来可能扩展到价值数十亿美元的sBTC流通供应。sBTC供应的上限由一个可配置的参数(下面描述)确定,并与STX资本锁定的经济规模相关。随着通过Stacks层构建的比特币应用程序经济体的增长,并且通过Stacks层上的合约使更多的BTC变得有价值,这个sBTC的流通供应限制应该会随着时间的推移而增加。
sBTC的设计不会在中间引入任何保管人或受信任的中心化/联合方。通过peg-in系统在智能合约中使用数十亿美元的BTC,至关重要的是系统中没有任何中心化/联合的信任存在。其他现有的比特币peg系统,例如Liquid或RSK,依赖于信任联合体,在这些联合体成员没有提供任何担保的情况下。sBTC系统不同于联合peg系统,因为它是(a)开放成员,任何人都可以轻松加入系统并成为peg-out交易的签名者,以及(b)peg-out签名者需要锁定的抵押品比peg-in的BTC价值更高,为签名者维护系统的活力提供了强大的经济激励(直到签名者处理所有未决的peg-out请求之前,他们的抵押品不会被释放)。
唯一制造新的sBTC的方法是将相等的BTC存入比特币主链上的脚本中。该系统始终保持1:1的BTC与sBTC比例,任何人都可以监测开放式系统以验证始终维持1:1的比例。这与保管人方法(例如WBTC)不同,后者的BTC储备证明不够透明。此外,在sBTC中,比特币主链上的比特币脚本/钱包由一个去中心化和开放的成员组管理,而不是任何单一实体或固定联合体。这些阈值签名者有经济激励来维护peg系统的活力,即继续签署peg-out交易。
sBTC的设计不包含任何peg入/出费,使得用户可以随意进出系统。用户只需要在使用peg系统时支付相应的比特币L1交易费用。在其他的封装比特币设计中,如以太坊上的wBTC,通常与包装/解包功能相关的费用。这些费用对于执行包装功能和维护系统的保管人而言是必要的。sBTC的设计使用Stacks共识的BTC奖励作为签署者的激励措施,并且设计中没有额外的peg费用激励。签署者以高比率(最近根据锁定资本的7-8%的奖励率[4])获得激励,而peg入/出功能对用户免费;无论BTC的数量如何,他们只需支付gas费用。该主题在“sBTC流通供应量”一节中进一步讨论。
2.sBTC的设计细节如下:
sBTC系统的设计旨在与主要和有效的Stacks层分支的挖矿具有激励兼容性,并确保Stackers始终最有利可图地保持peg的真实性。sBTC有两种操作模式:正常模式和恢复模式。正常模式如前所述:用户将BTC发送到由一定比例的Stackers控制的peg钱包/脚本,该比例由他们所代表的锁定STX的比例测量。每次将BTC发送到此钱包(peg-in操作)时,都会向发送者选择的地址铸造相等数量的sBTC,以保持1:1的peg。在有效的peg-out操作中,Stackers的阈值部分通过在比特币主链上的阈值签名门控事务,将所需的BTC金额从peg钱包/脚本转移到请求的比特币地址,然后销毁Stacks侧的等价金额的sBTC。
如果正常模式遇到任何原因导致活性失败(包括BTC损失),系统会过渡到恢复模式,直到足够的Stackers重新上线以恢复签名peg-out请求。在恢复模式下,本应由Stackers收到的PoX支付的一部分将被重定向以满足peg-out请求,从而最终可以履行所有未完成的peg-out请求,即使Stackers永远不会重新上线也是如此。虽然比正常模式慢得多,但恢复模式的设计确保只要Stacks层保持存活状态并且PoX挖矿继续进行,用户的BTC就可以被兑换。恢复模式作为Stackers及时履行peg-out请求的经济激励,否则他们会开始失去BTC奖励。通过恢复模式恢复整个流通中的sBTC可能是一个非常缓慢的过程,这取决于流通供应和通过PoX的BTC奖励的大小。
sBTC 设计中的主要安全假设是,对于贴现稳定币的持有者来说,从经济上讲,始终履行其锚定价值是最明智的选择,因为他们可能失去的钱比恶意行为带来的收益要多得多。同时,70%的签名门槛也确保了需要大量分散的参与者共谋或被攻击,以尝试攻击锚定价值。
Normal 和 Recovery 模式的设计需要仔细考虑 Stacks 矿工、持币者和用户的激励机制。为了确保维护锚定价值的操作与在 Stacks 原始分支上进行挖矿保持相容,Nakamoto 发布提案 [3] 包括了对 PoX 共识算法的重大更新,该算法于 2021 年在 Stacks 层主网启动时生。

在 sBTC 的 PoX 设计中,持币者需要执行积极的工作以获得 PoX 奖励,并在其 STX 被锁定的奖励周期内共同维护一个 BTC 脚本/钱包。该钱包用于满足资产退换请求。如果持币者未能及时满足请求,则他们的 STX 仍将被锁定,而且在所有资产退换请求得到满足之前,他们将无法获得 PoX 奖励。相反,他们的 PoX 奖励将被重新分配用于满足资产退换请求。
随着 sBTC 的推出,所有与持币和锚定相关的交易都必须通过比特币链进行广播,作为比特币交易。这是因为这些操作必须在所有可能的 Stacks 分支中得以实现。这确保了 Stacks 矿工不能阻止任何人参与持币和成为锚定参与者。相反,当一个 Stacks 矿工产生一个新的 Stacks 区块时,在比特币上广播的锚定和持币操作会自动地被包含在所有可能的分支中。这样可以防止矿工生成忽略持币和 sBTC 活动的区块,因为一个未包含这些操作的区块在新的共识规则下将不会被视为有效。
在 sBTC 设计中,Stacks 也得到了重大的安全预算升级,任意长度的分叉被移除,Stacks 交易在 150 个区块后遵循比特币的最终性。这意味着所有达到比特币最终性的 Stacks 层操作(通常在 24 小时内)都无法通过 Stacks 层进行分叉;修改这些交易的唯一方式是尝试进行比特币的深度重组,这极其昂贵且在深度达到 150 或更多时不切实际。此外,深度为 7 的 Stacks 分叉需要 Stacks 挖矿算力的多数以及持币签名的多数,增加了实现此类分叉的难度。最后,由于比特币的最终性,PoX 链锚定块的历史可能永远不会分叉(这是正确实现 Recovery 模式所必需的)。
随着 sBTC 的推出,Stacks 矿工的集合和他们将承诺的最小比特币金额在挖掘下一个 Stacks 区块之前就已经确定。为了实现这一点,Stacks 层要求每个矿工额外承诺他们打算在下一个比特币区块中花费的比特币数量。如果他们的下一个区块承诺没有恰好承诺这个金额,那么该区块承诺就是无效的。我们称这种承诺为“块预承诺”。块预承诺还解锁了快速区块(稍后将更详细地讨论),在其中 Stacks 矿工的集合保持开放会员制,任何人随时都可以加入,但是特定即将到来的比特币区块的矿工集合在挖矿前就已经确定,并且该集合的矿工可以运行一个 BFT-style 的法定人数签名算法,以在两个比特币结算之间产生快速区块(每 5 秒钟)。
2.1. 门限签名钱包
在 Stacks 的非托管比特币锚定设计中,关键组成部分是基于门限签名的钱包/脚本,该钱包/脚本在比特币主链上维护。钱包资金由门限签名机制控制。在给定周期(通常为 2 周)中的潜在签名者是参与 PoX 共识并在该周期内执行这种资产转移签名工作以获得 BTC 奖励的持币者。签名者在钱包脚本上的相对签名能力由他们在 PoX 中锁定的资本决定。有效签名需要使用高门槛:为了使资产转移交易成功将 BTC 从钱包脚本中转出,需要 70% 或更高的签名能力。这也意味着攻击钱包需要 70% 的持币者恶意合谋并且不经济合理,只要至少有 30% 的持币能力是诚实的,钱包中的资金就不会被攻击。由于持币能力和持币者可以在每个持币周期(通常为 2 周)更改,因此每个持币周期都使用一个唯一的脚本/钱包。
当持币者通过比特币交易锁定他们的资本时,他们在交易中包含一个签名的比特币公钥。这些公钥因此在 PoX 合约中注册,以便在 PoX 链锚定块被挖掘(即持币周期开始时),所有持币者公钥的集合将作为 PoX 奖励集之一宣布。这些签名公钥可以以确定性的方式组合起来,以生成持币周期的钱包地址。签名公钥必须对于每个持币周期的每个持币者是唯一的(签名密钥不同于持币者的 BTC 奖励地址,后者可以在周期之间重复使用)。
在持币周期结束时,持币者将会得知下一个周期的钱包地址,并必须按照协议规则将所有剩余的 BTC 从已过期的钱包地址转移到新的钱包地址,以维持活跃性。钱包使用经济安全机制:持币者通常锁定了比钱包中 BTC 值更多的资本(取决于可配置的活跃性比率),并且如果他们不继续维护钱包的活跃性并遵循所有资产退换请求和钱包轮换步骤,他们将面临失去 BTC 奖励并且他们的资本将继续被锁定在共识中的风险。
锚定设计的一个重要方面是备用机制,用于处理在任何原因下(例如,签名者长时间离线或拒绝签署交易),给定周期的 70% 签名者门槛无法达到的情况。当前的提议是在周期钱包中编码显式的备份脚本,在经过一定数量的块后自动激活。一种方法是逐渐降低恢复的 70% 门槛,以查看备份情况下是否可以满足门槛。另一个提议是利用之前的持币周期的签名者,并允许他们在一定时间后签署资产转移。备份脚本的形成和选择规则的详细信息在 SIP-021 中描述[8]。sBTC 设计、入钩和出钩操作、与 PoX 共识算法的交互、正常模式和恢复模式、签名者选择和备份等详细的协议规范都可以在 SIP-021 中找到[8]。在本文中,我们从比协议规范更高的层面上重点介绍了最重要的设计元素。
2.2. sBTC 循环供应量
sBTC 是通过在比特币主链上以 1:1 的比例锁定 BTC 而铸造的。理论上,sBTC 的流通供应量可以高达存放在脚本/钱包中的 BTC 总数。然而,为了使设计具有激励兼容性,我们对 sBTC 的最大流通供应量设置了可配置的限制:sBTC 的总流通供应量不能超过持币者参与 PoX 的 STX 资本价值的一定比例(我们默认使用 60%)。例如,如果价值为 2 亿美元的 STX 被锁定在 Stacking 中,那么 sBTC 的最大流通供应量可以价值为 1.2 亿美元。sBTC 的固定汇率不依赖于 STX(固定汇率是从在比特币主链上锁定的 BTC 导出的)。然而,汇率的活跃性和激励兼容性确实取决于锁定的 STX 的价值相对于 sBTC 的流通供应量是否足够高,以确保正确的激励。
sBTC 具有以下特性: 要影响经济安全属性,攻击者需要侵犯超过 70% 的签名者。Peg-out 交易需要来自超过 70% 参与者的签名。Stacks 矿工既不能导致 peg-out,也不能忽略它们。通过确保针对 peg 和 Stacker 集维护的所有必要协议操作在比特币链上广播,实现后者。这些与 Stacks 相关的 on-Bitcoin 操作在下一个 Stacks 区块中处理,因此在所有后续的 Stacks 分叉上都是有效的,因此 Stacks 矿工不能忽略这些操作。此外,BTC peg-out 仅在来自 sBTC 持有者的有效请求的情况下发生。最后,当发起它们的 Stacks 交易到达比特币最终性时,peg-out 请求才会实现,这意味着这些交易由 100% 的比特币哈希能力保护,而 Stacks 层矿工不能重新排序或撤销它们。
• 只要 stackers 和 miners 拥有 BFT 多数,任意数量的 BTC 的 Peg-outs 将在大约 24 小时内完成。这是系统的正常运行方式,在 150 个区块内,任何有效数量的 peg-outs 都会自动实现。
• 只要 BFT 多数的矿工是诚实的,peg 系统和 Stacks 链就会保持活跃状态。如果太多的 stackers 不签署交易或下线,系统将进入恢复模式,在该模式下,peg-outs 将继续进行,但速度非常慢。然而,理论上所有 peg-out 请求最终都会被满足,即使每个 stacker 都是恶意的,因为 stackers 没有决定块生产的发言权,并且因为恢复模式机制。
2.3. 去中心化的基于区块链的比特币预言机
PoX协议具有独特的特性,即BTC / STX价格对信息可以直接在比特币上进行去中心化获取,无需外部预言机的介入。这从设计中消除了潜在的攻击面,因为外部预言机是集中化和攻击的潜在渠道。 BTC / STX价格信息由Stacks共识作为活力比率的输入进行消耗。一个系统的强度取决于最弱的集中点,因此一般来说,避免在共识中使用任何外部预言机输入更安全。BTC / STX价格对的去中心化,基于比特币的预言机提供了可能,在不允许外部预言机破坏共识协议的情况下,深度集成sBTC到Stacks层共识中。将基于链上的预言机作为活力比率的输入是有限的。sBTC只能针对锁定在比特币L1上的真实比特币进行铸造;活力比率仅确定可能的sBTC供应量上限,并对过去90天的移动平均值进行限制,从而限制任何单日价格变动对活力比率的影响。此外,用户钱包在固定sBTC之前可以自动检查多个预言机(以独立确认链上预言机数据)。
2.4. 活力比率
该协议根据流通的sBTC价值与锁定STX价值之比来配置sBTC流通供应量的上限,称为活力比率。在60%的活力比率下,对于每锁定1亿美元的STX,该协议旨在使sBTC供应量在或低于6000万美元。如果活力比率超过了可配置的限制,则协议会暂时禁用Peg-In,直到更多的Peg-Out发生并且比率可以回落(或比率限制被增加)。活力比率可以通过链上投票进行配置。如果活力比率增加,则Peg的经济安全性会降低,而在低活力比率值下则会更高。活力比率的一个影响是,如果STX对BTC的价值下降,则sBTC的流通供应量应逐渐降低以维持活力比率。用户可以独立监视锁定资本的状态,并在需要时进行Peg-Out。Peg钱包即使在高活力比率下(例如90%),也可以继续正常运作,因为Stackers /签名者锁定的资本仍多于他们通过勾结可以从Peg钱包中窃取的资本。
2.5. 引导网络
sBTC的最大流通供应量可能会对生态系统早期的应用增长构成限制。一些应用程序,如借贷池、自动市场制造商(AMM)等比特币应用程序,需要大量比特币流动性才能实现大规模采用。如果sBTC的流通供应量较低,例如几千万美元或几亿美元,那么这将对使用sBTC的应用程序构成启动挑战。此外,某些应用程序,如借贷协议,可能需要用户根据市场变动存入额外的抵押品,用户应该能够及时提供额外的抵押品;在这种情况下,高活性比率可能导致peg-in暂停,这可能是一个挑战。值得注意的是,随着Stacks网络的使用增长并有更多资本锁定在共识中,这种启动挑战将会减少,这将允许更高的sBTC流通供应量,例如数十亿或数千亿美元。
我们建议在网络早期使用高活性比率限制,以帮助sBTC的供应尽可能高。由于活性比率可通过链上投票进行配置,我们预计随着Stacks网络在未来几年的增长,活性比率有望自动下降,这意味着随着时间的推移,peg的经济安全性应该会增加(随着活性比率的降低)。
此外,托管或联合的比特币资产也可以存在于Stacks层上,以补充sBTC。实际上,由Tokensoft和Anchorage提供的托管比特币资产xBTC已经在2022年存在于Stacks层上。像xBTC这样的托管资产和应用程序开发人员构建的任何联合比特币资产可以为用户提供额外的流动性和选择,特别是使用原子交换[9],[10]。任何联合资产和sBTC之间的主要区别在于(a)没有STX资本作为活性激励,(b)联合成员通常是一个封闭的、可信的集合,而不是像sBTC那样的开放式成员、去中心化的签名集合。联合或托管资产中没有经济安全性,经济安全性被对联合或托管方的信任所取代。
虽然联合资产或托管资产可以为用户提供更多的选择和流动性,但它们对我们的工作并不是关键,我们只关注分散的挂钩。如果sBTC的流通供应量达到数十亿美元或更高的规模,那么应该有足够的流动性来通过sBTC实现比特币应用程序的大规模采用。
2.6. 安全性和风险假设
sBTC不是在比特币L1上的BTC。根据定义,sBTC是在比特币层(Stacks)上以1:1的方式锁定BTC而铸造的挂钩资产。一般来说,将BTC存储在比特币L1上是用户存储BTC最安全的方式。将BTC移动到任何比特币层都会带来额外的复杂性和安全假设;这对于闪电网络、Stacks、RSK、Liquid和其他层都是如此。与其他比特币层相比,闪电网络可以说引入了最少的额外攻击面和假设。对于Stacks层上的sBTC,了解安全假设和潜在风险非常重要: Stackers的绝大多数(71%)可以从比特币L1上的比特币脚本/钱包中窃取BTC。如果他们这样做,Stackers将失去他们的STX资本和BTC奖励,这可能在经济上是不明智的(因为他们锁定的资本超过了sBTC供应价值),但在理论上是可能的。Stackers分散的越多,这种类型的攻击就越难以实现。除了经济激励之外,说服数百或数千个独立实体和人员协调和勾结以尝试这种攻击在逻辑上也具有挑战性。
比特币L1的矿工可以在长期51%攻击中对Stacking操作进行审查,并试图从比特币脚本/钱包中窃取BTC。这种潜在的攻击在经济上极难实现,因为(a)它需要比特币矿工在数月内(可能超过6个月)对比特币L1链进行51%攻击,(b)购买大量STX流动供应(至少14%,价值约为2022年12月的5000万美元)。比特币L1从未成功地进行过长达几天的51%攻击,更不用说数月了,因此这种攻击在很大程度上是理论上的。此外,每个比特币层都假定比特币L1的矿工无法在长时间内审查它们。
sBTC合约是用Clarity语言编写的,并且是Stacks共识的一部分。Clarity是一种可决定语言,这意味着在执行合约之前可以知道所有合约执行路径,并且可以进行严格的安全分析。但是,Clarity比比特币脚本更具表达能力,而sBTC合约代码相对更复杂,通常用于比特币L1上的BTC的比特币脚本合约。
2.7. 分散化与联合的比特币衍生品
对于比特币挂钩系统而言,像sBTC这样的去中心化方法是不可能的,除非有像STX这样的附加资产被锁定在共识中。sBTC具有开放的签名成员集,更为去中心化,并具有经济安全性,即签名成员的经济合理选择始终是维护挂钩的活力。另一方面,对于联合挂钩(如Liquid),用户需要信任一个联合体,而这些联合体成员没有违规行为的经济风险,只有声誉风险。我们坚信,去中心化的sBTC方法更为优越。
sBTC和联合挂钩之间的比较突显了经济激励和STX代币的必要性。除了作为激励来确保和维护Stacks层账本之外,STX资产在实现去中心化比特币挂钩方面也至关重要。如果没有像STX这样的附加资产,只能采用联合或保管式设计。在比特币社区中,对于除比特币以外的新资产存在一些抵制,这是可以理解的,因为非比特币加密资产的市场嘈杂和风险高。我们的设计允许应用程序开发者在需要时构建和使用联合挂钩,但核心共识协议只关注去中心化挂钩。去中心化挂钩之所以可能,仅因为存在独立的STX资产。我们认为,在长期来看,去中心化和无信任系统比联合设计要优越得多,特别是当网络通过初始引导阶段,并且sBTC的流通供应可以达到数十亿美元甚至更高,为用户提供充足的流动性时。
3.相关工作
Sidechains[2]提出了将比特币固定到比特币层的想法。截至2022年,在比特币生态系统中,像Liquid或RSK[5]这样的侧链实现并没有实现开放式成员资格的比特币挂钩。它们依赖于已知、可信的实体联盟或集中的保管人来完成这项工作。Nomic[11]在Cosmos生态系统中实现了去中心化的比特币桥/挂钩,但还处于早期阶段。类似tBTC[12]和renBTC的项目已经实现了针对以太坊的比特币挂钩资产的去中心化方法(最近renBTC正在转向联合设计)。tBTC具有开放式成员签名者集,具有经济安全性(类似于sBTC),sBTC和tBTC之间的大部分差异源于Stacks层与比特币L1的紧密集成:Stacks具有比特币读取支持(因此无需依赖比特币SPV),Stacks Nakamoto释放交易遵循比特币的终态,并且挂钩请求在比特币L1上完成(而不是依赖于外部系统,如以太坊)。tBTC旨在为不同的用途服务,在这些用途中,它将比特币挂钩资产引入到已经建立的以太坊应用经济中。sBTC旨在在尽可能原生于比特币L1周围的情况下增加比特币应用经济。
Drivechain[6](BIP-300)在2015年提出了一种双向比特币挂钩方案。与Stacks上的sBTC不同,Drivechain需要修改比特币L1。此外,用户可以在3个月的延迟时间内挂钩其资产(而不是像sBTC中的150个区块或约一天),并且没有像矿工激励那样的coinbase奖励。Drivechain仍然处于比特币改进提案(BIP)的提案阶段,尽管已经过去了几年。考虑到需要修改比特币L1,并且挂钩速度缓慢,该提案可能不具有商业可行性。与Drivechain相比,sBTC对于潜在的51%攻击具有更强的经济安全性,因为比特币L1矿工需要(a)尝试更长时间的51%攻击,以及(b)预先购买大量的STX流通供应。Spacechains[13]是另一个提案,处于概念验证阶段,提出了单向挂钩方案。与Drivechain类似,它不需要备用代币,但缺乏激励矿工参与系统(没有coinbase奖励)。此外,单向挂钩对于许多应用程序(例如BTC借贷、去中心化交易等)不足够,因为用户在使用后想要将BTC带回比特币L1。
4.结论
释放数千亿美元的比特币资本是一个重大的未开发机遇。比特币层可以为BTC启用DeFi和其他应用程序,但存在一个重大限制:目前没有办法让用户在完全去中心化的方式下将其BTC移入和移出运行于比特币层上的智能合约。这被称为比特币挂钩问题,已经成为比特币界的“圣杯”问题近十年了;到目前为止,我们只看到了联合/集中式的方法。
在本文中,我们提出了一种去中心化的双向比特币挂钩系统。与早期的方法不同,早期方法需要用户信任一个固定的联合体或多签钱包的联合体,而这种新方法通过一个开放式成员和动态的签名成员集具有经济安全性。此外,当用户将其BTC移入和移出比特币层时,用户不需要支付任何费用,动态的签名成员集通过共识协议获得BTC的奖励,以奖励他们的工作。
这项工作使我们更接近于构建理想的比特币层。用户不仅可以在层上访问完整的智能合约,而且可以轻松地以去中心化的方式在层内外移动其资产,同时他们的交易受到100%基础层安全的保护。这项工作可以开启比特币应用程序的新时代,可以加速比特币经济的增长。
本文引用的参考文献包括:
[1] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Tech report, 2009. https://bitcoin.org/bitcoin.pdf
[2] Adam Back, Matt Corallo, Luke Dashjr, Mark Friedenbach, Gregory Maxwell, Andrew Miller, Andrew Poelstra, Jorge Timon, and Pieter Wuille. Enabling Blockchain Innovations with Pegged Sidechains. White paper, Blockstream, 2014. https://blockstream.com/sidechains.pdf
[3] Stacks: A bitcoin layer for smart contracts, Dec 2022. https://stx.is/nakamoto
[4] Stacking stats. https://stacking.club/cycles/all
[5] RSK whitepaper: Bitcoin Powered Smart Contracts, 2019. https://www.rsk.co/Whitepapers/RSK-White-Paper-Updated.pdf
[6] Drivechain (BIPs 300+301). https://www.drivechain.info/
[7] Vitalik Buterin. A next-generation smart contract and decentralized application platform. Technical report, 2014. https://ethereum.org/en/whitepaper/.
[8] SIP 021: Trustless Two-way Peg to Bitcoin. https://github.com/stacksgov/sips/pull/113.
[9] Magic protocol for atomic swaps with BTC and Stacks. https://magicstx.gitbook.io/magic-protocol/overview/magic-protocol.
[10] Muneeb Ali. Bitcoin DeFi is here: A deep dive into trust-less swaps, 2021. https://www.hiro.so/blog/bitcoin-defi-is-here-a-deep-dive-into-trust-less-swaps.
[11] Nomic: A Non-Custodial Proof of Stake Bitcoin Sidechain on Cosmos. https://nomic.io/.
[12] tBTC: A Decentralized Redeemable BTC-backed ERC-20 Token. https://docs.keep.network/tbtc/index.pdf.
[13] Spacechains proof of concept. https://github.com/RubenSomsen/spacechains.
关注大鱼Twitter,随时交流想法:

