🗒️#0096 回顾taproot在主网激活的历程

type
status
date
slug
summary
tags
category
icon
password

详细介绍Taproot是如何通过的

Taproot是比特币网络的一次重要软分叉升级,旨在提升隐私性、可扩展性和脚本功能的灵活性。它主要包括以下技术改进:Schnorr签名(BIP 340)、Taproot(BIP 341)和Tapscript(BIP 342)。Taproot的激活过程遵循比特币的共识规则和社区协调机制,具体通过过程如下:

1. 提案与开发阶段

  • 2018-2020年: Taproot的最初概念由比特币开发者Gregory Maxwell等人提出,随后由Pieter Wuille、Tim Ruffing、Anthony Towns等核心开发者逐步完善,形成了BIP 340、341、342三个标准提案。
  • 技术设计: Taproot结合了Schnorr签名和MAST(Merkelized Abstract Syntax Tree),允许更复杂的脚本以更低的成本和更高的隐私性执行。开发者在GitHub上提交代码,并在比特币邮件列表和IRC会议中广泛讨论。
  • 测试与审查: 社区对提案进行了严格的代码审查和测试,包括在测试网(Testnet)和签名网(Signet)上运行,确保升级的安全性和兼容性。

2. 激活机制的讨论

  • 背景: 比特币的软分叉升级需要社区达成广泛共识,同时避免分裂网络。历史上,激活机制(如BIP 9、UASF等)曾引发争议。
  • 激活方法选择: Taproot的激活机制在2020-2021年间被广泛讨论。开发者提出了多种方案,包括:
    • BIP 9(基于矿工信号):要求一定比例的区块(通常为95%)在固定时间内发出支持信号。
    • BIP 8(LOT参数):引入“强制激活”(LOT=True)或“非强制激活”(LOT=False)的选项,允许在信号期结束后由用户强制执行升级。
  • 社区争论: 部分开发者(如Luke Dashjr)支持LOT=True,认为强制激活能确保升级推进;另一些人(如Matt Corallo)支持LOT=False,强调避免分裂风险。最终,社区倾向于更保守的LOT=False方案,以确保广泛共识。

3. Speedy Trial方案的确定

  • 2021年初: 为了平衡效率和共识,开发者Anthony Towns提出了“Speedy Trial”激活机制。这是一种基于BIP 9的短期信号期方案,具体规则如下:
    • 信号期: 从2021年4月24日(区块高度681,504)开始,持续约3个月(到2021年8月11日,区块高度693,504)。
    • 阈值: 如果在任一难度调整周期(2016个区块,约两周)内,90%的区块包含支持Taproot的信号(通过在区块的nVersion字段设置特定位),则升级锁定。
    • 激活时间: 一旦锁定,Taproot将在2021年11月(区块高度709,632)正式激活。
    • 失败情况: 如果信号期结束未达阈值,升级将失败,需重新讨论激活机制。
  • 社区支持: Speedy Trial因其快速且低争议的特点,获得了开发者、矿池和社区的广泛支持。Bitcoin Core 0.21.1版本集成了该机制。

4. 信号期与矿池支持

  • 2021年4月-5月: 信号期开始后,主要矿池(如F2Pool、AntPool、Poolin等)迅速表示支持,并在区块中添加Taproot信号。
  • 快速锁定: 2021年6月12日,在一个难度调整周期内,支持信号的区块比例超过90%(实际达到98%以上),Taproot正式锁定,比预期更快。
  • 原因分析:
    • 矿池对Taproot的技术优势(如降低交易费用、提升隐私性)有清晰认识。
    • 社区宣传和开发者协调降低了反对声音。
    • 与SegWit激活时的争议相比,Taproot的共识过程更顺利,反映了比特币社区的成熟。

5. 激活与实施

  • 2021年11月14日: Taproot在区块高度709,632正式激活。Bitcoin Core客户端(0.21.1及以上版本)全面支持新规则。
  • 向后兼容: 作为软分叉,未升级的节点仍能验证区块链,但无法使用Taproot的新功能。
  • 后续影响: 激活后,钱包(如Bitcoin Core、Electrum)和应用逐步集成Taproot支持,推动了Schnorr签名和复杂脚本的采用。

6. 社区与生态的角色

  • 开发者: Bitcoin Core贡献者主导了技术开发和激活协调。
  • 矿池: 提供了关键的信号支持,确保快速锁定。
  • 用户与企业: 通过运行支持Taproot的节点和钱包,表达对升级的认可。
  • 社交媒体与讨论: 在Twitter、Reddit和比特币论坛上,社区积极宣传Taproot的优势,减少了潜在的反对声音。

简要总结通过的流程

  1. 提案与开发:2018-2020年,开发者提出并完善Taproot(BIP 340-342),社区审查代码。
  1. 激活机制讨论:2020-2021年,社区权衡BIP 9、BIP 8等方案,最终选择Speedy Trial(90%信号阈值,3个月信号期)。
  1. 信号期:2021年4月24日-6月12日,矿池快速发出支持信号,Taproot在6月锁定。
  1. 正式激活:2021年11月14日(区块709,632),Taproot上线,网络启用新规则。
  1. 社区协作:开发者、矿池、用户共同推动,确保无争议通过。
 
Loading...

© xiyu 2022-2025