1分钟了解“区块链分叉”的本质

企业动态
有不少朋友问,全球每个区块链节点都包含全部数据,都在最新的区块链数据上挖符合条件的区块,如何两个节点同时挖到新区块,出现数据不一致,该怎么办呢?

1分钟了解区块链的本质》,介绍了什么是区块链,区块链是一个没有管理员,每个节点都拥有全部数据,高可用的分布式存储系统。

1分钟了解挖矿的本质》,介绍了什么是挖矿,挖矿是在***区块链的数据上,生成一个符合条件的区块,链入区块链的过程。

有不少朋友问,全球每个区块链节点都包含全部数据,都在***的区块链数据上挖符合条件的区块,如何两个节点同时挖到新区块,出现数据不一致,该怎么办呢?

[[223540]]

今天,花1分钟和大家介绍什么是区块链分叉,来解答上面的问题。

假设当前***的区块链有三个区块:

假设中国有一个节点,美国有一个节点,同时挖到了矿(即找到了符合哈希预期的区块,挖矿的过程详见《1分钟了解挖矿的本质》),这两个节点都会把自己挖到的矿,链到自己本地的区块链上,这就出现了区块链分叉。

同时,这两个节点会将“我挖到矿啦”同步全球其他节点,以便于其他节点同步完***的数据后,在***的区块链上继续挖矿,此时:

  • 离中国节点较近的点,可能先同步到“中国链”,并在此链的基础上继续挖,链条会持续增长
  • 离美国节点较近的点,可能先同步到“美国链”,并在此链的基础上继续挖,链条也会持续增长
  • 节点收到两个冲突的区块链同步,会判断此时哪条链的长度更长,会以长度更长的区块链为准

画外音:长度更长的区块链消耗的计算力更多,不能让大部分矿工“白干啦”。

如此迭代,最终全球区块链终究会达成一致,以最长的区块链为准。

画外音:如果不遵守规则,成为“少数派”的节点挖到的新矿将不会被“多数派”承认,就等于“白干啦”,在区块链系统里,“遵守规则”是所有节点的***策略。

除非,有人掌握了全球51%的计算力(额,这不是相当于中心化了吗),才能为所欲为。承载比特币应用的区块链,一般认为一个区块后面再链了6个区块后,就不肯能被“颠覆”了,故称为“六次确认”。

画外音:额,挖到一个新区块别高兴太早,等后面链了6个其他区块的时候,再庆祝吧。承载比特币应用的区块链,平均10分钟生成一个区块,“六次确认”大概需要经历1个小时。如何保证平均十分生成一个区块,详见《1分钟了解区块如何匀速生成》。

关于区块链分叉,“软分叉”和“硬分叉”这两个概念是不能不提的。

什么是软分叉?

答:区块链系统升级后,在所有节点升级到***的版本之前,由于程序版本的差异可能会产生分叉,只要升级到***的版本,分叉就会消除,这就是“软分叉”,软分叉是临时的。

画外音:原文是说

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.

什么是硬分叉?

答:有些人头硬,不按照规则来,拉了一个分支,以“道德”或者“法律”的名义,号召大家认可自己的链,形成分叉,这就是“硬分叉”,硬分叉是***的。

区块链领域最有名的硬分叉,是“以太坊”分叉,事情大概是这样的:

  • 黑客盗取了大概6kw美元的合约币
  • 以太坊开发团队修改源码,强行把第1920000个区块的资金转移到另一个地址,“夺回”黑客控制的合约币
  • 大部分矿工认同这个修改,一部分矿工不认同这个修改,于是形成了两条链,新链是以太坊(ETH),原链是以太经典(ETC)
  • 大家继续在自己认可的链路上继续挖矿

画外音:

  • 区块头里能记录版本信息,所以理论上任何人都可以改程序,升级版本自己玩,只是没有人陪你玩罢了,没人陪你玩,你挖到的矿大家不认可,就只是浪费电。还是那句话,区块链的世界里,遵守规则才能让矿工的利益***化。
  • 硬分叉,其实违背了区块链“不能修改”的技术本质,采用了人为手段“强制回滚”,楼主认为,这违背了区块链去中心化的技术本质。

讲了四篇区块链,后续开始讲比特币:

  • 为什么大家疯狂的挖矿,有什么价值
  • 比特币的本质是啥
  • 区块能匀速生成,比特币为啥总量有限
  • 比特币交易的过程是怎么样的

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2018-03-12 14:37:50

区块链比特币架构

2018-03-12 21:31:24

区块链

2019-11-22 11:10:26

区块链技术

2023-05-10 11:12:14

2022-03-29 09:18:55

区块链

2020-05-21 19:46:19

区块链数字货币比特币

2018-04-20 16:43:23

2018-03-23 11:56:09

相似性推荐推荐算法推荐

2020-01-07 13:09:39

区块链比特币技术

2022-09-21 15:14:09

区块链安全攻击

2018-08-27 16:15:20

数据库MyISAMInnoDB

2017-02-22 14:46:04

Leader-Foll线程

2019-11-04 11:30:51

区块链技术智能

2020-11-19 13:32:20

比特币加密货币区块链

2018-03-23 11:46:49

基于内容的推荐职位推荐集群

2018-03-23 11:33:56

协同过滤程序算法

2021-11-02 09:20:23

区块链比特币架构

2009-11-05 14:53:54

Visual Stud

2018-05-06 16:26:03

关联规则数据分析关联规则推荐

2021-10-19 07:27:08

HTTP代理网络
点赞
收藏

51CTO技术栈公众号