论文部分内容阅读
分布式一致性问题是分布式系统中最基础也是最重要的问题,共识算法是用于解决该问题的协议机制。最早期的共识算法,如Paxos、VR等可用于安全封闭的分布式网络环境中,能够在不超过半数的节点出现故障的情况下,达成一致性的共识结果,被广泛用于分布式数据库等应用中。1999年,实用拜占庭容错算法(PBFT)的提出使得存在不超过1/3拜占庭节点的半同步分布式网络也能有效地达成共识。2008年,中本聪首次提出了一种去中心化的电子现金系统——比特币,其中的底层技术——区块链技术可以在开放的分布式系统中达成共识。事实上,区块链技术具有去中心化/多中心化、高安全性、业务逻辑可编程等核心特性,这些特性使得区块链技术可以适用于非常广泛的应用场景,从而引起了政府、产业界及学术界的极大关注。作为区块链技术的关键组成部分,共识算法已经成为区块链领域的研究热点之一,多种共识算法相继被提出。但是这些共识算法存在着各自的问题和局限,比如在比特币中使用的共识算法工作量证明机制(Proof of Work,PoW)每秒仅能处理7笔交易,并且还面临着算力集中可能导致的51%算力攻击和自私挖矿的威胁。本文研究了几种当前主流的共识算法,对比分析了这些共识机制的优缺点,归纳总结了其中的关键问题:性能效率低下,安全性(健壮性)需加强,协议灵活性需提升;在此基础上,我们提出了一种新型混合共识协议,该协议能够较好地解决上述问题,是一种兼具高性能、强安全性及较好灵活性的共识机制。它的提出不仅对共识算法的设计起到促进作用,同时可以在一定程度上提升区块链技术的可用性。论文的主要贡献如下:(1)提出了一种具有高性能和强安全性的新型共识协议——Goshawk。Goshawk由两级挖矿机制和选票机制有机组成,理论上交易吞吐量与Bitcoin-NG接近,且能够抗51%算力攻击和自私挖矿攻击,并且协议设计的激励机制使得理性矿工的挖矿行为能够遵从协议规则,从而有效抑制了矿工的作恶行为。(2)在实际公有链系统中实现了Goshawk协议,并通过开放的测试环境验证了Goshawk协议的性能和安全性能够达到设计的预期。Goshawk协议的交易吞吐量能够超过1000 tps,与VISA的量级相当,其可应用场景非常广阔。(3)在Goshawk协议中提出了一种平滑的升级方案,将区块链协议的升级与区块链的去中心化治理有机结合,使协议升级的决策更加公平,有利于区块链社区的团结和发展,升级的过程更加安全,避免因操作不当引起意外的硬分叉。