区块链分叉三问

作者: 关三水 | 来源:发表于2018-11-19 22:34 被阅读14次

    白居易写诗,都念给老太太听。老太太能明白了,就不修改了,否则改到老太太能懂为止。生活的本质就是那么简单,把复杂的事情搞简单,就意味着逼近真相。

    第一问:区块链不分叉行不行?

    本来区块链就是按约定好的规则来实现软件,然后软件运行不断产生以链状链接的数据块,这些数据块打包记录了交易数据同时作为激励也产生了coin或token。创世块(第一个数据块)的高度为0,然后就是1,2,3...可以一直顺序增加下去。即使有如比特币其设置了四年减半,达到了理论的2100万极限后,链也是可以一直增加下去的(此时矿工的激励也许是纯靠交易费了),形成一个长不见底的链条。为什么要分叉?

    要分叉,意味着在某个高度的区块之后的下一个区块产生时,如下两个约定的地方至少有一个发生了变化:

    1)数据块的结构不变或其内容字段定义不变;

    2)交易数据结构不变或其内容字段定义不变。

    如果此时有团队开发出软件进行新的数据结构或定义的实现而其他的不跟随升级,两种软件执行的结果就是:链条就产生了分叉,一条按原来规则继续生长的链条,一个是按新规则生成的链条。它们各自从高度+1的自己的新块开始,从此分道扬镳而去。

    分叉意味着共识破裂

    这里的规则就是人们所说的共识,共识发生了变化,如果不能达成一致,就导致分裂。

    所以回到问题,区块链的共识不变,则是可以不分叉的。

    第二问:是什么导致了分叉被付诸于行动?

    最简单的来说,每个区块链的数据块及交易格式的设计之初总难完美。因为大家只要理解它本质是一个软件的数据结构和算法,一个软件一直不升级是很难适应应用场景或需求的变化的。特别是不同的社区,团队或用户都出于不同的考量,会有很多新的需求发生。如果原有区块链本身有缺陷,例如交易确认慢,先天就不支持某些场景。这个时候不同的升级解决方案就会有不同的数据结构或交易格式上的变动,此时并不一定有绝对正确或绝对占优的解决方案,共识就有了分歧。

    对bug的修复,会有一个唯一的共识--即一个正确的修复方案,此时升级的解决版本或许因为一些原因造成临时的分叉出现,但很快就会被修复,所以不算真正的分叉

    bug修复不是真分叉

    如果只是共识分歧这样的话,只是社区或行业的正常讨论而已,不一定动手不一定会真的发生分叉。因为区块链的运行本质上是软件,只有拥有开发团队才能可能开发出如此复杂的分叉版本。再说即使有了牛逼的开发团队,也开发出了新的分叉版本,也不一定能上线推广成功,这个时候要推广新的版本,必然离不一定社区的共识支持和认可,才可能推出分叉的版本,成功实行分叉。

    所以说,有两点可能会导致分叉产生(必要不充分):

    1)此可导致分叉版本的新规则代表了一定社区的意志和利益,获得了可以和原来社区(旧规则)差不多抗衡的力量;

    2)此分叉版本已经被团队开发出来,经过了充分测试。

    分叉意味着共识破裂,一般人都会避免。只有有自己新利益强烈主张而且有开发能力的社区会伺机实行分叉,分叉的发生背后实质是利益借问题解决在行事,实现自己的目的。

    第三问:分叉带来的非技术影响是什么?

    技术上分叉产生新币种,形象的比如比特币生儿子了,儿子又生儿子了...对于一些懂技术的投资者来说,本来就是追逐最大利益的,所以是无所谓或更欢迎,因为多了一个币种多了一次比人快一步的获利的机会。

    我这里想说的是对想普世区块链价值的人来说,更多的是带来思考:发展难道一定是要以一次又一次的分道扬镳(共识破裂)达成么?

    从好的方面来讲,区块链分叉,意味着就像一颗树要生长一样,抽枝发条,谁会成长为未来的主干,谁是可能烂掉的枝丫,这一切交给风雨阳光来实现自然选择。

    从坏的方面来讲,分叉事件背后往往站着寡头,给人带来阴影:共识规则被他们以分叉的名义肆意改变,去中心化的理念什么能真正落地实现呢?

    所以看到的是分叉,体现的也许是技术进步,但拷问的却是人性的抉择。

    相关文章

      网友评论

      本文标题:区块链分叉三问

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