密码百科丨什么是软分叉和硬分叉?
发布时间: 2018-12-26 11:24:04

软分叉和硬分叉是比特币系统中涉及到的两个概念,常见的定义就是说比特币的社区共识被“分叉”、修改了,两种不同的分叉就会改变原有的数据结构,然而其中的过程远比定义复杂,今天小编用举例子的方式给大家做科普,搬好凳子开课啦!

  1. 区块和扩容

为了更好地理解软硬分叉,先给大家解释一下区块和扩容这两个概念。

大家都知道了区块链,那么区块其实就是链上的每一个独立组成部分,所有的数字币交易都在区块上被记录、完成,每10分钟就会产生一个新的区块。在比特币产生之初,交易的数量很少,每个区块大小1M已经完全足够容纳交易量信息,而目前的数字币交易单量是在不断增长的,而每个区块的大小仍为1M固定不变,造成了区块拥堵,多余的交易信息无处可放。

这种情况下就涉及到“扩容”了,从字面上很容易理解,扩容=扩大容量。交易数量在上涨,而区块大小有限,这时候“放不下”的其他交易信息就必须有空间来储存它们,所以需要给区块扩大容量。扩容的方式有两种,第一种通过改变比特币交易结构的方式,将交易中签名的部分单独拿出来,放到另一个叫witness 的结构当中,比如说有200笔交易存在的时候,要使区块中能完整保存这些交易,就把这200笔交易中的核心部分单独做成文件储存起来,这就是隔离见证;第二种是改变区块的大小,比如以前是1M,现在改为2M或者更大,就能容纳下所有的交易数据了。

  1. 软分叉和硬分叉

了解了区块和扩容,再说分叉的问题就比较好懂了。首先要知道的是,分叉是在区块上进行比特币数据结构改变的途径,扩容有可能会引起分叉,但是分叉不一定是扩容引发的。一言以蔽之,分叉就是比特币数据结构修改的产物。以下我们会详细解释。

举个例子来说,现在有一家叫做比特银行的中心机构,比特银行有A分行和B分行。A、B分行一向贯彻比特银行统一的记账方式,也就是说两家银行的工作方法、记账体系完全一致。然而有一天,A分行觉得,这种记账方式过于繁琐了,除了要登记顾客的姓名、联系方式、账号密码等,居然还要记录客户的婚姻状况、家庭住址这些玩意儿,于是A分行就自作主张,省去了后面部分的信息记录,只挑重点的信息记上。这一举动不久以后被B分行知道了,但是B分行并没有责怪A分行,并且表示了理解,之前的交易记录也完好无损地保存在系统中,这个过程我们就称为”软分叉“。

这个例子中还存在另一种情况,B分行在得知了A分行这一擅自举动之后,表示不可思议,大家都是给中央干活儿的,凭什么你想改就改啊?于是B不同意,也擅作主张改了自己的记账方式,比如加上”记录用户的证件照“这一条,这时候A分行和B分行各执己见,谁都不肯让步,于是就形成了两种不同的记账方式,这个过程就是“硬分叉”了。

其实硬分叉还有一种情况,那就是由软分叉而来。比如说A分行率先改动了数据结构之后,B分行表示理解赞同,但是突然有一天,B分行觉得这样会损害自己的利益,于是一改态度表示不同意了,也捣鼓了些自己的玩意儿,所以这时候也会形成硬分叉。

通过以上这个例子,大家可以明白,软硬分叉的本质区别在于“能否互相兼容”,也就是说,我对系统做出的改动你能不能接受,能接受大家就还是好朋友,还能在一条链上愉快地玩耍,不能接受的话没办法了,就此分道扬镳吧,看谁能力强能抢占主导地位谁就是老大了。

  1. 结语

值得说明的一点是,软硬分叉本质上是对比特币系统数据结构的改变,而不会改变已有的数据交易信息。

在比特币发展史上就曾发生过一次硬分叉,结果就是比特币分叉成了BTC和BCH两个币种,前者是比特币,后者叫做比特币现金。

至于分叉的好坏和优劣,作为吃瓜群众暂且无从评论,这就交给技术大牛们去研究吧,感谢阅读,敬请期待下期科普内容哦!

专注挖掘新鲜有料的区块链行业新闻
密码财经微博