
仲恺农业工程学院硕士研究生课程教学大纲课程编号207037区块链技术与实践课程名称文撰写人(签名)所在学院信息科学与技术学院仲恺农业工程学院研究生处制1
1 仲恺农业工程学院 硕士研究生课程教学大纲 课程编号 207037 课程名称 区块链技术与实践 撰写人(签名) 所在学院 信息科学与技术学院 仲恺农业工程学院研究生处制

I课程基本情况中文区块链技术与实践1.课程编号2070372.课程名称英文BlockchainTechnologyand Practice理论学时:243.课程学分:24.课程总学时:实验学时:85.课程类别:口学位课程凹非学位课程6.适用专业:食品安全与智能控制、农业工程与信息技术、电子信息7.先修课程:C语言程序设计、计算机网络、数据库原理8.考核方式:口闭卷笔试口开卷笔试/口试、口课程论文口调研报告口其他(说明:学位课程必须闭卷考试,卷面成绩占该门课成绩70%,平时考查成绩占该门课成绩30%)9.开课学期:口秋季(第一学期)口春季(第二学期)口秋季和春季(第一和第二学期)II课程简介区块链具有去中心化、不可篡改、可追溯等特点,被广泛应用于农产品溯源中,可以解决农产品供应链上不同主体之间的信任问题,实现信息对称,使农产品溯源更加完整、安全、可信。《区块链技术与实践》是一门介绍区块链技术及相关应用的前沿学科,它是二门新型的、快速发展的综合性交叉学科,其内容涉及到数学、计算机网络、数据库原理、金融学、管理学等多领域的交叉内容,具有极大的技术应用价值。《区块链技术与实践》是在具有一定网络科学理论和程序设计语言的基础上,学习区块链基础理论以及区块链技术应用实践的专业拓展课,为非学位课程。本课程重点讲授区块链理论基础、工作原理和应用开发。课程内容的理论性、技术性、实践性比较强,因此,在掌握区块链原理、方法与技术的同时,应注重设计技能与实践能力的训练。III课程教学目标本课程属于食品安全与智能控制、农业工程与信息技术、电子信息专业选修课。本课程的主要目标是让学生了解区块链的起源、开展以及各行业的应用需求:理解和掌握区块及链、密码技术、共识机制、激励机制、智能合约、P2P网络等基本原理和实践应用,领会区块链中分布式、安全机制的设计思想,学会用“区块链思维”分析与设计各行业的应用方案,尤其是在农业当中的应用。2
2 I 课程基本情况 1.课程编号 207037 2.课程名称 中文 区块链技术与实践 英文 Blockchain Technology and Practice 3.课程学分: 2 4.课程总学时: 理论学时:24 实验学时:8 5.课程类别:囗学位课程 非学位课程 6.适用专业:食品安全与智能控制、农业工程与信息技术、电子信息 7.先修课程: C 语言程序设计、计算机网络、数据库原理 8.考核方式:囗闭卷笔试 囗开卷笔试/ 口试、课程论文 囗调研报告 囗其他 (说明:学位课程必须闭卷考试,卷面成绩占该门课成绩 70%,平时考查成绩占该门课成绩 30%) 9.开课学期:囗秋季(第一学期) 囗春季(第二学期) 秋季和春季(第一和第二学期) II 课程简介 区块链具有去中心化、不可篡改、可追溯等特点,被广泛应用于农产品溯源中,可以解 决农产品供应链上不同主体之间的信任问题,实现信息对称,使农产品溯源更加完整、安全、 可信。《区块链技术与实践》是一门介绍区块链技术及相关应用的前沿学科,它是一门新型 的、快速发展的综合性交叉学科,其内容涉及到数学、计算机网络、数据库原理、金融学、 管理学等多领域的交叉内容,具有极大的技术应用价值。 《区块链技术与实践》是在具有一定网络科学理论和程序设计语言的基础上,学习区块 链基础理论以及区块链技术应用实践的专业拓展课,为非学位课程。本课程重点讲授区块链 理论基础、工作原理和应用开发。课程内容的理论性、技术性、实践性比较强,因此,在掌 握区块链原理、方法与技术的同时,应注重设计技能与实践能力的训练。 III 课程教学目标 本课程属于食品安全与智能控制、农业工程与信息技术、电子信息专业选修课。本课程 的主要目标是让学生了解区块链的起源、开展以及各行业的应用需求;理解和掌握区块及链、 密码技术、共识机制、激励机制、智能合约、P2P 网络等基本原理和实践应用,领会区块链 中分布式、安全机制的设计思想,学会用“区块链思维”分析与设计各行业的应用方案,尤 其是在农业当中的应用

IV课程教学内容及要求(包括章节、教学目的与要求、重点与难点、教学内容、教学方法与方式、思考与讨论)第一章绪论【教学目的与要求】1、掌握区块链技术实现原理2、了解区块链涉及的底层技术【教学重点与难点】区块链实现原理。【教学内容】1.1区块链技术一般原理1.2区块链涉及的技术基础1.3区块链分层参考模型1.4区块链技术发展及特点1.5区块链分类及适配性选择1.6区块链发展趋势及应用【教学方法】讲授、案例、演示、讨论、第二章密码学【教学目的与要求】了解区块链技术中涉及的密码学技术。【教学重点与难点】密码学简介。【教学内容】2.1密码学简介2.2密码系统攻击2.3密码算法设计原则2.4对称密码算法2.5公钥密码算法2.6Hash函数2.6.1Hash函数原理2.7Merkle树3
3 IV 课程教学内容及要求 (包括章节、教学目的与要求、重点与难点、教学内容、教学方法与方式、思考与讨论) 第一章 绪论 【教学目的与要求】 1、 掌握区块链技术实现原理 2、 了解区块链涉及的底层技术 【教学重点与难点】 区块链实现原理。 【教学内容】 1.1 区块链技术一般原理 1.2 区块链涉及的技术基础 1.3 区块链分层参考模型 1.4 区块链技术发展及特点 1.5 区块链分类及适配性选择 1.6 区块链发展趋势及应用 【教学方法】 讲授、案例、演示、讨论。第二章 密码学 【教学目的与要求】 了解区块链技术中涉及的密码学技术。 【教学重点与难点】 密码学简介。 【教学内容】 2.1 密码学简介 2.2 密码系统攻击 2.3 密码算法设计原则 2.4 对称密码算法 2.5 公钥密码算法 2.6Hash 函数 2.6.1Hash 函数原理 2.7Merkle 树

2.8数字签名技术2.9零知识证明2.10Base582.11我国商用密码算法2.12后量子密码【教学方法】讲授、案例、演示、讨论第三章共识算法【教学目的与要求】掌握区块链常用共识算法及其原理。【教学重点与难点】区块链共识算法原理。【教学内容】3.1分布式共识算法背景3.1.3FisherLynchPaterson定理3.1.4CAP定理3.2强一致性非拜占庭共识算法3.3强一致性拜占庭容错共识算法3.4非强一致性共识算法PoW机制3.5PoS机制3.6Ripple共识算法【教学方法】讲授、案例、演示、讨论。比特币第四到八章【教学目的与要求】了解比特币底层技术、实现原理。【教学重点与难点】重点是了解比特币实现原理。【教学内容】第4章比特币概述4.1比特币简介4.2比特币客户端4
4 2.8 数字签名技术 2.9 零知识证明 2.10Base58 2.11 我国商用密码算法 2.12 后量子密码 【教学方法】 讲授、案例、演示、讨论。第三章 共识算法 【教学目的与要求】 掌握区块链常用共识算法及其原理。 【教学重点与难点】 区块链共识算法原理。 【教学内容】 3.1 分布式共识算法背景 3.1.3Fisher Lynch Paterson 定理 3.1.4CAP 定理 3.2 强一致性非拜占庭共识算法 3.3 强一致性拜占庭容错共识算法 3.4 非强一致性共识算法 PoW 机制 3.5PoS 机制 3.6Ripple 共识算法 【教学方法】 讲授、案例、演示、讨论。第四到八章 比特币 【教学目的与要求】 了解比特币底层技术、实现原理。 【教学重点与难点】 重点是了解比特币实现原理。 【教学内容】 第 4 章比特币概述 4.1 比特币简介 4.2 比特币客户端

第5章比特币核心技术5.1libbitcoinexplorer工具5.2密钥与地址5.3交易5.4脚本第6章比特币区块链技术原理6.1比特币参考架构6.2比特币区块链6.3比特币网络6.3.1P2P网络架构6.4挖矿与共识第7章比特币创新技术7.1隔离见证7.2闪电网络第8章比特币开发实战8.1动手编译比特币8.2AltCoin开发8.3区块链浏览器【教学方法】讲授、案例、演示、实验、讨论。第九到十五章以太坊【教学目的与要求】理解以太坊原理,了解智能合约开发。【教学重点与难点】【居左,宋体,小四,加粗】重点是理解以太坊原理、智能合约的使用,难点是智能合约开发。【教学内容】第9章以太坊概述9.1以太坊发展背景9.2以太坊系统模型9.3以太坊核心概念5
5 第 5 章比特币核心技术 5.1libbitcoin explorer 工具 5.2 密钥与地址 5.3 交易 5.4 脚本 第 6 章比特币区块链技术原理 6.1 比特币参考架构 6.2 比特币区块链 6.3 比特币网络 6.3.1P2P 网络架构 6.4 挖矿与共识 第 7 章比特币创新技术 7.1 隔离见证 7.2 闪电网络 第 8 章比特币开发实战 8.1 动手编译比特币 8.2AltCoin 开发 8.3 区块链浏览器 【教学方法】 讲授、案例、演示、实验、讨论。 第九到十五章 以太坊 【教学目的与要求】 理解以太坊原理,了解智能合约开发。 【教学重点与难点】【居左,宋体,小四,加粗】 重点是理解以太坊原理、智能合约的使用,难点是智能合约开发。 【教学内容】 第 9 章以太坊概述 9.1 以太坊发展背景 9.2 以太坊系统模型 9.3 以太坊核心概念

第10章以太坊分层体系架构10.1以太坊总体架构10.2以太坊数据层10.3以太坊网络层10.4以太坊共识层10.5以太坊激励层10.6以太坊合约层10.7以太坊应用层第11章以太坊核心功能11.1账户管理11.2数据存储11.3智能合约11.4数字资产11.5DApp应用第12章以太坊开发环境搭建12.1以太坊客户端安装12.2以太坊网络的搭建12.3开发环境其他工具第13章以太坊智能合约开发13.1智能合约开发语言13.2智能合约代码编写13.3智能合约编译方法13.4智能合约部署方法13.5智能合约调用方法13.6智能合约测试方法13.7智能合约开发实例第14章以太坊DApp开发实践14.1DApp开发流程6
6 第 10 章以太坊分层体系架构 10.1 以太坊总体架构 10.2 以太坊数据层 10.3 以太坊网络层 10.4 以太坊共识层 10.5 以太坊激励层 10.6 以太坊合约层 10.7 以太坊应用层 第 11 章以太坊核心功能 11.1 账户管理 11.2 数据存储 11.3 智能合约 11.4 数字资产 11.5DApp 应用 第 12 章以太坊开发环境搭建 12.1 以太坊客户端安装 12.2 以太坊网络的搭建 12.3 开发环境其他工具 第 13 章以太坊智能合约开发 13.1 智能合约开发语言 13.2 智能合约代码编写 13.3 智能合约编译方法 13.4 智能合约部署方法 13.5 智能合约调用方法 13.6 智能合约测试方法 13.7 智能合约开发实例 第 14 章以太坊 DApp 开发实践 14.1DApp 开发流程

14.2DApp开发工具14.3案例:分层确定性钱包第15章以太坊新技术展望【教学方法】讲授、案例、演示、实验、讨论。第十六到十八章超级账本【教学目的与要求】1、掌握超级账本相关技术:2、使用超级账本进行应用开发。【教学重点与难点】重点是掌握超级账本应用开发,难点是理解超级账本的底层技术原理。【教学内容】第16章超级账本系统架构16.1超级账本分层体系架构16.2超级账本分布式账本结构16.3超级账本数据处理与同步16.4超级账本共识机制16.5超级账本通道化数据管理16.6超级账本交易流程16.7超级账本智能合约16.8超级账本用户管理第17章超级账本的部署及配置17.1基础环境搭建17.2脚本构建超级账本网络17.3构建超级账本网络第18章超级账本核心技术开发18.1链码开发18.2FabricSDK介绍18.3HyperledgerComposer开发项目【教学方法】7
7 14.2DApp 开发工具 14.3 案例: 分层确定性钱包 第 15 章以太坊新技术展望 【教学方法】 讲授、案例、演示、实验、讨论。 第十六到十八章 超级账本 【教学目的与要求】 1、 掌握超级账本相关技术; 2、 使用超级账本进行应用开发。 【教学重点与难点】 重点是掌握超级账本应用开发,难点是理解超级账本的底层技术原理。 【教学内容】 第 16 章超级账本系统架构 16.1 超级账本分层体系架构 16.2 超级账本分布式账本结构 16.3 超级账本数据处理与同步 16.4 超级账本共识机制 16.5 超级账本通道化数据管理 16.6 超级账本交易流程 16.7 超级账本智能合约 16.8 超级账本用户管理 第 17 章超级账本的部署及配置 17.1 基础环境搭建 17.2 脚本构建超级账本网络 17.3 构建超级账本网络 第 18 章超级账本核心技术开发 18.1 链码开发 18.2Fabric SDK 介绍 18.3Hyperledger Composer 开发项目 【教学方法】

讲授、案例、演示、实验、讨论。第十九章区块链现存问题【教学目的与要求】了解区块链现存问题。【教学重点与难点】共识算法问题。【教学内容】第19章区块链现存问题19.1区块链技术局限性19.2共识算法问题19.3可扩展性问题【教学方法】讲授、案例、演示、讨论。第二十章区块链安全问题【教学目的与要求】了解区块链安全问题。【教学重点与难点】区块链安全问题。【教学内容】第20章区块链安全问题20.1区块链安全属性20.2数据层安全20.3网络层安全20.4共识层安全20.5应用层安全20.6隐私保护【教学方法】讲授、案例、演示、讨论。第二十一章智能合约安全检测【教学目的与要求】了解智能合约安全漏洞及检测方法。【教学重点与难点】智能合约安全漏洞。8
8 讲授、案例、演示、实验、讨论。 第十九章 区块链现存问题 【教学目的与要求】 了解区块链现存问题。 【教学重点与难点】 共识算法问题。 【教学内容】 第 19 章区块链现存问题 19.1 区块链技术局限性 19.2 共识算法问题 19.3 可扩展性问题 【教学方法】 讲授、案例、演示、讨论。第二十章 区块链安全问题 【教学目的与要求】 了解区块链安全问题。 【教学重点与难点】 区块链安全问题。 【教学内容】 第 20 章区块链安全问题 20.1 区块链安全属性 20.2 数据层安全 20.3 网络层安全 20.4 共识层安全 20.5 应用层安全 20.6 隐私保护 【教学方法】 讲授、案例、演示、讨论。第二十一章 智能合约安全检测 【教学目的与要求】 了解智能合约安全漏洞及检测方法。 【教学重点与难点】 智能合约安全漏洞

【教学内容】第21章智能合约安全检测21.1智能合约概述21.2漏洞重点解析21.3智能合约检测方法21.4安全代码编写建议【教学方法】讲授、案例、演示、讨论。第二十二章区块链前沿技术【教学目的与要求】了解区块链前沿技术。【教学重点与难点】了解区块链前沿技术。【教学内容】第22章区块链前沿技术22.1跨链技术22.2EOS区块链22.3DAG区块链22.4JMPCoin22.5Libra【教学方法】讲授、案例、演示、讨论。V教学实践环节1、比特币的部署及配置2、以太坊的部署及配置3、超级账本的部署及配置4、基于超级账本的应用开发VI教学计划与课时分配序号内容理论课时实践课时备注31第一章绪论23第二章密码学9
9 【教学内容】 第 21 章智能合约安全检测 21.1 智能合约概述 21.2 漏洞重点解析 21.3 智能合约检测方法 21.4 安全代码编写建议 【教学方法】 讲授、案例、演示、讨论。第二十二章 区块链前沿技术 【教学目的与要求】 了解区块链前沿技术。 【教学重点与难点】 了解区块链前沿技术。 【教学内容】 第 22 章区块链前沿技术 22.1 跨链技术 22.2EOS 区块链 22.3DAG 区块链 22.4JMP Coin 22.5Libra 【教学方法】 讲授、案例、演示、讨论。 V 教学实践环节 1、 比特币的部署及配置 2、 以太坊的部署及配置 3、 超级账本的部署及配置 4、 基于超级账本的应用开发 VI 教学计划与课时分配 序号 内 容 理论课时 实践课时 备注 1 第一章 绪论 3 2 第二章 密码学 3

33第三章共识算法442第四到八章比特币425第九到十五章以太坊644第十六到十八章超级账本37第十九到二十二章合计248VII推荐教材与主要参考书目(一)推荐教材:[1]马兆丰,《区块链技术开发指南》,清华大学出版社,2021年版。(二)主要参考书目:[1]杨保华等,《区块链原理、设计与应用(第2版)》,机械工业出版社,2020年版。(三)阅读期刊文章:[1]S.Nakamoto, Bitcoin:APeer-to-Peer Electronic Cash System, [online]Available:https://bitcoin.org/bitcoin.pdf.[2]J.Garay, A. Kiayias and N.Leonardos,"The bitcoin backbone protocol:Analysis and applications",Proc.Annu.Int.Conf.TheoryAppl.Cryptograph.Techn.,pp.281-310,2015.大纲审定人(学位点负责人)签名:年月日审定日期:二级学院审核意见分管院长签名并公章:年月日10
10 3 第三章 共识算法 3 4 第四到八章 比特币 4 2 5 第九到十五章 以太坊 4 2 6 第十六到十八章 超级账本 4 4 7 第十九到二十二章 3 合 计 24 8 VII 推荐教材与主要参考书目 (一)推荐教材: [1]马兆丰,《区块链技术开发指南》,清华大学出版社,2021 年版。 (二)主要参考书目: [1]杨保华等,《区块链原理、设计与应用(第 2 版)》,机械工业出版社,2020 年版。 (三)阅读期刊文章: [1]S. Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, [online] Available: https://bitcoin.org/bitcoin.pdf. [2]J. Garay, A. Kiayias and N. Leonardos, "The bitcoin backbone protocol: Analysis and applications", Proc. Annu. Int. Conf. Theory Appl. Cryptograph. Techn., pp. 281-310, 2015. 大纲审定人(学位点负责人)签名: 审定日期: 年 月 日 二级学院审核意见 分管院长签名并公章: 年 月 日