区块链技术及应用课程的主要目的是让学生了解区块链的起源、发展以及各行业的应用需求;理解和掌握区块及链、密码技术、共识机制、激励机制、智能合约、p2p网络等的基本原理和实践应用,掌握比特币、以太坊、hyperledge fabric等区块链技术的实践应用;领会区块链的设计思想,了解区块链的发展趋势在各行业的应用方案。
区块链技术及应用
课程大纲
一、课程目的
区块链技术及应用课程的主要目的是让学生了解区块链的起源、发展以及各行业的应用需求;理解和掌握区块及链、密码技术、共识机制、激励机制、智能合约、p2p网络等的基本原理和实践应用,掌握比特币、以太坊、hyperledge fabric等区块链技术的实践应用;领会区块链的设计思想,了解区块链的发展趋势在各行业的应用方案。
二、课程性质
本课程为计算机科学与技术专业的专业选修课程,是掌握新一代信息技术必不可少的课程之一。
三、先修课程
本课程的先修课程:高级语言程序设计、计算机安全学、计算机网络等。
四、课程内容
第1章 区块链概述
(一)基本要求
1.掌握:区块链思想,区块链价值,区块链技术原理;
2.理解:区块链和信息安全、密码技术的关系;
3.了解:区块链的发展史、能解决的行业问题以及未来的发展趋势。
(二)教学及考核内容
1. 构建诚信社会
2. 区块链与密码学
3. 区块链技术原理
第2章 密码学基础
(一)基本要求
1.掌握:hash函数,公钥密码体制,数字签名,openssl密码库;
2.理解:密码算法的原理与应用,区块链与密码学的关系;
3.了解:密码学与信息安全的关系。
(二)教学及考核内容
1. 区块链与密码学
2. hash函数及算法实现
3. 公钥密码体制及算法实现
4. 数字签名及算法实现
5. 密钥管理
第3章 比特币技术
(一)基本要求
1.掌握:编程实现创世区块及索引;
2.掌握:编程实现交易,交易数据结构;
3.理解:交易原理;
4.理解:区块及索引的数据结构;
(二)教学及考核内容
1. 比特币技术原理
2.交易生成
3. 交易数据解读
第4章 共识机制
(一)基本要求
1.掌握:典型共识算法及实现;
2.理解:分布式及共识机制的思想;
3.了解:零知识证明协议。
(二)教学及考核内容
1. 共识机制简介
2. pow机制与比特币挖矿
3. pos机制
4. dpos机制
5. pbft机制
第5章 智能合约
(一)基本要求
1.掌握:比特币脚本编写;
2.理解:智能合约原理及意义;
(二)教学及考核内容
1. 输入和输出脚本;
2. 标准交易脚本;
第6章 p2p网络
(一)基本要求
1.掌握:p2p网络协议及网络编程;
2.理解:比特币网络;
(二)教学及考核内容
1. 网络协议
2. 网络节点
3. 网络初始化、关闭
第7章 以太坊
(一)基本要求
1.理解:以太坊技术原理
2.理解:以太坊技术开发平台
(二)教学及考核内容
1. 以太坊智能合约简介
2. 以太坊虚拟机
第8章 hyperledge fabric超级账本
(一)基本要求
1.了解超级账本的发展情况
2. 理解超级账本的原理
3. 了解超级账本的应用场景
4. 掌握超级账本的环境搭建
(二)教学及考核内容
1. 超级账本项目
2. hyperledge fabric项目开发
五、教学方法和教学手段
1.线上课程为主,根据情况适时调整。
2.使用学者网平台(管理)腾讯课堂(直播)。
六、教材及教学参考资料
1.《精通比特币》(第2版),andreas m.antonopoulos;
2.《区块链:技术驱动金融》,阿尔文德·纳拉亚南等,2016.08,中信出版社;
3.《以太坊技术详解与实战》,闫莺等,2018.4,机械工业出版社;
4.《hyperledge fabric技术内幕》,李鑫,2019.4,机械工业出版社。
七、考核方法及成绩评定
1.平时:40%(上课,作业);
2.期末:60%(考核方式待定)。