我是靠谱客的博主 魁梧导师,最近开发中收集的这篇文章主要介绍区块链第4次学习总结----为什么区块链会分叉,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

     前言: csdn论坛对博文内容审核严格,敏感词太多,导致博文往往被误判是违规而无法发布,所以已经很长时间没有更新博客了。但是学习和研究是一个长期的过程,坚持学习才能看到希望。

    这段时间疫情反复,大部分时间只能居家,想起战火纷飞的战争年代,前辈学者在那么艰苦的环境下都没有中断学术研究,依然坚持做学问搞科学,我辈岂能不效仿?疫情期间减少外出,正好可以利用这段时间写一些博客。

    另外,我计划录一些区块链视频放到B站,希望认识更多区块链研究爱好者,请各位专家多多赐教。

   计划分享内容包括智能合约,Solidity语言,Remix的使用方法,Dapp开发Truffle框架,HardHat框架的使用体验,以太坊源码与Go语言,区块链3.0的讨论与展望。

今天只讨论区块链分叉。

-----------------------------------------------------------------------------------------------------------------------------

1.什么是区块链的分叉(fork)

    按照最理想的状态和朴素的理解,区块链应该是单链表这样的线性链式结构。但实际上区块链却有可能会产生分支,即分叉。

理想情况是这样的一条链:

 实际情况是这样的:

但是以上这些"分叉"只是临时分叉,不是我们今天要讨论的分叉,

真正的分叉应该是这样的:

2.为什么会分叉

实质意义上的分叉之所以产生,是因为项目在动态发展过程中原社区内部理念产生了不可调和的分歧。

区块链背后的社区作为去中心化组织,主张非暴力自由人的自由联合,这意味着在向未知的将来迈进的过程中,当遇到的新问题超出了原有既定游戏规则之时,分歧一旦产生将很难达成一致,这是由区块链基因里去中心化的属性决定的。

3.分叉的种类  

通常在区块链中软分叉能够同时兼容新旧版本,硬分叉则不能同时兼容新旧版本,硬分叉意味着将分成新旧两个互不兼容的版本。 

  3.1 软分叉:当所做的更新与原始区块链兼容时。当系统中出现了新版本的软件(或称协议),而旧软件能接受新软件的区块,新老双方从始至终都工作在同一条链上,这称为软分叉。

   3.2 硬分叉:当所做的更新与原始区块链不兼容并声明现有版本的协议无效时。

    当系统中出现了新版本的软件(或称协议),并且和前版本软件不能兼容,老软件节点无法接受新软件节点挖出的全部或部分区块(认为不合法),导致同时出现两条链。尽管新节点算力较大,比如99%的算力为新节点,1%的老节点依然会维护着不同的一条链,因为新节点产生的区块老节点实在是无法接受(尽管它知道网络上99%的节点都接受了),这称为硬分叉。

软分叉不要求所有节点同一时间升级,允许逐步升级,且并不影响软分叉过程中的系统稳定性和有效性;可以保证不想升级的人不去升级,这种不想升级的需求在现实生活中其实是很常见的。
硬分叉必须要求所有旧节点进行升级,否则旧节点就无法识别新节点生产的交易和区块,导致区块链分成两条链。

 总结一下: 

  •    硬分叉是人为的有预期的分叉,不兼容老的链。
  •    硬分叉的原因是共识产生了分歧或分裂
  •     软分叉可以看成是一种软件升级,兼容原有的链。

4.比特币的分叉  

  201781日,比特币发生人为的分叉,在一个硬叉的事件中,诞生了一种被称为比特币现金(BCH)的新数字货币。

比特币的第一次分叉是2017年8月1日分叉的比特币现金(BCH)。分叉前,开发者之间就区块的大小存在争议:

有些人希望将区块大小设置为1兆字节到2兆字节。

其他人希望有更大的块大小。

争议的两方都未妥协,最终社区都决定按自己主张继续下去,就有了后来的分叉。

   由于版本切换,比特币区块链被分叉至两条独立的区块链。在分叉前拥有比特币的所有人都有权获得相同数量的“比特币现金”代币,类似于股票中的股息派发。

 自此比特币就被分叉为BTC和BCH两种货币,当然它们也代表着两种方向。

    BTC:

    比特币现金BCH:  比特币现金(BCH)是由一小部分比特币开发者推出的不同配置的新版比特币,是一种新型的区块链资产

5.以太坊的分叉

      2016年以太坊一个知名项目The DAO被黑客攻击,损失了价值超过6000万美金的ETH,随后以太坊团队通过硬分叉的方式(变相回滚)“追回”了被黑客盗取资产,一部分社区成员认为此举有违区块链不可回滚、不可窜改的基本精神仍旧坚持维护旧链,自此分裂出——以太坊(ETH)和以太经典(ETC)两个独立的区块链项目

       ETH:更新以太坊后链上的数字货币。         

       以太币(ETH)是以太坊(Ethereum)的一种数字代币,开发者们需要支付以太币(ETH)来支撑应用的运行。以太币和其他数字货币一样,可以在交易平台上进行买卖。

通俗一点说,以太坊是开源平台数字货币和区块链平台,它为开发者提供在区块链上搭建和发布应用的平台。Ethereum可以用来编程、分散、担保和交易任何事物,投票、域名、金融交易所,众筹、公司管理、合同和大部分的协议、知识产权,还有得益于硬件集成的智能资产。

   V神和他的团队支持ETH,ETH是硬分叉以后产生的新链上的加密数字货币.V神及其团队认为既然系统有漏洞和缺陷,对软件升级是理所应当,情理之中的事情。

    ETC:老的链。

    以太坊经典(ETC)运行在相同的协议上执行类似ETH的功能,但它在社区中确实有一些明显的差异。来自原始以太坊的10%左右的人相对处于阴影中,并且忠于不可变分类帐的概念。ETC主要因为投机者市场才具有价值,就像许多其他替代币一样。

 ETC是坚持不分叉的以太坊用户维持的那条以太坊链,他们拒绝分叉,认为区块链不可篡改,硬分叉违背了区块链不可篡改的这种承诺和区块链去中心化发展的精神,是对分布式共识机制的背叛和自我否定, 既然承诺了区块链不可修改,哪怕它有漏洞有错误也不要去改。

6.分叉是好事还是坏事

     如何看待区块链的分叉?分叉是偶然还是必然,是好事好事坏事?

    区块链设计的初衷,并没有考虑到分叉,理想状态下就是一根链一直发展下去。

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

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

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

 总结一下:分叉可能是软件升级的需求导致的,也可能是区块链社区无法达成共识造成的,

软件升级可能造成软分叉,也可能是硬分叉。

区块链无法达成共识形成的分叉一定是硬分叉。

如果是人为操纵并利用分叉来谋取私利,达到某些人或某些团体的谋取私利的目的,那么我人为这种蓄意为之的硬分叉与恶意攻击类似。

最后

以上就是魁梧导师为你收集整理的区块链第4次学习总结----为什么区块链会分叉的全部内容,希望文章能够帮你解决区块链第4次学习总结----为什么区块链会分叉所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部