比特币是一种数字货币,它的历史可以追溯到 2009 年。当时,一个叫做中本聪的人发布了一篇博客文章,称他创造了一种新的数字货币,称为比特币。时隔多年之后,比特币已经成为了最热门的虚拟货币,很多人都想要靠它去获得收益,那么比特币技术层面大家了解多少呢?共识、分叉机制又是怎么回事呢?今天就带大家一起学习一下。
一、共识
共识的对立面是权威规定,中心制定。共识的主体是一群体,它前面可以增加一个百分比来修饰。例如75%共识,就是说群体中有75%的个体支持认同。我们常听到的共识有:
1.区块链共识
就是各节点共同认同下一个区块,形成区块链,比特币是采用POW算力来实现的,需要100%共识,没有获得共识的新区块会成为孤立区块,无法写入主链。而若持续获得一定共识那么就会形成分叉链。
2.算力共识
就是算力投票。一般在每个区块的Coinbase字段写入特定支持的字段,或者通过版本号来进行投票。比特币的Classic版本就近似是规定了达到75%的算力共识时,启动2MB硬分叉,而在BIP9规则下,需要达到95%算力共识才会启动软分叉。
3.社区共识
就像是总统大选的选民民意,通过民意调查只能得到近似的值且会变动,同样社区共识也无法得到准确的值,只能由算力投票、币量投票和节点投票,以及一些社区投票来大致的得到近似。社区共识的主体不仅仅是粉忠,用户,炒币者等自然人,还包括公司组织等,每个个体的观点需要根据其在币圈的地位影响进行加权。
4.协议共识
比特币交易格式、区块格式和设定规则等。交易格式是每笔交易的格式要求,区块格式是众交易打包形成区块传成链的要求,设定规则是币总量产量减半设定,难度调整设定,手续费的硬性设定等等。当无法形成100%的协议共识时,往往就会形成分叉。
二、分叉
分叉有区别为普通的升级,普通的升级在升级前后是没有影响协议共识的,也一般不需要社区共识或算力共识的参与。而分叉根据对协议的修改情况分为软分叉和硬分叉。
现有的定义:
【闪电定义】硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。
【闪电定义】软分叉是指比特币交易的数据结构(这就是被广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。
我觉得不能说哪个定义正确还是错误,具体的定义可以根据已经较大社区共识的两者的区别来自己总结,不需要权威来指定。
硬分叉:没有向前兼容性,之前的版本将不可再用,需要强制升级。
软分叉:有较好的兼容性,之前版本至少部分功能可用,可不升级。
硬分叉:在区块链层面会有分叉的两条链,一条原旧链,一条分叉新链。
软分叉:在区块链层面没有分叉的链,只是组成链的区块,有新区块和旧区块。
硬分叉:需要在某个时间点全部同意分叉升级,不同意的将会进入原旧链。
软分叉:相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存。
三、总结
共识与分叉这两个比特币技术知识分享到这里就结束了。比特币能发展到现在依旧火爆,自然有它的魅力,但还是要奉劝各位新手投资者,在没有彻底了解虚拟货币这个赛道之前,最好是稳扎稳打,避免造成不必要的损失。