区块链中的共识机制是什么?

区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计

算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立

信任、获取权益的数学算法。

区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技 

术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。

区块链是一种分布式总账技术,区块链和传统的分布式系统之间的关系,

一般如下图所示:

传统的分布式系统是为了解决单机性能不足,某些应用中需要更大的存储、更强

的计算能力而产生的技术。而区块链则是为了解决各个节点互不信任,又需要协

同工作而产生的。

区块链与不同分布式系统的重要区别就是——区块链之间的各节点是通过信任算

法而实现相互信任,而一般的分布式系统可以通过信任一个共同的中心来实现相

互信任。

区块链的基础是P2P分布式网络、加密算法和共识机制。在这些基础技术中,共识

机制是至关重要的。可以说共识机制是区块链技术的核心,共识机制对于一个区

块链系统来说就是它的灵魂。共识机制很大程度上决定了整个区块链系统节点间

的相互信任程度,也决定了其他使用者对于区块链上数据的信任程度。

从技术上看,区块链与普通分布式系统,尤其是分布式数据库最大的区别就

是“去中心化”,而正是共识机制决定了一个区块链系统“去中心化”的程度。

通常,我们把区块链分为两大类:一种是公有链,一种是非公有链。这两种区块

链的核心区别在于:参与共识的节点是否是受控的。

对于公有链来说,互联网上的任何计算机都可以通过运行相应的区块链程序,参

与整个区块链的共识;而对于非公有链来说,通常需要获得之前区块链节点中大

部分节点的同意,或者通过其他某种机制,获得参与共识的权力。

对于公有链来说,共识机制面临的最大问题就是:根本不知道有多少个节点在整

个区块链系统中。想像一下,一个团队在做一项决策时——假设需要决策去爬山

还是去玩水,每个人都不知道队伍里面有多少人,每个人该怎么合理的做出自己

的决策,以便让团队行动一致?

投票确定?别逗了,你都不知道一共有多少人,怎么制作选票、发放选票、最后

确定少数和多数?

有一个办法,把所有人拴在一起。然后想爬山的就往山那边走,想玩水的就往水

那边走。看看最后整体移动方向是哪儿,你就知道有可能大多数人的选择,然后

跟着走就好了。

在公有链中,我们只能通过比较力量或者类似的办法来进行决策。比较力量的共

识机制,我们通常叫它PoW(Proof of Work 工作量证明机制)。

比较力量的共识有一个的缺陷,大家的力气都耗费在了拼力量中,最后没劲儿爬

山或玩水了。所以,很多人提出了PoS(Proof of Stack 权益证明机制)一类的

算法,利用区块链上的Token,将Token转换为选票来投票决策。(注意,这里

Token账户数量对应的是系统用户,而之前说不知道总数是不知道服务器数量。本

质上,PoW是在“系统运维人员”之间进行共识,而PoS一类的算法,相当于

在“系统用户”之间进行共识。)这种机制,在公平性上也存在着很多争议。

对于非公有链来说,情况简单了很多:每个节点都知道总共的节点数,我们只要

简单投票就可以了。但是,谁来组织投票?谁监票谁唱票?

PBFT算法是一个经典的解决这个问题的办法(详见本系列第八篇,拜占庭容

错)。PBFT的核心方法就是:每个节点都告诉其他所有节点自己的选票是啥,这

样,就不需要有人组织投票,有人监票和唱票了,每个节点都有其他节点的投票

结果,于是每个节点都按照多数票的决议来执行就好了。

人们对于PBFT算法也有关于公平性方面的争议,对于一个包含有Token的系统,投

票的权力和Token无关,导致作恶成本降低,在涉及到Token的重大问题上,可能

会由于经济诱惑而导致作恶节点数量超过算法限制。

区块链诞生自中本聪的比特币,自2009年以来,出现了各种各样的类比特币的数

字货币,都是基于公有区块链的。

数字货币的现状是百花齐放,列出一些常见的:bitcoin、litecoin、dogecoin、

OKcoinetc,除了货币的应用之外,还有各种衍生应用,如NXT,SIA,比特股,

MaidSafe,Ripple,Ethereum等等。

2016年1月20日,中国人民银行数字货币研讨会宣布对数字货币研究取得阶段性成

果。会议肯定了数字货币在降低传统货币发行等方面的价值,并表示央行在探索

发行数字货币。

而在没有拜占庭容错需求的分布式总账系统中,还有效率更高的RAFT\PAXOS等算

法,但是一般我们认为,没有拜占庭容错需求的分布式总账系统不是区块链系

统。因此,这些算法单独使用的话,并不能作为区块链系统的共识算法。但是,

他们可以通过和DPoS等算法结合,发挥重要作用。

你可能感兴趣的:(区块链中的共识机制是什么?)