课程名称:区块链技术深度剖析
课程编码:
课程学分:2学分
课程学时:32学时
适用专业:网络空间安全,信息安全
《区块链技术深度剖析》
The Depth of Analysis Blockchain Technology
教学大纲
一、课程性质与教学目标
性质:本课程属于网络空间安全专业的兴趣选修课程。本课程的主要目的是让学生了解区块链的起源、发展以及各行业的应用需求;理解和掌握区块及链、密码技术、共识机制、激励机制、智能合约、P2P网络等的基本原理和实践应用,掌握比特币源码(版本:0.1.5)及典型密码算法的实践应用;领会区块链中安全机制的设计思想,学会用“区块链思维”设计各行业的应用方案。
教学目标:让学生掌握区块链中涉及的C++编程、密码技术、分布式一致性等基础知识,培养其应用区块链原理,准确分析各行业中存在的去中心化信任、公开透明、不可篡改、不可伪造以及跟踪溯源等安全问题,设计和使用区块链技术解决各行业应用问题。
二、教学基本内容及基本要求
通过课堂教学结合实践应用使学生了解区块链的发展及其研究的主要内容,掌握区块链的主要知识体系、基本理论;学会使用典型的密码算法,解决各行业应用的安全问题;通过课堂讲解、讨论和学生课下阅读、思考以及上机调试代码,了解区块链在各行业中的应用需求,能够把密码思想融入到社会生活中,把密码工具应用到区块链系统中,解决一些实际问题。
第1章 区块链概述
(一)基本要求
1、掌握:区块链思想,区块链价值,区块链技术原理;
2、理解:区块链和信息安全、密码技术的关系;
3、了解:区块链的发展史、能解决的行业问题以及未来的发展趋势。
(二)教学及考核内容
1.1 构建诚信社会
1.2 区块链与密码学
1.3 区块链技术原理
第2章 C++编程基础
(一)基本要求
1、掌握:比特币源码以及密码算法中用到的C++编程知识,OpenSSL、boost第三方库的使用;
2、理解:密码算法安全编程的原理;
3、了解:密码算法安全编程的基本思想。
(二)教学及考核内容
2.1 序列化
2.2 字节序
2.3 大数运算
2.4 C++编程基础
2.5 第三库的使用
第3章 密码学基础
(一)基本要求
1、掌握:Hash函数,公钥密码体制,数字签名,OpenSSL密码库;
2、理解:密码算法的原理与应用,区块链与密码学的关系;
3、了解:密码学与信息安全的关系。
(二)教学及考核内容
3.1 区块链与密码学
3.2 Hash函数及算法实现
3.3 公钥密码体制及算法实现
3.4 数字签名及算法实现
3.5 密钥管理
第4章 创世区块
(一)基本要求
1、掌握:编程实现创世区块及索引;
2、理解:区块及索引的数据结构;
3、了解:
(二)教学及考核内容
4.1 创世区块及索引生成
4.2 区块及索引数据解读
第5章 交易
(一)基本要求
1、掌握:编程实现交易,交易数据结构;
2、理解:交易原理;
3、了解:
(二)教学及考核内容
5.1 交易生成
5.2 交易数据解读
第6章 共识机制
(一)基本要求
1、掌握:典型共识算法及编程实现;
2、理解:分布式及共识机制的思想;
3、了解:零知识证明协议。
(二)教学及考核内容
6.1 共识机制简介
6.2 POW机制与比特币挖矿
6.3 POS机制
6.4 DPOS机制
第7章 智能合约
(一)基本要求
1、掌握:比特币脚本编写;
2、理解:智能合约原理及意义;
3、了解:
(二)教学及考核内容
7.1 输入和输出脚本;
7.2 标准交易脚本;
第8章 P2P网络
(一)基本要求
1、掌握:P2P网络协议及网络编程;
2、理解:比特币网络;
3、了解:
(二)教学及考核内容
8.1 网络协议
8.2 网络节点
8.3 网络初始化、关闭
第9章 以太坊
(一)基本要求
1、掌握:
2、理解:以太坊平台。
3、了解:
(二)教学及考核内容
9.1 以太坊智能合约简介
9.2 以太坊虚拟机
第10章 超级账本
(一)基本要求
1、掌握:
2、理解:
3、了解:
(二)教学及考核内容
10.1 超级账本项目
10.2 Fabric项目
第11章 比特币开发指南
(一)基本要求
1、掌握:比特币源剖架构剖析,Node.js开发;
2、理解:
3、了解:
(二)教学及考核内容
11.1 搭建应用开发环境;
11.2 Node.js开发实战;
第12章 总结与展望
(一)基本要求
1、掌握:
2、理解:
3、了解:各国区块链相关政策法规。
(二)教学及考核内容
12.1 总结;
12.2 未来展望。
三、本课程与其它相关课程的联系与分工
本课程为网络空间安全专业的选修课程,是学习区块链的基础,是网络空间安全专业从事区块链开发必不可少的课程之一。
本课程的先修课程:高级语言程序设计、信息安全数学基础、应用密码学。
本课程的后续课程:无。
四、实践性教学内容安排与要求
与课堂讲授同步。
五、本课程采用的教学方法和教学手段
1、本课程采用课堂讲授、实践辅助相结合的方式,主要在实验室完成授课。
2、使用PowerPoint幻灯片作为主要教学辅助工具,以多模式教学网或课程网站为主要载体,根据上课内容教师选择演示软件的分析运行进行教学。
六、教材及教学参考资料
教材:自编或网络资料.
参考书:
1、邹均 曹寅 刘天喜等.区块链技术指南,机械工业出版社,2016.
2、申屠青春. 区块链开发指南,机械工业出版社,2017年.
3、Roger,Wattenhofer著;陈晋川等译. 区块链核心算法解析,电子工业出版社 2017.
七、本课程的考核方法及成绩评定标准
采用百分制,总评成绩由平时成绩和验机成绩两部分组成,平时成绩占30% (其中出勤成绩占10%,作业成绩占20%),验机成绩占70%。
八、其它问题的说明
希望学生课外能够多关注信息安全行业、金融行业的最新发展。
大纲撰写人:太学链 bjgpdn
大纲审阅人:xxxxxx
制定(修订)日期:2017年4月