区块链为什么有分叉?分叉会发生什么情况?
????区块链的分叉(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%都是诚实可靠的,能保证整一个区块链在合法有序的进行运行。
????但是为什么选择过半的算力,而不是过半的用户?比特币系统,任何人都可以加入,且创建账户及其简单,只需要本地产生公私钥对即可。只有转账(交易)时候,比特币系统才能知道该账户的存在。这样,黑客可以使用计算机专门生成大量公私钥对,当其产生大量公私钥对超过系统中一半数目,就可以获得支配地位(女巫攻击)。因此,比特币系统中很巧妙的使用算力作为投票的依据。
比特币历史上出现过几次有影响力的分叉,对币价有何影响
目前,比特币没有发生过有影响力的分叉。基本上都是对硬分叉的一种担忧。比特币历史上曾出现了多次类似硬分叉的担忧,例如某个大的矿池的算力曾多次接近全网算力的51%;还有是ASIC矿机刚诞生时,人们对矿机厂商的挖矿算力过分巨大的担忧;人们的量子计算机参与挖矿的担忧也是由来已久;目前币价低迷,挖矿逐渐被几个大的矿场所控制,也可能会导致硬分叉的出现;最近,比特币扩容引发的硬分叉危机再次警醒了人们。但实际上这只是一种担忧,发生的概率极小。
每次发生硬分叉的危机,币价都可能会跳水,这主要是处于对比特币的担忧。
币包:比特币分叉是好事吗
如果你有比特币,那么对于你来说就是好事,因为只要分叉成功,你的财产就会增加,如果你没有比特币,我就不建议你购买分叉币,因为分叉币基本都是垃圾,根本就没人要
什么是分叉币?
数字货币的分叉就像树木生长过程中长出新的枝干,在比特币的区块链中,在原有的链条上衍生出新的产物就是分叉。
为什么要分叉? 随着身价的大涨,原来的区块设定会造成又慢又堵的局面,比特币之所以会出现分叉,是因为比特币社区对 "比特币扩容" 的主张不一致,有人就提出将这个字段的最大值调高,因为不同的理念催生出了N种扩容方案,各个方案间无法统一,就会导致分叉。
比特币的分叉有"软分叉"和"硬分叉"的区别,可以把软分叉当做版本更新后继承存档,硬分叉则是全新版本和以前的存档无法兼容。 由于比特币的代码完全开源,任何人都可以对它做出改动,也可以完全套用模板发行另一些币种,所以在发行过程中,比特币其实有各种各样的发展。这些小改动并不对比特币本身构成威胁,广大的比特币用户们会选择最适合自己的版本,倘若没有用户支持,那么同样的代码复制一份自己做些改动也只是一个人自娱自乐。 软分叉并不会给比特币带来大的负面影响,毕竟多数软件更新都只是优化用户体验,硬分叉则不同,当一部分比特币用户产生新的理念并且获得了相当的认可,区块链就出现了两条,新生的一条在某个块之后和另一条无法共享数据。我们把原本的区块链当做A链,新生的区块链叫做B链,在这样的硬分叉后就会出现三种情况,A链的用户更多,B链被舍弃;B链用户更多,A链被舍弃;这两种情况都会像是软分叉一样,由其中一方"继承大统"。第三种情况,A链和B链同时有人支持,这就可以称之为足够硬的硬分叉了,但是比特币到现在为止还没有出现这种情况。
比特币分叉所产生的影响
对其他虚拟货币产生冲击,央务数字交易中心。