> For the complete documentation index, see [llms.txt](https://docs.stacks.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stacks.co/learn/zh/bitcoin-staking.md).

# 比特币质押

PoX-5 下的比特币质押：什么是协议保证金、如何开始、奖励从何而来，以及你的 PoX-4 stack 发生了什么。

比特币质押是 PoX-5 对转移证明（Proof of Transfer）的演进。参与者可赚取以 BTC 计价的收益，而其 BTC 仍由自己在比特币 L1 上自托管，或在配对路径和池路径中以 sBTC 形式持有。

一句话说明协议保证金：这是一个 12 个周期的承诺，约六个月，将 L1 上的 BTC 时间锁与 L2 上的 STX 锁定配对。其关联是加密的：比特币锁定是一个 P2WSH 脚本，承诺你的 Stacks 主体哈希，而 pox-5 在为你注册之前会验证该承诺、锁定金额以及交易的 Merkle 证明。两条腿都必须在保证金 Day 0 截止前锁定，而且注册必须至少早于那一时刻 100 个比特币区块，因为紧接 Day 0 之前的准备阶段会拒绝它。L1 锁定必须先完成，因为注册才是证明它的东西。

参与分四个阶段进行：加入白名单并完成接入、开立仓位、领取奖励，然后续期或退出。

## 选择一条路径

这些路径在每个钱包中彼此互斥：

* **原生 BTC 保证金。** BTC 在你自己的托管下保持时间锁。仅限个人。原生 BTC 这条腿没有池路径。需列入白名单。
* **sBTC 保证金，直接或通过池。** 锁定的是 sBTC，而不是原生时间锁。这是唯一提供池选项的路径。
* **仅 STX 质押。** 没有比特币这条腿。详见 [质押到现有签名者管理器](https://docs.stacks.co/operate/staking-stx/stack-with-a-pool).

每个主体只能有一个仓位：一个钱包不能同时持有一个保证金和一个条款重叠的仅 STX 质押，也不能持有两个重叠的保证金。合约实际拒绝的是重叠，而不是连续衔接：一个仓位在下一个仓位开始时或之前结束是允许的，这正是从一个保证金滚动到下一个而无需解锁的原因。

## 加入白名单

从这里开始，而且越早越好。PoX-5 中的原生保证金参与需要白名单资格，进入某个保证金的白名单并不是一次 API 调用，而是与 Stacks Endowment 进行的链下沟通。随后 Endowment 会在保证金开启前把白名单和保证金参数发布到链上。

时机比看起来更重要。保证金参数会在 Day 0 之前大约七天发布，而白名单在 `setup-bond`时被固定。那一刻不在名单上的质押者根本无法加入该保证金；下一个机会只能等下一次保证金。预计后续更开放的协议版本 PoX-6 会移除这一步人工流程。

## 如何开始

在任何流程之前：连接钱包，如果你走原生 BTC 路径，则完成白名单沟通，将自己关联到一个签名者管理器，满足适用的比例要求，并先完成 L1 锁定再进行 L2 锁定。

两个前提：

* **支持 SegWit 的比特币钱包。** 锁定输出是 P2WSH。不能支付到该类型地址的钱包无法为保证金提供资金。
* **一个签名者管理器。** 每位参与者，无论是保证金参与还是仅 STX 参与，都必须关联一个签名者管理器；可以是自己运行的，也可以是自己委托质押到的。不存在单独的路径。

你不需要设置奖励地址。没有 `pox-addr` 参数在 `register-for-bond`；奖励路由已移出协议，现在由签名者管理器负责，并作为不透明的 `signer-calldata`.

注册会在准备阶段被拒绝，而准备阶段是每个周期最后 100 个比特币区块。不要计划在周期边界开始一个仓位。

面向机构合作伙伴预期会遵循的端到端流程，已有带截图的分步指南； [联系我们获取支持](mailto:support@stackslabs.com?subject=Help%20wanted%20with%20bitcoin%20staking%20end-to-end%20steps%20to%20take) 我们会指引你到正确的那一份。流动性质押由第三方提供。Stacking DAO 的 stBTC 已上线：这是一个用于协议保证金中所持 sBTC 的流动性代币，而 STX 侧由 Stacking DAO 提供（[Stacking DAO 公告](https://www.stackingdao.com/post/150-btc-of-initial-capacity-how-stbtc-brings-bitcoin-staking-yield-onchain)）。你今天可以加入的池列在 [sBTC 池常见问题](https://docs.stacks.co/operate/protocol-bonds/sbtc-pool-faq).

## 保证金时间线

<div data-with-frame="true"><figure><img src="https://2842511454-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH74xqoobupBWwBsVMJhK%2Fuploads%2FG660xt3cld5Hh0RkGykm%2Fstaking-bond-timeline_v2.png?alt=media&#x26;token=f0cb4501-14e4-44c6-a8a4-4340f01e953e" alt="A timeline of a single protocol bond. Day 0 marks the deadline for both legs to be locked, with a prepare phase of one hundred Bitcoin blocks immediately before it during which registration is rejected. The bond then runs for twelve reward cycles. Day 175 marks the Bitcoin timelock&#x27;s minimum unlock height, one thousand and fifty blocks before the end. Day 182 marks the end of the bonding period on Stacks. Six overlapping bonds are shown, each starting two reward cycles after the last."><figcaption><p>一个保证金的生命周期。注册必须至少早于 Day 0 100 个比特币区块。L1 时间锁在 Day 175 开启，距离 L2 期限在 Day 182 结束还有 1,050 个区块。</p></figcaption></figure></div>

一个保证金由三个标记描述：

* **Day 0。** 两条腿都必须在此高度前锁定。注册必须至少早于此 100 个比特币区块，因为紧接 Day 0 之前的准备阶段会拒绝它。
* **Day 175。** L1 时间锁的最小解锁高度，距离 L2 结束前 1,050 个比特币区块，大约七天。
* **Day 182。** 绑定期在 L2 上结束。你的 STX 会在下一个周期边界解锁。

围绕任一保证金的是更大的时间表。每 2 个奖励周期会开启一个新保证金，即 4,200 个比特币区块；每个保证金运行 12 个奖励周期，即 25,200 个比特币区块。任意时刻都有六个保证金在运行，而保证金 *n* 在保证金 *n+6* 开始的区块结束，而这种对齐正是实现直接滚动续接的原因。奖励会在保证金生命周期内分发 24 次，每 1,050 个比特币区块一次。

重新锁定窗口是 1,050 个比特币区块，其中只有前 950 个可用；最后 100 个是准备阶段。

有一个值得明确记住的注意事项：25,200 个区块按每天 144 个区块计算是 175 天，但 L2 期限结束的标记却是 Day 182。这里的天数是白皮书中的日历标签，不是由区块数学推导出来的数值。凡是需要精确的地方，请使用区块数，并把天数当作路标。

## 收益来源

保证金首先由每个周期基于矿工收入的池来支付。协议保证金部分会足额拿到其目标收益，剩余部分则在仅 STX 质押部分和储备基金部分之间分配。瀑布式分配、各部分、覆盖率和储备金的完整说明在 [协议保证金与奖励机制](/learn/zh/bitcoin-staking/rewards-and-tranches.md).

默认情况下，奖励通过自动桥以 sBTC 形式支付。如果你将质押委托给支持此功能且保存了比特币地址的签名者管理器，也可以通过 `signer-calldata`获得比特币 L1 支付。该参数属于 `register-for-bond`, `stake`, `stake-update` 以及 `update-bond-registration`.

## 结束或更改仓位

保证金是一个 12 个周期的承诺，但有两条退出路径，使用哪一条取决于你的比特币是如何锁定的。

如果你是 L1 锁定，则通过调用 `announce-l1-early-exit`在 Stacks 上宣布退出，然后通过锁定脚本的提前退出分支花费比特币。如果你是 sBTC 锁定，则调用 `unstake-sbtc`，它可以全额或部分提取仓位。这两个调用都会在准备阶段被拒绝。

无论哪一种，都不会在期限结束前释放你的 STX。你也可以在期限中途切换到不同的签名者管理器，或者在旧保证金的比特币这条腿解锁后，直接滚动到新的保证金或仅 STX 质押。

每条路径、对应成本以及合约执行的检查说明见 [结束或更改保证金仓位](https://docs.stacks.co/operate/protocol-bonds/ending-or-changing-a-bond-position).

## 如果你之前在 PoX-4 下进行 stacking

PoX-5 在 Epoch 4.0 时完全取代了 PoX-4，该升级在比特币区块 960,230 激活。所有 PoX-4 锁定都已释放，不过在分叉时已经进行中的某个周期仍会照常支付。

没有自动迁移。每位原先的 stacker 都必须主动选择新路径：协议保证金或仅 STX 质押。如果你还没有这样做，你的 STX 就已解锁且不会产生收益。

PoX-5 下的仅 STX 质押对每个锁定最多限制 96 个周期。没有无限期选项。

## 合约参考

已部署的合约就是参考： [`SP000000000000000000002Q6VF78.pox-5`](https://explorer.hiro.so/txid/SP000000000000000000002Q6VF78.pox-5?chain=mainnet\&tab=sourceCode)。如需逐行阅读，源代码固定在发布标签 [4.0.1](https://github.com/stacks-network/stacks-core/blob/4.0.1/stackslib/src/chainstate/stacks/boot/pox-5.clar).

## 相关阅读

* [Bitcoin Staking 术语表](/learn/zh/bitcoin-staking/glossary.md)
* [协议保证金与奖励机制](/learn/zh/bitcoin-staking/rewards-and-tranches.md)
* [结束或更改保证金仓位](https://docs.stacks.co/operate/protocol-bonds/ending-or-changing-a-bond-position)
* [Stacking](https://docs.stacks.co/learn/block-production/staking)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.stacks.co/learn/zh/bitcoin-staking.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
