摘要:区块链中的分叉是什么意思㈠什么是分叉币数字货币的分叉就像树木生长过程中长出新的枝干,在比特币的区块链中,在原有的链条上衍生出新的产物就是分叉。为什么要分...
区块链中的分叉是什么意思
㈠ 什么是分叉币
数字货币的分叉就像树木生长过程中长出新的枝干,在比特币的区块链中,在原有的链条上衍生出新的产物就是分叉。
为什么要分叉? 随着身价的大涨,原来的区块设定会造成又慢又堵的局面,比特币之所以会出现分叉,是因为比特币社区对 "比特币扩容" 的主张不一致,有人就提出将这个字段的最大值调高,因为不同的理念催生出了N种扩容方案,各个方案间无法统一,就会导致分叉。
比特币的分叉有"软分叉"和"硬分叉"的区别,可以把软分叉当做版本更新后继承存档,硬分叉则是全新版本和以前的存档无法兼容。 由于比特币的代码完全开源,任何人都可以对它做出改动,也可以完全套用模板发行另一些币种,所以在发行过程中,比特币其实有各种各样的发展。这些小改动并不对比特币本身构成威胁,广大的比特币用户们会选择最适合自己的版本,倘若没有用户支持,那么同样的代码复制一份自己做些改动也只是一个人自娱自乐。 软分叉并不会给比特币带来大的负面影响,毕竟多数软件更新都只是优化用户体验,硬分叉则不同,当一部分比特币用户产生新的理念并且获得了相当的认可,区块链就出现了两条,新生的一条在某个块之后和另一条无法共享数据。我们把原本的区块链当做A链,新生的区块链叫做B链,在这样的硬分叉后就会出现三种情况,A链的用户更多,B链被舍弃;B链用户更多,A链被舍弃;这两种情况都会像是软分叉一样,由其中一方"继承大统"。第三种情况,A链和B链同时有人支持,这就可以称之为足够硬的硬分叉了,但是比特币到现在为止还没有出现这种情况。
㈡ 区块链为什么会分叉
分叉是区块链体验的核心,类似于系统升级。“分叉”一条链,本质上就是要对运行区块链的软件做出改变。根据不同的情况,分叉所引发的问题也非常多,有的很快能够达成共识,有的则极具争议。 在中心化系统中,软件升级极其简单,只需要打补丁或者对其某些功能的兼容性等迭代更新。而去中心化系统中,升级远没有那么简单轻松,它需要取得链上各节点或者交易方达成共识。在一些重大功能上的改善时,常会遭到社区某些人的反对,一旦有超过 2/3 的人不同意,那么他们就得选择其它途径,创造它们自己的协议和分支区块链,于是分叉也就随之发生。在比特币中,其通过 比特币软件 (也叫比特币协议)的形式实现,它确定了针对所有人的规则,包括 区块大小、对矿工的奖励等 。如果所有人使用比特币,那就得同意这份协议。类似于国家的法律,每个人必须遵守。然而,不仅仅是比特币,其它加密数字货币也是一样的,作为软件项目,总是不乏需要完善的地方,因此,技术更新和开发基本都是一往直前的,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。简单而言,区块链网络中只要发生意见分歧、协议改进(新增、升级)等就有可能产生分叉。其实,谈起分叉我们并不难理解,以比特币为例,可以将比特币分叉分为两大类:比特币协议和存储交易系统。比特币协议完全是开源的,如果要创建自己的分支区块链,那就要先把比特币软件源代码复制下来,然后再根据自己的需要进行适当修改。最后,通过指定的区块编号让比特币开始分叉并生效,其实就是相当于中心化系统程序中的定时指令。比如可以规定区块编号在到达 10000 时分叉开始生效,当该区块编号传送的指令到社区时会分成两部分,一部分支持原协议,一部分支持分叉协议,然后每个部分会再次添加新的区块到它们所支持的那一条链上。
㈢ 什么是分叉币
在区块链和比特币等数字货币的讨论中,我们经常听到
“分叉”
这个词,那么到底什么是分叉呢?分叉又会有什么影响呢?
区块链
在说分叉之前,先普及一点区块链的小知识,这样更容易帮助我们理解分叉是什么(如果你对区块链一点概念也没有,欢迎翻阅我以前的文章,都是些通俗的话语帮你了解什么是区块链)。
区块链,顾名思义,就是由区块组成的链条,当然这种链条只是一个形象比喻,说白了就是数据区块有序地连接起来。在比特币中,区块中存放的是比特币的交易记录,区块的大小和交易记录所占用的空间决定了一个区块能存放多少交易记录。这些交易记录被打包到区块中,然后区块一个个相连就构成了区块链。
为什么要分叉
我们知道,比特币软件像其他软件一样,需要定期更新和修改,以便让他更好。所以新的版本就会出现,但是由于不是所有人都即使下载了新版本,所以有个矿工就运行了旧版本,有的则运行了新版本,那么一旦新旧版本不兼容的话,区块链就会分叉。因为因版本的区块和旧版本的区块可能存在差异,所以他们不能被连接到同一个区块链上,所以就会出现两条链,甚至多条链,这就是分叉。
软分叉
软分叉指的是,当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。这种分叉会随着节点的升级而逐渐修复。
硬分叉
硬分叉指的是,区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬叉就会发生。所以,在数字货币领域,硬分叉往往导致新的币种出现。例如以太坊的硬分叉就导致了
eth的出现。
㈣ 什么是分叉币
分叉币,顾名思义,来源于区块链中“分叉”的概念。早期对于比特币的分叉,是针对比特币的区块扩容问题产生的妥协方案。
分叉意味着对比特币的一次不完全升级,升级后,部分未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,从而分出了两条链。
现在市场上山寨币泛滥,实际上就是一些分叉币。
典型的分叉币操作是:通过宣布分叉币,为每个用户按1:1的比例赠送特殊的新“分叉币”“糖果”。
在用户普遍获得分叉后的新币之后,自然会产生交易需求,这时可以引导舆论,以庞大的用户数量和交易需求倒逼交易所上币。
而在交易所上币之后,分叉币持有者先用一定的资本拉高分叉币,营造出追捧假象,再将自己“预挖”的分叉币卖出套利。
但是玩家也可以认为某些分叉币有价值,从而进行跟进,因此分叉币交易所也是有价值的,现在还开展这类活动的还很多,比如bitfinx、币升、币安等。
㈤ 什么是比特币区块链的分叉
分叉有区别为普通的升级,普通的升级在升级前后是没有影响协议共识的,也一般不需要社区共识或算力共识的参与。而分叉根据对协议的修改情况分为软分叉和硬分叉。
现有的定义:
【闪电定义】硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。
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.
我觉得不能说哪个定义正确还是错误,具体的定义可以根据已经较大社区共识的两者的区别来自己总结,不需要权威来指定。
硬分叉:没有向前兼容性,之前的版本将不可再用,需要强制升级。
软分叉:有较好的兼容性,之前版本至少部分功能可用,可不升级。
硬分叉:在区块链层面会有分叉的两条链,一条原旧链,一条分叉新链。
软分叉:在区块链层面没有分叉的链,只是组成链的区块,有新区块和旧区块。
硬分叉:需要在某个时间点全部同意分叉升级,不同意的将会进入原旧链。
软分叉:相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存
㈥ Gate.io芝麻开门之软硬分叉有什么区别
我们经常会看到一些关于区块链分叉的资讯, 到底什么是分叉,又为什么会产生分叉呢?
其实区块链的分叉就是对区块链网络运行的软件进行升级,在无法达成共识的情况下就会产生分叉。
目前区块链常见的分叉有两种,一种是软分叉、一种是硬分叉。
软分叉很好理解,就是在部分软件升级后,未升级版本可以接纳已升级网络节点信息, 其独特之处在于允许节点延迟升级,支持升级后版本的前后兼容。并且待全部节点升级完后,软分叉就会消失。
硬分叉不同于软分叉,它属于永久性分裂,没有升级的节点不能验证已升级的节点所创建的区块, 它迫使网络上的所有节点必须升级到最新版本后才可使用新功能。
目前区块网络的分叉都是为了解决原链上存在的某些问题。 例如,BTC 的硬分叉 BCH,解决了原有区块链存储容量低等问题。 ETH 硬分叉是因为遭受黑客攻击,想要通过回滚追回被盗资产。 并且一次硬分叉成功之后,原有资产持有者往往可获得等同数量或一定比例的新分叉币,这是为了促使新币种流通和被大众接受,真正的天上掉馅饼。
一般新分叉币刚出来时都会造成原币价格的剧烈波动,待一段时间后才会被市场稳定, 所以新币的价值,也还是需要时间来证明。
㈦ 区块链为什么有分叉分叉会发生什么情况
区块链的分叉(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%都是诚实可靠的,能保证整一个区块链在合法有序的进行运行。
但是为什么选择过半的算力,而不是过半的用户?比特币系统,任何人都可以加入,且创建账户及其简单,只需要本地产生公私钥对即可。只有转账(交易)时候,比特币系统才能知道该账户的存在。这样,黑客可以使用计算机专门生成大量公私钥对,当其产生大量公私钥对超过系统中一半数目,就可以获得支配地位(女巫攻击)。因此,比特币系统中很巧妙的使用算力作为投票的依据。
㈧ 区块链中的软分叉和硬分叉是什么
根据分叉后的区块链是否能兼容旧区块链,分叉又分为“硬分叉”和“软分叉”。软分叉和硬分叉是什么?硬分叉,是指当比特币代码发生改变后,旧节点拒绝接受由新节点创造的区块。不符合原规则的区块将被忽略,矿工会按照原规则,在他们最后验证的区块之后创建新的区块。而软分叉是指旧的节点并不会意识到比特币代码发生改变,并继续接受由新节点创造的区块。矿工们可能会在他们完全没有理解,或者验证过的区块上进行工作。软分叉和硬分叉都"向后兼容",这样才能保证新节点可以从头验证区块链。向后兼容是指新软件接受由旧软件所产生的数据或者代码,比如说Windows 10可以运行Windows XP的应用。而软分叉还可以"向前兼容"。向前兼容是指旧软件可以接受由新软件所产生的数据以及代码,比如你用Word 2013保存的文档,假如仍然可以用Word 2011打开,就是一种“向前兼容”。
㈨ 什么是比特币中的硬分叉和软分叉他们各自有什么特点
简单来说,因为兼容性的不同,因此就产生了硬分叉和软分叉,软分叉是暂时的,而硬分叉则是永久的。
区块链发生永久性分歧,在新的共识规则发布之后,一些没有及时升级的节点则没有办法验证已经升级的节点所产生的区块。这个时候硬分叉就会发生。对于硬分叉,行业内的定义是这样的,硬分叉是指比特币的区块格式或者交易格式(也就是大家所熟知的“共识”)发生改变时,没有升级的节点会拒绝验证已经完成升级的节点所生产出的区块。而已经升级的节点则可以验证未升级节点所产生的区块。然后大家各自延续自己认为正确的链。因此就分成了两条链:新链和旧链。
软分叉具有如下的特点:
1, 具有很好的兼容性,之前的旧版本部分功能可用,可以不用升级。
2,在区块链的层面没有分叉的链,只是组成的链的区块有新旧区块之分;
3,在相当长的时间里,可以允许不进行升级,继续使用原有的版本生成旧的区块,并与新区快并存。