【技术实现步骤摘要】
一种区块链仿真实验方法以及实验系统
[0001]本专利技术涉及区块链虚拟仿真领域,具体而言,涉及一种区块链仿真实验方法以及实验系统。
技术介绍
[0002]当前,区块链技术作为新一代信息技术的重要组成部分,解决了网络空间的信任和安全问题,推动互联网从传递信息向传递价值变革,重构信息产业体系。区近年来区块链技术被广泛应用于金融经济、健康医疗、物联网、供应链等诸多领域,引起了越来越多人的关注。在此背景下,针对区块链各个应用方向的实验需求也越来越多。
[0003]现有的区块链仿真实验工具主要分为以下几种模型构建,如附图1所示。
[0004]离散事件模型是一个动态模拟过程的模型。由事件驱动,事件的发生是离散且随机的(即系统状态变量(state)的取值是依时间轴离散且随机分布的),事件是网络模型状态的变化或者某种决策。只有模型状态变化,模拟机才进行仿真,状态不发生变化的时间段,不进行仿真。
[0005]基于Agent(代理、自治体)的模型是离散事件模型衍生和变化,着重研究离散仿真系统中的Agent行为以及众多个体行为所导致的系统整体特征变化。Agent具有自治性,可以感知系统环境的变化以及系统中其他个体的行为,以所获得的信息进行决策并做出反应。个体具有记忆和思维的能力,依据既定的规则进行决策,还可以调整自身的行为以实现对系统的自适应程度。对于复杂的基于代理的仿真系统而言,当众多个体遵从既定规则进行活动时,系统会产生涌现性,即系统表现出个体所不具备的特征。
[0006]虚拟化模型类型主要分为三个, ...
【技术保护点】
【技术特征摘要】
1.一种区块链仿真实验方法,其特征在于,根据用户的需求分为单流程仿真实验方法、分布式仿真实验方法以及全流程仿真实验方法;其中,所述单流程仿真实验方法包括:通过控制节点/区块操作交互模块触发仿真的进行;所述分布式仿真实验方法包括:由分布在不同设备上的Agent协同执行,通过一个控制者传入配置参数和调用仿真开关控制器来控制分布式仿真操作的开始与结束;所述全流程仿真实验方法包括:一次性读取所有仿真事务并通过优化的离散仿真事务调度算法来进行持续性的仿真事务调度。2.根据权利要求1所述的区块链仿真实验方法,其特征在于,所述分布式仿真操作的具体方法包括:调用同步控制器来订阅同步更新全局事务空间的仿真事务同步流程,事务更新完毕后开始向仿真通用模块请求仿真事务构建,构建的事务被分布式进程控制器通过算法调度划分为一系列逻辑进程,逻辑进程在系统底层集中服务器上执行并通过交互与可视化配置器分发给Agent。3.根据权利要求2所述的区块链仿真实验方法,其特征在于,所述仿真事务同步流程的操作方法包括:订阅以及发布的过程;其中所述订阅的过程包括:a)数据订阅请求:Agent的独立数据空间处于活跃状态,当发生相关仿真数据活动时,Agent会向全局数据空间发起仿真数据订阅请求;b)数据通道开放:全局数据空间在接收到数据订阅请求之后,识别Agent的订阅权限,确定拥有订阅权限之后向Agent开放数据通道;c)数据包更新:Agent收到数据通道开通消息后,开始进行相关仿真事d)订阅成功:仿真事务数据订阅成功后,Agent会根据接收到的数据版本给独立的数据空间打上相应版本标识;所述发布的过程包括:a)数据发布请求:Agent产生了新的仿真事务数据,会向全局数据空间发送事务发布请求;b)数据通道开放:全局数据空间在接收到数据发布请求之后,识别Agent的发布权限,确定拥有发布权限之后向Agent开放数据通道;c)数据包同步:全局数据空间识别Agent仿真事务数据版本标识差,根据版本标识差向Agent发送对应的事务数据来进行同步;d)发布数据:仿真事务数据同步完成后,向全局数据空间发布最新的仿真事务数据;e)发布成功:仿真事务数据发布成功后,全局数据空间会向Agent发送发布成功消息并携带新的数据版本标识,Agent会根据接收到的数据版本标识给独立的数据空间打上相应标识。4.根据权利要求3所述的区块链仿真实验方法,其特征在于,订阅同步发起的过程中会触发时间同步流程,所述时间同步流程的操作方法包括:Agent向仿真控制者发送加入仿真请求,控制者收到请求确定发送启动应答消息;控制者向Agent发送仿真启动命令请求时钟同步,并记录发送时间TC1,INV消息内包含发送时间TC1以及控制者可信标识;
Agent收到控制者的启动命令,Agent验证INV消息内容,验证通过后启动本节点的虚拟时钟,计算虚拟时钟的偏移值的公式为:上述公式中的校准结果是从时钟调整Agent虚拟时钟的offset+TC1;Agent对控制者的请求发送首次应答,并发送应答REC消息,应答消息中加入自己的时间戳TA
11
、接收的时间戳TC1以及Agent可信标识;控制者收到Agent的REC消息后,控制者记录接收时间TC
21
,并立即向Agent发送LINK消息,通知Agent两者通信已经成功建立,LINK消息携带内容包含时间戳TA
11
、TC1、TC
21
;Agent接收到控制者LINK消息,下载相关时间戳数据之后,向控制者发送GETDATA请求,以获取最终的时间数据,请求内包含当前发送的时间戳TA
12
以及LINK消息内的时间戳TA
11
、TC1、TC
21
;控制者收到Agent的GETDATA消息后,记录接收时间TC
22
,并根据接收消息的时间戳计算精确的网络时延,并将计算得到的时延作为虚拟时间块消息校准命令发送给Agent;Agent收到控制者的虚拟时间块消息后,通过向后调整来校准它的时钟,并清除此前其他消息的缓存。5.根据权利要求1所述的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。