AITD小课堂第十五课:共识机制

分布式网络中心必须要解决的一个至关重要的问题就是拜占庭将军问题,而区块链作为分布式网络中的典型代表,则采用了一系列新型的技术来解决这个问题。而这个技术就叫做共识机制,简单来说,共识机制就是一种规则,每个节点必须遵守。

共识机制同样作为区块链的四大核心技术之一,在区块链网络中主要起到了协调全节点账目保持一致的作用。

我们都知道,区块链是去中心化的,基于分布式账本的技术,每个人都可以自由地加入进来,成为其中的一个节点。但比如我作为一个节点加入进来,有一笔数据是这样处理的;而另一个人是以另一种方式处理的。我们两个谁都说服不了谁,权限又是平等的,这样整个网络就很容易发生分歧,从而产生混乱。此外,在这种环境下,我和其他的节点相互不认识,又没有一个中心化的权威机构来做担保。我怎么确定其他人处理的数据没问题?

所以说,在去中心化的环境下,没有一个比较中心化的节点能做决策协助网络运行。中本聪为了解决这个问题,想了个办法:不能让所有节点都有资格发送信息,而是给发信息设定了一个条件:”工作量”,节点们同时做一道算术题,谁先算完,谁才能获得给其他节点发信息的资格。而其他节点在收到信息后,必须采用加密技术进行签字盖戳,以确认身份。然后再继续做题,做对题的再继续发消息。。。。。。对这种先后顺序达成共识的算法,就是共识机制,而工作的过程被称为”挖矿”。

这样就能在一个没有中心化节点存在的情况下,既能让每个节点比较统一地做一件事,又能保证每个节点的小数据库之间数据一致,从而令分布式网络比较有序的去运行。所以,共识机制更像是一种制度,如果把区块链当成一个社会,那么共识机制就是这个世界的法律,人人都得遵守。这条法律,不仅解决了信任问题,更维护着整个区块链社会的正常运行,也是让区块链得以被全世界逐步接受和认可的最大幕后功臣,它的出现让互联网、陌生人之间,在没有第三方作为信用背书的情况下的一切交易变成可能,它赋予了机械的代码以人性和温度。

目前的共识机制主要有POW、POS、DPOS、BPFT、dBFT、Pool验证池。

POW就是人们所熟知的比特币挖矿,通过计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储。可实现完全去中心化,节点自由进出。干的越多,收的越多。

POS即权益证明,是POW的升级的共识机制。根据每个节点所占代币的比例和时间,以此等比例的挖矿难度,从而加快找随机数的速度。持有越多,获得越多。

DPOS是股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。

PBFT,全称为使用拜占庭容错算法。是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制,每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。

dBFT:授权拜占庭容错算法,由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。

Pool验证池,基于传统的分布式一致性技术建立,并辅之以数据验证机制,是目前区块链中广泛使用的一种共识机制。Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础之上,可以实现秒级共识验证,更适合有多方参与的多中心商业模式。