内容

  • 入口

  • 谁在区块链网路中做出决策?

  • 什么是叉子?

  • 硬分叉和软分叉的区别

    • 什么是硬分叉?

    • 什么是软分叉?

  • 硬分叉和软分叉哪个比较好?

  • 最后的想法


入口

每当您被要求更新智慧型手机上的数位银行应用程式时,您可能会立即执行此操作。事实上,您的手机可能会在您没有意识到的情况下自动更新。这是一个必要的过程。最终,如果您不安装该软体的最新版本,您将面临被拒绝存取服务的风险。

开源加密货币的情况完全不同。要使用比特币,您不必阅读创建它的每一行代码,但您可以选择这样做。这里没有等级秩序,也没有银行强制更新或制定任意规定。因此,向区块链网络添加新功能可能是一个具有挑战性的过程。

在本文中,我们将研究如何在没有中央机构的情况下升级加密货币网络。有两种不同的机制可以做到这一点:硬分叉和软分叉。


谁在区块链网络中做出决策?

要了解分叉如何工作,首先了解参与网络决策过程(或管理)的参与者非常重要。

在比特币中,参与者大致可以分为三个小组——开发者、矿工和全节点用户。这些是能够真正为网络做出贡献的各方。尽管轻量级节点(即手机、笔记本电脑等上的钱包)被大量使用,但在考虑网络时它们不被视为“参与者”。


开发商

开发人员负责创建和更新代码。在典型的硬币中,任何人都可以为这个过程做出贡献。该代码是公开的,因此开发人员还可以建议其他开发人员考虑进行更改。


矿工

矿工是维护网络安全的人。他们运行加密货币的代码,并投入资源向区块链添加新块。例如,在比特币网络上,他们通过工作量证明来做到这一点。他们因自己的努力而获得整体奖励。


全节点用户

全节点是加密货币网络的支柱。他们验证、发送和接收区块和交易,并维护区块链的副本。


您经常会遇到这些类别的交叉点。例如,您可以同时是开发人员和全节点用户,或者同时是矿工和全节点用户。你可以是全部,也可以不是。事实上,我们认为的许多加密货币用户并不担任这些角色。相反,它更喜欢使用轻量级节点或集中式服务。

看看上面的定义,您可能会认为开发人员和矿工可以决定网络的名称。开发人员创建代码——没有他们,就没有软件可以运行,没有人会修复软件错误或添加新功能。矿工还可以保护网络——如果没有良性的挖矿竞争,该链可能会落入他人手中或陷入瘫痪。

但如果这两个群体强迫网络的其他部分遵循他们的意愿,那就不会有好结局了。许多人认为,真正的力量集中在全节点上。这在很大程度上是网络的可选功能,这意味着用户可以选择运行哪个软件。

开发人员不会来到你家,用枪指着你强迫你下载比特币核心二进制文件。如果矿工强迫用户做出他们不想要的改变,并采取“接受或离开”的方式,用户将选择离开网络。

这些政党并不是全能的统治者——他们只是服务提供者。如果人们决定不使用网络,硬币就会失去价值。折旧直接影响矿工(他们收到的奖励以美元计算价值会降低)。开发者也可能被用户忽视。

正如您所看到的,该软件不属于任何人。您可以进行任何您想要的更改,并在其他人开始使用您修改后的软件时进行沟通。在这种情况下,您可以在软件中创建一个分支,并在此过程中创建一个新的网络。


什么是叉子?

软件分叉发生在软件被复制和修改的地方。原来的项目继续存在,但现在与新项目分离,新项目采取了新的方向。假设您最喜欢的加密货币网站背后的团队在如何开展业务方面存在重大分歧。团队的一部分可能会在不同的域上创建网站的副本。但稍后,它可能会开始共享与原始网站不同类型的内容。

这些项目来自相同的基础设施并具有共同的历史。然而,就像一条路一分为二一样,他们的道路现在永远分开了。

这种事情在开源项目中经常发生,并且早在比特币或以太坊出现之前就已经存在了。然而,硬分叉和软分叉之间的区别几乎是区块链世界所独有的。现在让我们更详细地讨论这些。


➟ 你想进入加密货币的世界吗?您可以从币安购买比特币!


硬分叉和软分叉的区别

尽管它们的名称相似并且用途基本相同,但硬分叉和软分叉有很大不同。


什么是硬分叉?

硬分叉是不向后兼容的软件更新。当节点添加与负节点规则以某种方式冲突的新规则时,通常会发生这种情况。新节点只能与使用新版本的节点通信。结果,区块链分裂并出现两个不同的网络:使用旧规则的网络和使用新规则的网络。


Node’lar güncelleme yaptıklarında maviye döner. Eski sarı node’lar yeni node’ları reddeder, fakat maviler kendi arasında bağlantı kurar.

更新时节点会变成蓝色。旧的黄色节点拒绝新节点,但蓝色节点在它们之间建立连接。


在这种情况下,现在有两个网络并行运行。两者仍然在区块和交易上运行,但它们不再在同一个区块链上运行。在分叉之前,所有节点都具有相同的区块链(并且此历史持续存在),但在分叉之后,它们具有不同的块和交易。


blockchain 600.000. blokta çatallanıyor


由于网络具有共同的历史,如果您在分叉之前持有代币,那么您现在在两个网络中都拥有代币。 600,000。假设在区块分叉时您有 5 个 BTC。这5个BTC是旧链的600,001。你可以把它花在区块链上,但这 5 个 BTC 是新区块链的 600,001 个。它仍然不会花在您的博客上。假设密码学没有改变,你的私钥仍然会在分叉网络中持有 5 个 BTC。

硬分叉的一个例子是 2017 年的分叉,它将比特币分成两个独立的链——原始网络比特币 (BTC) 和新网络比特币现金 (BCH)。这个分叉是在对最佳扩展方法进行长时间讨论后做出的。虽然比特币现金支持者希望增加区块大小,但比特币支持者反对这一改变。

区块大小的增加需要改变规则。这个分叉是在 SegWit 软分叉之后进行的(稍后会详细介绍),因此节点当时只能接受小于 1MB 的区块。如果您创建的块在其他方面有效但大小为 2 MB,则其他节点将拒绝它。

这些块可以由修改其软件以允许大于 1MB 的块的节点控制。当然,这样一来,使用新软件的节点就会与旧版本的节点变得不兼容,只有进行相同协议更改的节点才能在彼此之间进行通信。


什么是软分叉?

软分叉)是向后兼容的升级,这意味着升级后的节点可以继续与未升级的节点进行通信。在软分叉中,通常会添加一条与旧规则不冲突的新规则。

例如,可以通过软分叉来减少区块大小。我们举一个比特币的例子:虽然比特币的区块大小有限制,但区块的大小却没有限制。如果你只想接受特定大小以下的块,你所要做的就是拒绝较大的块。

但是,执行此操作不会自动断开网络连接。您将继续与不遵循此规则的节点进行通信,但您将过滤它们转发给您的一些信息。

软分叉的一个很好的现实例子是前面提到的隔离见证(Segwit),它发生在比特币/比特币现金分裂之后。 SegWit是一种升级,改变了区块和交易的格式,但它的设计很巧妙。旧节点可以继续验证交易和区块(新格式不会破坏任何旧规则),但它们无法理解它们是什么。当节点切换到新软件时,某些部分变得可读,从而允许节点解析附加数据。


SegWit’in etkinleştirilmesinin üzerinden iki yıl geçmiş olsa da tüm node’lar yükseltmeyi yapmamıştır. Yükseltmeyi yapmak bazı avantajlar sunar, fakat ağı bölecek bir değişiklik olmadığı için değişikliğe yönelik aciliyet söz konusu değildir.


尽管SegWit激活已经两年了,但并非所有节点都进行了升级。进行升级可以带来一些好处,但由于没有任何更改会破坏网络,因此没有迫切需要进行更改。


硬分叉和软分叉哪个更好?

从根本上来说,这两种类型的分叉有不同的目的。有争议的硬分叉可能会分裂社区,但有计划的硬分叉提供了根据每个人的共识更改软件的自由。

软分叉是更温和的选择。一般来说,能做的事情是有限的,新的变化不能与旧的规则相冲突。但是,如果可以安排更新与旧的保持兼容,则无需担心网络分裂。


最后的想法

硬分叉和软分叉对于区块链网络的长期成功至关重要。在去中心化系统中,即使没有中央权威,它也允许进行更改和升级。

分叉使区块链和加密货币能够在不断发展的过程中集成新功能。如果没有这些机制,我们将需要采用自上而下控制机制的集中式系统,否则协议将必须在其整个生命周期中遵循相同的规则。


➠ 您对分叉有疑问吗?您可以访问问学院!