论文部分内容阅读
分布式总账自2009年由中本聪首次提出后,经过短短几年时间就取得了巨大发展,并自2013年起引起了学术界和工业界的广泛关注。与传统银行总账不同,分布式总账采用去中心化方式管理,每个参与者都有一份总账副本,所有参与者通过共识机制达成一致并完成交易,省去了中介机构和因建立信任关系而带来的隐藏成本。除了在数字货币领域的应用之外,分布式总账还可以用于股权众筹、数字资产等众多领域。 共识机制用来保证系统中的大部分参与者对于系统中交易的合法性看法一致,它是构建分布式总账的关键技术之一,关系到总账的效率和安全两大方面。现有的共识机制主要分成两大类:基于挖矿方式和基于自选验证池方式。前者以工作量证明和权益证明为代表,该方式效率不高,且依赖于代币,但不是所有的应用场景都有代币存在,因此使用场景受限;后者以瑞波共识协议为代表,该方式要求参与者各自选定验证池,复杂度太高,且增加了人为分叉的可能性,同时该方式不保证共识结果中所包含的交易数,可能造成系统待共识交易积压的情况。 针对现有工作的不足,本文设计并实现了一个共识系统,主要工作内容包括以下三点: 1、快速共识机制的设计与实现。本文引入一致验证池,所有非验证节点共享一个验证池,并将共识分解为一致性和验证两个子问题,具体实现由三阶段处理组成:选举阶段、确认阶段和接受阶段。在确保达成正确共识的前提下,不依赖于代币,且提高了共识效率,同时降低了使用复杂度。 2、共识系统安全设计与实现。本文从机制安全和系统实现安全两方面入手:前者主要引入了事后防范、主客观结合等安全策略,防范原理上的攻击;后者主要加入了节点监控、节点访问控制和交易回滚三个安全措施,防范实现上的攻击。实验结果表明本文所述共识系统能够抵御所设计的所有攻击,且能实时监控系统的运行情况。 3、测试子系统的设计与实现。本文为所设计的共识机制的运行和测试实现了一个配套的测试子系统,主要包括四个内容:P2P组网、交易模拟、Web子系统和通用工具组件。结果表明该部分为前面两点内容的运行提供了必要的环境支撑。