近年来,比特币和区块链逐渐成为新风口,受到创业者、资本家和市场的青睐。一方面,比特币的价格不断高涨,一度突破2万美元,另一方面区块链融资成爆发式增长,根据猎豹全球智库区块链研究中心发现,2017年,全球ICO融资金额高达350亿元,而2017年全球区块链行业的传统风险投资融资额约50亿左右,ICO融资额是传统风险投资融资额的7倍。

但是,无论比特币和区块链如何变化,归根结底它们都是软件系统。既然是软件,那么就会存在Bug或者安全漏洞。只不过没有人发现时,人们都不知道。

何为“分叉”?

虽然很多人热衷于比特币和区块链,但是不一定注意到,它们本身就是一种实验性的软件。区块链是一个个的区块数据,通过区块的哈希值串联起来形成一个链条般的账本数据。但是,区块数量不断增加,如果增加一个新区块A时,软件进行升级增加一些新东西,那么会发生什么呢?

如果新区块生成的时候,新版本也发布,并且新版本增加了之前版本不能识别的数据结构,此时部分用户升级了新版,部分用户还没有升级,这些新旧版本的软件仍然在各自不停的挖矿、验证、打包区块,这样就会出现分叉。

平时,大家都会使用各种App客户端。它们都是中心化的系统,数据存储集中,版本管理集中,因此对升级有很好的控制。但是,区块链本身是一种分布式、去中心化结构,一旦新版本出现,有的人没有升级,就会出现分叉。

分叉的情况可以分为两类,一是新版本节点认为老版本节点发出的区块/交易合法,2新版本节点认为老版本节点发出的区块/交易不合法。

硬分叉和软分叉?

并且,“分叉”还分为硬分叉和软分叉。

硬分叉:当系统中出现了老版本的协议,并且和前版本不同兼容时,老节点不承认新节点挖出的全部或部分区块而导致同时出现两条链的情况。

软分叉:老节点不能发现新协议的变化,从而继续接受新节点用新协议所挖出的区块,这种情况称为软分叉。

目前,业界已经出现了分叉事件。2017年8月1日,由ViaBTC领导的矿工团体创建一个比特币分叉——Bitcoin Cash(简称BCC或BCH)。这次分叉,让大量的比特币持有者凭空的增加了一种新的数字货币(BCH)。

其次是以太坊的分叉事件——The DAO项目。由于自身漏洞,导致黑客窃取了价值6000万美元的以太币。2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第1920000个区块强行把The DAO及其子DAO的所有资金全部转到一个特定的退款合约地址,从而“夺回”黑客所控制的DAO合约币。

但是由于部分矿工不认同这个修改,于是形成两条链:以太坊(ETH),以太坊经典(ETC)。不过有趣的是,原本持有以太币的人,发现自己又有了相同数量的ETC。

以上事件的发生,不仅暴露了区块链本身的安全问题,而且还会带来很严重的后果。

在下一篇文章,笔者将会阐述了区块链的另一大问题:51%的攻击!(备注:部分内容参考《白话区块链》 蒋勇)。

区块链分叉如何解决_聊聊区块链背后存在的问题(一):分叉相关推荐

  1. 区块链分叉如何解决_什么是分叉区块链又该如何分叉

    区块链为何及如何分裂?Zrk显卡之家 分叉(fork),或是分叉的威胁,似乎是加密货币领域的公认特征.但分叉是什么?为什么分叉会有这么大的影响?硬分叉与软分叉的差异在哪?Zrk显卡之家 Zrk显卡之家 ...

  2. 区块链分叉如何解决_详解区块链分叉是怎么回事

    区块链分叉 熟悉Github的人应该知道,一套代码的质量有多个衡量维度,Fork就是其中之一.分叉其实就是这里所说的Fork,也就是复制并加以修改应用.在这里我们以比特币为例,解释下分叉是怎么回事. ...

  3. 区块链分叉如何解决_区块链的命门——硬分叉

    不要一看到硬分叉就想到分叉币,分叉币是逐利动机下的主动行为,并且发币也仅只是区块链的一个功能而已,这个功能可以用也可以不用.真正需要担心的,是一体化的区块链如果不得不面对硬分叉的选择时应该怎么办.以及 ...

  4. php外链图片转换,解决zblogPHP远程外链图片自动保存的办法

    使用zblogphp版的独立博客博主们可能没有在意,zblogphp存在一个小bug就是在博客没有启用远程图片附件自动保存到本地的情况下,编辑文章中使用的外链图片依然会被自动保存到本地(在附件管理中可 ...

  5. 区块链应用开发人员_每个区块链开发人员都应该了解这些Web3和Metamask用例

    区块链应用开发人员 by Igor Yalovoy 由Igor Yalovoy 每个区块链开发人员都应该了解这些Web3和Metamask用例 (Every blockchain developer ...

  6. 拖链电缆 机器人电缆_尼龙拖链在机器中起着电缆的作用

    在机械的传动装置在频繁的往复运动中,会对随机电缆造成很大的磨损,尼龙拖链的一个重要作用就是在设备的运行中对电缆起到完善的保护作用,并能够通过机械连接提供一定的牵引力.独特的结构设计,很适合往复运动的机 ...

  7. 链改价值节点,构建区块链命运共同体

    区块链是信息革命的拐点,区块链技术的应用使信息时代的内涵从简单的信息复制.信息分享的时代迈入价值转移的时代,因此区块链实际上构建了一种新的网络,即价值互联网. 为了创造用户价值,推进区块链产业发展.标 ...

  8. 区块链技术用解决拜占庭将军问题_区块链是如何解决拜占庭将军问题的?

    原标题:区块链是如何解决拜占庭将军问题的? 区块链火爆后不少人认为它是继蒸汽机.电力.互联网之后第四代具有颠覆性的技术.但凡了解它,或者对比特币有一定见解的人,都多多少少听过拜占庭将军问题.现阶段区块 ...

  9. 区块链技术用解决拜占庭将军问题_区块链技术6:拜占庭将军问题

    本篇主要结合Lamport((2013年的图灵奖得主) 1982年的论文<Byzantine Generals Problem>讲一讲拜占庭将军问题(Byzantine Generals ...

最新文章

  1. linux下unzip解压报错“symlink error: File name too long”怎么办?提供解决方案。
  2. Resource interpreted as Stylesheet but transferred with MIME type application/x-css
  3. 显示ip地址及包含采集功能的全套函数源代码
  4. GDCM:gdcm::DefinedTerms的测试程序
  5. minix中atoi、atol、atof的实现
  6. MySQL的安装,Python开发人员
  7. MongoDB官方C#驱动中查询条件Query用法
  8. 全国计算机一级考试文稿演示题,计算机等级一级MS Office考试考题:第三套演示文稿题...
  9. 第一部分:基础知识(第一章)File | New | Project
  10. 学生签到系统c代码_c语言学生签到
  11. 湖大计算机考研跟南航比,省三也可以逆袭进入985大学?这49所自主招生高校都收省三!...
  12. win7计算机搜不到无线网,怎么解决win7笔记本搜索不到WiFi
  13. win10安装Offic2016以后,Word文件、Excel文件、PPT文件图标显示不正常解决方法
  14. php如何计算三角函数,使用Python三角函数公式计算三角形的夹角代码示例
  15. 你终将成为你潜意识中想要成为的人
  16. Python-sklearn包中自动调参方法-网格搜索GridSearchCV
  17. 超越阿里达摩院成绩,这个斯坦福团队用“国产求解器”助中国企业实现智能决策|快公司...
  18. 解决“此图片来自微信公众平台 未经允许不可引用”的方法
  19. [luogu] P2345 MooFest G 树状数组
  20. 浙江大学计算机学院博士论文格式,浙江大学博士学位论文模板.doc

热门文章

  1. 量化投资交易策略的理论基础
  2. 最新java毕业设计论文参考文献第二版
  3. 从根源上看屏幕点击事件是如何传递到View中的(上)-事件获取
  4. RegisterHotKey class wrapper
  5. 【校队+实验班】萌新训练赛【1】
  6. MATLAB安装、使用及卸载
  7. Subversion的安装与使用
  8. 软件测试怎么去介绍一个项目的测试流程?
  9. Windows任务栏的搜索框的图片怎么去除
  10. html表和连接css的方法