Taproot 是比特币 2021 年的重大升级。Babylon 则展示了如何用比特币脚本实现 PoS 质押。
Taproot 由三个 BIP 组成,是比特币自 SegWit 以来最重要的升级。
graph TB
TAP["🌳 Taproot 升级<br/>2021年11月激活"]
TAP --> BIP340["BIP340<br/>Schnorr 签名"]
TAP --> BIP341["BIP341<br/>Taproot 输出"]
TAP --> BIP342["BIP342<br/>Tapscript"]
BIP340 --> S1["比 ECDSA 更高效"]
BIP340 --> S2["支持签名聚合<br/>多签看起来和单签一样"]
BIP341 --> T1["结合 Schnorr + MAST"]
BIP341 --> T2["默认走密钥路径<br/>更快更便宜"]
BIP342 --> TS1["更新脚本验证规则"]
BIP342 --> TS2["为未来升级留空间"]
| 特性 | ECDSA | Schnorr |
|---|---|---|
| 标准 | 广泛使用 | 更简洁的数学证明 |
| 签名聚合 | 不支持 | 支持(多签可以合并为单签) |
| 批量验证 | 逐个验证 | 可以批量验证,更快 |
| 隐私性 | 多签交易暴露签名数量 | 多签和单签看起来一样 |
MAST 允许将多个花费条件组织成默克尔树,使用时只需揭露实际使用的那个条件:
graph TB
ROOT["Taproot 输出<br/>公钥 P = 内部公钥 + tweak"]
ROOT -->|"密钥路径<br/>Key Path"| KP["直接用聚合签名花费<br/>最快、最便宜、最隐私"]
ROOT -->|"脚本路径<br/>Script Path"| MAST["MAST 根"]
MAST --> L["脚本A<br/>2-of-3 多签"]
MAST --> R["哈希节点"]
R --> RL["脚本B<br/>时间锁"]
R --> RR["脚本C<br/>哈希锁"]
style KP fill:#c8e6c9
优势:
Babylon 是一个比特币质押协议,允许 BTC 持有者在不离开比特币网络的情况下参与 PoS 链的质押。
sequenceDiagram
participant User as BTC 持有者
participant BTC as 比特币网络
participant Babylon as Babylon 协议
participant PoS as PoS 链
User->>BTC: 构建 Taproot 质押交易
Note over BTC: BTC 被锁定在<br/>Taproot 脚本中
BTC-->>Babylon: 质押证明上链
Babylon->>PoS: 提供安全保障
PoS-->>User: 质押奖励
Note over User,BTC: 解锁条件:<br/>1. 正常解锁(时间锁到期)<br/>2. 提前解锁(双方签名)<br/>3. 惩罚(作恶则资金销毁)
Babylon 利用 Taproot 脚本实现条件锁定:
关键点:BTC 始终留在比特币链上,不需要跨链桥,消除了桥接风险。