什么是软叉(Soft Fork)和硬叉(Hard Fork)?

论坛 期权论坛 期权     
区块链技术学习   2019-10-27 06:06   5592   0
区块链技术学习(微信号:Blockchain1024)翻译
原文链接:https://hackernoon.com/what-are-soft-and-hard-forks-86d952a2f841


Fork通常意味着开源软件的进一步发展。由于开源软件可以免费访问,并且任何人都可以下载,因此每个人都有机会制作自己的软件副本,并根据自己的目的对其进行修改。这将迫使开发人员开发软件。


软件的修改不应该被看作是一种邪恶的干预,而应该被看作是开源项目的基本和可取的部分。所以,具有编程知识的用户可以根据自己的需要添加新的功能,因此可以存在不同的软件发行版。


和区块链有什么关系?


从一个像比特币一样的公共区块链开始,它最终是基于开放源代码的,开发人员可以如上述进行本地修改。但是,对于区块链技术,网络参与者必须就某些方面达成一致。因此,如果网络中的某些矿工使用SHA-256哈希函数,而其他网络用户使用不同的哈希函数,就会出现问题。毕竟,您不只是希望将交易写入自己的“预算簿”,而且还要以尽可能多的网络参与者能够识别事务的方式来进行。


在实践中,这看起来如下:


1、有一个被普遍接受的比特币版本。
2、用户需要新的功能,例如增加块大小来解决容量问题。
3、任何用户复制当前的比特币软件,并修改它的块大小更高。
4、他将该软件分享给其他也可以使用它的用户。
5、现在网络上有两种版本的比特币软件,用户可以决定使用哪一种。


但是要注意:区分区块链分支和软件分支非常重要。在后一种情况下,Fork用于在现有服务的基础上开发新服务或附加服务,而在区块链上下文中,Fork更倾向于提供替代服务。此外,请确保将您所有的加密货币都存储在您自己的钱包中。Fork必须按照其对现有软件或区块链网络的影响进行分类:


Forks的类型


要理解这些解释,您应该知道节点是关于什么的。简而言之,节点将区块链存储为网络节点并将其提供给网络。区块链的当前共识,即最近的交易历史,最好是分散存储在所有节点上。


网络中的所有节点都必须使用兼容的软件进行操作,以便它们能够就区块链达成一致。如果提交了更改建议,有两种方法可以执行Fork:


软叉(SoftFork)


软叉的特点是向下兼容。因此,网络中可能有与新软件一起工作的节点。这不会导致兼容性问题:与旧软件兼容的节点也接受现在选择新软件的用户的意见。另一方面,用户希望用新软件建立他们的标准,因此对所有块都依赖于他们的新过程。


一旦达到网络中的大多数,所有节点就同意新的块。


“旧”和“新”节点继续协同工作






硬叉(Hard Fork)


这种类型的分支是不向下兼容的,因此它带来了在网络中保证共识的特殊挑战。现有节点必须更新其软件以考虑新块(在软分叉中,由于兼容性,现有节点可以简单地考虑新块)。两个版本的不兼容性意味着网络可以被分割,也就是说,赞同或反对接受更改的用户可以在不同的区块链上操作。这称为区块链分支(与软件分支不可比较)。需要强调的是,并不是每个硬叉都会创建一个新的、稳定的区块链。以太坊现在有五个硬叉,其中只有一个已经与以太坊经典形成了一个新的区块链。


“旧”节点和“新”节点各行其是。可以创建两个区块链







Fork是如何执行的?


让我们以比特币为例来看看Fork。比特币核心团队可能会提出修改建议,但他们不能单独实施。最后,矿工们决定采用哪种区块链。这通过让网络保留决策权来保持权力下放。核心团队当然可以推动进一步的发展,但它必须继续在矿工面前投球,并希望得到认可。


在过去,《以太坊》和《以太坊经典》确实是《以太坊区块链》的决战之作,在DAO遭黑客攻击后,社区集中讨论通过同意一个不包括这种转移的区块链来撤销被黑客钱币的转移,当然选项A)黑客可以保留他的战利品与选项B)黑客的行为被逆转是不兼容的。所以这个过程需要一个硬叉。只要100%的参与者不同意某个版本,区块链就会分裂。


这是通过两个Ethereum区块链实现的:Ethereum Classic(没有硬叉:黑客仍然拥有被盗的硬币)和Ethereum(有硬叉:不需要的交易被撤销。


现在有不同的方法来执行Fork,不要与不同类型的Fork混淆。


矿工激活Fork


在这种情况下,网络中的矿工决定是否应该执行Fork。它们通过将此信息附加到已确认的块上来表示希望执行Fork。如果在过去的1000个区块内,有足够多的矿工发出了信号,这些变化将被强制执行。例如,新版本从75%的批准开始生效,甚至从95%的未标记新版本的旧块开始被拒绝。


用户激活软叉(UASF)


用户激活的软分支(UASF)是由完整节点中的多数决策触发的分支。它被安排在一个特定的日期,在这个日期上,大多数完整的节点必须同意它,以便实际发生fork。


矿机激活软叉(MASF)


通过矿工激活的软Fork (MASF),矿工使用他们的计算能力来决定将Fork作为他们的投票权并发起它。这使得流程更加高效,因为完整的节点可以接受更改。然而,由于网络依赖计算能力作为基准,因此MASF存在风险。例如,计算能力可以说软Fork正在发生,但是矿工们实际上继续使用没有软Fork的旧版本。


●编号202,输入编号直达本文

●输入m获取文章目录





分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP