1.3.3 共识机制
去中心化的区块链不需要第三方参与,那么日常转账交易、系统维护由谁来完成呢?这是很多刚接触区块链技术的人最疑惑不解的地方。这么多人维护比特币这么大的系统,不可能总是义务劳动吧?中本聪是不出钱的,也没有机构出钱,那么怎么让矿工们自带机器来干活呢?这就需要共识机制了,通俗地讲,共识机制就是一种利益分配机制。
我们用地球生态环境来类比区块链,动物排放的二氧化碳会被植物吸收并产生氧气,太阳帮助植物进行光合作用,微生物净化废物,构成循环的生态系统,整个过程不需要任何中心化干预。区块链就像大自然,具有能实现自治的生态系统,之所以能运转良好,靠的就是共识机制。
从技术上来看,区块链共识机制要解决的第一个问题,也是最重要的问题,就是“谁有权写入数据”。无论是新数据写入,还是老数据升级,都是最核心的“数据权”。在区块链上,怎么解决“数据权”问题呢?目前主要有3个机制:PoW、PoS和DPoS,主要共识机制的比较如表1-2所示。
表1-2 主要共识机制的比较
1.工作量证明:PoW(Proof of Work)
这里的工作量指计算机计算随机数的工作量,在比特币系统中,矿工们想获得比特币就得去争抢“记账权”,这是通过寻找随机数来获得的。在一定时间内找到随机数具有难度,需要投入算力。
最先得到随机数的节点,将打包的交易区块添加到既有的区块链上,并向全网广播,由其他节点验证、同步,同时系统给该节点分配比特币。如果想获得更多比特币,唯一的方法就是多干活。通俗地讲,PoW机制就是“按劳分配”。
2.权益证明:PoS(Proof of Stake)
PoW机制最大的问题是浪费资源,很多人计算随机数只有一个节点可以成功,其他的算力都浪费了,白白消耗了很多资源,于是后来的开发者提出了PoS机制。
PoS机制类似现实中的股份制,如果共识机制主要是用来证明谁在挖矿这件事情上投入最多,那么为何不简单直接地把挖矿“算力”按比例分配给当前所有的持币者呢?在PoS机制中,持有更多比特币及相应时间(币天)的矿工将获得更多的投票权。通俗地讲,PoS机制就是“股权分配”。
3.股份授权证明:DPoS
PoS机制的问题是阻碍了新生力量的加入,因为后来的人持币时间肯定比先来的人短,这就会造成阶层固化,不利于整个区块链社区的发展,于是开发者提出了DPoS机制。在这种系统中,每个币都相当于一张选票,持有币的人可以根据自己的持币数量来选出自己信任的受托人,而受托人不一定需要拥有最多的系统资源。
DPoS机制的优势在于记账人数量大大减少,并且由授权的超级节点来轮流记账,从而大大提高了系统的整体效率,在理想环境中,DPoS机制每秒能够实现数十万笔交易。
共识机制的选择对区块链性能(如资源占用、处理速度等)有较大影响,也会决定区块链“去中心化”的程度。一般来讲,区块链的去中心化程度越高,效率越低,去中心化程度和效率在多数情况下难以兼顾。
PoW机制是由比特币提出的,比特币是去中心化程度最高的区块链,目前全世界有几十万个节点,但是速度非常慢,每秒只能处理7笔交易。PoS机制是由被称为区块链2.0的以太坊提出的,与比特币相比,其效率提高了很多,每秒可处理70笔交易。DPoS机制是由被称为区块链3.0的EOS提出的,全世界只有21个超级节点,每秒可以处理上万笔交易。
本节探讨了区块链的三大关键机制,分别是加密算法、Merkle树和共识机制。加密算法可以防止黑客窃取数据,Merkle树可以降低区块链阶段对存储空间的需求,共识机制是维持区块链社区运转的经济学逻辑。与中心化的数据模式相比,区块链采用了更复杂的技术,降低了效率,其根本目的是提高安全性。因此,区块链具有传统的中心化机制不具备的两大特征和五大作用。