摘要 | 第4-5页 |
ABSTRACT | 第5页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景 | 第11-15页 |
1.1.1 分布式系统模型 | 第11-12页 |
1.1.2 分布式一致性 | 第12-13页 |
1.1.3 多复本状态机 | 第13-14页 |
1.1.4 拜占庭容错 | 第14页 |
1.1.5 区块链共识 | 第14-15页 |
1.2 本文研究内容和工作 | 第15-16页 |
1.3 本文组织结构 | 第16-17页 |
第二章 研究现状 | 第17-29页 |
2.1 分布式一致性算法 | 第17-23页 |
2.1.1 Paxos | 第17-18页 |
2.1.2 Multi-Paxos | 第18-19页 |
2.1.3 ViewstampedReplication | 第19-20页 |
2.1.4 Zab | 第20-21页 |
2.1.5 Raft | 第21-22页 |
2.1.6 Mencius | 第22页 |
2.1.7 EPaxos | 第22-23页 |
2.2 拜占庭容错算法 | 第23-25页 |
2.2.1 PBFT | 第23-24页 |
2.2.2 Zyzzyva | 第24页 |
2.2.3 hBFT | 第24-25页 |
2.3 区块链共识算法 | 第25-26页 |
2.3.1 PoW | 第25页 |
2.3.2 PoS | 第25页 |
2.3.3 DPoS | 第25-26页 |
2.3.4 PBFT | 第26页 |
2.4 研究现状总结 | 第26-28页 |
2.4.1 分布式一致性算法总结 | 第26-27页 |
2.4.2 拜占庭容错算法总结 | 第27页 |
2.4.3 区块链共识算法总结 | 第27-28页 |
2.5 本章小结 | 第28-29页 |
第三章 基于向量时钟的分布式一致性算法 | 第29-44页 |
3.1 算法简介 | 第29-30页 |
3.2 向量时钟 | 第30-31页 |
3.3 算法直观理解 | 第31-32页 |
3.4 算法设计 | 第32-39页 |
3.4.1 设计假设 | 第32页 |
3.4.2 设计目标 | 第32-33页 |
3.4.3 设计保证 | 第33页 |
3.4.4 算法概览 | 第33-34页 |
3.4.5 操作命令提交协议 | 第34-35页 |
3.4.6 操作命令回放算法 | 第35-37页 |
3.4.7 失效恢复协议 | 第37-39页 |
3.5 算法扩展 | 第39-41页 |
3.5.1 集群成员重新配置 | 第39-40页 |
3.5.2 空间回收 | 第40页 |
3.5.3 只读租约 | 第40-41页 |
3.5.4 故障下的线性一致性 | 第41页 |
3.5.5 操作命令回放时的活锁 | 第41页 |
3.6 性能优化 | 第41页 |
3.6.1 批处理 | 第41页 |
3.6.2 流水线 | 第41页 |
3.6.3 并行回放 | 第41页 |
3.7 算法复杂度 | 第41-42页 |
3.8 算法正确性 | 第42-43页 |
3.9 本章小结 | 第43-44页 |
第四章 基于向量时钟的拜占庭容错算法 | 第44-58页 |
4.1 算法简介 | 第44-45页 |
4.2 系统模型 | 第45-46页 |
4.3 算法设计 | 第46-55页 |
4.3.1 设计目标 | 第46页 |
4.3.2 设计保证 | 第46页 |
4.3.3 算法概览 | 第46-47页 |
4.3.4 客户端行为 | 第47-48页 |
4.3.5 操作命令共识协议 | 第48-50页 |
4.3.6 操作命令回放算法 | 第50-52页 |
4.3.7 失效恢复协议 | 第52-54页 |
4.3.8 检查点协议 | 第54-55页 |
4.4 性能优化 | 第55页 |
4.4.1 摘要响应 | 第55页 |
4.4.2 纠删码 | 第55页 |
4.4.3 检查点分区 | 第55页 |
4.5 算法复杂度 | 第55-56页 |
4.6 算法正确性 | 第56-57页 |
4.6.1 安全性 | 第56页 |
4.6.2 活性 | 第56-57页 |
4.7 区块链原型系统实现 | 第57页 |
4.7.1 远程过程调用框架 | 第57页 |
4.7.2 区块链状态机 | 第57页 |
4.7.3 区块链共识 | 第57页 |
4.8 本章小结 | 第57-58页 |
第五章 实验评估 | 第58-68页 |
5.1 实验环境 | 第58页 |
5.2 Veca评估 | 第58-63页 |
5.2.1 延迟 | 第58-60页 |
5.2.2 吞吐量 | 第60-61页 |
5.2.3 延迟与吞吐量 | 第61-62页 |
5.2.4 可用性 | 第62-63页 |
5.2.5 容错能力 | 第63页 |
5.3 BVeca评估 | 第63-67页 |
5.3.1 延迟 | 第63-64页 |
5.3.2 吞吐量 | 第64-65页 |
5.3.3 延迟与吞吐量 | 第65-66页 |
5.3.4 可用性 | 第66页 |
5.3.5 容错能力 | 第66-67页 |
5.4 本章小结 | 第67-68页 |
第六章 总结及未来工作 | 第68-69页 |
6.1 总结 | 第68页 |
6.2 未来工作 | 第68-69页 |
致谢 | 第69-70页 |
参考文献 | 第70-74页 |