什么是分叉?如何区分硬分叉与软分叉?


在中心化的系统中,版本升级是非常容易的事,官方公司会把应用程序优化好后提供给用户下载;但是在去中心化的系统中,由于采用工作量证明机制,所以区块链升级并不是那么简单的事,甚至一言不和就导致分叉。

什么是区块链分叉?

区块链分叉只是对区块链网络协议的更改。当区块链分叉发生时,它会分裂成两个独立的网络,有两个单独的区块链。分叉是一种技术事件,当网络上的矿工几乎同时发现一个区块时,会导致在网络的不同部分同时创建两个区块。

分叉可以作为计划协议更新的一部分,透过社区驱动的计划来添加新功能或增强现有功能。此外,它还有可能因为网络的攻击而发生。任何被设计为去中心化的东西都是在分叉的风险下完成的,许多加密货币现在已经多次分叉成更小的部分。

为什么会发生区块链分叉?

以比特币软件而言,如果使用者不对其进行更改,那么分叉就不会发生;一旦有使用者对该软件进行了任何的更改,即使只是更改了软件中的一个字元,都会被视为分叉,这是因为该软件的新版本将与先前版本不相容。

大多数分叉都是为计划的升级而完成的,以便每个人都能获得协议的最新安全性和功能。但是,在某些情况下,如有人在软件中发现了漏洞或错误,就会导致意外的分叉。在这些情况下,通常是一小群开发人员快速修复错误并发布软件的新版本。它们可能只能在GitHub 上使用几个小时,然后才能获得多数哈希算力并成为永久性的。

区块链分叉的类型

分叉使得原先的区块链发生分裂并改变方向,以前的链条将停滞不前并停止增长,而新的链条开始且比以前更大。

常见的分叉有几种,但所有这些都可以分为意外分叉和有意分叉。

意外分叉是指由于代码中的错误或异常的哈希率波动,在网络分化为两个或多个方向后发生长区块链分支。意外分叉会使节点看到在旧块之上生成的块,并导致它们认为他们正在处理无效链。

同时,当节点运营商决定启动自己的区块链并在其上生成块时,就会创建一个有意的分叉,有时称为个人分叉。值得注意的是,有意分叉可以是软的,也可以是硬的。软分叉是用于验证交易和区块的规则集的更改。只有当大多数参与者接受这些更改时,它们才能通过软分叉实现。当网络中的节点无法就协议操作规则达成共识(即什么使区块有效)时,就会发生硬分叉。这可能是由于参与者之间缺乏共识以及系统中改变区块有效性标准的错误造成的。

什么是软分叉?

软分叉透过复制和修改软件代码的方式实现。原来的专案继续存在,只是单独产生了一个新的项目,新的项目沿着不同的方向发展。

假设您支援的加密货币团队对如何发展存在重大分歧,团队的一部分可能会将网站复制到其他领域中,他们也将会发布与原来内容所不同的文章。

这些项目都是建立在一个共同的基础上,拥有相同的历史资料。就像是一条道路后来分成两条一样,它们的道路从分叉时开始发生了分歧。

什么是硬分叉?

顾名思义,硬分叉是一种与旧版本不向后相容的软件升级。换句话说,如果您选择安装并运行新软件,则旧版本将不再有效,反之亦然。硬分叉是对网络协议的根本性更改,要求所有节点或用户升级到最新版本的协议软件。

与软分叉相反,硬分叉被称为「不可逆的」,如果用户不升级软件,则不会将您识别为网络的一部分。

硬分叉是有争议的,因为缺乏向后相容性。如果有些人开始使用新软件,而其他人没有,会发生什么?如果运行旧版软件的人不同意事情的变化,会发生什么?要回答这些问题,首先需要了解导致硬分叉的原因。

硬分叉是「民主」的一种形式。如果有足够多的人支援更改,那么新版本就会被采用,旧版本将不再可行。这样,每个人都可以共同决定是否要升级。通常,如果超过50% 的矿工支援硬分叉,它将启动并成为永久性的(即没有回头路)。

但是,如果占计算能力不到50% 的矿工想要创建偏离网络原始规则的升级,他们可以透过添加重放保护来实现这一点。这样,只有一条链将被视为有效和「真实」。

硬分叉有两个主要好处。首先,它们解决了扩展问题。通过增加区块大小,硬分叉允许同时处理更多交易,这意味着更低的费用和更短的确认时间。换句话说,更大的区块可以容纳更多的交易,而不必支付更高的费用或等待数小时甚至数天才能进行一次确认。其次,硬分叉解决了共识问题。

软分叉vs 硬分叉

软分叉是对系统的升级,使其更安全或更高效,但仍然可以理解尚未更新的旧系统。它被称为「软」,因为旧软件版本创建的所有块仍然被新软件识别。如果每个人都切换到使用新版本,从使用者的角度来看,没有任何区别,因此,矿工和使用者将很快采用更新(通常在几天内)。软分叉只需要大多数矿工升级他们的软件。

硬分叉是协议中的更改,使以前的版本与新版本不相容。硬分叉的目标是进行升级,但更改不向后相容。为了使这种类型的升级正常工作,每个人都需要同时切换新版本,如果有些人继续使用旧版本,那么将有两种不同类型的硬币,这可能会导致不同版本使用者之间的交易问题。如果存在拆分,则两组将使用不同的货币。

硬分叉与以前的版本不相容,因为这些版本通常会改变一些事情,使人们更难继续使用预升级的软件。出于这个原因,硬分叉需要广泛的共识,就像每个使用硬币的人之间95% 的同意一样。这是非常罕见的(例如,没有共识将比特币硬分叉成比特币现金)。

与只需要矿工更新的软分叉不同,硬分叉要求网络中的每个参与者升级他们的客户端,否则,它们不能继续成为加密货币生态系统的一部分(并且还损失了所有的钱)。这些类型的分叉需要大量的计划,如果实施不正确,甚至可能使加密货币的安全性降低。

软分叉是最常见的区块链升级类型,因为它们向后相容,只需要大多数矿工升级他们的软件,但有时如果存在分裂,它们会导致人们使用不同的货币,比如比特币现金(生物安全资讯交换所)硬分叉与以前的版本不相容,并且要求每个人都使用类似的用户端,以便一种货币不会变成两种货币,但它需要参与者之间近乎一致的共识。

本文链接地址:https://www.wwsww.cn/jishu/13594.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。