区块链软分叉后变成两条链 区块链 硬分叉

TLBC价格行情 90 0

本篇文章给大家谈谈区块链软分叉后变成两条链,以及区块链 硬分叉对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

到底啥是区块链分叉?

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

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

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

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

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

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

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

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

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

    区块链的分叉(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%都是诚实可靠的,能保证整一个区块链在合法有序的进行运行。

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

区块链为什么会分叉

分叉是区块链体验的核心,类似于系统升级。“分叉”一条链,本质上就是要对运行区块链的软件做出改变。根据不同的情况,分叉所引发的问题也非常多,有的很快能够达成共识,有的则极具争议。 在中心化系统中,软件升级极其简单,只需要打补丁或者对其某些功能的兼容性等迭代更新。而去中心化系统中,升级远没有那么简单轻松,它需要取得链上各节点或者交易方达成共识。在一些重大功能上的改善时,常会遭到社区某些人的反对,一旦有超过 2/3 的人不同意,那么他们就得选择其它途径,创造它们自己的协议和分支区块链,于是分叉也就随之发生。在比特币中,其通过 比特币软件 (也叫比特币协议)的形式实现,它确定了针对所有人的规则,包括 区块大小、对矿工的奖励等 。如果所有人使用比特币,那就得同意这份协议。类似于国家的法律,每个人必须遵守。然而,不仅仅是比特币,其它加密数字货币也是一样的,作为软件项目,总是不乏需要完善的地方,因此,技术更新和开发基本都是一往直前的,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。简单而言,区块链网络中只要发生意见分歧、协议改进(新增、升级)等就有可能产生分叉。其实,谈起分叉我们并不难理解,以比特币为例,可以将比特币分叉分为两大类:比特币协议和存储交易系统。比特币协议完全是开源的,如果要创建自己的分支区块链,那就要先把比特币软件源代码复制下来,然后再根据自己的需要进行适当修改。最后,通过指定的区块编号让比特币开始分叉并生效,其实就是相当于中心化系统程序中的定时指令。比如可以规定区块编号在到达 10000 时分叉开始生效,当该区块编号传送的指令到社区时会分成两部分,一部分支持原协议,一部分支持分叉协议,然后每个部分会再次添加新的区块到它们所支持的那一条链上。

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

最近,区块链行业里最热闹的莫过于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名,这也是二者在硬分叉领域被当作经典案例的原因之一。

分叉的优缺点

区块链技术的发展还处于很初期的状态,分叉对于区块链来说,就相当于一个技术迭代的过程,随着人们不断发现区块链技术现有的限制,只有不断升级和扩展这项技术,才能让区块链技术走向成熟。

当然,这种分叉跟区块链不可篡改的特性正在背道而驰,但没有天生完美的技术,区块链也不例外,技术的发展如果在发生错误时都不可控,那这种技术就无法做到普世,人们对它的信任度也无法提升。且分叉的结果是由社区成员投票决定的,某种程度上来说依旧遵守着去中心化的原则。

人们对区块链分叉各执己见,但在区块链发展的历史进程里,分叉无疑让区块链变得更有故事性和可能性了。

区块链软分叉后变成两条链的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于区块链 硬分叉、区块链软分叉后变成两条链的信息别忘了在本站进行查找喔。

标签: #区块链软分叉后变成两条链

  • 评论列表

留言评论