当前位置: > 快讯 > 正文

什么是软分叉和硬分叉?软分叉和硬分叉介绍

什么是软分叉和硬分叉?如果比特币社区无法达成一致,区块链很可能形成分叉。简单来讲,分叉是指区块链在升级时发生了意见分歧,从而导致区块链分叉。根据分叉后的区块链是否兼容旧区块,将分叉分为硬分叉和软分叉。下面就来详细介绍下。

最简单的解释是:如果你遇到一个硬分叉,它意味着某种数字货币——比如比特币——的新版本软件和旧版本无法兼容,彼此看不顺眼,必须各走各路。而软分叉则不同,新版本要求更为严苛,不同意旧版本的一些规则;但旧版本比较憨厚,还能接受新版本软件。所以对于软分叉而言,新旧版本并非你死我活。

这么说仍然比较抽象,我们可以用一个具体的例子打比方。

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

对于硬分叉,我们也可以用 “地铁和飞机” 形象化。硬分叉中的旧版本软件就好比开地铁,而新版本则是开飞机。显然,能开地铁,不代表你能开飞机 (旧版本支持,新版本则不支持);反过来,即使你有飞机驾驶证,也不能拿着它直接坐进地铁驾驶室里把车开走 (新版本没问题,旧版本却不支持)。

如果非要用一句话来总结,数字加密货币的硬分叉意味着新旧版本软件互不兼容,必须分道扬镳,分成两条不同的区块链;软分叉则相对柔和,旧版本兼容新版本,只是新版本不兼容旧版本而已,因此虽然会有轻微分叉,但仍可共存在同一条区块链下。

最近在比特币网络中,最引人关注的软分叉和硬分叉当数8月份成功启动的 Segwit,和可能会在11月启动的 Segwit2x。二者的目的相似,都是为比特币的区块扩容。我们可以套用上面对于软硬分叉的解释,来理解这两个扩容方案的区别。

之所以说 Segwit 是软分叉,是因为在这一方案中,首先,旧版比特币软件 “区块不能大于 1MB” 的硬性要求,被新版突破了——区块大小最高可达 2MB。启用了 Segwit 的比特币软件中,每笔交易都会激活 Segwit 指令。正是因为这一指令存在而且会被激活,这些交易形成的区块才可以突破 1MB 的上限,达到 2MB。

其次,新版本软件产生的交易,仍然可以被旧版本接受、确认——即旧版本仍然支持新版本。这正是 Segwit 的巧妙之处:新版本软件产生的交易,在旧版本上不会触发 Segwit 指令——旧版本软件并没有接到 “你需要把区块大小改为 2MB哦” 的要求。所以,在旧版本看来,这仍然是一笔跟以往一样的交易。我可以确认它。

换句话说,在 Segwit 模式下,区块可以小于 1MB,跟往常一样,也可以处在 1 - 2MB之间。这就是 Segwit 属于软分叉的根本原因,求同存异嘛,大家一起过。

广为诟病的 Segwit2x 则不同。这个方案属于硬分叉,因为它要求 “新产生的区块至少达到 2MB,最多可达 8MB”。显然,这是一个 “你死我活” 的方案;这样一来,新旧版本均无法跟对方兼容。旧版要求区块不超过 1MB;即使是加入了 Segwit 的中间版本,区块也不能超过 2MB。在这样的条件下,Segwit2x “不低于 2MB” 的要求跟任何一个旧版本都没有交集。

在比特币网络中,由于分散共识机制,基于开源公有链的本质,硬分叉的存在不可避免。而且由于比特币软件去中心化的运行模式,任何一个矿工、用户或者网络节点,以及那些拥有网络节点和算力的交易所、矿池,都可以根据自己的需求选择支持分叉的任意一方。因此,避免过于激进的硬分叉,在分叉前充分做好预防网络攻击的准备,充分考虑各方的需要,就变成了必须要完成的功课。

软分叉和硬分叉都"向后兼容",这样才能保证新节点可以从头验证区块链。向后兼容是指新软件接受由旧软件所产生的数据或者代码,比如说Windows 10可以运行Windows XP的应用。

硬分叉和软分叉有什么区别?

最近,区块链行业里最热闹的莫过于BCH硬分叉事件,以吴忌寒和澳本聪分别为首的两个阵营展开了激烈的对决,又是站队成员分析,又是双方算力分析的,分叉后的BCH ABC和BCH SV两条链已经开始正常出块,但是依旧让好多人都看得一头雾水。其实,硬分叉这个概念在区块链行业里早已经不是什么新鲜词。2017年8月1日,比特币现金成为比特币区块链历史上的第一个硬分叉,此后,比特币分叉事件变得越来越频繁,一系列分叉币开始不断出现,比如比特币糖果(Bitcoin Candy)、比特币披萨(Bitcoin Pizza)、比特币钻石(Bitcoin Diamond)等。 为什么要分叉 比特币之所以会产生分叉这个行为,是因为比特币的底层技术是区块链,而区块链是具有去中心化特性的,这便导致比特币是由一群人来维护的。最初,中本聪发明比特币大概只是想让人们多一种更自由的货币交易方式,但随着比特币被更多的人所了解和使用,人们对比特币的想法和要求也多了起来。 一些人开始觉得比特币的区块容量太小,总出现拥堵,于是这些人要求比特币升级扩容,一些人又觉得比特币的功能太单一,今后的发展不容乐观,于是这些人又要求比特币能够有搭建DApp(去中心化应用)的功能,有人支持就有人反对,这种对比特币发展的分歧便可以理解为比特币的分叉。 分叉的种类 分叉分为两种,硬分叉和软分叉。 先说硬分叉,硬分叉其实是把比特币这条链直接分成了两条完全不同的链,一条是旧链,一条是新链,旧链即是不愿意让比特币分叉的社区成员所坚持的原有的链,新链即是社区成员希望在现有区块链上进行技术优化改进所生成的链,这两条链此后将不再有交集,完全按各自的道路发展。 打个比方,没分叉前的比特币就好比是安卓系统,因为有些人不满于安卓系统的功能而又开发出了苹果系统,苹果系统这时就相当于是硬分叉后的结果,分叉后,安卓系统和苹果系统形成了两个完全不同的系统,人们也根据各自的喜好开始用着不用的系统。 软分叉更简单,比特币软分叉之后不会像硬分叉一样产生两条链,而是还会保持在一条链上,软分叉会进行一些升级好散,但是不会影响整个系统的稳定性和有效性,旧节点会兼容新节点,只是新节点不兼容旧节点而已,二者依然可以共存在一条链上。 这就相当于安卓系统做了升级,升级后的系统很多软件需要你的信息授权,否则就无法使用,但只要你不升级,你不授权信息也是可以使用这些软件的,换句话说,升级后的系统比升级前的系统要求更为严格(旧节点会兼容新节点,但新节点不兼容旧节点)。 历史上比较著名的硬分叉事件 以太坊(ETH)和以太经典(ETC)是硬分叉的典型案例。 The DAO项目是区块链物联网公司Slock.it发起的一个众筹项目,于2016年5月正式发布,截止到当年6月,The DAO项目募集资金超过1.6亿美元。没过多久,The DAO项目就被黑客盯上了,因为智能合约上的巨大漏洞,导致The DAO项目被转移了市值五千万美元的以太币。 为了挽回众多投资者的资产并停止恐慌,以太坊创始人V神(Vitalik Buterin)最后提出硬分叉的设想,并最终通过社区的多数投票表决在以太坊第1920000区块完成了硬分叉,回滚了包括被黑客占有的所有以太币。 即使以太坊硬分叉成了两条链,依然有部分信仰着区块链不可篡改特性的人留在以太经典这条原链上,如今,以太坊(ETH)和以太经典(ETC)都排在全球加密货币市值排名的前20名,这也是二者在硬分叉领域被当作经典案例的原因之一。友袜氏 分叉的优缺点 区块链技术的发展还处于很初期的状态,分叉对于区块链来说,就相当于一个技术迭代的过程,随着人们不断发现区块链技术现有的限制,只有不断升级和扩展这项技术,才能让区块链技术走向成熟。 当然,这种分叉跟区块链不可篡改的特性正在背道而驰,但没有天生完美的技术,区块链也不例外,技术的发展如果在发生错误时都不可控,那这种技术就无法做到普世,人们对它的信任度也无法提升。且分叉的结果是由社好羡区成员投票决定的,某种程度上来说依旧遵守着去中心化的原则。 人们对区块链分叉各执己见,但在区块链发展的历史进程里,分叉无疑让区块链变得更有故事性和可能性了。

什么是比特币中的硬分叉和软分叉?他们各自有什么特点?

简单来说,因为兼容性的不同,因此就产生了硬分叉和软分叉,软分叉枣首是暂时的,而硬分叉则是永久的。区块链发生永久性分歧,在新的共识规则发布之后,一些没有及时升级的节点则御派没有办法验证已经升级的节点所产生的区块。这个时候硬分叉就会发生。对于硬分叉,行业内的定义是这样的,硬分叉是指比特币的区块格式或者交易格式(也就是大家所熟知的“共识”)发生改变时,没有升级的节点会拒绝验证已经完成升级的节点所生产出的区块。而已经升级的节点则可以验证未升级节点所产生的区块。然后大家各自延续自己认为正确的链。因此就分成了两条链:新链和旧链。硬分叉具有如下的特点:1,没有向前兼容性,之前的版本将不可再用,需要强制升级;2,在区块链的层面会有分叉的两条链,一条旧链,一条分叉的新链;3,需要在某个时间点全部同意分叉升级,不同意的将会进入旧链。当新的共识规则发布以后,没有完成升级的节点由于不了解新的共识规则,便会产生不合法的区块,从而产生临时性的分叉。这种临时性的分叉也被称作软分叉。关于软分叉是这样定义的:软分叉是指比特币交易的数据结构发生凳拆数改变时,没有升级的节点可以验证已经升级的节点所产生出的区块,而且已经升级的节点也可以验证没有升级的节点所产生的区块。软分叉具有如下的特点:1, 具有很好的兼容性,之前的旧版本部分功能可用,可以不用升级。2,在区块链的层面没有分叉的链,只是组成的链的区块有新旧区块之分;3,在相当长的时间里,可以允许不进行升级,继续使用原有的版本生成旧的区块,并与新区快并存。

区块链中硬分叉和软分叉的区别是什么?

硬分叉是由于区块链不可接受的永久性分歧造成的,宏察软分叉则是区块链的带乎可接受分歧造成的。硬分叉的出现意味着出现一条无法接受新共识机制的区块链,这条区块链相当于系统的旧版本,而接受了新共识机制的则是新版本,两者虽然不版本不同,但是还是相互联系。而软分叉造成的区块节点是可以和新共识机制兼容的,不会另外形成一条区块链。硬分叉和软分叉是币圈中蠢绝悉比较常见的事情。区块链除了炒币,其实可以应用的地方还有很多,包括医疗、保险、教育、食品等。我认识一家专门做区块链开发的公司,煊凌科技。他们在行业内的评价还不错。

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码