LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 什么是软分叉

什么是软分叉

2020-09-30 Janice静静 来源:火星财经
在区块链术语中会经常听到两个名词:软分叉和硬分叉,在上一节的区块链科普栏目中,小编主要给大家介绍了硬分叉。那么问题来了,什么是软分叉,软分叉又有着怎样的优缺点呢?让我们带着以上问题细探究竟吧!

在区块链术语中会经常听到两个名词:软分叉和硬分叉,在上一节的区块链科普栏目中,小编主要给大家介绍了硬分叉。

那么问题来了,什么是软分叉,软分叉又有着怎样的优缺点呢?让我们带着以上问题细探究竟吧!——《如何玩转CoinEx》科普栏目

【ViaWallet是ViaBTC旗下产品,致力于打造一款全币种资产管理的去中心化钱包,未来您只需要一个ViaWallet即可管理所有资产,ViaWallet同时也支持Staking(质押)以及去中心化交易所,为您提供更丰富多样的产品功能,目前已经支持BTC、ETH、BCH、TRX等16+种主链资产、100万+代币资产。】

什么是分叉

分叉,英文名:Fork,词性:动词,在程序员的世界里,分叉的意思就是“复制并修改”,一般的软件分叉会形成不同的版本,功能也有所差异,用户根据需求选择使用即可。

在区块链的世界里,分叉的意思不仅如此。双方一旦出现意见不统一,就会选择分叉升级,然后两者运行在不同的共识规则下,每次分叉都会伴随着区块链原本的共识规则改变而改变。

分叉的原因

比特币的底层技术是区块链,区块链最重要的一个特征就是去中心化,这意味着比特币网络并不是由个人维护,而是集体维护。

区块链技术是基于开源社区发展起来的,开源意味着所有代码,技术都是免费开放的,所有人都可以拿来使用并修改。

最初,中本聪发明比特币大概只是想让人们多一种更自由的货币交易方式,但随着比特币被更多的人所了解和使用,人们对比特币的想法和要求也多了起来。

一些人开始觉得比特币的区块容量太小,总出现拥堵,于是这些人要求比特币升级扩容;一些人又觉得比特币的功能太单一,今后的发展不容乐观,于是这些人又要求比特币能够有搭建DApp(去中心化应用)的功能。

社区不同声音的此起彼伏,对比特币发展的分歧便可以理解为比特币的分叉。

分叉的种类

分叉分两种,一种是硬分叉,一种则是软分叉,本文主要介绍的是软分叉。

什么是软分叉

官方定义

A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don’t know about.

当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。

百科定义

软分叉是指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。

比特币术语中的软分叉

比特币中的软分叉主要是指因比特币协议的突发改变而导致的兼容性的问题。

比特币协议发生改变,会有两个不同版本的比特币协议在同时使用,他们对其他区块的接受规则不同会导致区块链长期分叉,这两个不同的链都会被不同的网络认为是有效的。

软分叉是向前兼容的。如下图,软分叉的新规则是旧规则的子集,所有被新版本认为是合法的区块也会被旧版本所认同。

旧版本会接受新版本创建的区块,新版本和旧版本是兼容的。

如果有至少51%的矿工的算力转向的新版本,那么网络自动完成软分叉:一开始旧版本创建的区块在新协议下被认为是不合法的,这时会出现一个短暂的分叉,但最终新版本的分叉会赶超旧版本的分叉成为最长链,因为在旧版本上的算力是小于新版本的。

但是如果小于51%的矿工算力转向新版本,那么软分叉将不会出现,因为旧版本比新版本有更多的算力支持,同时旧版本不兼容新版本。

通俗定义

软分叉对新版本要求更为严苛,不同意旧版本的一些规则;但旧版本比较憨厚,还能接受新版本软件。所以对于软分叉而言,新旧版本并非你死我活。

举个例子,运行旧版本软件就好比出门坐地铁,而运行新版本就像是坐飞机。在地铁站安检的时候(旧版本),拿着打火机,可以进站,可以上车,按照日常规程,基本没人拦你。而在机场安检时 (新版本),你的打火机只能贡献给倒卖打火机的大爷大妈了。换句话说,有些在地铁上能做的事情,在飞机上就不能做 (旧版本支持的事情,新版本不支持)。反过来看,因为坐飞机的安检更为严格,所以如果你满足了坐飞机的要求,坐地铁自然没有任何问题 (新版本支持的事情,旧版本也支持)。

总的来说,软分叉较为柔和,区块链网络系统版本或协议升级后,旧版本能兼容新版本,只是新版本不兼容旧版本而已,因此尽管会有轻微分叉,但仍可共存在同一条链下工作。

软分叉优点

1)较好的兼容性,可以选择不升级,继续使用旧版本。

软分叉下旧版本能兼容新版本,所以对于一些不想升级的人来说,可以选择不升级,升级的选择比较自由,有些人用惯了旧版本可能就不想使用新版本,这种现象在日常生活中也是比较常见的。

2)软分叉总是只有一条链,没有分成两条链的风险。

软分叉通常刚开始并不会产生两条区块链,因为新规则下产生的区块会被旧节点接受,旧节点只是无法识别新规则的真实意义。所以新旧节点仍然处于同一条区块链上,对整个系统的影响也就较小。

软分叉缺点

1)升级空间有限。

软分叉相比硬分叉虽然“温和”了不少,但由于软分叉必须向前兼容,也就是说不能增加新字段,只能在已有结构下做修改,所以升级空间有限。

2)技术实现复杂。

软分叉相比硬分叉技术实现要复杂很多,会使区块链的代码变得更复杂,这不利于未来的代码维护,也更容易出现BUG。

3)验证较为放松。

未升级的客户端视新规则下的区块为有效,但是对新规则并不进行验证,对于旧节点而言它不再能做完整的验证,似乎有悖去中心化的理念。

4)分叉不可逆转。

硬分叉通常是扩展共识规则,而软分叉是收紧共识规则,所以一旦进行了软分叉,想要回退就非常困难了,很可能造成硬分叉而导致资金损失。

本文来源:Janice静静
原文标题:什么是软分叉

—-

编译者/作者:Janice静静

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...