到底什么是共识?
刚接触区块链,肯定会经常遇到一个词,“共识”。像XX链用到了XX“共识机制”、XX链用到了“XX共识算法”等等。但到底什么是共识呢?区块链为啥会用到共识?不用共识不行吗?
带着疑问我们打开百度百科,查询释义如下:
共同的认识,好像是这么个意思,但还是少一些鲜明的例子,不过没关系,我们可以自己找嘛
生活中有哪些符合共识的现象呢?
最常见的上厕所,男的上男厕所,女的上女厕所,这就是共识啊,试想一下,如果男的女的上同一间厕所,这不乱套了吗???
还有路上跑的车,每辆车都必须遵守交通法规,红灯停,绿灯行,如果都不遵守,大街上岂不乱成一锅粥?在大街上交通法规就是共识,保证了街上行车的稳定有序。
各个国家颁布的法律,每个人都必须遵守,正是有了法律的存在,人民才能安定,国家才能稳定,没了法律或者没人遵守法律岂不天下大乱?。
再看一下神奇的大自然,蜜蜂,一种群居昆虫。蜂王、工蜂、雄蜂,每一只蜜蜂都知道彼此的分工,工蜂负责干活,不会躺着啥也不干,也不会跟雄蜂抢蜂王,这就是共识,维持了蜂群的稳定。
还有浩瀚的宇宙,太阳系、银河系等星系运转,亘古不变,每一个星球都在自己的轨道上不停的运转,靠的就是星系之间的共识,这个共识包含的规则可能就比较复杂了,就连牛顿先生发现的万有引力也只能是其中的规则之一。
从以上现象可以总结出共识的一些特点:
1、存在于同类(相似)的群体之中。
2、有一套规则或者机制
概括起来就是:群体总是需要一套规则来维持稳定。
恩,,,好像是废话,听着跟“太阳总是从东边升起”一个感觉
那区块链是什么东西呢?
其本质就是分布式记账系统。
注意关键词 “分布式”、“记账”
1、“分布式”说明有一群节点,这些节点是相似的
2、“记账”说明账本必须是稳定可靠的
以上可以得出:
区块链作为分布式系统,要维持账本的稳定可靠,必须要有共识。
目前常见的共识机制有pow、dpos、dag等。
1、pow,工作量证明,比特币使用此算法。简单的解释就是,出一道题,由大家各自来解,如果A先算出结果,那么大家就会跟A的账本保持同步。简单粗暴的解决了账本的一致性
2、pos,权益证明机制,以太坊casper使用此算法。大概意思就是,谁出的钱多,谁就最有可能获得记账权,并且获得更多的奖励,如果做坏事,对不起,会受到更大的惩罚。
3、dpos,授权股权证明机制,比特股、EOS使用此算法。类似于人民代表大会,由普通的持币者选出代表N个,然后在选出的代表中随机选取一个代表X,其他代表就会跟X的账本保持同步,循环N次。然后再重新选取N个代表,继续进行下一轮循环。
4、dag,有向无环图,iota、byteball、nano、trustnote、czr等使用此算法。dag中没有区块的概念,产生的每一条交易不是放在区块中一块打包,而是其他交易直接相连构成有向无环图。有别于传统的单链结构,dag的多链允许并发交易,并且省去了区块打包的时间,还支持异步处理,理论上可以使区块链的处理速度大大提高。
无论选用哪种机制,每个节点都去遵守,才会保证账本的稳定可靠。就像世界上的各个国家一样,选用适合自己国家的法律,每个公民都去遵守,国家才会安定。
领取专属 10元无门槛券
私享最新 技术干货