Topics 区块链Current Page

详解:软分叉的定义及其运作原理是什么?

初級
区块链
Mar 19, 2021
閱讀時間 8 分鐘

AI 概要

展开

仅需 30 秒,即可快速掌握文章内容并判断市场情绪!

详细概要

如果您对加密货币感兴趣,您可能听说过所谓的“分叉”。简而言之,分叉是区块链协议的变更,由参与者商定。 

这种情况可能因各种原因而发生,可分为软叉和硬叉。 

在本文中,我们将讨论区块链上软分叉的概念 - 它是如何运作的,它是如何激活的,还有一些例子,以及软分叉与硬分叉有何不同。

在比特币和其他加密货币方面,当加密货币链出现“暂时分歧”时,就会出现软分叉。软分叉是指软件协议的变更,仅导致之前有效的区块或交易失效。

有了软分叉,所做更改是向后兼容的,这意味着旧节点仍然可以向区块链添加新区块,只要它们遵守新规则即可。区块链的规则称为区块链协议。 

让我们来讨论一下与区块链协议相关的软叉概念。

什么是区块链协议?

区块链可以定义为公共分布式分类账,其记录全球连接的称为节点的计算机网络上的交易。所有节点均相同,通过互联网相互连接。在网络上,所有参与节点必须在交易添加到区块链之前对其进行验证。 

区块链通常根据预定义的区块链协议规则运行,而区块链协议是网络中所有参与的同行(节点)所商定的。这些规则包括以下内容:

  1. 认证和管理网络交易的说明

  2. 定义网络上所有参与节点相互交互机制的算法

  3. 应用程序编程接口(在某些情况下)

因此,就本协议而言,软分叉是对软件协议的修改,因此只有之前有效的交易区块才会失效。由于旧节点将区块链上的新区块识别为有效,因此软叉被视为向后兼容。

软叉经常被用作升级比特币区块链的最常用选择,因为它们降低了网络中断的风险。此外,与硬分叉不同,软分叉只需要大多数矿工升级,才能实施新规则。

有时,由于区块链存在短暂差异,使用未升级节点的矿工可能会违反其节点不熟悉的新共识规则,因此也可能会出现软叉。如果未升级的节点承载矿区块,则升级的节点将拒绝后者。  

另一种类型的分叉称为硬分叉,这是一种协议修改,要求所有网络节点将其软件升级为最新版本,以便继续参与网络。与软分叉不同,硬分叉会阻止升级版区块链中的节点接受区块链上的旧规则;仅遵循新规则。 

软叉与硬叉

硬分叉和软分叉的相似之处在于它们都改变了加密货币平台的现有代码。虽然硬叉和软叉对于区块链网络的持续运作和有效治理至关重要,但两者之间存在根本差异。

首先,随着越来越多的用户转向使用更新,软叉仅导致单个区块链保持有效。从本质上讲,这是区块链的逐步更新。然而,在硬分叉下,新旧区块链同时存在,这意味着必须更新软件才能在新规则下运行。基本上,这突然分裂为区块链。因此,尽管两个分叉都会导致拆分,但一个软分叉会保留一个区块链,而一个硬分叉会导致区块链拆分为两个。 

因此,软叉和硬叉之间的主要区别在于,为了持续参与网络,更新节点软件是必不可少的。

大多数开发者在区块链上进行重大安全更新时,都会选择硬分叉。尽管这涉及到更多计算能力,但在这方面,硬分叉的风险要小得多。 

硬分叉可能是由于区块链社区的一个部门造成的,2018年比特币Cashhard分叉也是如此。这是因为比特币区块链社区在区块大小和可扩展性方面存在分歧。相比之下,软分叉通常可以通过双方协议解决,并在区块链社区中融入更具凝聚力的情绪。 

软叉如何运作?

如前一节所述,由于对软件协议进行了向后兼容的修改,因此会出现软叉。因此,新的分叉链遵循新规则,也遵循旧规则。从本质上讲,原链继续遵循旧规则。

新交易通常是补充性软分叉,只需参与者(接收方和发送方)与矿工一起了解新交易类型。这涉及到让新交易类型出现在以前的客户(向任何人支付交易)中,并说服矿工拒绝旧区块,包括这些交易,除非交易符合新规则。

要实现软分叉,大多数矿工需要运行识别分叉的客户端。简而言之,矿工遵守新规则越多,分叉后网络就越安全。例如,如果 3⁄4 的矿工认出叉子,则其余 1⁄4 区块无法保证遵守新规则。然而,对于仍不知道新规则但会被新节点忽略的旧节点,它们仍将保持有效。

就升级而言,软叉无需升级节点即可保持共识。这是因为所有使用新软分叉规则的区块也遵循之前的规则。因此,以前的客户会接受他们。 

但是,需要硬分叉才能反转软分叉。这是因为软分叉仅认证有效区块集是分叉前有效内容的合适子集。如果用户升级为软化后分叉客户端,而后来大多数用户决定切换回软化前分叉客户端,则一旦引入不符合客户新规则的区块,软化后分叉客户端用户就会破坏区块链的和谐。

为什么要使用软叉?

您可能已经意识到,软叉正在发生宇宙变化。它可以更改或添加功能,而不会实际干扰区块链结构,并可能由于共识算法变化或某些软件更改/升级等各种原因而发生。

当网络升级中的大多数矿工使用哈希能力执行新规则时,这称为矿工激活的软叉 (MASF)。

还有一个用户激活的软叉 (UASF)。无需矿工的支持,完整节点即可协调执行新规则。 

由于区块链存在一些暂时性差异,使用未升级节点的矿工违反了其节点不熟悉的新协议规则,因此可能会发生软分叉。

软叉示例

软叉已被用作升级比特币区块链的最常用选择,因为它们被认为导致网络分裂的可能性较低。之前,软叉的成功示例包括 BIP 66(处理签名验证)和 P2SH(比特币地址格式更改)等软件升级。

  1. BIP(34、65 和 66)通过利用区块版本数量的矿工信号安装在比特币区块链上。基本上,我们提出了新的共识规则,用于版本号高于网络上当前使用的区块版本的区块。 

  2. P2SHor PAY-TO-SCRIPT-HASH 是 2012 年在比特币区块链上添加的一个补丁,修改了其验证交易的方式。比特币通常以“3”开头,而不是以“1”开头。

  3. SegWit 或 SEGREGATED WITNESS 是一种用于提高比特币交易速度的软分叉。由于新区块平均每 10 分钟挖一次,因此其基本理念是增加每个区块中可能包含的交易数量。SegWit 将在每个区块中释放一些空间,然后可用于纳入更多交易。这是通过从区块中移除公钥以及与每笔交易关联的签名并通过不同的消息传递渠道发送来实现的。由于公钥和签名占整个交易规模的近 60%,因此单独发送它们可能会使每个区块的交易数量翻倍。因此,由于“见证人”(签名)与交易分开(单独发送),因此该方法被称为“独立见证人”。

结语

叉币为区块链网络提供了自我升级的机会,同时也增加了现有加密货币的功能,例如扩展对采用同样重要的功能。在比特币区块链中,软叉经常用于实施全新升级的规则和向后兼容的算法。

但挑战更多在于分叉的执行,而不是其原则。因此,有效的治理流程是其实施的关键。

    roadmap