摘要 | 第4-6页 |
Abstract | 第6-7页 |
1 绪论 | 第11-17页 |
1.1 研究目的和意义 | 第11-12页 |
1.2 国内外发展现状和发展趋势 | 第12-15页 |
1.2.1 区块链挖矿算法的发展 | 第12-13页 |
1.2.2 以太坊智能合约的发展 | 第13页 |
1.2.3 公钥证书的发展 | 第13-14页 |
1.2.4 默克尔树的发展 | 第14页 |
1.2.5 布隆过滤器的发展 | 第14-15页 |
1.3 本文的研究内容 | 第15页 |
1.4 本文的章节安排 | 第15-17页 |
2 预备知识 | 第17-23页 |
2.1 单向散列函数 | 第17页 |
2.2 51 %攻击 | 第17-18页 |
2.3 典型POW挖矿过程 | 第18-21页 |
2.3.1 POW挖矿特点 | 第18-20页 |
2.3.2 POW挖矿过程 | 第20-21页 |
2.4 挖矿设备进化历程 | 第21-22页 |
2.5 本章小结 | 第22-23页 |
3 基于默克尔树的POW方案 | 第23-38页 |
3.1 默克尔树 | 第23-26页 |
3.1.1 默克尔树构建过程 | 第23-24页 |
3.1.2 默克尔树的验证过程 | 第24-25页 |
3.1.3 默克尔树的特点 | 第25-26页 |
3.2 方案过程 | 第26-32页 |
3.2.1 默克尔树挖矿算法的数据准备 | 第26-28页 |
3.2.2 默克尔树挖矿算法计算随机数过程 | 第28-29页 |
3.2.3 默克尔树挖矿算法的工作量验证 | 第29-31页 |
3.2.4 轻节点验证默克尔树挖矿算法结果 | 第31-32页 |
3.3 方案分析 | 第32-37页 |
3.3.1 默克尔树挖矿算法的时间复杂度分析 | 第32-33页 |
3.3.2 默克尔树挖矿算法的空间复杂度分析 | 第33页 |
3.3.3 默克尔树挖矿算法的参数选择 | 第33-35页 |
3.3.4 默克尔树挖矿算法的代码实现 | 第35-36页 |
3.3.5 默克尔树挖矿算法的内存占用与其它挖矿算法的比较 | 第36-37页 |
3.4 本章小结 | 第37-38页 |
4 基于简化的布隆过滤器的POW方案 | 第38-50页 |
4.1 布隆过滤器 | 第38-39页 |
4.1.1 布隆过滤器基本思想 | 第38页 |
4.1.2 布隆过滤器实例分析 | 第38-39页 |
4.1.3 布隆过滤器的特点 | 第39页 |
4.2 方案过程 | 第39-45页 |
4.2.1 简化的布隆过滤器 | 第39-41页 |
4.2.2 简化布隆过滤器挖矿算法计算随机数 | 第41-42页 |
4.2.3 简化布隆过滤器挖矿算法的工作量验证 | 第42-43页 |
4.2.4 轻节点验证简化布隆过滤器挖矿算法结果 | 第43-45页 |
4.3 方案分析 | 第45-49页 |
4.3.1 简化布隆过滤器挖矿算法的时间复杂度分析 | 第45-46页 |
4.3.2 简化布隆过滤器挖矿算法的空间复杂度分析 | 第46页 |
4.3.3 简化布隆过滤器挖矿算法的概率分析 | 第46-49页 |
4.4 本章小结 | 第49-50页 |
5 基于以太坊智能合约的公钥证书发放方案 | 第50-61页 |
5.1 传统的公钥证书的发放方式 | 第50-51页 |
5.2 智能合约 | 第51-53页 |
5.3 方案过程 | 第53-59页 |
5.3.1 总体设计框架 | 第53-54页 |
5.3.2 证书发布机构合约的编写与发布 | 第54-56页 |
5.3.3 用户合约的编写与发布 | 第56-57页 |
5.3.4 证书发布机构签署用户合约 | 第57-58页 |
5.3.5 用户使用证书合约 | 第58-59页 |
5.4 方案分析 | 第59-60页 |
5.5 本章小结 | 第60-61页 |
6 总结与展望 | 第61-63页 |
参考文献 | 第63-67页 |
附录 A 默克尔树挖矿算法Go语言代码 | 第67-70页 |
攻读硕士学位期间发表论文及科研成果 | 第70-71页 |
致谢 | 第71-72页 |