首先区块俩的“分叉”概念要从“系统升级”谈起,区块链主要基于去中心化的系统,而传统的系统大都是中心化的。 对于中心化的系统来说升级较为即简单,一般分为服务器升级和客户端升级。对于服务器升级来说,只需要在后台部署好即可一键升级;对于终端来说,一般都可以在软件库或者应用商店升级,而且各终端版本的不一致并不会影响用户的使用。 核心提示:文章资料收集于互联网,仅作为开发需求者的模式案例参考作用,与平台没有任何关系,如需定制系统请详询,玩家勿扰! 而对于去中心化的系统来说,升级模式比较复杂。因为其没有中心化的服务器,所以没有服务器升级;对于终端来说,可以在各自社区中下载、安装然后升级。而在去中心的系统中,不同版本的客户端会可能影响到客户的使用,甚至导致其分叉。 通过以上描述我们可以看到,去中心化系统的分叉是由于用户之间的“意见不一致”导致的。因为数字货币每次升级都需要获得社区的一致认可,如果无法获得大家的一致认可,区块链就会分叉。 区块链分叉类型 通常来说,如果新版本和旧版本之间能够互相兼容,称为“软分叉”,反之则称为“硬分叉”。 软分叉和硬分叉都可以向后兼容,这样才能保证新节点都可以从头验证区块链。而软分叉还可以向前兼容。指旧版本可以兼容新版本终端产生的区块。 在比特币中,还有一个最长链原则,即在挖矿中存在2个矿工几乎同时解出题目或计算出Hash值的情况,即同时挖矿成功。在这种情况下2个矿工会形成2个区块,其数据一定不一样。接下来对这2个区块进行分析: 区块链最长链原则 首先,这2个区块中记录的第一笔交易为:CoinBase交易(挖矿交易)。这笔交易没有转出地址,即没有任何人付给矿工这笔钱,这笔钱来自系统;矿工可以理所应当的记录自己获得了12.5比特币;所有节点都认可矿工这样记录,因此矿工就得到了挖矿收入。由于每个矿工只会把挖矿收入转入自己的地址,而每个矿工的地址不同,故2个区块中的第一条记录肯定不一样; 其次,这2个区块中打包的交易数据也不同。由于交易手续费不同,矿工都会优先打包手续费高的交易,当存在相同手续费的交易情况时,每个矿工的选择也会不同。 由于这2个矿工的区块数据都不一样,所以他们解题得出的结果也是不一样的,即计算出的Hash值不同,但都是正确答案,只是区块不同。于是,此时区块链中出现了两个都满足要求的不同区块。 那么,全体矿工这时该怎么办呢? 由于矿工在区块链中的距离远近不同,不同矿工接收到的这两个区块是有先后顺序的。一般情况下矿工们会把自己先看到的区块复制过来,然后接着在这个区块开始新的挖矿工作。而由于不同的矿工跟从了不同的区块,分叉出来两条不同的链,导致算力有差别。 经过一定时间后,两条链的长度一定会有差别。矿工永远认为最长链是正确的,当矿工发现更长链时,矿工会抛弃当前链,复制最长链,再次基础上继续挖矿,当所有矿工继续此操作时,该链就成为了主链。之前的短链会被抛弃,并消失。 区块链分叉分析 1.区块链产生孤块(软分叉) 区块链记账因网络延迟等原因,可能出现两个不同的区块,当短链被抛弃时会成为“孤块”,也就是所谓的“追随最长链原则”。 2.终端版本升级(软分叉) 软分叉指的是旧的节点并不会意识到区块链代码已经改变,并接受由新节点创造的区块,此时矿工可能还没有意识到区块链已经分叉了。 3.终端版本升级(硬分叉) 如果版本升级导致两个版本之间并不互联兼容,会产生两个互相不承认的链,而此时“最长链原则”无效,而交易所不支持旧版本产生的区块奖励,促进旧版本升级。 4.社区、链、币的分裂(硬分叉) 如果不是因为意外导致的两个不兼容的版本,而是一些人坚持不同版本的特征。会导致两个版本同时运行,且互相不接受对方版本的特征,此时产生了两个同时运行的链,社区也会分成两个。 而对于永久性硬分叉来说,此时并不是因为技术原因导致,而是因为彼此的利益问题造成的人性的选择,此时无法单纯从技术角度去解决。 —- 编译者/作者:小弋 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
区块链分叉概念
2020-08-14 小弋 来源:区块链网络
- 上一篇:HT抓住趋势低吸机会
- 下一篇:小白必读篇--还未成长就夭折的YAM
LOADING...
相关阅读:
- BTEC生态公链—打造未来区块链产业生态新趋势2020-08-14
- 挖比特币时你知道怎么计算每天获得的挖矿收益吗?2020-08-14
- 群雄逐鹿区块链共识机制谁主沉浮?2020-08-14
- BODC超级矿机打造区块链+广告|智慧营销领导者2020-08-14
- [持币者]8月14日以太坊行情分析刷新高点达到430.99美元的ETH2020-08-14