区块链是一种去中心化的分布式账本,可以简单理解为分布在全球各个节点的分布式数据库,数据库由区块按时间顺序相连而成,区块中记录的是数笔交易。为了能支持这一套系统的运行,需要各节点矿工的参与,他们参与的主要原因是因为有奖励,奖励可以去交易所换成钱,他们这样参与的过程类似于挖矿,所以被成为“矿工”。矿工在什么样的规则下才会得到奖励,这样的规则在区块链中叫共识机制。以下是几种常见的共识机制。
浅谈
区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理变的不怎么重要了,而今POS的变体DPOS(Delegated Proof of Stake,股份授权证明)进一步削减算力的浪费,同时也加强了区块链的安全性。
不过,对于不需要货币体系的许可链或者私有链而言,绝对信任的节点,以及高效的需求上述共识算法并不能够提供,因此对于这样的区块链,传统的一致性算法成为首选,PBFT(拜占庭容错)、PAXOS、RAFT等等。
POW:Proof of Work,工作量证明。
按劳分配,谁工作量多,谁拿的多。体现在谁的挖矿设备CPU、GPU等更牛逼。缺点就是太费电了,还污染环境。
POS:Proof of Stake,股权证明。
按照持有此币的数量比例以及持有的时间,来进行发放利息,跟把钱存银行是类似的。优点是节能,不需要挖矿了。
POW+POS:把这两种机制进行结合。
DPOS:Delegated Proof of Stake,授权股权证明。
持有币的人可以进行投票选举,选举出一些节点做为代表来记账,类似于全国人名代表大会制度。
PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法。
链上所有人参与投票,结果按照拜占庭共识算法来处理。数学上有一个很有名的问题叫拜占庭将军问题,很有意思,大家可以度娘。
POI:Proof of Importance,重要性证明。
使用账户重要性评分来分配记账权的概率。
POP:Proof of Participation,参与度证明。
结合了DPOS与POI的思想。