ImageVerifierCode 换一换
格式:PDF , 页数:5 ,大小:1.31MB ,
资源ID:2739741      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/2739741.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(区块链原理与技术课程建设探索与实践_陈亮.pdf)为本站会员(哎呦****中)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

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

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重性远高于普通的软件程序。2.3.3 区块链可扩展性区块链可扩展性是一种对区块链系统计算与处理能力的设计指标。在系统扩展成长过程中,软件能够保证旺盛的生命力,且通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。然而,可扩展性是当今区块链技术被广泛采用的最大障碍。目前区块链的基础设施无法满足大规模应用的需求,限制了区块链行业的发展,扩容需求强烈11。从区块链体系架构的层面

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2