硬叉与软叉:实际区别详解
探索硬分叉和软分叉如何改变区块链协议、影响用户以及影响加密货币生态系统。
- 区块链协议的更新或升级
- 社区在治理方面存在分歧
- 漏洞修复或安全漏洞处理
- 在可扩展性或交易费用等基本原则上存在分歧
分叉主要分为两大类:硬分叉和软分叉。每种分叉对向后兼容性、共识机制和链的连续性都有不同的影响。对于在区块链生态系统中穿梭的开发者、投资者和用户而言,了解每种分叉的技术机制和实际应用案例至关重要。
硬分叉是对区块链协议的根本性改变,它不向后兼容。尚未升级到新版本软件的节点或用户无法验证或与新链上生成的区块或交易进行交互。因此,硬分叉会造成与先前区块链版本的永久性分歧,如果没有获得一致通过,将导致两个独立的账本。
硬分叉的主要特征包括:
- 不向后兼容:旧节点会拒绝来自新链的区块。
- 链分裂:如果不是所有节点都升级,区块链将分裂成两条链。
- 创建新代币(通常):分叉可能会产生一种新的加密货币。
- 需要共识:社区参与对于分叉的长期可行性至关重要。
实际示例:比特币现金 (BCH)
2017 年 8 月,比特币网络发生了一次硬分叉,由此产生了比特币现金。
当时比特币社区的主要争议在于如何扩展网络以容纳更多交易。比特币现金将区块大小从 1MB 增加到 8MB(后来又进一步增加),从而允许每个区块处理更多交易并降低手续费。这次升级不向下兼容,比特币现金因此成为一个独立的区块链,拥有自己的规则和代币 (BCH),与比特币 (BTC) 截然不同。
在分叉时持有比特币的用户在分叉后获得了等值的 BCH。其他值得注意的硬分叉:
- 以太坊经典 (ETC):2016 年 DAO 黑客事件后,由于对撤销盗窃行为的分歧,从以太坊分叉而来。
- 门罗币硬分叉:定期发生,用于升级隐私协议或抵制 ASIC 挖矿。
- 卡尔达诺 Alonzo 硬分叉:2021 年在卡尔达诺中引入智能合约,需要进行协议升级,与旧版本不兼容。
硬分叉通常比软分叉更具破坏性,但当社区严重分裂或需要进行根本性变革时,它提供了一种干净的解决方案。
与硬分叉相反,软分叉是对区块链协议的更改,这种更改是向后兼容的。这意味着,即使是未升级的(较旧的)节点仍然可以识别和验证由升级后的节点创建的区块,只要这些区块符合旧的规则。
软分叉并不一定会导致链分裂,前提是网络中的大多数节点同意并执行新规则。软分叉的基本属性:
- 向后兼容性:旧节点在修改后的网络上继续运行。
- 不创建新币:现有加密货币保持不变。
- 需要多数算力:新规则由多数算力执行。
- 通过共识实现安全:鼓励网络内协议的统一。
实际示例:比特币隔离见证升级
最著名的软分叉之一发生在2017年8月,当时比特币网络激活了隔离见证 (SegWit)协议升级。
SegWit 改变了交易数据的存储方式,有效地将签名数据(见证)从交易区块中移除,并将其放置在一个单独的结构中。这一改变使得在一个区块中可以存储更多交易,而无需增加区块大小的限制。由于 SegWit 交易在旧版比特币协议的规则下仍然有效(尽管旧客户端并未完全利用这些规则),因此该改变是向后兼容的。
因此,旧节点仍然可以验证区块,并且没有创建新的代币。其他主要的软分叉包括:
- 以太坊拜占庭升级:在保持网络完整性和确保向后兼容性的同时,实现了隐私和效率方面的改进。
- 莱特币 MimbleWimble 集成:作为软分叉实现,用于可选的、非强制性的保密交易。
- BIP66(比特币改进提案):通过软分叉强制执行严格的 DER 签名,以安全地改进共识规则。
当需要在保持网络一致性的同时进行增量更改或优化,并避免分叉的风险(和成本)时,软分叉通常是首选。
然而,如果并非所有用户都同意,软分叉可能会引发争议,而且尝试软分叉仍然可能导致硬分叉。如果共识失败,则会进行分叉,正如一些历史升级中所见。
最终,选择硬分叉还是软分叉取决于升级的目标、社区的共识程度以及协议变更的性质。