# Bitstake 简介：基于 BitVM 的权益证明桥

> 原文： https: [//lightco.in/2024/02/13/bitstake/](https://lightco.in/2024/02/13/bitstake/)
>
> 作者：[@lightcoin](https://lightco.in/)

*编辑 2024-02-14：本文的早期版本将 Bitstake 协议描述为“无需许可”即可作为活跃的质押者参与。*[*Wei Dai*](https://wdai.us/)*指出，由于需要 N 中的 1 个活跃的质押者来执行正确的状态转换，因此还需要至少 N 中的 1 来挑战质押者集更新的审查制度。该帖子已更新以反映这一点。*

2023 年末，Robin Linus 发布了[BitVM 白皮书](https://bitvm.org/bitvm.pdf)，席卷了比特币开发者社区。白皮书承诺，“可以在比特币上计算任何东西”。 Robin 和 BitVM 社区的其他开发人员现在正在积极致力于使用 BitVM 构建信任最小化的[比特币桥](https://lightco.in/2020/08/02/bitcoin-pegs/)。迄今为止设计的桥变体之一就是我所说的“许可乐观桥”，它依赖于 1-of-N（+[矿工不会窃取](https://lightco.in/2022/06/15/miners-can-steal-2/)）信任模型。

在许可乐观桥模型中，有一个由 N 个桥参与者组成的许可组。一名参与者扮演“证明者”（又名“操作员”）的角色，N-1 名参与者扮演“验证者”（又名“瞭望塔”）的角色。运营商的作用是处理用户的提现请求，而瞭望塔的作用是让运营商保持诚实。每当操作者发起提款时，就会开始一个“挑战期”，在此期间提款可以受到瞭望塔的挑战。如果操作员试图从桥上进行无效提款，那么任何一个瞭望塔都可以提交比特币挑战交易来启动挑战过程。如果挑战成功，则提款将被取消，并且运营商的一些抵押品将被 BitVM 程序削减。可以[在此处](https://github.com/BitVM/BitVM/blob/main/docs/sidechain_bridges.md#outline-optimistic-trust-minimized-btc-bridge-with-bitvm)找到有关许可乐观桥协议的更完整描述。

这篇文章介绍了 Bitstake，它是许可乐观桥的一种变体，它使用权益证明协议来选择桥参与者。 Bitstake 协议结合了[Nomic 桥](https://gist.github.com/mappum/da11e37f4e90891642a52621594d03f6#checkpoints)和 BitVM 许可的乐观桥的思想。它也可以被认为是[StakePeg](https://lightco.in/2021/01/25/stakepeg/)的更安全版本。在这个桥接模型中引入权益证明的目的是为任何人提供一种参与桥接过程的方式，只要他们有足够的权益来满足资格门槛，并且 N 中的 1 个活跃权益持有者愿意挑战审查尝试质押者集更新。

以下是该协议如何工作的分步说明：

1. Bitstake 实现者定义了 Bitstake BitVM 程序的核心逻辑。这包括有关 BTC 桥接的链（“目标链”）和桥本身的操作的详细信息，包括用作桥的质押资产的资产。质押资产可以是 BTC 或任何其他资产。注意：如果使用新的特定目的的质押资产（可能是通过燃烧证明创建的，如 StakePeg 中），那么如果质押者都变得恶意，用户可以通过社交方式对质押者进行削减。
2. 想要参与桥接协议的初始用户（初始“质押者”）协调使用 BitVM 构建 Bitstake 地址。这会使用应分配给每个初始抵押者的权益来初始化目标链上的状态。质押者获得的质押权力与他们存入/收到和质押的质押资产数量成正比。任何人都可以进行质押，但参与桥接协议的活跃质押者集合仅限于质押权数最高的*N 个*质押者（上述“资格门槛”）。该限制由 BitVM 程序强制执行，并由实施者根据对比特币脚本大小限制和实际 MPC（例如[Musig2](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)协调限制）的评估来设置。了解 Nomic[储备钱包](https://gist.github.com/mappum/da11e37f4e90891642a52621594d03f6#reserve-wallet)如何提供基于投票权的规范排序，以获得深入的解释。
3. 随着初始质押者的设立，桥梁现在已准备好开始接受用户的存款。用户将 BTC 发送到 Bitstake 地址，并在目标链上记入等量的 BTC。然后，他们可以根据链共识规则支持的任何逻辑在目标链上使用 BTC。
4. 有时，质押者会来来往往并修改他们的质押。发生这种情况时，BitVM 程序会强制要求，下次从 Bitstake 地址进行交易支出时，必须将更改发送回的新 Bitstake 地址必须根据以下条件使用最新的质押者集进行构造：他们当前的质押能力。如果目标链是一个汇总链，则这种质押者轮换可能会与每个汇总块一样频繁地发生，因为每个汇总块都需要比特币上的状态更新交易。查看 Nomic[检查点交易的](https://gist.github.com/mappum/da11e37f4e90891642a52621594d03f6#checkpoints)工作原理以获得深入的解释。
5. 如果目标链支持强制包含，则可以规避对质押者的审查（防止他们质押或修改其质押）。使用强制包含，质押者或潜在质押者可以确认比特币上的交易，这将保证该交易在目标链上的下一个区块（或不久的将来的某个区块）中得到确认。如果交易仍然被排除，那么目标链将停止。这使得攻击者的审查成本可能非常高昂。任何 1-of-N 的活跃质押者都可以通过挑战排除有效质押者集更新的状态转换来防止对新质押者的审查。

协议的其余部分就像前面提到的 1-of-N 许可乐观桥一样工作。其中一名质押者成为操作员，其余的则成为了望塔。用户向运营商提交提款请求，瞭望塔让运营商保持诚实等等。

如前所述，Bitstake 的主要好处是，现在任何人都可以成为桥接协议的参与者，将桥接操作从固定操作员集更改为动态质押者集，只需要 N 中的 1 个许可现有的活跃质押者加入活跃质押者集合，同时还增加了目标链可以强制执行的处罚，即使所有活跃质押者行为不当（此功能仅在使用目标链上管理的特定目的质押资产时才可用）。质押者集还可以用于向目标链提供其他服务，例如区块生产、有效性证明和数据可用性。

主要风险是，如果允许任何人参与这座桥，它可能会被资金充足的攻击者所控制。如果攻击者获得了对超过资格阈值的所有权益持有者插槽的控制权，那么他们就可以从桥上窃取所有资金，并且只有在使用特定目的权益资产时，他们才会面临权益被大幅削减的风险。因此，为了获得最大的安全性，活跃权益的总价值应该轻松超过桥中持有的 BTC 总价值。

另一个风险是，由于任何人都可以成为质押者，因此其中一个质押者可能愿意[与](https://twitter.com/lightcoin/status/1756816481705242789)恶意算力多数人勾结从桥上窃取信息，从而可能存在更高的风险。有关此风险的实证分析，请参阅我[之前引用的文章。](https://lightco.in/2022/06/15/miners-can-steal-2/)

#### 工作量证明变体 <a href="#proof-of-work-variant" id="proof-of-work-variant"></a>

当然，权益证明的替代方案是工作量证明。想要成为（Bitwork？）桥梁参与者的用户可以向目标链上的智能合约提交工作证明，他们将在桥梁中获得与他们提供的工作证明的总难度成比例的签名权。通过将签名权的来源切换到不同的智能合约（或完全停止链），基于工作的签名权证明将在社会上受到削减，就像特定目的的质押资产一样。协议的其余部分将按上述方式工作。使用工作量证明的主要权衡是这是沉没成本，而在权益证明中，如果用户想退出协议，他们可以将其权益出售给其他人。

#### 致谢 <a href="#acknowledgements" id="acknowledgements"></a>

感谢[Robin Linus](https://robinlinus.com/)对这篇文章的草稿提供反馈并发明了 BitVM，感谢[Matt Bell](https://keybase.io/mappum)在 Nomic 桥上的工作，[感谢 gnar](https://twitter.com/mitche50)同时独立提出了类似的想法。

***

*电子邮件可能是最流行的去中心化消息传递协议，我预计它会存在一段时间。如果您想保持联系，请将您自己添加到我的电子邮件联系人中！我绝不会出售、出租或分享您的电子邮件地址。*

[<br>](https://www.bitvm.club/bitvm-project/bitstake)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bitvm.gitbook.io/doc/bitvm-project/bitstake/bitstake-jian-jie-ji-yu-bitvm-de-quan-yi-zheng-ming-qiao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
