美文网首页
007 硬分叉和软分叉到底怎么区分?

007 硬分叉和软分叉到底怎么区分?

作者: 马克周 | 来源:发表于2017-11-11 16:30 被阅读57次

我是马克周,一个对数字加密货币和区块链深感兴趣的撰稿人;热衷编程学习和币价技术分析。

你可以在这里找到我

LinkedIn:www.linkedin.com/in/mark-zhou-ab01b637

TradingView:www.tradingview.com/u/xiucat

每次提到数字加密货币,有两个词不得不提:硬分叉和软分叉。尤其是最近几个月,比特币世界里面里充斥着“劈腿”的声音,接下来的11月可能又要出现一次,甚至两次硬分叉。

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

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

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

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

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


最近在比特币网络中,最引人关注的软分叉和硬分叉当数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” 的要求跟任何一个旧版本都没有交集。

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


- [ THE END ] -

你可以在这里找到我

LinkedIn:www.linkedin.com/in/mark-zhou-ab01b637

TradingView:www.tradingview.com/u/xiucat

相关文章

  • 007 硬分叉和软分叉到底怎么区分?

    我是马克周,一个对数字加密货币和区块链深感兴趣的撰稿人;热衷编程学习和币价技术分析。你可以在这里找到我Linked...

  • 什么是硬分叉和软分叉

    最近硬分叉这个词总是被提及,那为什么会有软分叉和硬分叉之说呢?怎么区分他们呢?他们会产生什么影响么? 1.硬分叉和...

  • BCH分叉

    分叉分为硬分叉(hard fork)和软分叉(soft fork)。 一、什么是硬分叉?如果区块链软件的共识规则被...

  • 我所理解的比特币分叉

    接触比特币一段时间的人,多半听过“硬分叉”和“软分叉”这两个词。我的第一反应是“分叉还有软硬之分?!怎么个软/硬法...

  • 硬分叉和软分叉

    在讨论硬分叉和软分叉之前,我们先了解下区块链是如何组装和选择成为一条包含最多区块的主链的。 区块链的组装与选择 比...

  • 软分叉和硬分叉

    硬分叉: 区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉...

  • 分叉野史

    分叉,这个还是要从BTC说起,谁让它是老大,从一开始的硬分叉妥协到软分叉,过段时间有出来要硬分叉还是软分叉,循环往...

  • 小巴成长记-比特币的分叉

    前面说到比特币有硬分叉和软分叉之说,那么。 什么是硬分叉? 硬分叉是当比特币协议规则发生改变,如果发生旧节点拒绝接...

  • 山寨币出现的真相:揭秘什么是币分叉

    现今的数字货币市场上的山寨币们,其实就是主流币分叉来的。分叉又分为软分叉和硬分叉。 硬分叉官方定义: A perm...

  • 软分叉&硬分叉

    软分叉 比特币交易的数据结构改变引起,但区块的数据结构为改变;老节点接受新旧格式的区块,新节点只接受新区快...

网友评论

      本文标题:007 硬分叉和软分叉到底怎么区分?

      本文链接:https://www.haomeiwen.com/subject/nqtgmxtx.html