区块链100篇之第七篇--比特币的分叉

遵循相同机制的分叉

我在第六篇讲到了一种情况就是在比特币网络中,在某一时刻有两个矿工同时算出随机数(即获得记账权),那么这个时候便会出现一种情况,即一条主链叉开变成两条叉链,每条链沿着各自的方向延伸下去,如下图所示: 
 
之所以会出现这种情况是因为每个矿工在开始挖新的区块之前都会先把上一个区块复制过来,然后接上这个区块进行下一个区块的挖矿工作。而现在在全网中的同一时刻有两个符合条件的区块,那么由于距离的远近(P2P网络),矿工找到的区块是不一样的(虽然这两个区块都是符合条件的区块),所以有一些矿工会拿到橙色的区块进行下面的挖矿工作,而有一些矿工会拿到蓝色的区块进行挖矿工作,这就势必导致上图所示的情况,这种情况叫分叉。 
对于此类情况,比特币有一个很好的机制,就是上文提到的短链服从长链,那么为了达到这种效果比特币是如何做的呢? 
首先区块是由矿工挖出来的,矿工进行挖矿就需要矿机(以后会专门讲矿机),而不同的矿机具有不同的算力(每秒运算多少次),也就是说每个矿工的计算能力是不一样的,那么,就会出现一种情况,即两条链中会有一条链的算力要比另一条链大,因此这条链的增长速度就会比另一条链要快,也就是这条链会比另一条链长。这时你可能会说那如果两条链的算力一直保持一样呢?这种情况是不可能会出现的,在短时间内是可能的,但一段时间后这种平衡势必会被打破,比如有新的矿机出来(新的矿机算力一般都比较高),那么就会有矿工去购买来替换旧的矿机,这就会导致算力不平衡。 
但其中一条链超过另外一条链时,这时全网中就会出现一条最长链,那么矿工在进行新的打包区块工作的时候会把最长链全部复制过来,再在这条链的基础上继续挖矿,当所有矿工都这样做的时候那么这条链就会成为一条主链,而另外一条链就会被抛弃掉,如下图所示: 
 
到这里可能会有一个疑问,就是如果矿工执意要在那条短链上进行挖矿呢?如果这个矿工聪明一点的话他就知道这么做是吃力不讨好的,因为一旦他所在的链最后没有成为主链的话,他在这条连上挖到的比特币都会归零,他之前所做的工作都白费的,所以一般不会去做这种事。 
好了,到这里或许能明白比特币是如何保证系统中账本唯一性的了,但是需要注意的是这里所有的矿工都是遵循相同的机制,比如每条链的每个区块都是1M大小。那么如果一条链1M大小一条链是8M大小呢?比特币系统还会不会同样的保留最长链丢弃短链呢?继续往下看。

遵循不同机制的分叉

如果是遵循不同的机制也会出现分叉,一般分为软分叉和硬分叉。

  • 1.软分叉

软分叉好理解一点,就是当系统进行升级时(比如比特币将一个区块的大小从1M扩容到8M),有一些矿工还没来得及升级,那么就会出现一条链是1M的,一条链是8M。这种情况也好解决,只需要这部分矿工进行升级就行了,那么那条1M的链就会自动消失,而且对全网没有任何的影响。 
这里可以把软分叉理解为一个人换了一件新的衣服,人还是那个人,只是样子看起来变了。

  • 2.硬分叉

当整个区块链网络中,系统版本或协议升级后,且和老版本协议不兼容,未升级的老节点无法接受新节点挖出的全部或者部分区块,导致出现了两条链,假设新节点的算力较大,新节点们在维护一条链,老节点也始终在维护一条他认可的链,如果这时候大多数的节点都开始升级为新版本,那么老节点维护的链能不能存活就看算力有多少了,这就称作硬分叉。直白点就是一条链真的分叉成两条链,且这两条链互不兼容,是两条独立的主链,这两条链唯一的联系就是在分叉前的数据都是一样,而分叉后全都不一样,举个例子就是一块地基上原来有了一座旧房子,这时在这块地基上重新建另一座房子,建成后两者除了在同一块地基上之外就没有任何联系了。 
关于硬分叉最有名的当属以太坊的The DAO事件,感兴趣的可以自行查资料,这件事导致了以太坊分叉形成两条不同的主链,一条是以太坊(ETH),一条是以太经典(ETC),现在两条链都同时存在。

原文地址:https://www.cnblogs.com/wangsea/p/9429509.html

时间: 2024-07-29 15:41:43

区块链100篇之第七篇--比特币的分叉的相关文章

《区块链100问》第68集:硬分叉之以太经典

以太坊(ETH)和以太经典(ETC)是硬分叉的典型案例. The DAO计划基于以太坊智能合约建立一个众筹平台,于2016年5月正式发布,截止当年6月,募集资金超过1.6亿美元.之后,The DAO被黑客利用智能合约的漏洞,转移了市值五千万美元的以太币.为了挽回投资者资产,以太坊社区投票表决决定将更改以太坊代码,希望索回资金.为此,以太坊在第1920000区块进行硬分叉,回滚所有以太币(包括被黑客占有的). 但是,有一部分人认为以太坊这种作法违背了区块链的去中心化和不可篡改精神,坚持在原链上挖矿

《区块链100问》第14集:各国对待区块链资产大不同

从全球范围来看,各国政府对于区块链.区块链资产的态度不一,但整体来说都还处于探索期. 欧美国家积极监管.德国是最早将比特币等数字资产认定为私有财产的国家.美国CFTC(美国商品期货委员会)将比特币定性为大宗商品.纽约州目前颁发了3张BitLicense. 亚洲的情况不一样.日本积极支持.今年4月,日本实施了<支付服务法案>,正式承认比特币是一种合法的支付方式. 韩国积极监管.7月,韩国<比特币监管法案>面世,设置了5亿韩元的投资者准入门槛. 中国严格监管.9月,中国人民银行等七部委

《区块链100问》第50集:区块链资产全球流通

区块链资产有几大特点,其中之一就是全球流通.区块链资产首先是基于互联网的.只要有互联网的地方,区块链资产就可以进行流通.这里的互联网可以是万维网,也可以是各种局域网,所以,区块链资产是全球流通的. 甚至你在月球.火星上,你只要有互联网,我就可以把我的区块链资产转账给你. 相较于中心化的方式,区块链资产在全球流通的转账手续费非常低.比如比特币早期转账手续费为0.0001BTC,现在就稍微有点贵了,其他如Bitcoin Cash网络转账手续费为0.0001BCC,达世转账手续费为0.002Dash,

《区块链100问》第52集:区块链资产能去中心化记账

区块链资产的第三大特点是记账去中心化. 你给别人的转账,不会因为记账机构要放假,所以延迟几天到账:不会因为记账机构要盈利,所以要付很高手续费:更不会因为记账机构作弊,而受到损失. 因为它的记账是全网共同进行的.你给别人转账记录的账本,不会因为你这里或者对方那里的账本数据丢失,而无法统一,因为这个账本是全网共同维护,每个全节点都有备份.如果你转账0.5个币给火币牛牛,你们俩一起看全网的记录数据就好:有没有到账.几个确认了等等,十分透明公正. 原文地址:https://www.cnblogs.com

《区块链100问》第62集:比特币为什么要扩容?

目前比特币区块大小为1M,每秒大约只能处理7个交易.随着比特币交易量不断增长,比特币网络已经难以迅速地进行转账交易确认,比特币网络出现拥堵. 比特币区块链上最高时有上万笔交易积压,比特币转账交易费高达几十美元,网络拥堵时,比特币交易甚至需要花费好几天才能被打包.大家开始讨论如何扩容. 自2013年起,人们提出了很多关于比特币扩容的方案,有人说要提高区块大小上限.有人说要拿出区块内部分无用信息--但是这些方案都没有获得广泛认可.因此,比特币扩容一直争论不休. 2017年8月,隔离见证激活,比特币单

《区块链100问》第57集:股份授权证明机制是什么?

股份授权证明机制,简称DPoS,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账.为了激励更多人参与竞选,系统会生成少量代币作为奖励.比特股.点点币等数字资产都采用该方式. DPoS有点像议会制度或人民代表大会制度.如果代表不能履行他们的职责,比如轮到他们记账时,他们没能完成则会被除名,网络会选出新的节点来取代他们. DPoS的每个客户端都有能力决定哪些节点可以被信任.相较PoW(工作量证明机制),DPoS大幅提高区块链处理数据的能力,甚至可以实现秒到账,同时也大幅降低维护区块

《区块链100问》第65集:比特币生孩子了

现在比特币社区有很多种扩容方案,如果有某种扩容方案可以获得足够的算力支持,成功激活,那么比特币网络将避免分叉的风险. 但是,因为比特币没有中心化的权利机构,很难达成共识.如果没有任何一种方案获得足够的算力支持,比特币区块链将形成分叉,届时将会产生多种比特币分叉币.原先持有比特币的人,在分叉后将自动且免费拥有分叉后产生的每种分叉币.因为分叉币都是免费获得的,所以又被称为糖果. 2017年8月,社区就扩容方案达成共识,激活了隔离见证扩容方案,比特币区块链的处理速度扩大至1.8倍.随后4个月里,比特币

《区块链100问》第16集:比特币转账需要手续费

比特币转账手续费是交易者付给矿工的一笔费用,用于激励矿工竞争记账,为比特币提供足够的算力,从而确保比特币网络的安全,有的地方也叫做矿工费. 用户在比特币网络发起一笔转账时,一般需要支付给记账矿工一定的转账手续费.转账手续费一般为0.001-0.0015个比特币,由于区块能容纳交易记录的容量有限,矿工会优先打包手续费高的交易,所以多付手续费可以更快被记账. 比特币交易手续费的存在能提高转账门槛,有效防止区块链中充斥垃圾信息,并且能够保证在比特币被挖完之后矿工仍有动力维护比特币网络. 原文地址:ht

【屌丝程序的口才逆袭演讲稿50篇】第七篇:请留意我们身边的风景 【张振华.Jack】

骐骥一跃,不能十步.驽马十驾,功在不舍.让我们一起来见证坚持的力量.不知道自己能坚持多久,但我相信坚持就是力量.Java高端交流群:240619787: 演讲稿主题:<请留意我们身边的风景> 在演讲之前我先发起一个公益活动啊,让我们一起给离我们最近的,身边的一个人一个拥抱.(来我们三位和闫老师,我们也拥抱一下吧)好的,谢谢大家.而今天我要演讲的题目就是"请留意我们身边的风景",而我接下去谈两点. 一:珍惜身边最关心你的人.    我想问一下大家最容易被我们发脾气和伤害到的人