基于区块链的离线交易方法技术

技术编号:31086896 阅读:52 留言:0更新日期:2021-12-01 12:42
本发明专利技术提供的基于区块链的离线交易方法,包括以下步骤:S1由第三方应用对交易元数据进行签名;S2将签名后的交易元数据请求上链;S3对签名后的交易元数据进行校验;若校验不通过,交易结束;若校验通过,执行S4;S4对校验通过的交易元数据进行共识,若共识失败,交易结束;若共识成功,执行S5;S5将交易写入数据库,交易成功。本发明专利技术通过第三方应用进行离线交易签名,提高了交易数据在网络中的传输安全性,减轻了区块链节点的计算压力与cpu开销,解决了区块链节点的性能瓶颈问题,提高了区块链系统整体的性能。统整体的性能。统整体的性能。

【技术实现步骤摘要】
基于区块链的离线交易方法


[0001]本专利技术涉及区块链应用
,尤其涉及一种基于区块链的离线交易方法。

技术介绍

[0002]现有技术中,通过区块链实现交易的方法往往是在线交易方法,这种方法存在交易数据被恶意网络节点截获、攻击的可能性,从而导致交易数据泄露的问题。且交易数据的签名算法中往往采用CPU密集型算法,PS(public service)节点作为主要的对VS(validation service)节点的转发节点,额外的交易签名,加大了服务节点的CPU开销,区块链的整体性能不高。

技术实现思路

[0003]本专利技术要解决的技术问题是提供一种基于区块链的离线交易方法,能够提高交易信息的安全性,减轻区块链中PS节点的计算压力,减少签名时区块链的CPU开销。
[0004]为解决上述技术问题,本专利技术采取的技术方案为:
[0005]本专利技术提供的一种基于区块链的离线交易方法,该方法包括以下步骤:
[0006]S1由第三方应用对交易元数据进行签名;S2将签名后的交易元数据请求上链;S3对签名后的交易元数据进行校验;若校验不通过,交易结束;若校验通过,执行S4;S4对校验通过的交易元数据进行共识,若共识失败,交易结束;若共识成功,执行S5;S5将交易写入数据库,交易成功。
[0007]具体地,S1包括:S11交易发起方向第三方应用申请对交易元数据进行签名请求;S12第三方应用对交易元数据进行签名;S13第三方应用将签名后的交易元数据反馈给交易发起方。
[0008]具体地,S12包括:S121通过椭圆曲线算法生成公钥和私钥;S122通过随机算法生成随机数,并将生成的随机数作为交易数据头;S123序列化交易数据头和交易元数据,并将序列化后的交易数据头加入到序列化后的交易元数据的前端;S124通过摘要算法对S123的结果进行计算;S125使用私钥对S124的结果进行sign计算得到哈希值。
[0009]具体地,S2为:交易发起方将签名后的交易元数据传输至PS节点,并向PS节点发起上链请求。
[0010]具体地,S3为:PS节点通过公钥对签名后的交易元数据进行校验,如果校验不通过,将校验失败的信息反馈给交易发起方,交易结束;如果校验通过,执行S4。
[0011]具体地,S4为:将签名后的交易元数据转发至所有VS节点后,VS节点对签名后的交易元数据进行共识,如果共识失败,将共识失败的信息反馈给交易发起方,交易结束;如果共识成功,执行S5。
[0012]具体地,S5为:VS节点和PS节点均将交易写入数据库,并将交易成功的信息反馈给交易请求方,交易成功。
[0013]优选地,VS节点通过PBFT共识算法对签名后的交易元数据进行共识。
[0014]上述技术方案具有如下优点或者有益效果:
[0015](1)通过离线交易签名提高了交易数据在网络传输过程中的安全性。
[0016](2)通过第三方应用进行离线交易签名,减轻了区块链节点的计算压力与cpu开销,解决了区块链节点的性能瓶颈问题,提高了区块链系统整体的性能。
附图说明
[0017]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本专利技术的主旨。
[0018]图1是本专利技术提供的基于区块链的离线交易方法的简要关系图;
[0019]图2是本专利技术提供的基于区块链的离线交易方法中签名方法的简要流程图。
具体实施方式
[0020]下面结合附图和具体的实施例对本专利技术作进一步的说明,但是不作为本专利技术的限定。
[0021]本专利技术提供的基于区块链的离线交易方法,在具体实施时,参照图1及图2,由交易发起方准备好交易元数据,接着由交易发起方向第三方应用申请对交易元数据进行签名请求,第三方应用通过椭圆曲线算法生成公钥和私钥,并通过随机算法生成随机数,并将生成的随机数作为交易数据头,序列化交易数据头和交易元数据,将序列化后的交易数据头加入到序列化后的交易元数据的前端,该交易数据头包含一段随机的字节数据,能够提高最终签名结果的随机性,通过摘要算法对S123的结果进行计算,摘要算法是一种加密算法,保证即使交易元数据只有微小的差异,计算结果也会产生巨大不同,从而确保签名的可靠性,接着对摘要算法计算的结果进行十六进制处理,方便数据传输与阅读,最后使用私钥进行sign计算得到哈希值,并进行十六进制大写处理,得到最终签名后的交易元数据。
[0022]接着第三方应用将签名后的交易元数据反馈给交易发起方,交易发起方将签名后的交易元数据传输至PS节点,并向PS节点发起上链请求,PS节点通过公钥对签名后的交易元数据进行校验,如果校验不通过,将校验失败的信息反馈给交易发起方,交易结束;如果校验通过,将签名后的交易元数据通过Broadcast广播的形式转发至所有VS节点后,VS节点通过PBFT共识算法对签名后的交易元数据进行共识,如果共识失败,将共识失败的信息反馈给交易发起方,交易结束;如果共识成功,所有VS节点和PS节点均将交易写入数据库,并将交易成功的信息反馈给交易请求方,交易成功。
[0023]以上对本专利技术的较佳实施例进行了描述;需要理解的是,本专利技术并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本专利技术技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本专利技术的实质内容;因此,凡是未脱离本专利技术技术方案的内容,依据本专利技术的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本专利技术技术方案保护的范围内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于区块链的离线交易方法,其特征在于,该方法包括以下步骤:S1由第三方应用对交易元数据进行签名;S2将签名后的交易元数据请求上链;S3对签名后的交易元数据进行校验;若校验不通过,交易结束;若校验通过,执行S4;S4对校验通过的交易元数据进行共识,若共识失败,交易结束;若共识成功,执行S5;S5将交易写入数据库,交易成功。2.如权利要求1所述的基于区块链的离线交易方法,其特征在于,所述S1包括:S11交易发起方向第三方应用申请对交易元数据进行签名请求;S12所述第三方应用对所述交易元数据进行签名;S13所述第三方应用将签名后的交易元数据反馈给所述交易发起方。3.如权利要求2所述的基于区块链的离线交易方法,其特征在于,所述S12包括:S121通过椭圆曲线算法生成公钥和私钥;S122通过随机算法生成随机数,并将生成的随机数作为交易数据头;S123序列化交易数据头和交易元数据,并将序列化后的交易数据头加入到序列化后的交易元数据的前端;S124通过摘要算法对S123的结果进行计算;S125使用私钥对S124的结果进行sign计...

【专利技术属性】
技术研发人员:田周辉黄晏清
申请(专利权)人:无锡井通网络科技有限公司
类型:发明
国别省市:

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

1