没有合适的资源?快使用搜索试试~ 我知道了~
软件X 19(2022)101167原始软件出版物BlockTrainHK:体验区块链概念的在线学习游戏容宝曾a,吴俊豪b,李嘉文aa香港理工大学工业及系统工程系,香港b香港恒生大学供应链与信息管理系ar t i cl e i nf o文章历史记录:收到2022年收到修订版,2022年6月16日接受,2022年关键词:区块链游戏教学a b st ra ct虽然区块链被认为是一项有前途的革命性技术,但并不是每个人,特别是非技术专业的学生,都能有效地理解和评价其机制。为了传播区块链技术的知识,我们设计并开发了一个名为“Block-TrainHK”的在线教育游戏,用于学习区块链概念。来自多学科背景的用户可以体验区块挖掘过程,其中可以揭示构建区块链的整个旅程以及其他先进的概念,包括不变性,Merkle树和零知识证明,从而可以克服学习区块链的技术障碍©2022作者(S)。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本V1.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-22-00080可复制胶囊的永久链接N/A法律代码许可证MIT使用git的代码版本控制系统使用的软件代码语言、工具和服务JavaScript、CSS、HTML、React编译要求、运行环境和依赖通过Dockerfile创建游戏镜像 如果可用,请链接到开发人员文档/手册N/A如有疑问,请发送电子邮件至yungpo. polyu.edu.hk软件元数据当前软件版本V1.0.0此版本可执行文件的永久链接https://game.blocktrainhk.com/法律软件许可证MIT基于Web的计算平台/操作系统安装要求依赖浏览器(Google Chrome,Mozilla Firefox,微软Edge等)如果可用,请链接到用户手册-如果正式出版,请在参考列表中引用该出版物N/A如有疑问,请发送电子邮件至yungpo. polyu.edu.hk1. 动机和意义从2008年开始,区块链被认为是一种在广泛的计算机应用中加强匿名性,不变性和分布式控制的手段,例如金融*通讯作者。电子邮件地址:yungpo. polyu.edu.hk(Y.P. Tsang)。https://doi.org/10.1016/j.softx.2022.101167服务和供应链可追溯性[1]。除了点对点网络中的数据去中心化之外,区块链的存在还创造了几种创新的商业模式,例如加密货币和不可替代的代币(NFT),用于交换电子现金,艺术品,音乐等[2,3]。它不仅为改造现有易受攻击的计算机系统带来技术价值虽然区块链在市场和学术界已经逐渐普及,但只有2352-7110/©2022作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx曾耀平,秦华. Wu和Carman K.M. 李软件X 19(2022)1011672Fig. 1. BlockTrainHK的系统架构。只有少数完全熟悉计算机科学概念的用户才能全面了解其功能和机制。其他来自多学科背景的用户,基本上是外行,可能会盲目相信区块链的优势,而不全面了解技术本身。因此,需要一种学习工具来向外行教授区块链概念,以便他们可以知道为什么区块链在点对点网络中是安全和值得信赖的,这是在多学科教育中普及区块链技术的重要步骤。2019年4月,开发了一个用于教授区块链概念的游戏,以演示整个区块挖掘过程,从而学习具有透明,仅附加和不可变特性的分布式账本技术(DLT)[4]。在游戏中,通过构建学生不同课程成绩的数据链的案例来说明区块链机制。更重要的是,用完全除法规则取代了单向哈希函数的概念,使得块挖掘过程的完成难度大大提高。该算法能有效地保持散列算法难于产生但易于验证的特点。以来上述游戏以纸张为基础,并涉及角色扮演,要完全调动学生参与游戏的积极性是有挑战性的,而准备一定数量的纸张游戏材料亦不环保。此外,在COVID-19疫情期间,目前的教学活动以混合/混合学习模式进行,只有少数学生参加面对面课程,因此现有游戏无法匹配当前的学习模式。有见及此,本集团于网上学习平台上改良以纸张为本及角色扮演的区块链游戏,并加入以比赛为本的学习方法,以提高学生学习区块链概念的参与度。在这项工作中,设计和开发了一个名为“BlockTrainHK”的在线学习平台,在教师的控制下,学生在游戏设置下,学生是体验和学习区块链构建之旅的目标,以及原始区块链游戏的基本概念和其他概念,包括不变性,Merkle树和数据真实性的零知识证明。总之,所提出的学习软件的意义可以从两个方面来描述。首先,可以进一步丰富区块链技术的学习环境,激发学生的注意力和兴趣,因为他们很难理解复杂的计算机科学理论。通过学习平台,他们对区块链的理解可以在夯实评价功能和机制的基础上深化。其次,所提出的平台可以有助于教育研究,采用基于游戏的学习教学法来学习计算机科学概念,即区块链,可以评估学习表现,动机和满意度。2. 软件描述在本节中,软件此外,提取必要的用户界面来解释平台背后的游戏逻辑。2.1. 软件构架为 了 揭 示 学 习 和 教 学 平 台 中 的 区 块 链 概 念 , 软 件“BlockTrainHK”在AWS平台上构建为具有无服务器框架的react应用程序,其中嵌入了AWS Lambda函数以执行事件驱动的服务和程序,如图所示。1.一、教师和学生可以通过他们的客户端设备(例如计算机、平板电脑和手机)中的Web浏览器启动react应用程序。通过API网关,可以激活AWS Lambda函数,以响应特定事件执行自定义代码,这些代码与数据库连接,用于数据存储和检索。下一节介绍的软件功能和游戏逻辑将用于支持教学活动。2.2. 软件功能基于上述软件架构,(i)PoW挖掘过程和(ii)使用Merkle树的PoW挖掘过程区块链。这两个游戏中制定的区块链都与葡萄酒交易的供应链可追溯性的案例场景有关。在说明游戏逻辑之前,构建学习平台中的几个基本功能以平滑游戏操作,包括(i)访问控制管理,(ii)区块链数据的电子表格模型,以及(iii)竞赛结果的可视化。对于访问控制管理员,教师角色的作用是通过输入游戏设置来生成密码,从而可以有效地对客户(即学生)进行分区和控制曾耀平,秦华. Wu和Carman K.M. 李软件X 19(2022)1011673∈ []−−(∑图二、BlockTrainHK的游戏逻辑流程。指教师。换句话说,学习平台支持同时独立控制多组客户端。其次,为了在课堂上平滑学习过程,建立了预先计算的块数据的电子表格模型以设置游戏环境,其中已知块挖掘过程的所有轮的正确哈希值和随机数值。第三,挖掘奖励在平台中以图形方式可视化,以显示客户端的计算能力,这有助于基于竞争的学习环境。除了上述基本功能外,学习平台还开发了两个游戏,以体验块挖掘过程和Merkle树的数据结构来处理多个事务。当客户端进入游戏时,提供公共和私有身份(ID)的集合以使交易透明但匿名。在游戏环境中,教师和学生分别扮演节点和矿工的角色,游戏逻辑的通用流程图如图所示。 二、整个游戏逻辑是根据工作量证明(PoW)算法和给定的交易数据集设计的游戏1和游戏2之间的主要区别是酒的数量交易要处理,学生需要挖掘而矿工需要计算正确的哈希值和随机数值。如表1所示,交易数据被转换成用于定制散列算法的一组变量,而字符和十进制值之间的转换遵循美国信息交换标准码(ASCII)[5]。因此,可以通过使用在等式(1)中表达的散列算法来计算散列值。(1),其中块t中的当前哈希的最后三位数1被提取用于先前的散列(H t1)在块T中。通过增量对于随机数1, 21,块的目标难度正确的哈希值应该同时被3和7完全整除。一旦矿工完成了哈希计算并上传了结果,整个网络的共识就形成了。如果不能正确地建立共识,则授权节点(即教导者)可以通过使用正确的散列和随机数值来强制完成块挖掘过程。此外,当前哈希值被存储为下一轮块挖掘中的先前哈希值。重复上述交易创建、哈希计算和共识建立的步骤,直到所有葡萄酒交易都被挖掘并链接到区块链中。在游戏2的设置下,在一个区块中进行多笔交易。由于上述差异,哈希算法和目标难度是为教学和学习目的而定制的。Ht=106i=1(i) +Ht−1+Nonce(1)在游戏1(块挖掘)中,节点负责创建包含(i)客户ID,(ii)产品ID,(iii)产品数量,(iv)产品名称,和(v)交货日期,在游戏2(使用Merkle树结构的块挖掘)中,大多数游戏逻辑和操作与游戏1相似,其中由于存在曾耀平,秦华. Wu和Carman K.M. 李软件X 19(2022)1011674={个关于我们++i=0时⎞2我表1用于哈希计算的游戏变量。数据字段可变游戏1游戏2数据索引X1–全部价值客户IDX2首字母全部价值产品IDX3首字母全部价值产品数量X4全部价值全部价值产品名称X5首字母全部价值交货日期X6前两位数字全部价值图三. Merkle树数据结构中的哈希计算。Merkle树数据结构为了更好地模拟现实生活中的哈希算法,如SHA-256,所有数据字段的完整值都被考虑,以便使用数据的数字和来计算哈希值。给定数据Dd1,d2,. . .,dn,数据的散列值可以通过使用等式其中每个数据由与游戏1中的数据dk的六个上述数据字段{x1k,x2k,x3k,x4k,x5k,x6k}相关的一串数字表示。在计算所有数据的哈希值之后,可以如图3所示聚合Merkle树根[6],同时采用与游戏1相同的目标难度具体地,用于处理n个事务数据的散列计算的次数(πhc(三)、当事务数据的个数为奇数时,采用一个作为数据dn的副本的虚拟数据来计算Merkle树根.在计算Merkle树根之后,当超过一半的节点验证计算时,可以验证新区块根据预先定义的区块链数据,重复上述步骤,从而挖掘出区块链中的所有交易数据分别用于教师和学生的角色,其中仅显示基本的用户界面为了初始化游戏,教师需要指定游戏设置以及区块链数据文件,因此相应的虚拟房间具有特定的密码,例如20470941594。学生可以通过输入自己的学生ID和相应的密码来参与游戏。当矿工(即学生)的数量大于3时,节点(即教师)可以为区块挖掘和验证过程提出新的葡萄酒交易区块。关于交易(客户ID:STcus 0003;产品ID:D9838;产品数量:215;产品名称:Gamay;交货日期:21年10月8日),正确的哈希值和随机数值为5082(即[83(S)68(D)215 71(G)第八节]6239)和9,鉴于之前的哈希值为623,根据等式。(一). 学生可以上传他们的答案进行验证,直到在网络中达到至少51%的共识,这样一个新的区块就会被添加到区块链中,奖励会分发给提供正确答案的学生。第一个成功的学生可以获得分数这等于成功矿工的总数,⎛∑6 ⎡⌊lo∑g(xik)⌋xik mod10i+1−xik mod10i第二个成功的学生可以得到第一个成功的学生之后,老师们可以提议Ht(dk)=10i=1j=010我+Rt−1另一个葡萄酒交易区块,重复上述步骤,直到预定义的区块链数据结束结束时+Nonce(2)⎨⎧(n)∑log2(n)(1),其中n是偶数游戏,学生获得的分数可以在酒吧可视化图表和数据表形式。在游戏2中,如上所述,主要的区别是在哈希计算中关于交易(数据)index:1;客户ID:TP 01;产品ID:W1021;产品quan-πhc=π(n+1)∑log2(n+1)(1)其中n是奇数货量:250;产品名称:Merlot;交货日期:2020年9月15日),i=0时3. 说明性实例2我、(三)交易数据的数字和是172,使得散列假设先前的Merkle树根为21,则随机数值分别为1764和14。除了区块挖掘过程,游戏1和2还通过展示在本节中,所提出的用于教授区块链概念的学习平台的过程在图1和图2中示出。 4和5Merkle树的不可变特性和应用,如图 所 示。 六、比赛结束后,整个曾耀平,秦华. Wu和Carman K.M. 李软件X 19(2022)1011675图四、游 戏 过 程 图解供教师参考。图五、游 戏 过 程 图解供教师参考。区块链可以被导出,这可以展示更改数据/哈希值的效果。此外,零知识证明的概念被应用于验证特定的数据,而不会泄露任何其他散列数据。总之,从游戏1和2中学习到的具体区块链概念和特征描述如下。在第一场比赛中,学生可以对PoW机制和在游戏2中,除了上述概念和功能外,学生还可以体验(i)Merkle树的构建及其根计算,以及(ii)用于数据验证的零4. 影响在教育研究的背景下,基于游戏的学习方法一直很受欢迎,以提高教学效率和学习参与度,例如用于学习供应链管理概念的啤酒游戏[7]和用于学习编程概念的Run Marco [8]。上述教育游戏通常会引发一些研究问题,以检查学生虽然市场上有一些现有的区块链学习工具,包括基于纸张的区块链游戏[4],棋盘游戏[10]和技术曾耀平,秦华. Wu和Carman K.M. 李软件X 19(2022)1011676见图6。游戏完成后的后期练习;在(a)中,整个挖掘和验证的区块链可以在游戏1完成后导出,其中块之间的加密链接是可视化的;在(b)中,当交易在Merkle树结构中挖掘时,可以在游戏2自学材料[11],很难在针对多学科学生的混合学习教学法下的STEM科目通过学习平台,学生可以参与构建具有各种区块链概念的同行之间的葡萄酒交易区块链。此外,可以调查拟议平台对没有技术背景的学生(如商业管理和艺术)的有效性,以评估通过拟议平台在高等教育中普及STEM教育的情况。必须促进多学科知识的协同作用。因此,相应的教育研究模型测量(i)前和后学生的兴趣,(ii)前和后学生的表现,(iii)学生满意度可以根据建议的学习平台。除了在高等教育中有效传播区块链知识外,拟议的学习平台还可以成为STEM教育工具,以完善相关的教学和学习体系。与其从游戏中学习所有基本概念,还可以设计混合授课和游戏的课程,而游戏则被视为加深学生对复杂概念和知识的理解的工具。随后,需要进行实验来测量关于课程内容安排的教与学的效果通过各种课程设计设置,可以调查学生的兴趣、表现和满意度,以确定适当的基于游戏的教学法,用于传播先进的计算机科学知识。由于随着COVID-19大流行的出现,混合式学习教学法在各个学科中得到广泛应用,同时应建立几个在线学习工具来辅助教学和学习活动。因此,上述课程内容设计的实验,可以帮助改革传统的授课方式,以激发学生总的来说,所提出的学习平台可以有益于技术和非技术学生的高等教育中的区块链教育。与使用编程代码构建区块链不同,游戏被视为向可以体验区块挖掘过程和其他机制的学生传播相应知识的另一种方法为了将所提出的学习平台商业化,可以向预期用户(例如讲师)提供基于订阅的服务,以使用定制的区块链数据来设置他们自己的可以生成相应的密码以有效地控制他们自己的学生组,使得多个学生组可以同时参与游戏。因此,市场上更多的人才可以 以支持区块链技术的快速发展。5. 结论综上所述,我们设计并开发了一个名为“BlockTrainHK”的教育平台,曾耀平,秦华. Wu和Carman K.M. 李软件X 19(2022)1011677一个区块链的葡萄酒交易在类与共识算法的概念,哈希函数,默克尔树,和零知识证明。为了向具有技术和非技术背景的学生推广教育平台,整个游戏逻辑被简化和结构化,以逐步在同行之间达成共识,其中散列函数通过使用简单的数学计算而不是现实生活中的安全散列算法来专门定制通过这样做,无论学生的背景如何,他们都可以有效地参与学习区块链概念,以促进区块链技术在各个行业的未来发展,如艺术和商业管理。CRediT作者贡献声明容宝曾:概念化,方法论,软件,调查,写作-原始草稿. 吴春浩:软件,数据管理,写作李嘉敏:资源、监督、项目管理。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作数据可用性数据将根据要求提供。确认这项工作得到了一个资助项目的在线教学发展和教育研究基金(第一阶段)从工业和系统工程系(ISE)的支持,香港理工大学,获中国香港特别行政区研究资助局资助[研究资助计划编号:700043]。附录A. 补充数据与本文相关的补充材料可以在https://doi.org/10.1016/j.softx.2022.101167上找到。引用[1] 陆 毅 在 信 息 系 统 中 实 施 区 块 链 : 综 述 。 企 业 信 息 系 统 2021.http://dx.doi.org/10.1080/17517575.2021.2008513网站。[2]李贞英去中心化的代币经济:区块链和加密货币如何彻底改变业务。BusHorizons2019;62(6):773-84.[3]王强,李荣,王强,陈松.不可替代代币(NFT):概述、评估、机遇和挑战。2021,arXiv 2021;预印本arXiv:2105.07447。[4] IBM.区块链游戏:一个伟大的新工具,为您的课堂。2022年,https://www.ibm.com/blogs/blockchain/2019/04/the-blockchain-game-a-great-new-tool-for-your-classroom/。[2022年1月26日]。[5] ASCII码-扩展的ASCII表。2022年,https://www.ascii-code.com/。[2022年5月17日]。[6]Lee D,Park N.基于区块链的隐私保护多媒体智能视频监控使用安全Merkle树。多媒体工具应用2021;80(26):34517-34。[7]放大图片创作者:Kaminsky P,Simchi-Levi D.一个新的计算机化啤酒游戏:一个工具,用于教学的价值集成供应链管理。全球供应链技术管理1998;1(1):216-25.[8]Giannakoulas A,Xinogalos S.以教育游戏向小学生教授程式设计概念的成效及接受程度的先导研究。Educ Inf Technol2018;23(5):2029-52.[9]Martín-Páez T,Aguilera D,Perales-Palacios FJ,Vílchez-González JM.当我们 谈 论 STEM 教 育 时 , 我 们 在 谈 论 什 么 ? 文 献 综 述 。 Sci. 教 育 。 2019;103(4):799-822。[10]Cortiz D,Calegari N,Oliveira F,Gatti DC.区块链学习的游戏设计。2021,arXiv 2021;预印本arXiv:2104.07086。[11] 复仇.通过编码学习。2022年,https://ethereum.org/en/developers/learning-tools/。[2022年1月26日
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功