一种应用于区块链的数据传输方法及装置制造方法及图纸

技术编号:25230661 阅读:21 留言:0更新日期:2020-08-11 23:17
本申请公开了一种应用于区块链的数据传输方法,先由发送节点获取交易信息,再将其中交易属性信息中提取第一预设字段加密,将加密后的第一加密字段替换原第一预设字段的位置后生成加密属性信息,随同公钥、索引记录一同发送至接收节点;接收节点根据数据包中的索引记录,将加密属性信息解密,还原成加密前的交易属性信息,在解密成功后,将数据包保存在预先建立的数据库中,用于对后续接收到的数据包提供验证,保证了同一交易信息在同一接收节点只能解密一次;通过对交易属性信息中随机部分加密的方式,不仅保证交易的安全性,减少坏节点的作恶,还能减小节点间进行交易时对数据加密耗费的资源,提高信息传输的效率。

【技术实现步骤摘要】
一种应用于区块链的数据传输方法及装置
本申请涉及区块链
,尤其涉及一种应用于区块链的数据传输方法及装置。
技术介绍
区块链技术是一种去中心化的系统思想,能通过公众共识的方式,创建一个相对客观的抗抵赖数字环境。区块链技术可以保证网络信息一经发布即不可更改,例如,区块链网络中发生一笔交易,区块链网络中的节点会在生成的区块中记载该笔交易的内容,并将区块数据进行全网广播,网络中的其他节点以同步或异步的方式存储该区块数据,形成不可更改的区块链。联盟链本质上是一种规模较大的私有链,与公有链不同,联盟链在某种程度上只属于联盟内部成员所有,且很容易达成共识。联盟链由有限的多个节点构成,各节点之间的信息交互通常以加密的方式以保证其安全性,当执行交易时,通常由发送节点对整个交易信息通过节点的公钥进行加密后发送至接收节点,再由接收节点采用与公钥对应的私钥对整个交易信息进行解密,最终根据对交易信息的验证结果完成交易过程。然而,现有技术方案中,各节点对于交易信息加密时,是对包含交易信息的整个消息体均执行加密运算处理,随着消息体内容的增加以及节点数量的增加,极大增加了系统运算量,导致加密过程效率降低明显,且大量占用系统运算资源,使得达成交易率大打折扣。
技术实现思路
本申请提供了一种应用于区块链的数据传输方法,以解决现有技术中存在的加密、解密过程效率低、资源消耗大的问题。第一方面,本申请提供了一种应用于区块链的数据加密方法,应用于发送节点,包括:获取交易信息,所述交易信息包括信息标识和交易属性信息;提取所述交易属性信息中的第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于所述交易属性信息中的索引记录;利用所述第一加密字段代替所述第一预设字段在所述交易属性信息中的位置,得到加密属性信息;将所述信息标识、加密属性信息、公钥及所述索引记录发送至接收节点。在一些实施例中,所述加密属性信息中还包括加密时间戳,所述加密时间戳记录所述第一加密字段代替所述第一预设字段的时间信息。在一些实施例中,所述交易属性信息包括若干个子属性信息;所述得到加密属性信息的步骤包括:在每个子属性信息中分别提取第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于该子属性信息中的索引记录;利用所述第一加密字段代替所述第一预设字段在所述子属性信息中的位置,得到加密子属性信息;将全部经加密后的加密子属性信息合并,得到加密属性信息。在一些实施例中,所述第一预设字段的提取方法为:截取字符长度从第一预设位置到第二预设位置的连续字符串作为第一预设字段。第二方面,本申请提供了一种应用于区块链的数据解密方法,应用于接收节点,包括:接收来自发送节点发送的包含加密属性信息、公钥及索引记录的数据包;根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置;通过接收节点的与所述公钥对应的私钥解密所述第一加密字段,得到第一预设字段;将第一预设字段代替所述第一加密字段在所述加密属性信息中的位置,得到交易属性信息。在一些实施例中,所述方法还包括:保存所述数据包至数据库。在一些实施例中,所述根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置的步骤前,所述方法还包括:校验所述数据包是否唯一,若唯一,则执行所述根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置的步骤;若不唯一,则向发送节点反馈中止数据传输的信息。在一些实施例中,所述校验所述数据包是否唯一包括:根据所述数据包,查询数据库中是否存在与数据包包含信息完全相同的预存数据包,若存在,则得到数据包不唯一的校验结果;若不存在,则得到数据包唯一的校验结果。第三方面,本申请提供了一种应用于区块链的数据加密装置,对应于第一方面提供的方法,装置包括:获取单元,用于获取交易信息,所述交易信息包括信息标识和交易属性信息;加密单元,用于提取所述交易属性信息中的第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于所述交易属性信息中的索引记录;利用所述第一加密字段代替所述第一预设字段在所述交易属性信息中的位置,得到加密属性信息;发送单元,用于将所述信息标识、加密属性信息、公钥及所述索引记录发送至接收节点。在一些实施例中,所述加密单元还用于生成加密时间戳,所述加密时间戳记录所述第一加密字段代替所述第一预设字段的时间信息。在一些实施例中,所述交易属性信息包括若干个子属性信息;所述加密单元包括若干个加密子单元,所述加密子单元用于在每个子属性信息中分别提取第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于该子属性信息中的索引记录;利用所述第一加密字段代替所述第一预设字段在所述子属性信息中的位置,得到加密子属性信息;所述加密单元还用于将全部经加密后的加密子属性信息合并,得到加密属性信息。在一些实施例中,所述加密单元用于截取字符长度从第一预设位置到第二预设位置的连续字符串作为第一预设字段。第四方面,本申请提供了一种应用于区块链的数据解密装置,对应于第二方面提供的方法,装置包括:接收单元,用于接收来自发送节点发送的包含加密属性信息、公钥及索引记录的数据包;解密单元,用于根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置;通过接收节点的与所述公钥对应的私钥解密所述第一加密字段,得到第一预设字段;将第一预设字段代替所述第一加密字段在所述加密属性信息中的位置,得到交易属性信息。在一些实施例中,所述装置还包括:存储单元,用于保存所述数据包至数据库。在一些实施例中,所述装置还包括:校验单元,用于校验所述数据包是否唯一,若唯一,则执行所述根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置的步骤;若不唯一,则向发送节点反馈中止数据传输的信息。在一些实施例中,所述校验单元还用于根据所述数据包,查询数据库中是否存在与数据包包含信息完全相同的预存数据包,若存在,则得到数据包不唯一的校验结果;若不存在,则得到数据包唯一的校验结果。本申请提供的方法先获取交易信息,再将其中交易属性信息中提取第一预设字段加密,将加密后的第一加密字段替换原第一预设字段的位置后生成加密属性信息,随同公钥、索引记录一同发送至接收节点;接收节点根据数据包中的索引记录,将加密属性信息解密,还原成加密前的交易属性信息,在解密成功后,将数据包保存在预先建立的数据库中,用于对后续接收到的数据包提供验证,保证了同一交易信息在同一接收节点只能解密一次;通过对交易属性信息中随机部分加密的方式,不仅保证交易的安全性,减少坏节点的作恶,还能减小节点间进行交易时对数据加密本文档来自技高网...

【技术保护点】
1.一种应用于区块链的数据加密方法,应用于发送节点,其特征在于,所述方法包括:/n获取交易信息,所述交易信息包括信息标识和交易属性信息;/n提取所述交易属性信息中的第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于所述交易属性信息中的索引记录;/n利用所述第一加密字段代替所述第一预设字段在所述交易属性信息中的位置,得到加密属性信息;/n将所述信息标识、加密属性信息、公钥及所述索引记录发送至接收节点。/n

【技术特征摘要】
1.一种应用于区块链的数据加密方法,应用于发送节点,其特征在于,所述方法包括:
获取交易信息,所述交易信息包括信息标识和交易属性信息;
提取所述交易属性信息中的第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于所述交易属性信息中的索引记录;
利用所述第一加密字段代替所述第一预设字段在所述交易属性信息中的位置,得到加密属性信息;
将所述信息标识、加密属性信息、公钥及所述索引记录发送至接收节点。


2.根据权利要求1所述的一种应用于区块链的数据加密方法,其特征在于,所述加密属性信息中还包括加密时间戳,所述加密时间戳记录所述第一加密字段代替所述第一预设字段的时间信息。


3.根据权利要求1所述的一种应用于区块链的数据加密方法,其特征在于,所述交易属性信息包括若干个子属性信息;
所述得到加密属性信息的步骤包括:
在每个子属性信息中分别提取第一预设字段,通过节点的公钥采用SM2算法对第一预设字段加密,得到第一加密字段;同时生成所述第一预设字段位于该子属性信息中的索引记录;
利用所述第一加密字段代替所述第一预设字段在所述子属性信息中的位置,得到加密子属性信息;
将全部经加密后的加密子属性信息合并,得到加密属性信息。


4.根据权利要求1或3所述的一种应用于区块链的数据加密方法,其特征在于,所述第一预设字段的提取方法为:
截取字符长度从第一预设位置到第二预设位置的连续字符串作为第一预设字段。


5.一种应用于区块链的数据解密方法,应用于接收节点,其特征在于,所述方法包括:
接收来自发送节点发送的包含加密属性信息、公钥及索引记录的数据包;
根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置;
通过接收节点的与所述公钥对应的私钥解密所述第一加密字段,得到第一预设字段;
将第一预设字段代替所述第一加密字段在所述加密属性信息中的位置,得到交易属性信息。


6.根据权利要求5所述的一种应用与区块链的数据解密方法,其特征在于,所述方法还包括:
保存所述数据包至数据库。


7.根据权利要求6所述的一种应用与区块链的数据解密方法,其特征在于,所述根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置的步骤前,所述方法还包括:
校验所述数据包是否唯一,若唯一,则执行所述根据所述索引记录,锁定所述加密属性信息中第一加密字段的位置的步骤;若不唯一,则向发送节点反馈中止数据传输的信息。


8.根据权利要求7所述的一种应用与区块链的数据解密方法,其特征在于,所述校验所述数据包是否唯一包括:
根据所述数据包,查询数据库中是否存在与数据包包含信息完全相同的预存数据包,若存在,则得到数据包不唯一的校验结果;若不存在,则得到数据包唯一的校验结果。

...

【专利技术属性】
技术研发人员:石宁许小明甘子荣杨昕
申请(专利权)人:南京可信区块链与算法经济研究院有限公司
类型:发明
国别省市:江苏;32

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

1