区块链核心技术演进之路
2017-05-12周邺飞



(四川省区块未来科技有限责任公司 ,四川 成都 610000)
摘 要:介绍区块链共识机制的基本功能,阐述工作量证明(Proof-of-Work,POW)和权益证明(Proof-of-Stake,POS)的基本原理,对比分析两种共识机制的优缺点——POW机制简单、安全,但浪费能源;POS机制环保、共识快,但其安全性缺乏严格的数学证明。
关键词:区块链;共识机制;POW;POS
一般而言,在介绍区块链时都会提到两个核心要点:一是分布式账本,二是拜占庭将军问题(Byzantine Generals Problem)。使用分布式账本目的是让每个节点都能够验证交易,而拜占庭将军问题与账本的一致性有关,即本文要讨论的共识机制(consensus)。
区块链上的共识机制主要解决由谁来记账,以及如何维护账本统一的问题,该问题的理论基础是拜占庭容错(Byzantine Fault Tolerant,BFT)。拜占庭容错从20世纪80年代开始被研究,目前已经是一个被研究得比较透彻的理论,存在解的前提条件及具体实现都有现成算法。本文不打算从BFT说起,因为要分析的是区块链共识机制的演进之路,而中本聪并没有采用BFT,其实在笔者研究比特币伊始,即便在理解了POW(Proof-of-Work,工作量证明方式)机制之后的很长一段时间,并不了解拜占庭将军问题。下文在分析 HyperLedger Fabric的PBFT(Practical Byzantine Fault Tolerant)算法以及小蚁项目的DBFT算法时再全面阐述拜占庭将军问题及传统分布式一致性算法(PAXOS、RAFT)。
POW
其实“共识机制”一词在这一两年才被频繁使用,以前一般叫证明方式(Proof),因为比特币采用工作量证明方式(POW)。随着大家对分布式账本一致性问题的不断探索,很多算法被提出来,尤其近期有很多项目回归了对传统BFT算法的改进,在算法思路上已经跳出了“证明”的语义,进一步高度概括为共识机制。……
