【技术实现步骤摘要】
一种区块链虚拟仿真系统
本专利技术涉及计算机、网络与仿真
,尤其涉及一种区块链虚拟仿真系统。
技术介绍
区块链是一种分布式账本,也是一种新型应用模式;区块链技术覆盖了分布式存储、网络、信息安全、数据容错等计算机技术;区块链应用具有去中心、开放、自治等特点,可划分为公有区块链、联合区块链和私有区块链。一般而言,公有区块链的任何节点都能够参与交易和共识过程。当前区块链典型应用还较少,区块链技术研究(例如共识算法、智能合约以及安全与隐私等)吸引了众多学者的研究热情。区块链技术研究需要搭建实验环境,主要有两种做法。第一种是以小型虚拟币为主,利用开源的虚拟币工程项目搭建一个或多个封闭的实验环境。在这些实验环境中研究开发共识算法、智能合约、信息安全等。这种做法通常需要更多的物理设备,例如多台计算机,需要部署专用的物理网络等,而且规模有限,难以形成大规模的区块链应用环境。第二种是利用现有的区块链平台,例如以太坊(Ethereum)、超级账本(Hyperledger)等搭建实验与开发环境。这2个平台主要面向行业应用,构建各行业的区块链应用案例;只能使用以太坊本身的智能合约创建业务应用,但不能研究开发新的智能合约。因此区块链各类算法等基础构件研究的空间是非常有限的。本专利技术面向区块链技术研究开发的需要,提供一种公有区块链虚拟仿真方法及系统,解决上述存在的问题。
技术实现思路
为解决上述技术问题,本专利技术的目的是提供一种区块链虚拟仿真系统。本专利技术的目的通过以下的技术方案来实现:一种区块链虚拟仿真系统,该系统能在单台计算机上虚拟仿真完整的共有区块链实验与应用环境,包括 ...
【技术保护点】
1.一种区块链虚拟仿真系统,其特征在于,所述系统能在单台计算机上虚拟仿真完整的共有区块链实验与应用环境,包括应用接口模块、区块链仿真模块及网络与数据模块;所述应用接口模块,包括P2P网络接口和区块应用接口,用于初始化区块链网络、驱动并控制区块链虚拟仿真过程,并在计算机上仿真为一个功能模块;区块链仿真模块,包括P2P网络和Block模块,用于仿真区块链的交易过程,区块验证与维护及PoW共识;网络与数据模块,用于仿真区块链的网络通信与数据存储。
【技术特征摘要】
1.一种区块链虚拟仿真系统,其特征在于,所述系统能在单台计算机上虚拟仿真完整的共有区块链实验与应用环境,包括应用接口模块、区块链仿真模块及网络与数据模块;所述应用接口模块,包括P2P网络接口和区块应用接口,用于初始化区块链网络、驱动并控制区块链虚拟仿真过程,并在计算机上仿真为一个功能模块;区块链仿真模块,包括P2P网络和Block模块,用于仿真区块链的交易过程,区块验证与维护及PoW共识;网络与数据模块,用于仿真区块链的网络通信与数据存储。2.如权利要求1所述的区块链虚拟仿真系统,其特征在于,所述应用接口模块提供一个区块链网络初始化算法,用于初始化P2P网络,创建创世区块;所述一个区块链包括多个计算节点,每个计算节点实现一个区块链仿真模块。3.如权利要求1所述的区块链虚拟仿真系统,其特征在于,所述区块链仿真模块、网络与数据模块在单台计算机上仿真为一个对象。4.如权利要求1所述的区块链虚拟仿真系统,其特征在于,每个计算节点的P2P网络采用Chord协议与其他计算节点构成一个环状网,且通过内置的区块链数据收发线程为区块链仿真提供网络数据通道;所述Block模块包含BlockChainAPI、区块存取、BlockChain工作线程及基础算法;所述BlockChainAPI,用于与应用接口模块交换数据与指令;区块存取,用于访问虚拟的区块链数据;BlockChain工作线程,用于仿真区块的交易、维护、PoW共识、挖矿、确权以及网络数据交换;基础算法,用于提供Hash计算、密码算法、数字签名、时间戳计算功能。5.如权利要求4所述的区块链虚拟仿真系统,其特征在于,所述BlockChain工作线程包含计算节点加入区块链网络的算法、区块链网络交易算法及计算节点区块维护算法;所述计算节点加入区块链网络的算法,用于实现计算节点新增、重入区块链网络的过程;所述区块链网络交易算法,用于实现区块链的新交易、挖矿、PoW确认、区块确权以及区块链更新的过程;计算节点区块维护算法,用于解决区块分叉问题、实现计算节点间区块同步的过程。6.如权利要求2所述的区块链虚拟仿真系统,其特征在于,区块链网络初始化算法包括:A1应用接口模块增加数量计算节点,构建一个P2P网络,Chord工作线程构建各自计算节点的数据区,包括Fingertable、前驱后续节点信息;A2通过应用接口模块创建一个有效区块,作为创世区块,并添加到区块链网络中任意一个计算节点;A3计算节点的各个工作线程开始工作,区块维护线程实现网络中各计算节点同步添加新增的创世区块;A4在区块链网络稳定时,算法结束。7.如权利要求5所述的区块链虚拟仿真系统,其特征在于,所述节点加入区块链网络的算法包括:B1新增或重入网络的计算节点按Chord协议更新自己的前驱后续节点信息以及Fingertable;B2新增或重入网络的计算节点的BlockChain工作线程开始工作,其中区块维护线程向Fingertable所指节点各获取一个区块;B3如果获取的区块已经存在于自己的区块链中,则忽略,并转到B6;B4如果获取的区块不存在于自己的区块链中,且获取的区块是创世区块,则直接加入到自己的区块链中,并执行步骤B6;B5如果不是创世区块,则请求PoW共识线程进行确认,将得到确认后的区...
【专利技术属性】
技术研发人员:刘昌平,李威,常亚萍,唐懿芳,范云龙,王婷,
申请(专利权)人:广东科学技术职业学院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。