论文部分内容阅读
作为一种全新的分布式基础架构与计算范式,区块链因其防篡改、可追溯和去中心化的特点而备受人们关注,被誉为是下一代价值互联网业态和基础解决方案。目前,教育行业充斥着各种学历造假、版权侵犯等问题,而区块链技术在教育行业中的应用尚处于萌芽阶段,再加上成熟的区块链平台大多集中于加密货币领域,在智能合约、交易处理效率等方面还存在些许不足,因此,实现一款适用于教育行业的区块链基础平台具有重大意义。本文通过研究智能合约和共识算法等关键技术,将区块链技术和教育行业相结合,设计并实现了一种轻量且高效的教育区块链基础平台。该平台以智能合约的形式构建学分银行应用,将学生的学习记录和教育机构的教育资源上传至区块链,利用区块链的共识机制对其进行信任背书,不仅能在一定程度上解决学历造假和版权侵犯问题,而且有助于实现教育资源共享,促进教育行业的发展。本文首先基于联盟链的概念,设计了一种节点之间相互连接且接入同一个Kafka集群的区块链组网方式,以减少节点之间数据通信的开销。其次,本文设计了一种轻量级的智能合约执行引擎,将智能合约以动态共享库的形式运行在Docker容器中,并在此基础上完成智能合约的部署、实例化、停用、更新、复用等一系列生命周期管理操作,使得用户能够快速编写和管理智能合约。与此同时,为了提升交易的处理效率,本文一方面通过设计基于椭圆曲线的Schnorr型广播多重签名共识算法,以避免节点在验证交易的合法性时进行多次耗时的验签操作;另一方面,本文借鉴了Hyperledger Fabric中区块打包的思想,通过增加区块缓存,同时采用多线程并发验证区块和单线程存储区块的方式来快速完成交易的确认。此外,本文通过用户智能合约、资源智能合约和学分智能合约来完成学分银行的设计开发。最后,本文通过搭建四节点的区块链测试网络,从功能、高可用和性能等方面对教育区块链基础平台进行测试分析。测试结果表明,该平台在满足区块链和学分银行功能的前提下,不仅具有交易快速确认的特点,而且还具备一定的容灾能力。