# 比特币质押

Babylon比特币质押协议允许BTC持有者将其BTC质押到PoS区块链，而无需在任何第三方进行托管、桥接或封装。它为PoS链提供了可被罚没的经济安全保证，同时确保高效的质押权益解除，以提高BTC持有者的资产流动性。质押协议被设计为模块化插件，与各种PoS共识协议兼容，是构建再质押 (restaking) 协议的基础组件。

{% file src="/files/MOkd42zUvoTkZExoelag" %}

### 安全保障

Babylon比特币质押协议拥有以下安全属性：

* **完全可被罚没的PoS安全性：**&#x5982;果发生安全违规，验证者 1/3 的BTC质押权益将被罚没。
* **质押者安全：**&#x8D28;押者 (或其委托的验证者) 诚实遵循协议规则，其质押的BTC是安全且可提取的。
* **质押者流动性：**&#x8D28;押BTC可以高效地解除质押，保证安全、快速，且无需社区共识。

### 比特币质押运作流程

从BTC质押者的角度来看，比特币质押协议的工作原理如下：

1. **质押比特币：**&#x8D28;押者通过向比特币网络发送质押交易来开启质押，并将其BTC锁定在自我托管金库中。更具体地说，协议创建了一个UTXO，包含以下两个出入金条件：
   1. 时间锁：质押锁定后，质押者可以使用自己的秘钥解除质押。
   2. 通过特定的可提取一次性签名 (EOTS) 烧毁该UTXO。在质押权益已委托的情况下，该EOTS属于权益委托验证者。
2. **在PoS链上验证：**&#x4E00;旦比特币网络上的质押交易得到确认，质押者 (或质押者委托的验证者) 便可以开始验证PoS链，并使用EOTS密钥签署有效区块投票。在履行验证职责期间，有两种可能的路径：
   * **快乐路径：**&#x5728;诚实的情况下，质押者遵循协议规则进而获得奖励。此外，质押者可以通过以下两种方式解除质押：
     1. 等待现有质押周期自然到期，然后解除质押。
     2. 向比特币网络提交解质押交易，该交易将解锁BTC，用户可在已设定时间参数的解锁流程结束后提取BTC。
   * **作死路径：**&#x5982;果质押者有恶意行为，例如参与PoS链[双花攻击](https://www.binance.com/zh-CN/square/post/880585)，质押协议会将其EOTS密钥暴露于众。因此，任何人都可以冒充质押者在比特币网络上提交解质押交易，其BTC会被罚没并烧毁。这条作死路径使威胁到区块链安全的恶意行为受到惩罚，从而维护系统的全局完整性。

### 比特币质押的核心设计

该[精简版论文](https://docs.babylonlabs.io/papers/btc_staking_litepaper\(CN\).pdf)详细阐述了实现比特币质押的核心概念。在此，我们将扩展这些概念，并从系统角度描述比特币质押。比特币质押协议引入了一种机制，以敦促对违反区块链安全规则的恶意行为进行罚没。该机制确保一旦发生威胁到区块链安全的恶意行为时，质押者的EOTS签名秘钥便会被暴露。为此，我们结合以下两个概念来实现这一目标：

* 基于密码学的可靠断言
* 基于区块链共识的最终确定性 (finality) 工具

我们采用可提取的一次性签名 (EOTS) 来实现可问责的断言，如果使用相同的密钥对不同高度的区块进行签名，会导致密钥泄漏。我们在基础共识协议之外引入了一个额外的签名轮次，称为最终性轮次。只有当区块收到超过2/3的BTC质押权益的EOTS签名时，它才被视为最终确定性。所有违反共识机制威胁到区块链安全的行为，均被定义为此轮次中的双重签名恶意行为。

另外，如果修改后的协议存在安全漏洞，假设超过1/3的BTC质押权益持有者使用EOTS签名在同一高度签署了两个区块，这将导致这些恶意质押者的EOTS密钥被提取。EOTS签名方案可通过Schnorr签名实现，且比特币网络本身也支持Schnorr签名。因此，可以使用这些被提取的，来自恶意质押者的EOTS密钥，罚没其BTC资产。

这种模块化方法可应用于各种基于BFT共识的协议，而无需修改基础协议，从而使其与不同的PoS区块链兼容。


---

# 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://www.docszh.com/babylon-docs/introduction/btc-staking.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.
