一种基于区块链的签名验证方法技术

技术编号:24997969 阅读:25 留言:0更新日期:2020-07-24 18:00
本发明专利技术提供一种基于区块链的签名验证方法,包括以下步骤:S1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;S2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;S3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;S4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;S5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;S5、区块链将交易真实性结果同步至各个节点,具有使得区块链可以默认支持RSA签名验证操作的优点。

【技术实现步骤摘要】
一种基于区块链的签名验证方法
本专利技术属于区块链
,具体涉及一种基于区块链的签名验证方法。
技术介绍
区块链(BlockChain)技术是一种基于去中心化的对等(peer-to-peer)网络,其将密码学原理与共识机制相结合,来保障分布式各节点的数据连贯和持续,实现信息的即时验证、可追溯、难篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。在区块链网络中,交易信息(如买方、卖方、标的、价格等)起初会构成数据区块,这些数据区块要被整个网络中的所有节点认证,才会被加到区块链上。所谓认证,即签名的验证,也叫验签。所有发送到区块链上的交易,都会附有一个用户的签名,用来确认该笔交易是由用户自己发起的。目前主流的验签算法为非对称加密算法,其中RSA属于传统的非对称加密算法,可用于签名/验签,但是目前在区块链上无使用先例;因此需要一种采用RSA非对称加密算法并基于区块链的签名验证方法。
技术实现思路
本专利技术的目的是提供一种基于区块链的签名验证方法,以解决传统的RSA非对称加密算法目前没有应用于区块链用于签名/验签的问题。本专利技术提供了如下的技术方案:一种基于区块链的签名验证方法,包括以下步骤:S1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;S2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;S3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;S4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;S5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;S5、区块链将交易真实性结果同步至各个节点。进一步的,所述计算单元设有多个,每个所述计算单元分别根据RSA签名验证逻辑验证每个业务签名,以获得分别与每个业务签名相对应的多个签名验证结果。进一步的,所述业务发起交易包含所述业务签名、所述业务签名对应的被签名数据以及用于验证所述业务签名的公钥。进一步的,所述签名验证方法还包括计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。进一步的,所述执行业务的动态交易数据作为当前交易的每个区块加盖包括时间戳在内的信息后以时间为顺序构成一链状结构发布至区域链网络中。进一步的,所述智能合约包括智能合约生成模块、智能合约执行模块和智能合约记录模块;所述智能合约生成模块用于构建交易验证智能合约并将所述智能合约部署到区块链网络上,所述智能合约规定了交易验证合约的条款,所述智能合约包括根据所述交易验证合约的条款生成的计算机执行代码;所述智能合约执行模块用于根据所述交易验证合约条款中设定的状态条件执行所述智能合约中的计算机执行代码;所述智能合约记录模块用于将计算机执行代码执行产生的结果作为交易数据存储至区块链网络中,所述区块链网络包括多个节点。本专利技术的有益效果是:本专利技术智能合约所构建的可信网络基础上,基于区块链技术的不可篡改、去中心化、数据加密以及信任传递的特征,通过对区块链节点的计算单元与智能合约的指令集进行扩展,使得区块链可以默认支持RSA签名验证操作;将传统的RSA非对称加密算法应用于区块链用于签名/验签的问题上,使得验证的速度和能力大大提升。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1是本专利技术方法流程示意图。具体实施方式如图1所示,一种基于区块链的签名验证方法,包括以下步骤:S1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;S2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;S3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;S4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;S5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;S5、区块链将交易真实性结果同步至各个节点。具体的,计算单元设有多个,每个计算单元分别根据RSA签名验证逻辑验证每个业务签名,以获得分别与每个业务签名相对应的多个签名验证结果。具体的,业务发起交易包含业务签名、业务签名对应的被签名数据以及用于验证业务签名的公钥。具体的,签名验证方法还包括计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。具体的,执行业务的动态交易数据作为当前交易的每个区块加盖包括时间戳在内的信息后以时间为顺序构成一链状结构发布至区域链网络中。具体的,智能合约包括智能合约生成模块、智能合约执行模块和智能合约记录模块;智能合约生成模块用于构建交易验证智能合约并将智能合约部署到区块链网络上,智能合约规定了交易验证合约的条款,智能合约包括根据交易验证合约的条款生成的计算机执行代码;智能合约执行模块用于根据交易验证合约条款中设定的状态条件执行智能合约中的计算机执行代码;智能合约记录模块用于将计算机执行代码执行产生的结果作为交易数据存储至区块链网络中,区块链网络包括多个节点。以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于区块链的签名验证方法,其特征在于,包括以下步骤:/nS1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;/nS2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;/nS3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;/nS4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;/nS5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;/nS5、区块链将交易真实性结果同步至各个节点。/n

【技术特征摘要】
1.一种基于区块链的签名验证方法,其特征在于,包括以下步骤:
S1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;
S2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;
S3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;
S4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;
S5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;
S5、区块链将交易真实性结果同步至各个节点。


2.根据权利要求1所述的一种基于区块链的签名验证方法,其特征在于,所述计算单元设有多个,每个所述计算单元分别根据RSA签名验证逻辑验证每个业务签名,以获得分别与每个业务签名相对应的多个签名验证结果。


3.根据权利要求1所述的一种基于区块链的签名验证方法,其特征在于,所述业务发起交易包含所述业务签名、所述业务签名对应的被签名数据以及用...

【专利技术属性】
技术研发人员:王剑张辉
申请(专利权)人:江苏荣泽信息科技股份有限公司
类型:发明
国别省市:江苏;32

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

1