什么是软分叉?区块链升级详解

什么是软分叉?区块链升级详解

区块链规则在软分叉发生时会变得更严格,而不是更宽松。那些错过升级的旧节点?它们仍然会继续跟踪新区块。不会出现混乱,也不会发生链分裂。你可能听说过比特币的类似升级,比如 SegWit 或 Taproot,并且想知道它与硬分叉究竟有何区别。

以下是通俗易懂的解释,省略专业术语。你持有加密货币、运行节点,还是只是好奇为什么有些升级会引发混乱,而有些升级却无人问津?通常,问题就出在这一个区别上。

什么是区块链中的软分叉?

软分叉只会让区块链的规则更严格,绝不会放松。原本在旧规则下会被接受的区块,现在可能会被拒绝。但是,遵循新规则的区块呢?旧软件仍然会将其视为有效区块。

这种单向兼容性正是关键所在。旧节点并不了解新规则的细节,说实话,它们也不需要了解。它们只会看到看起来有效的区块,然后继续运行,全然不知过去行之有效的部分现在已经失效了。

硬分叉会彻底改变这种情况。它们会放宽甚至完全重写规则,而旧节点根本无法验证这些规则。收紧还是放宽,这一个区别决定了升级是让所有用户都留在同一条链上,还是将网络一分为二。

这里有一个更清晰的理解:规则手册缩小了,而不是重写了。在分叉之前,一定范围的区块被视为有效。分叉之后,这个范围略有缩小。一些以前能通过的区块现在会被升级后的节点拒绝。但关键在于,所有在新规则下被接受的区块,在旧规则下也都是有效的。没有新的区块被允许通过。旧的区块只是被阻止通过。这就是为什么未打补丁的软件可以像什么都没发生过一样继续运行的原因。

软叉的工作原理是什么?

其机制归根结底是节点行为和规则验证。大致流程如下:

  1. 开发者提出一项变更,缩小有效交易或区块的范围,通常是为了修复某个限制或添加一项新功能。
  2. 社区和节点运营商审查、测试和讨论该提案,通常是通过比特币改进提案(BIP)等正式流程。
  3. 矿工或验证者开始发出对新规则的支持信号,通常是通过嵌入在他们生成的区块中的机制。
  4. 一旦信号达到激活阈值(通常在最近区块的 90-95% 左右),升级后的节点就会强制执行新规则。
  5. 未升级的节点继续使用其现有逻辑验证区块。由于新规则是旧规则的子集,因此满足新规则的区块也满足旧规则,所以未升级的节点可以毫无问题地接受它们。
  6. 网络继续以单链形式运行,升级后的节点强制执行更严格的规则,而未升级的节点则默默地从中受益,尽管它们并没有实际执行这些规则。

结果就是:无需所有参与者同时行动即可实现实时升级。这正是软分叉成为大多数常规区块链改进首选工具的原因。需要强调的是,未升级的节点本身并不主动执行新规则。它们只是依托于网络中占主导地位的算力正在为所有人强制执行这些规则。这也是为什么矿工的参与度对软分叉的实施速度和安全性至关重要的原因之一。

什么是软分叉?区块链升级详解

软叉与硬叉:它们之间究竟有什么区别?

软分叉和硬分叉的问题经常被提及,简而言之,关键在于兼容性。软分叉会缩小规则范围,使旧软件仍然能够接受;而硬分叉则会彻底改变规则,使旧软件完全无法接受。

方面软叉硬叉
规则方向更严格,缩小有效区块范围更宽松或从根本上改变了
向下兼容吗?是的,旧节点会接受新区块。不,旧节点会拒绝新区块。
需要通用升级吗?是的,否则链条就会断裂。
链条断裂的风险低的如果共识并非完全一致,则结果较高。
需要协调矿工/验证器信号完整网络协议
例子SegWit、Taproot比特币现金是从比特币中分离出来的。

软分叉通常影响较小,因为网络无需立即达成一致。硬分叉本质上更具破坏性,因为任何未能及时升级的用户实际上都会运行在另一个不兼容的区块链上。

这也是为什么硬分叉更容易成为新闻头条,而软分叉却很少引起关注的原因。硬分叉通常会伴随新的代码、新的交易所上线,以及关于哪条链才是“真正”项目的公开争论。而软分叉通常只会体现在钱包软件的版本号上,大多数用户根本不会注意到底层规则的任何变化。

比特币及其他领域软分叉的真实案例

软分叉并非理论概念。比特币曾多次使用软分叉来增加功能,而无需强制分裂网络。

  • SegWit(2017):隔离见证重构了交易数据计入区块大小的方式,修复了名为交易延展性的漏洞,并为闪电网络奠定了基础。它仍然是比特币历史上被引用次数最多的软分叉案例。
  • Taproot(2021 年):引入了 Schnorr 签名,提高了复杂交易的隐私性和效率,同时保持与尚未升级的节点的兼容性。
  • P2SH(2012): Pay-to-Script-Hash 简化了多重签名钱包和类似智能合约的脚本在链上的表示方式,同样没有强制网络分裂。
  • BIP66(2015):强制执行数字签名的严格 DER 编码,堵住了可能导致验证不一致的技术漏洞。

这些措施都以特定、深思熟虑的方式收紧了比特币的规则,而且每一项措施都没有将社区分裂成两种相互竞争的加密货币。

为什么开发者选择软分叉而不是硬分叉

如果可以选择,大多数比特币和以太坊核心开发者都会首先选择软分叉,这不仅仅是出于技术上的偏好,而是出于非常实际的原因。

首先,没有人会被强制要求在同一天升级。钱包、交易所、矿池等都可以按照自己的节奏迁移,而无需赶在最后期限前完成。这种灵活性在大规模应用中至关重要,因为要让成千上万个独立运营商协调一致地进行同步升级确实非常困难。

其次是统一性。软分叉能保持网络和代币的完整性。不会出现竞争代币。交易所无需选择哪条链才是“正统”链。社区也不会分裂成不同的阵营,争论合法性。对于支付网络而言,这种稳定性尤为重要。

可逆性也很重要。由于旧节点永远不会主动完全执行新规则,因此,一次失败的软分叉有时可以比撤销一次已经衍生出第二个独立交易币种的硬分叉更容易地恢复原状。

软叉的风险与局限性

软分叉并非毫无风险,尽管它通常被认为是一种更稳妥的选择。了解一些实际的局限性是很有必要的。

  • 未升级的节点仍然按照旧规则验证区块,这意味着它们无法独立验证新规则的特定条件是否真正得到正确执行,它们只能信任多数人的意见。
  • 如果足够多的少数矿工拒绝升级,继续按照旧规则生产区块,仍然会出现争议情况,有时甚至会导致事实上的分裂,即使分叉在技术上是“软的”。
  • 严重依赖矿工信号意味着软分叉的激活可能会受到矿池集中度的影响,这引发了人们对该过程在实践中究竟有多去中心化的合理质疑。
  • 有些软分叉的安全实现比看起来要复杂得多,因为开发人员必须确保新规则确实是旧规则的严格子集,任何错误都可能造成意想不到的验证漏洞。

这并不意味着软叉很危险。这只是意味着“向后兼容”并不等同于“零风险”,即使不考虑硬叉,协调性仍然至关重要。

什么是软分叉?区块链升级详解

区块链上的软分叉是如何激活的

单凭新代码并不能让软分叉上线。还需要有人确认网络是否真正准备就绪,这是一项协调工作。

比特币已经尝试过几种不同的方法来实现这一点。BIP9 式的信号传递是经典之作:矿工在挖出的区块中放置一个小标记,相当于举手示意“准备就绪”。一旦足够多的近期区块(通常接近 95%)在设定的时间窗口内举手示意,新规则就会生效。随后,新规则将得到执行。

诸如快速试用和各种用户激活的软分叉等新型激活方法之所以出现,部分原因是如果矿池反应迟缓或出于政治原因不愿配合,纯粹的矿工信号传递可能会停滞不前。这些替代机制赋予节点运营商和更广泛的社区对升级是否真正发生的更大影响力,而不是完全由矿工决定。

Taproot 在 2021 年的激活很好地诠释了这些方法如何协同运作。它采用了一种名为“快速试验”(Speedy Trial)的改进型信号机制,为矿工发出准备就绪的信号设定了一个更短的明确窗口,并设置了备用方案,即使没有矿工的全力支持,社区也能激活升级。实际上,由于信号传递顺利,备用方案的作用并不大,但它的存在表明,自比特币早期完全由矿工驱动的软分叉以来,激活机制的设计已经取得了长足的进步。

最后想说的话

大多数区块链网络的实际演进方式是:静悄悄、循序渐进,避免自我破坏。与其放松规则,不如收紧规则,这样网络才能不断添加新功能、修复漏洞、精简运行,同时还能保持对那些尚未升级的用户的可用性。选择加密基础设施的企业也应该追求同样的目标:在稳定统一的基础上进行改进,而不是进行颠覆性的变革。Plisio 也秉承着同样的理念:稳定、兼容,旨在即使底层网络不断变化也能持续运行。

任何问题?

这是一次向后兼容的升级。它收紧了有效交易或区块的判定标准,但从未升级过的节点仍然可以正常识别新区块。只有一条链,没有分裂。

软分叉会缩小规则范围,旧软件甚至不会察觉。硬分叉则会直接拒绝旧格式的区块,如果所有人不同步迁移,就会永久形成两条独立的区块链。

毫无疑问,SegWit 是最佳选择。它于 2017 年登陆比特币,改变了交易数据的统计方式,解决了交易延展性这一棘手问题。无需拆分。2021 年的 Taproot 也同样备受关注。

通常情况下是这样。没有强制的链分裂,人们会在准备好时自行升级。但不要说这是完全没有风险的,矿池集中度仍然会影响实际的激活过程。

实际上有好几种。SegWit、Taproot、P2SH、BIP66。都是真实存在的,而且都没有衍生出竞争币种。

通常不会。大多数分支都只是维护或计划内的新功能发布。真正会带来麻烦的是那些混乱、充满争议的硬分支,那些源于未解决争论的分支。

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.