区块链通俗易懂的例子,区块链为什么有分叉分叉会发生什么情况

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

区块链通俗易懂的例子,区块链为什么有分叉分叉会发生什么情况

一、到底啥是区块链分叉

分叉,是区块链世界中一个神奇的名词。区块链网络从此一分为二,不同共识的人们从此分道扬镳。这究竟是一次动荡的分裂,还是一次新的共识的形成?

区块链的分叉,可以说是区块链网络中独有的一种版本升级方式,就像我们生活中使用的互联网软件一样,使用了一段时间以后,自然而然就需要进行优化升级,从而去解决一些用户的使用问题。区块链也是这样,只不过它的升级比较特别,升级的时候会由参与的矿工共同来决定,甚至还能产生多种版本,不像互联网一样一家独裁、没有选择的余地。

它的原理是这样的,由于区块链是一个由数据块组成的链式结构。所以,当他要升级的时候,实际上会从某一个数据块开始,连到两个不同的数据块上,从而分成了两条链;就好像树枝一样,大家共用同一个树干,共享会分开前的数据,但是又有很多条树枝属于多条链,而这个过程就叫做分叉。

之前我们也说了,区块链的升级是由矿工们一起来决定,既然参与的人多了,就会有不同的意见,当大家能达成共识的时候,分叉出来的两条链相当于一个是老的版本,一个是新的版本,两者兼容;老链上的矿工升级后,逐渐向新链过渡,最终大家升级完成只剩新链,这叫做软分叉。具体来说软分叉属于系统内的短暂现象,并不会分叉出一个新的区块链。区块链系统升级,一部分节点并哪怕没有及时升级,也仍旧可以工作。比特币软分叉之后不会像硬分叉一样产生两条链,而是还会保持在一条链上,软分叉会进行一些升级,但是不会影响整个系统的稳定性和有效性,旧节点会兼容新节点,只是新节点不兼容旧节点而已,二者依然可以共存在一条链上。

当矿工们不能达成共识的时候,大家虽然共用之前的数据,但是形成了两条新的链,就好比物种进化一样,一部分猴子进化成了人类,另一部分进化成了猩猩,两种物种都发生了改变,互不兼容,这叫做硬分叉。也就是说区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。代码出现一个硬分叉,会改变算法的难度级别。

实质意义上的分叉之所以产生,是因为项目在动态发展过程中原社区内部理念产生了不可调和的分歧。区块链背后的社区作为去中心化组织,主张非暴力自由人的自由联合,这意味着在向未知的将来迈进的过程中,当遇到的新问题超出了原有既定游戏规则之时,分歧一旦产生将很难达成一致,这是由区块链基因里去中心化的属性决定的。

区块链技术的发展还处于很初期的状态,分叉对于区块链来说,就相当于一个技术迭代的过程,随着人们不断发现区块链技术现有的限制,只有不断升级和扩展这项技术,才能让区块链技术走向成熟。当然,这种分叉跟区块链不可篡改的特性正在背道而驰,但没有天生完美的技术,区块链也不例外,技术的发展如果在发生错误时都不可控,那这种技术就无法做到普世,人们对它的信任度也无法提升。且分叉的结果是由社区成员投票决定的,某种程度上来说依旧遵守着去中心化的原则。

人们对区块链分叉各执己见,但在区块链发展的历史进程里,分叉无疑让区块链变得更有故事性和可能性了。总的来说,分叉这种升级方式虽然麻烦很多。但是,他却给了每个人更多选择的权利。也许,区块链就在这样的求同存异之中孕更多的可能性。

二、区块链为什么有分叉分叉会发生什么情况

    区块链的分叉(fork)的形成原因可能有多种。

    当两个结点几乎在同一个时间挖到了矿并同时发布区块,此时就出现临时性的的分叉(state fork),

    本质上是对比特币这个区块链当前的状态产生了意见分歧,

    当人为的发起分叉攻击(forking attack),也就是故意造成这类分叉(deliberate fork)还有一类分叉是,当比特币的协议发生了改变的时候,软件需要升级。而在分布式系统中不能保证所有节点同时升级软件,假设存在部分节点未升级,会导致协议分叉(protocol fork)。对协议修改的内容的不同,又可以将分叉分为硬分叉(hard fork)和软分叉(soft fork);

    比特币协议增加新协议,扩展新功能,未升级软件的旧节点会不认可这些修改,会认为这些特性是非法的。这也就是对比特币协议内容产生分歧,从而导致的分叉叫硬分叉。此时,就出现了新节点永远沿着新节点产生的链挖矿,旧节点永远沿着旧节点链挖矿,由于新节点算力足够强,所以形成两条永远都在延伸且平行的链。只要这部分旧节点永远不更新,则旧链将一直延续,可见这种分叉是持久性的。

出现hard fork后,便变成了两条平行的链,也就造成了社区分裂。社区中有一部分人,会认为下面的链才是根正苗红,各个链上的货币独立。以太坊历史上的一件大事就是硬分叉事件。以太坊称为ETH,但目前看到的ETH已经不是最初的ETH了,以太坊在历史上发生过硬分叉,另一个链称为ETC。实际上,ETC才是以太坊设计原本的协议,而ETH是黑客攻击ETH上一个智能合约THE DAO后,进行回滚的协议链(将黑客攻击偷取的以太币采用硬分叉方式回滚回到另一智能合约,然后退还给真正拥有者)。

    分叉之初,由于两个链分叉造成了互相影响,产生了很多麻烦。比如:在ETH链上有一笔转账B->C,有人便在ETC链上回放,将ETC链上的货币页转给了C(C收到两笔钱)。后来,对两条链各添加了一个chainID,将两个链区分开,才使得这两条链真正分开。

如果对BTC协议添加限制,使得原本合法交易在新交易中不合法,便会形成软分叉。

当大多数节点已经更新完毕之后,旧节点认可新节点挖出的区块,因此发布自己挖出的区块,但新节点不认可旧结点挖出的区块,便沿着上一个新节点发布的区块继续挖矿,当新节点拥有大部分算力的时候,新链会越来越长,从而旧节点挖出并发布的区块一直被抛弃,无法获得出块奖励,最终倒逼旧节点升级软件,实现所有节点认可新协议并进行升级。可见,只要系统中拥有半数以上算力节点更新软件,此类分叉不会出现永久性分叉。比特币脚本中的P2SH就是通过软分叉方法加进去的。

 

    这一部分我并没有查到太多的资料,但是在绝大多数共识协议之中我们都假设需要过半算力;

    在理论上,如果掌握了50%以上的算力,就拥有了获得记账权的绝对优势,可以更快地生成区块,也拥有了篡改区块链数据的权利。因此,当具有过半的算力,也就是51%都是诚实可靠的,能保证整一个区块链在合法有序的进行运行。

    但是为什么选择过半的算力,而不是过半的用户?比特币系统,任何人都可以加入,且创建账户及其简单,只需要本地产生公私钥对即可。只有转账(交易)时候,比特币系统才能知道该账户的存在。这样,黑客可以使用计算机专门生成大量公私钥对,当其产生大量公私钥对超过系统中一半数目,就可以获得支配地位(女巫攻击)。因此,比特币系统中很巧妙的使用算力作为投票的依据。

三、什么是比特币区块链的分叉

分叉有区别为普通的升级,普通的升级在升级前后是没有影响协议共识的,也一般不需要社区共识或算力共识的参与。而分叉根据对协议的修改情况分为软分叉和硬分叉。

现有的定义:

【闪电定义】硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。

A permanent divergence in the the block chain, commonly occurs when non-upgraded nodes can’t validate blocks created by upgraded nodes that follow newer consensus rules.

【闪电定义】软分叉是指比特币交易的数据结构(这就是被广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。

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.

我觉得不能说哪个定义正确还是错误,具体的定义可以根据已经较大社区共识的两者的区别来自己总结,不需要权威来指定。

硬分叉:没有向前兼容性,之前的版本将不可再用,需要强制升级。

软分叉:有较好的兼容性,之前版本至少部分功能可用,可不升级。

硬分叉:在区块链层面会有分叉的两条链,一条原旧链,一条分叉新链。

软分叉:在区块链层面没有分叉的链,只是组成链的区块,有新区块和旧区块。

硬分叉:需要在某个时间点全部同意分叉升级,不同意的将会进入原旧链。

软分叉:相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://www.ssyg068.com/biquanzx/16335.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年01月24日
下一篇 2025年01月24日

相关推荐

  • 区块链技术有哪些,到底啥是区块链分叉

    一、什么是比特币区块链的分叉分叉有区别为普通的升级,普通的升级在升级前后是没有影响协议共识的,也一般不需要社区共识或算力共识的参与。而分叉根据对协议的修改情况分为软分叉和硬分叉。现有的定义:【闪电定义】硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“

    2025-05-01 05:55:01
    5 0
  • 区块链种类,到底啥是区块链分叉

    一、到底啥是区块链分叉分叉,是区块链世界中一个神奇的名词。区块链网络从此一分为二,不同共识的人们从此分道扬镳。这究竟是一次动荡的分裂,还是一次新的共识的形成?区块链的分叉,可以说是区块链网络中独有的一种版本升级方式,就像我们生活中使用的互联网软件一样,使用

    2025-04-29 03:55:01
    8 0
  • 比特币最低的时候多少钱,分叉后,比特币现金(BCH)的价格会是多少

    一、一个比特币值多少人民币截止2020年1月3日,一个比特币=47000人民币。2018年11月25日,比特币跌破4000美元大关,后稳定在3000多美元。11月19日,加密货币恢复跌势,比特币自2017年10月以来首次下探5000美元大关,原因是之前BCH出现硬分叉,且监管部门对首次代币发行(ICO

    2025-04-28 09:00:01
    11 0
  • 比特币有几个分叉币,以太坊分叉是什么意思

    一、比特币硬分叉和软分叉是什么意思Q:什么是比特币分叉,产生分叉的原因是什么?A:比特币之所以会产生分叉这个行为,是因为比特币的底层技术是区块链,一些人开始觉得比特币的区块容量太小,总出现拥堵,于是这些人要求比特币升级扩容,一些人又觉得比特币的功能太单一,今后

    2025-04-27 10:55:01
    14 0
  • 以太坊大跌原因,比特币硬分叉和软分叉是什么意思

    一、比特币硬分叉和软分叉是什么意思Q:什么是比特币分叉,产生分叉的原因是什么?A:比特币之所以会产生分叉这个行为,是因为比特币的底层技术是区块链,一些人开始觉得比特币的区块容量太小,总出现拥堵,于是这些人要求比特币升级扩容,一些人又觉得比特币的功能太单一,今后

    2025-04-27 09:00:01
    15 0
  • 以太坊系列的币有哪些,以太坊分叉是什么意思

    一、BTC、LTC、ETH、ETC、BCH这些分别是什么币呀分别是:比特币比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。莱特币莱特币(Lit

    2025-04-26 08:55:02
    14 0

发表回复

8206

评论列表(0条)

    暂无评论

binance币安交易所
已有2000万用户加入币安交易所

立即下载