区块链可能是去中心化的,但这并不意味着其开发人员总是意见一致。虽然更多的Web3协议使用去中心化自治组织(DAO) 和治理代币等软件策略来达成协议并试图缓解争议,但有时,加密货币领域会爆发重大冲突。当加密社区无法达成妥协时,硬分叉有时是最终结果。

硬分叉通常给人一种刺耳的感觉,但并不总是坏消息。在少数情况下,硬分叉链(例如以太坊)的影响力甚至比其前身更大。
在本指南中,我们将探讨硬分叉发生的方式和原因,以及开发人员在不造成分歧的情况下进行创新的策略。
加密货币中的硬分叉是什么?
硬分叉意味着区块链编码指令发生根本性转变,从而导致网络分裂。发生硬分叉后,区块链上的节点必须更新其系统并加入新协议;否则,它们无法使用最新的代码标准处理加密交易。
换句话说,硬分叉是向后不兼容的,因为如果不安装硬分叉升级,节点就无法在新网络上运行。硬分叉会创建两个不兼容的区块链,它们拥有独立的原生加密货币和独特的交易历史、技术规格和验证程序。
硬分叉与软分叉:主要区别
软分叉是区块链的另一种升级,但不如硬分叉那么激进。与硬分叉不同,软分叉向后兼容,这意味着网络上的节点无需更新其软件即可继续处理加密货币交易。它们在生效时也不会创建两个独立的区块链。
可以将软分叉想象成智能手机的软件更新——旧版本仍可运行,但无法为用户提供升级后的所有增强功能。软分叉不会对加密货币网络造成重大分裂,因为它们不会触及管理区块链代码的基本规则。通常,软分叉升级会修改区块链基础设施的选定元素,而不会引入与网络核心协议的任何不兼容性。
成功软分叉的一个显著例子是 2017 年比特币的隔离见证 (SegWit) 更新,它重新排列每个区块中的 BTC 交易数据,以提高效率和可扩展性。
什么原因导致硬分叉?
硬分叉有时是区块链社区内经过深思熟虑的讨论的结果,但通常,这些分裂源于不可调和的分歧和激烈的争论。这些分歧可能源于各种因素,包括对区块链的愿景、价值观或技术考虑的冲突。
例如,2017 年,BTC 社区的一部分因对每个 BTC 交易块的最大内存容量(即区块大小)的争论而创建了比特币分叉链 Bitcoin Cash (BCH)。支持软分叉 SegWit 的开发人员倾向于将比特币的最大区块大小保持在 1 MB,以避免硬分叉。与此同时,BCH 阵营的人士认为,比特币需要增加其平均区块大小,以有效处理不断增加的交易负载。
安全相关问题或数据泄露是硬分叉升级的其他潜在原因。例如,在黑客从以太坊 (ETH) 上的众筹协议 DAO 窃取了 6000 万美元后,开发人员争论是否要创建一个新的区块链来将损失的资金返还给加密货币交易者。最终,以太坊社区决定继续进行硬分叉升级,重写交易历史以将资金重新分配给 DAO 参与者。因此,今天的以太坊区块链是一条分叉链,而其支付账本上有 DAO 黑客数据的“原始”以太坊被称为以太坊经典 (ETC)。
什么是意外硬分叉?
纵观加密历史,数字资产意外分裂成两条独立链的情况屡见不鲜,类似于故意硬分叉。意外硬分叉的结果与预先计划好的硬分叉相同,但加密社区中没有人期望或想要出现这种情况。
通常情况下,意外硬分叉是由软件错误、网络同步问题或其他技术故障引起的,节点运营商会不断监控其区块链,以寻找这些意外更新的警告信号。开发人员经常使用常规测试程序、第三方代码审计和跟踪机制来最大限度地降低意外硬分叉的可能性和影响。
硬分叉的利与弊
硬分叉在加密货币圈中具有负面含义,但在某些情况下,这些升级可以增强区块链的运行。如果大多数开发人员和节点都同意进行彻底的协议更改(并且就何时以及如何实施这些更改进行了明确的沟通),那么硬分叉就有可能创建一个新的、改进的加密网络。
硬分叉的优点
引入新功能和用例:通过改变区块链基础设施的基础,硬分叉为程序员提供了最大的灵活性,可以在其生态系统中开发创新用例,从而有可能提高网络效率和可扩展性。硬分叉更新中的根本性变化可能是必要的,以便在快速发展的加密市场中保持相关性和竞争力。
有助于解决一些安全问题:如果黑客利用区块链的弱点窃取资金或操纵交易数据,硬分叉提供了一种重置网络并向受影响用户恢复丢失资金的潜在方法。通过创建新的区块链分叉,开发人员可以重新评估其先前链中的安全漏洞,制定新的安全措施,并重写交易数据以补偿受到黑客攻击的钱包。
潜在地解决社区冲突:当加密社区中的争论没有简单的答案时,硬分叉为持不同意见的开发人员提供了一种在不干扰原始区块链的情况下追求其愿景的方法。虽然这种解决方案通常不如就软分叉升级达成群体共识那么理想,但它有助于避免长期冲突,因为它在不同协议上创建了明确的划分。
硬分叉的弊端
社区分裂:硬分叉会创建单独的区块链,这就是为什么它们经常破坏加密社区的和谐、群体协同和创造性合作。围绕硬分叉的争论经常会激起尖锐的分裂,迫使开发人员和节点在两条不兼容的链之间做出选择。
加密货币交易者的困惑:尽管硬分叉是一种升级,但分叉链上的加密货币是新的数字资产,而不是现有货币的修改。当分叉的加密货币共享相似的名称(例如,比特币现金和比特币,或以太坊和以太坊经典)时,有时会在加密货币市场造成混乱,尤其是当开发社区没有明确一致的沟通计划时。
安全风险:即使大多数节点选择留在非分叉链上,硬分叉也会从原始区块链上的节点中吸走一些能量,从而降低两个网络的去中心化程度和安全性。硬分叉后,较小的区块链最容易受到黑客攻击,因为黑客发起 51% 攻击并接管区块链所需的资源较少。
如何避免硬分叉
硬分叉不可逆转,因此开发人员通常会努力避免与这些更新相关的争议和混乱。在极端情况下,硬分叉可能是唯一的解决方案,但程序员可以使用一些策略来降低陷入可怕局面的风险。
社区参与和清晰的沟通
为了避免误解,开发人员经常在社交媒体和社区论坛上发布更新,并开放沟通渠道,确保拟议变更的透明度。这些讨论有助于让去中心化网络上的每个人都参与进来,并确保程序员和利益相关者在开发的每个阶段都达成共识。
Web3 社区中知识流动得越顺畅,就越容易消灭潜在问题。
去中心化治理协议
DAO 和治理代币等链上治理工具让利益相关者在决策中拥有发言权。由于此模型中的每个人都可以投票并提出协议更新建议,因此用户更有可能感到被认可,并成为具有共同愿景的协作社区的一部分。人们在区块链生态系统中感受到的价值越高,用户就越有可能努力维护他们的网络而不是制造分裂。
测试网部署
测试网是模拟的在线环境,为开发人员提供了一个安全的空间来评估软件更改,然后再将其应用于区块链的主网。通过研究测试网上的更新,程序员可以迭代多种更新方案并评估其优缺点。
广泛的测试还为开发人员提供了有关所提议升级的有效性的大量证据,他们可以与社区分享这些证据,以供仔细考虑,然后再决定最佳解决方案。
应急响应计划
应急响应计划也称为应急协议,它为开发人员提供了一套在出现争议时解决争议的程序,以及缓解紧张局势影响的后备计划。即使社区无法达成一致,应急计划也能帮助开发人员做好准备,防范预先确定的安全漏洞,确保网络即使出现分裂也能顺利运行。