哈喽大家好,我是小K君。今天我们要讲的内容是:“什么是共识机制”?
我们上节课讲过,分布式网络必须要解决的一个至关重要的问题,就是“拜占庭将军问题”,而区块链作为分布式网络中的典型代表,则采用了一系列新型的技术,来解决这个问题,这个技术就是共识机制。
简单来说,共识机制就是一种每个节点都必须遵守的规则。它同样是区块链的四大核心技术之一。共识机制在区块链网络中主要起到了协调全节点账目保持一致的作用。
为什么这么说?我们都知道区块链是去中心化的,基于分布式账本技术,每个人都可以自由地加入进来,成为其中的一个节点。但想一想,绝对的自由,必然会带来绝对的混乱,如果每个人都自由地在网络中处理数据,整个网络会发生什么样的情况?
比如,我作为一个节点加入进来,这个时候网络中产生了一笔数据,我是以方式A处理的,而另一个人是以方式B处理的,我们的处理方式不同,权限又都平等,那到底用谁处理的数据呢?一旦我们两个无法达成共识,整个网络就很容易发生分歧,产生混乱。
此外,在这种环境下,我和其他节点相互不认识,又没有一个中心化的权威机构来做担保,我怎么确定其他节点处理的数据没问题?
所以说,在去中心化的环境下,没有一个比较中心化的节点能做决策,协助网络运行,网络就很难在自由的环境下,自主运行。
为了解决这个问题,中本聪就想了个办法:虽然整个网络中没有一个中心化的节点能做决策,但是我可以设立一套规则,让这个规则成为一个中心化的机制,每个节点必须遵守,帮助网络自主运行,就好比法律约束社会的每个人一样。
这个规则内容要包含两点,第一是解决分布式账本中,每个节点怎么记账的问题;第二是解决不同节点间,如何交换信息、达成共识的问题。
具体是依赖某种方式,确定谁取得区块链中的记账权,谁取得了记账权,整个网络就用谁处理好的数据,并且这个人还可以获取打包区块的奖励,此外,谁如果意图危害网络,也会获得一定的惩罚。
这样就能在一个没有中心化节点存在的情况下,既能让每个节点比较统一地做一件事,又能保证每个节点的小数据库之间数据一致。从而令分布式网络,比较有序地去运行。
总的来说,共识机制就是一种制度,能够约束去中心化网络中的每一个分散的节点,维护系统的运作顺序与公平性,使每一个互不相干的节点能够验证、确认网络中的数据,进而产生信任,达成共识。
如果把区块链当成一个社会,那么共识机制就是这个世界中的法律,人人都得遵守,不仅解决了信任的问题,更维护着整个区块链社会的正常运行。