现如今,我们都知道区块链,尤其是公链是一个自由的组织,那么这么多的矿工、这么多的网络节点,他们是怎样协同工作,有条不紊的进行数据打包再记录在链上的呢?在网络上时时刻刻有人提出交易请求,如何确认交易的有效性,有没有人在里面作恶呢?这些问题都要用到共识机制这个东西来解决了。
什么是共识机制呢?新华字典里对共识的定义是:指一个社会不同阶层、不同利益的人所寻求的共同认知、价值、理想。共识机制呢,就是共同参与区块链账本记录的人,对于如何打包数据、如果确认交易,所形成的的共同遵守的规则。
在以往中心化运作的时候,我们是不需要考虑共识机制的,为什么呢,你去读读这些几千上万字的法律条款,都在不起眼的地方有那么一行小字,本机构拥有最终解释权。你看看,前面说的都是废话,就最后这一句最厉害,不管谁对谁错,您想怎么解释怎么解释。这种情况下那还需要达成共识啊,您的地盘您做主吧。
在去中心化方式运作时,每个人都是自由加入和退出的,规则也必须得到所有参与者的认可,这才体现出了区块链的自由主义。
对于一个区块链项目,尤其是公链项目,共识机制的设计是重中之重。设计的不合理就无法抑制作恶节点,有可能会产生无效交易或恶意交易等问题。也有可能造成对记账节点激励不够,记账出块的积极性不高等问题。
另外共识机制还会影响到主链的运作效率,也就是TPS,达成共识越分散,也就是需要参与共识的节点数量越多,其效率就越低,但节点满意度越高,因此也越稳定,网络越安全。相反,达成共识越集中,也就是需要参与共识的节点数量越少,效率越高,也越容易出现独裁和腐败现象,相对的网络也就越趋近于不安全。
这里面会涉及到一个概念就是区块链技术的不可能三角,简单地说就是共识机制的不同会影响到效能比、安全、去中心化这三点,不管采用哪种共识机制,我们最多只能追求两方面的因素,而不得不放弃掉第三点,这道选择题的最终选择取决于这个区块链项目的应用落地方向更偏向于哪方面。就目前的共识机制,还没有哪个可以做到三者全部兼顾,其实就算有这样的机制,那也只能沦为平庸,不可能拥有鲜明的特色。
除了在技术上的共识以外,区块链社区也需要共识机制,这里的共识就是指全体社区成员拥有趋近于一致的价值观,包括:对项目了解程度的认知,对项目方向的认可,对项目应用落地的认同。我们都知道区块链社区是一个自由结合而成的志愿者组织,没有公司、政体等等约束力来要求每个人的行为,按照传统意义上的视角来看,这些人群并不能做成什么事情。但在区块链领域,这种组织却做出了太多传统企业都做不出来的成就,这就是因为在社区内部达成了共识的缘故。可以说共识在这里就是信仰、就是共同的价值观和行动方针政策。
如果说世界上有什么组织形态,是每一个成员都是抱着参与就要收到回报,成员可能分布在世界各地,和其他人都未必认识,以后也未必会见面,不需要任何人下命令,只要不违法乱纪,自己想干什么就干什么,最后这个组织还能发展壮大,甚至市值超过很多大型上市公司,那也就要数几个著名的区块链项目了。
如果是在几年前,我们很难相信这样的事情会发生,传统视角下的乌合之众竟然做出了比严格管理下的公司制还要伟大的事情,这种颠覆世俗认知的壮举正是区块链的神奇之处,也是共识机制所发挥出的神奇魔力。