一种基于区块链的数值模拟方法技术

技术编号:33131898 阅读:48 留言:0更新日期:2022-04-17 00:49
本发明专利技术提供了一种基于区块链的数值模拟方法,包括以下步骤:S1、模型建立者建立计算模型并将存有计算模型的文件加密后发布至计算任务发布者,计算任务发布者将存有计算模型的加密文件和密钥发送至区块链中的计算节点,计算任务发布者将计算节点返回的结算结果发布至其余节点;S2、步骤S1中的信息发出后,通过区块链网络被广播到所有的参与节点;S3、区块链网络收到该广播后的各节点都会进行信息验证,并各自形成一个等待上链的区块;本发明专利技术通过区块链将模型建立者、计算任务发布者、计算节点三者联系起来,利用区块链去中心化共识、数据不可篡改等特点,可以有效检测数据是否被恶意篡改,从而保证数值模拟的安全性。从而保证数值模拟的安全性。从而保证数值模拟的安全性。

【技术实现步骤摘要】
一种基于区块链的数值模拟方法


[0001]本专利技术属于委托计算
,尤其是涉及一种基于区块链的数值模拟方法。

技术介绍

[0002]区块链是利用分布式节点的共识机制生成和更新数据,利用密码学原理将数据块链接在一起,通过智能合约编程和操作数据的一种点对点技术。其本质上是一个分布式账本,或者说是分布式数据库,可以在网络系统中监视每一条交易记录。区块链因其去中心化、公开透明、数据不可篡改、分布共识等特点被应用到各大领域。
[0003]数值模拟即计算机模拟,通过计算机对一些复杂的模型进行仿真计算;随着仿真模型复杂度的提高,传统的计算机对这些模型进行仿真计算时效率低下,例如利用COMSOL对电磁轨道炮进行三维有限元仿真时,求解起来相当困难,通过将存有计算模型的文件上传给计算节点,利用计算节点强大的计算能力可以快速得到计算结果,但在享受到超级计算提供便利的同时,用户在上传数据的过程中有可能发生数据泄露、丢失、被恶意篡改等问题,从而无法保证数值模拟的准确性与安全性;因此,本专利申请设计了一种基于区块链的数值模拟方法。

技术实现思路

[0004]有鉴于此,本专利技术旨在提出一种基于区块链的数值模拟方法,以用户在上传数据的过程中有可能发生数据泄露、丢失、被恶意篡改等情况,无法保证数值模拟的准确性与安全性的问题。
[0005]为达到上述目的,本专利技术的技术方案是这样实现的:
[0006]一种基于区块链的数值模拟方法,包括以下步骤:S1、模型建立者建立计算模型并将存有计算模型的文件加密后发布至计算任务发布者,计算任务发布者将存有计算模型的加密文件和密钥发送至区块链中的计算节点,计算任务发布者将计算节点返回的结算结果发布至其余节点;
[0007]S2、步骤S1中的信息发出后,通过区块链网络被广播到所有的参与节点;
[0008]S3、区块链网络收到该广播后的各节点都会进行信息验证,并各自形成一个等待上链的区块;
[0009]S4、通过共识算法选出拥有正确记账权的节点,没有获得正确记账权的节点竞争下一区块的记账权;
[0010]S5、获得正确记账权的节点通过区块链网络广播该节点对应的区块,全网其他节点验证该区块记账的正确性,核对无误后,该区块连接上一个区块形成新的区块链。
[0011]进一步的,对存有计算模型的文件进行加密,具体方法为:加密算法包括对称加密算法、非对称加密算法,对称加密算法中的加密密钥和解密密钥相同,非对称加密算法中的加密密钥和解密密钥不相同。
[0012]进一步的,使用对称加密算法对数据进行加密的过程中,数据发送方将原始数据
进行加密处理后生成密文进行发送;在数据解密的过程中,数据接收方接收到密文后需要使用相同的密钥对密文执行相同算法的逆运算即可读取数据。
[0013]进一步的,数据发送方利用自己的私钥对数据加密,数据接收方利用数据发送方的公钥才能对数据解密;数据发送方利用数据接收方的公钥对数据进行加密,数据接收方利用自己的私钥对数据进行解密;
[0014]非对称加密算法中,公、私密钥成对存在,为一一对应关系,其中,公钥是公开的,私钥是个人的。
[0015]进一步的,步骤S4中的共识算法包括:拜占庭容错算法(PBFT)、工作量证明(PoW)、权益证明(PoS)和委任权益证明(DPoS);上述共识算法均为现有的成熟技术,本技术方案并未对其进行改进,因此,本专利不再作详细赘述;
[0016]其中,拜占庭容错算法为每个节点都对周围节点进行信息正确性的确认,用确信次数换取信用,每个命令的执行都需要两两验证去检验信息;利用状态机副本复制的方法,假设系统中共有3f+1个复制节点,其中最多f个节点为拜占庭错误节点,系统中每个节点都运行一个有限状态机的副本,同时支持若干种操作,该算法在保证活性与安全性的前提下提供了(n

1)/3的容错性;
[0017]工作量证明竞争获取唯一记账权,例如,平均10分钟内(具体时间会和密码学问题的难度相互影响)只能有一个人可以记账成功,其他节点验证通过后复制这一记账结果;
[0018]新区块的创建是通过随机、财富或币龄的各种组合来进行选择的,取决于节点在网络中的经济效益;它所蕴含的概念是:区块链应该由具有经济利益的人进行保障,系统通过选举随机选择节点验证下一个区块,但要成为验证者,节点需要在网络中事先存入一定数量的货币作为权益,类似于保证金机制;
[0019]用户通过加密货币社区,投票选择网络的代表,该代表负责区块的产生,同时系统给予该代表收益;持币者投票选出一定数量的节点,代替他们进行区块验证的记账,用户通过一个特别的加密货币社区,投票选择网络的代表,投票的影响是根据持有的货币数量来决定的,货币持有量越大,那么投票的影响力也越大,这些代表需要负责区块的产生,同时系统会给予他们一定收益,一旦被选择出来的代表没有履行应尽的职责,社区可以进行投票将其资格取消;有固定收益的激励机制存在,有大量用户愿意成为票选出的代表。
[0020]进一步的,步骤S5中,按照验证标准对所有字段信息进行验证,验证的内容包括:
[0021](1)区块数据结构的有效性;
[0022](2)区块大小和各字段有效长度的合法性;
[0023](3)对时间戳显示时间进行校验;
[0024](4)是否拥有正确的目标值,区块头的哈希值需满足当前目标值;
[0025](5)验证区块头中的默克尔根,根据数据信息进行默克尔树重构,与区块数据中保持一致
[0026](6)校验生成交易是否唯一;
[0027](7)遍历区块中所有的信息,检查信息的合法性。
[0028]进一步的,步骤S6中,每个区块的头部包括上一个区块的头哈希值和当前区块的头哈希值,保证每个区块的唯一性和顺序性。
[0029]相对于现有技术,本专利技术所述的一种基于区块链的数值模拟方法具有以下有益效
果:
[0030]本专利技术所述的一种基于区块链的数值模拟方法利用区块链将计算模型建立者、计算任务发布者、计算节点联系起来,模型建立者通过区块链将计算模型传递给计算任务发布者,保证了计算模型的不可篡改性,计算任务发布者通过区块链上传模型到计算节点,保证数值模拟的安全性,并将返回的计算结果一同写入区块链中,利用区块链去中心化共识、数据不可篡改等特点,可以有效检测数据是否被恶意篡改,从而保证数值模拟的安全性。
附图说明
[0031]构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0032]图1为本专利技术实施例所述的一种基于区块链的数值模拟方法流程图。
具体实施方式
[0033]需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0034]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数值模拟方法,其特征在于,包括以下步骤:S1、模型建立者建立计算模型并将存有计算模型的文件加密后发布至计算任务发布者,计算任务发布者将存有计算模型的加密文件和密钥发送至区块链中的计算节点,计算任务发布者将计算节点返回的结算结果发布至其余节点;S2、步骤S1中的信息发出后,通过区块链网络被广播到所有的参与节点;S3、区块链网络收到该广播后的各节点都会进行信息验证,并各自形成一个等待上链的区块;S4、通过共识算法选出拥有正确记账权的节点,没有获得正确记账权的节点竞争下一区块的记账权;S5、获得正确记账权的节点通过区块链网络广播该节点对应的区块,全网其他节点验证该区块记账的正确性,核对无误后,该区块连接上一个区块形成新的区块链。2.根据权利要求1所述的一种基于区块链的数值模拟方法,其特征在于,对存有计算模型的文件进行加密,具体方法为:加密算法包括对称加密算法、非对称加密算法,对称加密算法中的加密密钥和解密密钥相同,非对称加密算法中的加密密钥和解密密钥不相同。3.根据权利要求2所述的一种基于区块链的数值模拟方法,其特征在于:使用对称加密算法对数据进行加密的过程中,数据发送方将原始数据进行加密处理后生成密文进行发送;在数据解密的过程中,数据接收方接收到密文后需要使用相同的密钥对密文执行相同算法的逆运算即可读取数据。4.根据权利要求2所述的一种基于区块链的数值模拟方法,其特征在于:数据发送方利用自己的私钥对数据加密,数据接收方利用数据发送方的...

【专利技术属性】
技术研发人员:金亮尹振豪杨庆新张闯刘素贞
申请(专利权)人:河北工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1