甜蜜蜜的糖果---区块链分叉(一)

作者: kathy亚峰 | 来源:发表于2017-12-14 15:33 被阅读39次

    文章内容由新生大课程,区块链研习社课程的学习及作者的理解整理而成

                                                                            一

    这两个月大家过得都很快乐,因为一波又一波的糖果从天而降,BTG,BTD,BCX,SBTC,怎能不让人开心呢,感觉就像收到礼物一样甜蜜,充满了浓浓的节日气氛。这段时间大家也都很忙,忙着把币在钱包交易所之间的折腾,忙着比对看哪里能早点发,哪里的平台支持,然后搓着手跺着脚等着幸福来临。

    这让我想起了2017年8月份BCH的出世,那时候它还不叫这个名字,它叫BCC,那时候人们对于分叉的心情也不同于现在,那时候到处弥漫着不安,那时候没有谁会把喜悦和分叉连在一起,那时候人们的心情是忐忑的,大大不同于今时的翘首盼望。

    为什么对待分叉这同一件事,前后的差距如此大呢?可能是分叉对我们不再陌生,可能是分叉能实现对某种信仰的追求,可能分叉能带来更多的发展机会,可能分叉是区块链世界里又一个赚钱的门道,也可能分叉会是对比特币的打击,走着瞧吧……

    接下来回到正题,说说区块链分叉是怎么回事吧,好端端的一条链为什么会分叉?什么情况下会分叉?分叉的结果会是怎样的?

                                                                              二

    最早、最闻名已久的分叉是关于ETH的,它的分叉币就是ETC,但此处的分叉是以比特币来说的。

    首先区块链是由一个个区块连接而成这个事我们都已经搞明白了,那就是说每个区块后面只有一个区块,一个父区块后面只有一个子区块,但分叉就是指一个父区块后面有了两个区块,并且这两个区块向后延伸形成长短不同的两个链条,那么就此就诞生一个新链条,一个新币种吗?不是的,这要看这个分叉属于什么性质,属于哪种分叉,分叉的发起原因不同会造就不同的命运。

    为什么要分叉?分叉的种类有哪些?有什么区别?

    简单的说可以把分叉当成软件升级,比如对某个BUG的提升这类的就是。

    按照用户是否需要升级钱包来分类,可以分为软分叉、硬分叉。

    软分叉是指交易结构数据发生改变但区块数据结构未改变的时候,就会出现有些全节点升级而有些全节点未升级,这时候未升级的老节点会接纳新节点产生的区块,把它加入自己的链内,而升级的新节点会拒绝老节点的区块,于是这时就出现两个链条,这两个链条上的矿工会埋头在自己的链上挖矿出区块,然后在第三个或第四个,也可能是第五个块的时候,反正总会在某个区块上,有一条链的区块更快的挖出,所以这条链拥有了更多的区块数量,于是成为二者中的长链,这时矿工们会按“只在最长的链上挖矿”这个共识机制做出动作,短链上的矿工会停止放弃当下的区块,转而投向长链接续下去,短链就被废弃永久不会在主链上显示而消失在视线之外。

    软分叉的特点是:终究只有一条主链,分叉只是暂时的,用户无需升级钱包。

    硬分叉是指交易结构的数据发生了变化导致了区块的数据结构变化,或者就是区块本身数据结构发生变化,总之是导致了区块的变化。

    然后父区块开始会出现两个子区块,他们互相拒绝对方的区块,于是就此各自形成两条链,两个币种。

    硬分叉的特点是会生成两条链,这两条链都会存活(有矿工挖矿维护区块,并有足够的人群支持的情况下),无论谁长谁短各走各的,分道扬镳。还有就是要升级钱包,或者重新下载支持新链的钱包,否则你的老钱包里只能看到旧链上的币。

    还有一种分叉叫做临时分叉,这是由于不同的节点上的矿工同时算出了答案同时打包交易,就是同时爆块,这时候就在一个父区块下出现了两个子区块,矿工们竞争后长链胜出,短链报废,短链上的交易全都作废不算数了,这也就是为什么我们转账比特币时要等到六个区块之后才认为是到账的原因。

                                                                                  三

    上面从区块结构角度来说分叉是怎样一回事,接下来再从人的角度来说比特币分叉是怎样实现的,为什么要分叉?

    这里要先说几个很重要的数据重复:比特币区块大小为1MB,6个区块/每小时,POW的共识机制。

    区块大小说的是区块的容量,区块大容纳的交易就多,交易起来速度就快,当交易太多通道拥堵,就会有人提出扩大区块容量的方案,但对此方案如果不能达成共识又要强行推进就会造成有的节点扩容有的节点不扩容,从而使得节点之间互相拒绝对方区块而形成两个链条即硬分叉,或者对共识机制改变形成新的链条也造成分叉,总的来说分叉就是对原有链的功能有了改变的诉求,希望赋予这个链新的功能或是提升和改进,而又不能多数通过所采取的行动,是人为的主动的,有计划有目的的。

    分叉后的链和被分叉的链有着共同的过去,不同的未来,比如BCH和BTC它们有着相同的UTXO,在478559这个区块开始BCH诞生,于是拥有BTC的人等额的拥有了BCH。

    我们总能听到的BIP141、BIP148、segwit2x,这些都是什么?它们干嘛用的?BCH、BTD、BCX、SBTC和比特币有什么关系,它们之间又什么不同?下篇文章我们继续学习!

    相关文章

      网友评论

        本文标题:甜蜜蜜的糖果---区块链分叉(一)

        本文链接:https://www.haomeiwen.com/subject/mnykwxtx.html