收藏 分销(赏)

区块链原理与技术课程建设探索与实践_陈亮.pdf

上传人:自信****多点 文档编号:453893 上传时间:2023-10-10 格式:PDF 页数:5 大小:1.31MB
下载 相关 举报
区块链原理与技术课程建设探索与实践_陈亮.pdf_第1页
第1页 / 共5页
区块链原理与技术课程建设探索与实践_陈亮.pdf_第2页
第2页 / 共5页
区块链原理与技术课程建设探索与实践_陈亮.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 4 期2023 年 4 月 10 日计 算 机 教 育Computer Education中图分类号:G64274基金项目:国家重点研发计划青年科学家项目(2022YFF0902500);广东省基础与应用基础研究基金项目(2023A1515011050)。第一作者简介:陈亮,男,副教授,研究方向为图计算、可信机器学习、区块链,。0引 言区块链利用密码学技术和分布式共识协议保证网络传输与访问的安全,进而实现数据多方维护、全网一致、不易篡改等特性,开创了一种在不可信竞争环境中低成本建立信任的新型计算范式和协作模式,正逐渐成为数字经济信息基础设施的重要组件1。习近平总书记在 2019 年 10

2、月 24 日主持中央政治局第十八次集体学习时强调,把区块链作为核心技术自主创新重要突破口,加快推动区块链技术和产业创新发展。20192020年,全球 24 个国家发布了区块链行业发展和监管的专项政策法规,其中,欧盟、中国、澳大利亚、印度等国积极发展区块链产业,并制定了产业总体发展战略。与传统计算机学科课程相比2,区块链课程具备两个特点:学科交叉性强,区块链技术中涵盖了分布式计算存储、网络传输、加密算法、共识机制、智能合约、交易模型等诸多内容,涉及学科门类众多;技术更新快,区块链技术目前正处在快速发展阶段,新技术新理念新方法层出不穷,对课程的内容设置和教学带来了 挑战3-6。区块链原理与技术课程

3、建设探索与实践陈 亮1,黄华威2,吴嘉婧1,郑子彬2(1.中山大学 计算机学院,广东 广州 510006;2.中山大学 软件工程学院,广东 珠海 519000)摘 要:针对区块链行业发展迅速和行业人才短缺的情况,分析目前国内外有关区块链教育的现状,从课程知识体系、教学资源建设方面提出构建方案,介绍具体课程建设实践,通过构建可实操的教学资源和平台,推进课堂教学和技术实践的深度融合。关键词:区块链原理与技术;课程知识体系;教学模式;教学资源建设文章编号:1672-5913(2023)04-0074-051国内外教育现状区块链作为一门新兴课程,目前在国内外大学中开设该课程的案例较为有限,且其教授的内

4、容比较专业,没有形成全面基础的知识体系7。比如,普林斯顿大学开设的区块链相关课程为“Bitcoin and Cryptocurrency Technologies”,主要是讲解比特币和加密货币技术;伯克利大学开设的区块链课程亦是更多在讲解加密货币相关概念技术。由于区块链原理和技术交叉性强,涉及的学科专业多,具备较高的门槛,而目前不少高校在区块链方面支撑还相对薄弱,其课程教学难度较大,国内区块链课程教育主要面临以下问题。(1)课程教材稀缺。由于区块链技术本身是一项新兴技术,同时该技术交叉性强,发展迅速,目前更多的技术介绍和研究是以学术论文的形式呈现,非常缺乏系统性的且适合本科生的区块链原理和技术

5、教科书。(2)实验环境缺乏。区块链技术应用性强,在具体搭建区块链过程中知识点和难点多,将课程知识和实操结合起来能更好地提高教学质量和学生的实际收获。因此,有必要构建或者引入相DOI:10.16512/ki.jsjjy.2023.04.0392022 年中国高校计算机教育大会(三)第 4 期75关的区块链实操资源方便学生在其上搭建具体项目,目前关于此类实验环境较为缺乏。2课程知识体系区块链是按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构6。区块链通过技术手段解决信任问题,适用于互不信任的多方进行协作的场景,目前在诸多领域都有广泛的应用,其原理与技术的主要包括以下几方面。(1)密码

6、学基础:密码学技术是区块链的核心基础之一,承担着区块链不可篡改和去中心化验证等特性的底层支撑。(2)区块链技术:区块链底层是一种去中心化的数据库技术,通过工作量证明等共识机制支持交易数据的验证、共享等功能。(3)前沿课题:目前关于区块链技术的前沿研究主要可以概括为区块链数据挖掘、区块链安全性、区块链可扩展性、区块链可靠性等方面。2.1密码学基础密码学技术是一种使用先进的数学原理以特定的形式存储和传输数据的方法,以便只有它的目标用户能够读取和处理数据。在区块链系统中,常用的密码学技术主要有两种:哈希函数和数字签名6。哈希函数通过将任意大小的数据映射到固定大小的二进制串,从而为文件、消息或其他的分

7、组数据生成“数字指纹”。对于输入大小为 n 的字符串,其哈希计算的时间复杂度仅为 O(n)。为使哈希函数达到密码学安全,需要使其满足 3 个附加特性:碰撞阻力、隐秘性和谜题友好8。区块链作为一个去中心化的分布式系统,账户的管理由数字签名进行实现。在比特币系统中,用户通过创建自己的签名来进行账户的创建,每一个签名包括公钥和私钥。用户将自己的公钥公布出去,并用私钥对每一笔交易 Tx 进行签名。当其他用户需要验证该用户的身份时,就可以利用该用户公布的公钥验证交易 Tx 的合法性。2.2区块链技术区块链底层是一种去中心化的数据库技术,通过工作量证明等共识机制支持交易数据的验证、共享等功能6。2.2.1

8、 数据结构区块链由一系列区块按时间顺序链接组成,每个区块由区块头和区块体组成,其中区块体是交易数据的合集,交易经过验证后被打包入区块。区块头定义区块链功能的核心部分,存放默克尔根、前区块哈希指针、时间戳等数据。其中,区块哈希指针逻辑上表示两个区块相连。比特币通过默克尔树对交易进行组织,并将其根哈希值存储到区块头中作全员共识,以此作为交易的上链证明,实现交易的不可篡改性。另一方面,通过这种密码学树形数据结构的特性,比特币网络中的轻节点可以不作全量存储而具备验证的功能。2.2.2 交易模型目前区块链有两类交易模型,分别是 UTXO(Unspent Transaction Outputs)模型和账户

9、模型6。在 UTXO 模型中,每笔交易由表明交易来源的输入和表明交易去向的输出组成,一笔交易可能存在多个输入和输出。所有交易通过输入和输出链接在一起,上一笔交易的输出将是下一笔交易的输入,使得每一笔 UTXO 都可以追溯其来源。全节点需要维护UTXO 的数据结构,即维护系统内未花费的交易输出。用户只需要保存与自己地址相关的 UTXO,其余额等于拥有的 UTXO 金额总和。当用户需要发起交易时,只需对拥有的UTXO 进行签名后提交到区块链中,即可完成交易。比特币的底层交易模型即采用UTXO模型8。以太坊则采用更符合传统货币模型的账户模型,在系统中明确存储了每个状态的余额、合约代码。在账户模型中,

10、用户可以拥有多个账户,其代币保存在对应的账户中,并且通过用户的私钥发起转账交易。以太坊中节点在对交易进行共识时,需要访问账户的状态以验证交易的合法性,同时在执行交易之后需要使所有节点的状态数据库更改保持一致。账户模型的交易结构简单,仅包含一个输入地址和一个输出地址。账户模型允许用户对其状态进行修改并实现复杂的账户状态,这大大降低了编程的复杂度,使得以太坊支持图灵完备的智能合约。2.2.3 共识机制和挖矿原理区块链需要共识机制保证网络中互不信任202376计 算 机 教 育Computer Education的节点达成共识。目前,区块链一般采用工作量证明(Proof of Work,PoW)、权

11、益证明(Proof of Stake,PoS)、拜 占 庭 容 错(Byzantine Fault Tolerance,BFT)类协议等来作为共识机制4。PoW 机制设置了一个哈希难题,要求节点暴力计算出一个合法的随机数 Nonce 值使得该区块头整体的哈希值低于设置的目标值,来证明其工作量。当矿工找到合法的 Nonce 值后,会广播该区块,其他节点接收到新的区块后,会检查其中数据的合法性以及 Nonce 值是否合法,如果合法则该区块会被添加到链上。PoW 的缺陷是消耗大量的计算资源并且出块效率低下。PoS 不根据节点的算力高低来出块,而是根据节点所拥有的货币数量和持有时间(币龄)来计算节点所

12、拥有的权益,并按照权益比例随机决定出块节点。但 PoS 的最大弊端是会造成“马太效应”,富有的节点越富有而贫穷的节点越贫穷,使系统逐步走向中心化。考虑到 PoW 和 PoS 的缺陷,在小规模节点且设置准入机制的情况下,一般采用 BFT 类协议来提高处理能力同时避免浪费计算资源。在PBFT(Practical Byzantine Fault Tolerance)协议中,对于 N=3f+1 个节点数量,PBFT 能在恶意节点数量不超过 f 个的情况下达成共识。PBFT 协议的缺点是消息复杂度过高,仅适合节点数量较少的场景。因此,后续有学者提出了 SBFT(Scalable Byzantine Fa

13、ult Tolerance)、HotStuff等算法来优化开销。2.2.4 分叉因为区块链是一个去中心化的数据结构,区块链的不同副本难以时刻保持一致。由于网络延迟,区块在不同节点间的到达时间存在差异,不同的节点可能拥有不完全一样的区块链视图5。另一方面,PoW 会使矿工之间互相竞争区块,从而产生分叉。为了解决这个问题,区块链通常采用最大工作量证明原则,即以最长的区块链或者最大累积难度的区块链作为合法链。比特币 PoW证明机制的本质是一 CPU 一票,而最长链包含了最大的工作量,所以以最长链作为合法链,通过最长链原则来处理分叉。以太坊采用 GHOST(Greedy Heaviest Observ

14、ed SubTree)协议,引入叔块奖励,来加速对分叉的合并。此外,区块链协议升级也会带来分叉,分为软分叉和硬分叉2.2.5 底层网络区块链的底层是一种去中心化的点对点的分布式网络,即 P2P(Peer-to-Peer)网络架构,它是由多个节点成员组成的网络结构3,6,每个节点都是安全的网络成员,彼此节点之间处于对等的地位,相互节点之间共享资源,每个节点既可以是资源的提供者,也可以是资源的接收者。2.3前沿课题2.3.1 区块链数据挖掘随着区块链的广泛应用,目前区块链上已累积了大量不可逆且可公开获取的加密数字货币的交易记录,而这些交易记录包含了丰富的信息和完整的金融活动记录,为研究者进行金融领

15、域的数据挖掘和分析提供了前所未有的机会9。网络常用于描述物体之间的关系,可以通过金融网络描述账户之间的转账关系。从网络的角度,目前关于加密数字货币交易的研究可以概括为 3 个方面:网络建模、网络画像和基于网络的检测。其中,网络画像方面的研究包括网络属性分析、网络演变分析和市场效应分析等;基于网络的检测方面的研究包括实体检测、交易模式识别、非法活动检测和交易追踪等。2.3.2 区块链安全性区块链虽然具备不可篡改、可溯源等安全特性,但仍存在一定安全隐患,包括密码学安全威胁、网络安全威胁和系统核心设计安全威胁10。区块链技术采用的密码学算法目前虽是安全的,但是随着数学、密码学和计算机技术的发展,尤其

16、是人工智能和量子计算的兴起,这些算法面临着被破解的可能性。此外,由于区块链采用 P2P作为底层网络架构,针对 P2P 网络,攻击者可以发动日蚀攻击、分割攻击、延迟攻击、分布式拒绝服务攻击、交易延展性攻击等,从而威胁整个区块链系统。区块链采用的共识机制也分别面临着不同的安全威胁,例如,PoW 面临的攻击主要有 51%攻击和女巫攻击,PoS 则可能会受到女巫攻击、长距离攻击等。智能合约是区块链 2.0 的一个特性,在以太坊、EOS(Enterprise Operation System)等平台上得到广泛应用,但其漏洞的严2022 年中国高校计算机教育大会(三)第 4 期77重性远高于普通的软件程序

17、。2.3.3 区块链可扩展性区块链可扩展性是一种对区块链系统计算与处理能力的设计指标。在系统扩展成长过程中,软件能够保证旺盛的生命力,且通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。然而,可扩展性是当今区块链技术被广泛采用的最大障碍。目前区块链的基础设施无法满足大规模应用的需求,限制了区块链行业的发展,扩容需求强烈11。从区块链体系架构的层面,研究者与开发者提出了分片、DAG(Directed Acyclic Graph)、状态通道、侧链等多种扩容方案。对比多种扩容方案,分片是最有希望能够实现高性能而不降低去中心化程度的链上扩容 方案。2

18、.3.4 区块链可靠性区块链可靠性是指区块链系统在规定的条件下和规定的时间内完成规定功能的能力,主要包括 3 个方面:节点及共识可靠性、智能合约可靠性和交易网络可靠性。由于区块链节点众多,在区块链共识过程中,可能存在宕机、不诚实的节点12,针对这些问题,联盟链系统多采用传统分布式拜占庭容错算法,公有链系统则提出采用新型的工作量证明、权益证明等共识算法。目前在智能合约生态里,合约数量、交易数量都非常庞大,其中可能存在大量的代码缺陷、交易异常和欺诈行为。针对这些问题,已有学者提出了基于代码分析的缺陷识别、基于深度学习的漏洞检测、基于机器学习的智能合约模糊测试等方法。此外,区块链公有链账本是一个巨大

19、的匿名交易网络,其中可能存在异常用户,影响区块链生态健康13。对此,有学者提出了以太坊钓鱼诈骗检测、比特币混币服务检测等异常识别方法。3教学资源建设3.1教材建设当前市面上已经有不少优秀的关于区块链的书籍,它们从科普和开发两个不同的维度对区块链的历史、意义和技术做了相当翔实的介绍,但这些书籍都不太适合教学使用。鉴于此,我们课题组编撰了区块链原理与技术6这一教材。区块链原理与技术(清华大学出版社,2021 年第 1 版)一书主要按照区块链的架构对区块链的原理技术进行了全面的讲解和剖析,并结合智能合约开发基础和区块链应用开发示例等内容帮助学生逐步深入课程。该教材以区块链行业开发人才、区块链应用开发

20、人才、区块链核心底层技术研发人才及区块链复合型人才为培养目标14,希望提供一本兼顾广度与深度、理论与应用的适合高等院校学生的区块链教材,帮助学生掌握区块链的基本理论、开发技能,并了解相关的前沿理论和技术。区块链原理与技术全书共 7 章,既包括典型区块链系统的讲解,其中重点介绍了比特币和以太坊两个典型的区块链平台,也包括一些共性技术的介绍,如区块链网络、共识机制等更深的内容。既有理论的阐述,包括哈希算法、非对称加密等密码学基础知识,又有实践和应用的探讨,其中涉及区块链在供应链金融、票据流通、司法存证、物流溯源等领域的应用场景。此外,该教材在兼顾理论和应用的同时,也包含部分区块链前沿研究成果的介绍

21、。该教材体系完备,有利于学生循序渐进地深入理解区块链理论和技术。教材的主要特色与创新点可以归纳如下。(1)从原理的角度系统讲解比特币和以太坊这两个最典型的区块链系统的多项关键技术,由简单到复杂,循序渐进,使学生在有限的学时范围内,能建立起对区块链原理与技术的系统性知识架构。(2)以区块链应用开发的实际案例为驱动,以实际智能合约开发任务为引导,对智能合约开发基础知识进行讲解,重点介绍了 Solidity 语言和去中心化应用(Decentralized Application,DApp)开发入门等内容,达到理论学习与实践应用的有机结合,使学生进一步深入课程。教材自出版以来,受到国内区块链相关领域高

22、校教师和学生的广泛关注,目前已被全国不少高校选用作为高年级本科生和研究生的教材和重要参考书。经过教学实践检验,使用效果良好。3.2工程实践项目建设课程构建了课堂内外相结合的混合式教学模202378计 算 机 教 育Computer Education式,其中专门设计了以供应链金融为应用背景的区块链应用开发实践项目,要求学生基于已有的开源区块链系统 FISCO-BCOS,以联盟链为主,开发基于区块链或区块链智能合约的供应链金融平台,实现供应链应收账款资产的溯源和流转,从而深化学生对区块链技术的理解及实践能力。FISCO BCOS 是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台

23、,是一个为探索区块链应运而生的平台,不涉及数字代币或 ICO(Initial Coin Offering)白皮书,更多的是从技术原理和应用场景出发,适用于教学场景。项目以实际供应链金融应用为例,阐述传统的供应链链条中存在的痛点,启发学生开发基于区块链的供应链金融平台,以解决传统供应链金融中的痛点问题,从而培养学生区块链思维,培养区块链应用开发人才。同时鼓励学生进一步改进区块链平台底层协议、实现链上数据隐私保护等具有挑战性的创新功能,培养区块链核心底层技术研发人才。经过教学实践检验,该工程实践项目有利于深化学生对区块链技术的理解、提高学生实践能力,助力于培养区块链行业开发人才、区块链应用开发人才

24、、区块链核心底层技术研发人才及区块链复合型人才。2019 年,中山大学 200 余名本科生在接受 4 次 FISCO 培训课程后,超过70%的学生能够使用 FISCO-BCOS 独立完成基于区块链的供应链金融平台开发,其中接近 20%的学生表现卓越,获得了金链盟区块链技术认证 证书。4结 语区块链作为一个新兴的计算机学科研究方向和技术,正逐渐成为数字经济信息基础设施的重要组件,近年来受到政府和行业的一致重视和关注。区块链行业的快速发展和行业人才的短缺,对区块链课程的建设提出了挑战。区块链原理和技术具有交叉性强、涉及学科多等特性,要求构建更完整的课程和知识体系,使学生能系统地、循序渐进地掌握相关

25、原理和技术。此外,将原理技术知识和工程实践有机结合起来,才能培养具有创新思维、适应社会发展需求的区块链行业 人才。参考文献:1 国家自然科学基金委员会,中国科学院.中国学科发展战略:软件科学与工程M.北京:科学出版社,2021.2 计算机教育20人论坛报告编写组.计算机教育与可持续竞争力M.北京:高等教育出版社,2019.3 袁勇,王飞跃.区块链技术发展现状与展望J.自动化学报,2016(4):481-494.4 邵奇峰,金澈清,张召,等.区块链技术:架构与进展J.计算机学报,2018(5):969-988.5 于蒲,于戈,张岩峰,等.区块链技术与应用前瞻综述J.计算机科学,2017(4):1

26、-7.6 郑子彬,陈伟利,郑沛霖.区块链原理与技术M.北京:清华大学出版社,2021.7 徐玲玲.数字时代下区块链课程的开设现状和展望J.世界教育信息,2017(15):17-22.8 蔡晓睛,邓尧,张亮,等.区块链原理及其核心技术J.计算机学报,2021(1):84-131.9 刘明达,陈左宁,拾以娟,等.区块链在数据安全领域的研究进展J.计算机学报,2021(1):1-27.10 刘汉卿,阮娜.区块链中攻击方式的研究J.计算机学报,2021(4):786-805.11 孟小峰,刘立新.基于区块链的数据透明化:问题与挑战J.计算机研究与发展,2021(2):237-252.12 王晨旭,程加成,桑新欣,等.区块链数据隐私保护:研究现状与展望J.计算机研究与发展,2021(10):2099-2119.13 斯雪明,徐蜜雪,苑超.区块链安全研究综述J.密码学报,2018(5):458-469.14 陈丽,梁秀波,杨小虎.基于多方协同的区块链技术人才培养体系的构建J.高等工程教育研究,2021(4):54-58.(见习编辑:欧 阳)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服