# Chakra x Babylon 质押测试网：技术概述和安全分析

By [Free DAO](https://paragraph.com/@z22222) · 2024-06-26

---

如果你想找到一个撸毛信息集聚地ethceo，可以找大舰长这个牛市，我准备为999位币圈新朋友提供力所能及的帮助

全职Web3撸毛的艺术-掌握不确定性中的确定机遇

这篇文章主要以撸毛心得分享，如果你没有任何相关经验，或者想学习具体方法执行

可以先阅读这篇文章：[从撸毛小白到卷王之王](https://zhuanlan.zhihu.com/p/599101509)

近期，Babylon 在 Testnet-4 上启动了质押活动。Chakra 已成为Babylon Testnet-4 中**排名第一的最终性提供商，确认了258** Signet BTC的 TVL ，占Babylon 总**TVL的36%**。我们感谢用户将他们的 BTC 委托给 Chakra 对我们的信任！ 今天，Chakra 将指导您了解当您通过 Babylon 质押 BTC 并将您的投票权委托给 Chakra 时究竟会发生什么。

* * *

在 Babylon 最新的 Testnet-4 中，Staking 过程被分为三类交易：Staking Tx、Unbonding Tx、Slashing Tx。这些交易分别产生三种比特币输出：Staking Output、Unbonding Output、Slashing Output。其转化过程如下图所示。

![](https://storage.googleapis.com/papyrus_images/7a625daf2a4d5aaac37f30766a20af1a66076a909d111a5040ca6c5be3b7482f.png)

质押交易 质押交易必须包含两个特殊输出。一个是持有质押资产的输出，该输出为 Taproot 类型，必须包含 Babylon 定义的 BTC 质押脚本。另一个是零金额输出，其中包含 Babylon 质押可通过 OP\_RETURN 识别的信息。 下图显示了 Staking 交易的示例，其中第一个输出是 Staking 输出，第二个输出是 OP\_RETURN 输出，第三个输出是更改输出。

![](https://storage.googleapis.com/papyrus_images/2d5fe12124f9edc0760638fce9ba3b1b380be02d805cc042663029ba9b9131a8.png)

质押输出 Staking Output 是一个 Taproot 输出，正如Chakra之前在[Crypto 101 文章中提到的那样：](https://mirror.xyz/0xa3564d6065379D3cd262b7a3a88b0CBcf686B1f8/AY9GZFFlpkKxA12LtfPo592bbmrDDI8_JAvcROjxVPg) [Taproot 输出有两种支付方式：密钥支出路径和脚本支出路径。Babylon 通过将内部密钥设置为“Nothing Up My Sleeve”（NUMS）点](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)来禁用密钥支出路径，使 Staking 输出只能通过脚本支出路径进行支出。 Staking Output 可以通过三条脚本路径进行使用，对应流程图： **1、时间锁路径** 时间锁路径 (Timelock Path) 实现了权益证明功能，同时还起到活性保证的作用。 OP\_CHECKSIGVERIFY OP\_CHECKSEQUENCEVERIFY 时间锁脚本会将质押者的 BTC 锁定一段指定的时间，以区块数表示。时间锁路径中不需要其他实体，因此它为质押者提供了活跃度保证。即使最终性提供者和契约失效，质押者在锁定期结束后仍可取回其 BTC 资产。 **2、解绑路径** 如果 BTC 被时间锁锁定，用户如何提前结束质押？Babylon 通过引入解绑路径解决了这个问题。 OP\_CHECKSIGVERIFY OP\_CHECKSIG OP\_CHECKSIGADD ... OP\_CHECKSIGADD OP\_NUMEQUAL 此路径不仅需要 Staker 的签名，还需要超过 CovenantThreshold 数量的盟约委员会成员的签名。引入盟约委员会的主要原因是人为地创造一个解绑期，防止 Staker 在被罚没之前通过解绑路径逃脱惩罚。 **3、削减路径** 削减是确保 PoS 安全性的关键因素。如果最终确定性提供者 (Finality Provider) 恶意行事，则需要没收其自有资金和委托资金以提供经济安全。Babylon 通过引入削减路径 (Slashing Path) 来提供削减功能。 OP\_CHECKSIGVERIFY OP\_CHECKSIGVERIFY OP\_CHECKSIG OP\_CHECKSIGADD ... OP\_CHECKSIGADD OP\_NUMEQUAL 在质押激活之前，质押者必须预先签署 Slashing Path 交易，以防止在最终确定性提供者恶意行为的情况下扣留其签名以避免 BTC 损失。在收到质押者的签名后，盟约委员会首先对其进行验证，一旦确认有效，就会发布自己的签名。 BTC 质押中的可罚没罪行是，最终性提供商在同一高度签署两个相互冲突的区块，使任何用户都可以通过 EOTS 获取恶意最终性提供商的私钥。由于质押者和契约者已经预先签署了罚没交易，因此获得恶意最终性提供商私钥的用户随后可以签署交易，通过罚没路径将部分质押资金发送到销毁地址作为惩罚。 OP\_RETURN 输出 虽然 Taproot 输出使用较小的 ScriptPubKey 表达了复杂的使用条件，但区分质押交易和比特币网络中的其他交易具有挑战性。因此，有必要通过其他方式披露与质押相关的信息，以便用户可以根据这些信息识别削减交易。 Babylon 将需要公开的信息序列化，将信息嵌入到 OP\_RETURN 脚本中，并将该脚本附加在 staking tx 的另一个输出中。格式如下图所示，数据必须与 Taproot 脚本中的数据相对应。 type V0OpReturnData struct { MagicBytes \[\]byte Version byte StakerPublicKey \[\]byte FinalityProviderPublicKey \[\]byte StakingTime \[\]byte } 根据之前的交易快照，OP\_RETURN Output携带的有效数据确实总计为4+1+32+32+2=71 Bytes。图中，属于Chakra的FinalityProviderPublicKey权益交易的 为。f4940b238dcd00535fde9730345bab6ff4ea6d413cc3602c4033c10f251c7e81 用于MagicBytes快速定位质押Tx，而 是Version为以后更新保留的字段，以方便区分。 解除绑定交易 当质押者想要提前解锁其质押的 BTC 时，他们可以通过质押输出中的解绑路径进行消费，提交解绑 Tx。解绑 Tx 要求仅接受单个质押 Tx 作为输入，并输出单个 Taproot 输出，提交解绑脚本。 下面是解绑Tx的截图，与之前的质押输出相对应。 截图中，倒数第二个以 20 开头的字段代表解绑路径的 tapscript，以 c1 开头的字段是解绑路径的 Taproot Internal Key 和 Merkle Proof。这里明显可以看到 NUMS 点 0x50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0。在解绑 Tx 的 Witness 字段中，我们可以看到持仓者的签名和盟约委员会的签名。 解绑输出可以在两种情况下使用：时间锁路径和削减路径，这两种路径与质押输出相同。从更高层次上讲，解绑输出是一种中间状态，旨在防止质押者立即撤回其质押并逃避削减，最终导致提款交易的稳定状态。 削减交易 Slashing Tx 将质押 Tx 或解除绑定 Tx 作为输入，通过 Taproot 脚本中的 Slashing Path 进行支出，并产生两个输出。一个输出将质押 BTC 的一部分发送到销毁地址，而另一个输出将剩余的 BTC 返回给质押者。 从更严格的意义上讲，Babylon 对违规行为实施部分没收，而不是一次性销毁质押者质押的所有 BTC。这种方法提供了更高的容错能力并保护了质押者的利益。 削减交易只能在质押者、契约委员会和最终性提供者的联合签名下发生。因此，即使某一方受到损害，也不会导致整个质押系统崩溃。削减交易起到了威慑作用，从经济上阻止参与者恶意行事。只要对不当行为的惩罚超过任何潜在收益，参与者就有可能遵守规则。 证券分析 巴比伦有两种安全性。 第一类安全性涉及质押者，确保只要质押者和他委托的最终性提供者不执行任何恶意行为，他的质押资产就永远不会被削减。 第二种安全性与 PoS 系统本身有关，保证如果参与者采取恶意行为，则协议必须能够识别并削减他们。 Staker 的观点 对于质押者来说，一旦通过 Babylon 的质押交易质押了 BTC，资金只有三种方式可以转移。 第一个是时间锁路径，只需要用户自己的签名即可进行消费。这确保即使 FP 和 Babylon 停止运营，质押者在质押期结束后仍可以取回其原始 BTC。 第二个是解除绑定路径，它充当中间状态，创建解除绑定输出并允许更短的解锁时间。这为质押者提供了提前取回质押资金的功能。 第三条是 Slashing Path，这是唯一一条可以损害 Staker 利益的路径。如果外部方试图攻击 Slashing Path，则必须同时提供 Staker 的签名、Finality Provider 的签名以及超过阈值的 Covenant Committee 的签名，这极难实现。即使 Covenant Committee 是恶意的，只要 FP 是诚实的，那么 Staker 的 BTC 就是安全的。 PoS 系统的观点 从 PoS 系统的角度来看，其安全性源于当最终确定性提供者 (Finality Provider) 恶意行为时对其进行削减的能力。 Babylon 采用 EOTS 机制，如果最终性提供商对某个区块进行双重签名，则任何用户都可以从同一区块上的这两个不同签名中提取最终性提供商的私钥。这允许他们签署并提交 Slashing Tx，部分削减最终性提供商持有的所有投票权对应的 BTC。 这项惩罚措施可以阻止最终确定性提供者采取恶意行为，从而调整他们的动机，为与巴比伦相关的 PoS 共识服务提供最终确定性，并通过大量的质押 TVL 来保障 PoS 系统的安全。 未来，Chakra将继续与Babylon合作推出一系列Staking活动，为用户提供**多重收益**，同时解决**流动性和互操作性**挑战，在所有加密生态系统中**释放比特币的巨大价值。**

---

*Originally published on [Free DAO](https://paragraph.com/@z22222/chakra-x-babylon)*
