家居专利数据库

区块链生成方法、装置、节点及存储介质与流程

发布日期:2024-08-21 浏览次数:

本申请涉及区块链领域,尤其涉及一种区块链生成方法、装置、节点及存储介质。背景技术:1、区块链技术也可以称为分布式账本技术,是一种利用密码算法和共识算法,使一些不可信的参与者能够在不依赖集中权威的情况下达成交易的技术。由于区块链技术在交易中的可追溯性和透明度,它可以广泛地应用于多种场景,例如金融、制造和医疗保健等。2、在相关技术的区块链系统中,依赖密码算法来保证区块链上数字资产的安全。然而,区块链系统中使用的密码算法有可能被破解,从而导致区块链上的数据存在被篡改的风险。技术实现思路1、为解决相关技术问题,本申请实施例提供一种区块链生成方法、装置、节点及存储介质。2、本申请实施例的技术方案是这样实现的:3、本申请实施例提供一种区块链生成方法,包括:4、基于第一区块链和第一函数,生成第二区块链,所述第二区块链用于检测所述第一区块链上的数据是否被篡改;其中,所述第一区块链中的区块与所述第二区块链中的区块具有一一对应的关联关系,所述第二区块链中除创始区块外的每个区块的区块体是利用所述第一函数生成的,所述第一函数是利用至少两个不同类型的哈希函数通过嵌套方式形成的。5、上述方案中,所述第一函数的哈希运算从最内层的哈希函数开始,每层的运算结果作为上一层哈希函数的输入,直至运算至最外层的哈希函数。6、上述方案中,所述第二区块链的创始区块的区块体包含第一信息,所述第一信息指示所述第一函数。7、上述方案中,生成第二区块链时,所述方法还包括:8、针对所述第二区块链中除创始区块外的每个区块,通过将区块的区块头、前一个区块、以及所述第一区块链中的对应区块输入到所述第一函数,生成区块的区块体。9、上述方案中,所述第二区块链的每个区块的区块头包含第二信息,所述第二信息指示所述第一区块链中的对应区块。10、上述方案中,所述第二信息包含所述第一区块链中的对应区块的区块头所包含的时间戳或者区块编号。11、上述方案中,所述方法还包括:12、利用所述第二区块链,检测所述第一区块链中的待检测区块的数据是否被篡改。13、上述方案中,所述利用所述第二区块链,检测所述第一区块链中的待检测区块的数据是否被篡改,包括:14、根据需要验证的数据在所述第一区块链找到相应的待检测区块,在所述待检测区块在所述第一区块链通过验证的情况下,利用所述第二区块链,检测所述待检测区块的数据是否被篡改。15、上述方案中,所述利用所述第二区块链,检测所述待检测区块的数据是否被篡改,包括:16、通过所述待检测区块的区块头包含的时间戳或者区块编号,在所述第二区块链上找到对应区块,以及对应区块的前一个区块;17、基于找到的对应区块以及对应区块的前一个区块,检测所述待检测区块的数据是否被篡改。18、上述方案中,所述基于找到的对应区块以及对应区块的前一个区块,检测所述待检测区块的数据是否被篡改,包括:19、将所述待检测区块在所述第二区块链中的对应区块的区块头、对应区块的前一个区块、以及所述待检测区块输入到所述第一函数进行运算,得到运算结果;20、在所述待检测区块在所述第二区块链中的对应区块的区块体与所述运算结果相同的情况下,确定所述待检测区块的数据未被篡改。21、上述方案中,所述基于找到的对应区块以及对应区块的前一个区块,检测所述待检测区块的数据是否被篡改,包括:22、将所述待检测区块在所述第二区块链中的对应区块的区块头、对应区块的前一个区块、以及所述待检测区块输入到所述第一函数进行运算,得到运算结果;23、在所述待检测区块在所述第二区块链中的对应区块的区块体与所述运算结果不相同的情况下,确定所述待检测区块的数据被篡改。24、本申请实施例还提供一种区块链生成装置,包括:25、第一处理单元,用于基于第一区块链和第一函数,生成第二区块链,所述第二区块链用于检测所述第一区块链上的数据是否被篡改;其中,所述第一区块链中的区块与所述第二区块链中的区块具有一一对应的关联关系,所述第二区块链中除创始区块外的每个区块的区块体是利用所述第一函数生成的,所述第一函数是利用至少两个不同类型的哈希函数通过嵌套方式形成的。26、本申请实施例还提供一种节点,包括:通信接口和处理器;其中,27、所述处理器,用于基于第一区块链和第一函数,生成第二区块链,所述第二区块链用于检测所述第一区块链上的数据是否被篡改;其中,所述第一区块链中的区块与所述第二区块链中的区块具有一一对应的关联关系,所述第二区块链中除创始区块外的每个区块的区块体是利用所述第一函数生成的,所述第一函数是利用至少两个不同类型的哈希函数通过嵌套方式形成的。28、本申请实施例还提供一种节点,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,29、其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。30、本申请实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。31、本申请实施例提供的区块链生成方法、装置、节点及存储介质,基于第一区块链和第一函数,生成第二区块链,所述第二区块链用于检测所述第一区块链上的数据是否被篡改;其中,所述第一区块链中的区块与所述第二区块链中的区块具有一一对应的关联关系,所述第二区块链中除创始区块外的每个区块的区块体是利用所述第一函数生成的,所述第一函数是利用至少两个不同类型的哈希函数通过嵌套方式形成的。本申请实施例提供的方案,考虑到目前的区块链(即第一区块链)所使用的密码算法有可能被破解,为了保护第一区块链上数字资产的数据完整性,生成一条与第一区块链相对应的验证区块链(即第二区块链)来保证对第一区块链上的数据的任何修改都能被发现,即基于第一区块链和第一函数生成用于检测第一区块链上的数据是否被篡改的第二区块链;由于第一函数是利用至少两个不同类型的哈希函数通过嵌套方式形成的,所以即使攻击者能够单独破解第一函数中的任一哈希函数,但只要所述第一函数的哈希函数中存在至少一个哈希函数没有被破解,攻击者也就无法破解整个第一函数,如此,后续能够利用第二区块链检测第一区块链上的数据是否被篡改,从而能够在第一区块链已有的密码算法的基础上进一步保证第一区块链的数据安全。技术特征:1.一种区块链生成方法,其特征在于,包括:2.根据权利要求1所述的方法,其特征在于,所述第一函数的哈希运算从最内层的哈希函数开始,每层的运算结果作为上一层哈希函数的输入,直至运算至最外层的哈希函数。3.根据权利要求1所述的方法,其特征在于,所述第二区块链的创始区块的区块体包含第一信息,所述第一信息指示所述第一函数。4.根据权利要求1所述的方法,其特征在于,生成第二区块链时,所述方法还包括:5.根据权利要求1所述的方法,其特征在于,所述第二区块链的每个区块的区块头包含第二信息,所述第二信息指示所述第一区块链中的对应区块。6.根据权利要求5所述的方法,其特征在于,所述第二信息包含所述第一区块链中的对应区块的区块头所包含的时间戳或者区块编号。7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:8.根据权利要求7所述的方法,其特征在于,所述利用所述第二区块链,检测所述第一区块链中的待检测区块的数据是否被篡改,包括:9.根据权利要求8所述的方法,其特征在于,所述利用所述第二区块链,检测所述待检测区块的数据是否被篡改,包括:10.根据权利要求9所述的方法,其特征在于,所述基于找到的对应区块以及对应区块的前一个区块,检测所述待检测区块的数据是否被篡改,包括:11.根据权利要求9所述的方法,其特征在于,所述基于找到的对应区块以及对应区块的前一个区块,检测所述待检测区块的数据是否被篡改,包括:12.一种区块链生成装置,其特征在于,包括:13.一种节点,其特征在于,包括:通信接口和处理器;其中,14.一种节点,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,15.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任一项所述方法的步骤。技术总结本申请公开了一种区块链生成方法、装置、节点及存储介质。其中,方法包括:基于第一区块链和第一函数,生成第二区块链,所述第二区块链用于检测所述第一区块链上的数据是否被篡改;其中,所述第一区块链中的区块与所述第二区块链中的区块具有一一对应的关联关系,所述第二区块链中除创始区块外的每个区块的区块体是利用所述第一函数生成的,所述第一函数是利用至少两个不同类型的哈希函数通过嵌套方式形成的。技术研发人员:刘福文,王珂,杨波,粟栗,何申受保护的技术使用者:中国移动通信有限公司研究院技术研发日:技术公布日:2024/8/16