当前位置: 首页 > 专利查询>清华大学专利>正文

一种可编辑区块链的构建方法及装置制造方法及图纸

技术编号:27772494 阅读:34 留言:0更新日期:2021-03-23 12:54
本发明专利技术实施例公开一种可编辑区块链的构建方法及装置,该方法中根据双线性映射生成区块链监管者的公钥,将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链。由于本发明专利技术实施例中相对于现有的链式区块链结构增加了区块校验字段,使得某一区块需要重新编辑时,无需对该区块以后的所有区块链进行重新编辑,因此,减少了计算量,且本发明专利技术实施例中提供的可编辑区块链结构主要依赖于区块链监管者的公钥,因此不会存在秘钥泄漏的问题,提高安全性,又由于本发明专利技术实施例中仍然采用通用的链式区块链结构,因此本发明专利技术实施例提供了一种通用的可编辑区块链结构,能够减少计算量,提高安全性,满足多场景以及多细粒度的编辑需求。

【技术实现步骤摘要】
一种可编辑区块链的构建方法及装置
本专利技术涉及区块链
,具体而言,涉及一种可编辑区块链的构建方法及装置。
技术介绍
目前,现有技术中的可编辑区块链有以下几种:第一种:传统链式可编辑区块链,一旦某部分区块需要进行重新编辑,则需要对该区块以后的所有区块链进行重新编辑,计算量巨大;第二种:基于变色龙哈希的可编辑区块链,该区块链采用了基于陷门的设计,使得陷门密钥的持有者可以很容易地制造哈希碰撞,因此,该区块链可以在区块内容被修改的情况下保持区块哈希值不变,从而不会影响后续区块,减小了计算量,但是,变色龙哈希函数存在着密钥泄露的缺陷,导致安全性较差。综上可见,现有技术中的可编辑区块链存在着计算量大以及安全性差的问题,导致不能满足多场景以及多细粒度的编辑需求。
技术实现思路
本专利技术提供了一种可编辑区块链的构建方法及装置,能够减少编辑区块链时的计算量,提高安全性,满足多场景以及多细粒度的编辑需求。具体的技术方案如下。第一方面,本专利技术提供了一种可编辑区块链的构建方法,包括:根据预设配置文件配置生成创始区块;根据双线性映射生成区块链监管者的公钥;将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链,其中,每个区块包括区块头部、区块体和区块校验字段,所述创始区块的区块头部中的哈希字段是根据所述预设配置文件生成的,除所述创始区块外的每个区块的区块头部中的哈希字段记录了上一个区块的区块哈希值,每个区块的区块体包含有交易集以及对应的交易随机数,每个区块的区块校验字段是根据所述双线性映射和所述公钥计算得到的。可选的,所述根据双线性映射生成区块链监管者的公钥的步骤,包括:设置双线性映射为:其中为间隙密钥交换GDH群,为乘法循环群,其中q为素数;设置哈希函数分别为:和其中,H1为第一哈希函数,用于将0或1所组成任意长度的字符串{0,1}*映射到群的一个任意元素上,*表示字符串{0,1}为任意长度;H2为第二哈希函数,用于将0或1所组成任意长度的字符串{0,1}*映射到由(0,1,...,q-1)元素所组成的q阶的整数群上,Z表示整数群;选取随机数作为区块链监管者的私钥,其中,R表示从q阶的整数群中随机选择一个元素x;计算Ppub=xP,其中,P为的生成元,Ppub为所述区块链监管者的公钥,x为所述区块链监管者的私钥。可选的,所述将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链的步骤,包括:将当前时间段的交易信息打包,并记录到生成的各区块中,将各区块按生成时间呈链式排列形成链式可编辑区块链。可选的,在所述各区块按生成时间呈链式排列形成链式可编辑区块链的步骤之后,上述提供的可编辑区块链的构建方法还包括:获取用户对目标交易的交易内容进行编辑后生成的新交易内容;获取所述用户的身份标识符,根据所述身份标识符、所述第一哈希函数和所述私钥生成所述用户的陷门密钥;获取所述目标交易的交易标识符、所述目标交易的交易随机数以及所述目标交易的交易哈希值;根据所述陷门密钥、所述身份标识符、所述交易标识符、所述交易哈希值、所述交易内容、所述交易随机数和所述新交易内容计算生成新交易随机数;根据所述新交易随机数、所述身份标识符、所述交易标识符、所述新交易内容计算得到新交易哈希值;当所述新交易哈希值和所述交易哈希值相等时,将所述交易内容更新为所述新交易内容,将所述交易随机数更新为所述新交易随机数。可选的,在所述各区块按生成时间呈链式排列形成链式可编辑区块链的步骤之后,上述提供的可编辑区块链的构建方法还包括:接收内容清除指令,其中,所述内容清除指令中携带有待删除内容的标识:当所述待删除内容的标识为交易标识符时,根据交易标识符与区块的对应关系查找到所述交易标识符对应的目标区块,根据所述目标区块上除所述交易标识符对应的待删除交易外的所有交易的交易内容、所述目标区块的区块哈希值和所述第二哈希函数生成所述目标区块的新区块内容哈希值,根据所述私钥、所述目标区块上所有交易的交易内容、所述目标区块的区块哈希值、所述目标区块的区块校验字段和所述目标区块的新区块内容哈希值计算得到所述目标区块的新区块校验字段,根据所述目标区块的新区块内容哈希值和所述目标区块的新区块校验字段进行哈希计算得到所述目标区块的新区块哈希值,当所述目标区块的新区块哈希值与所述目标区块的区块哈希值相等时,删除所述目标区块上的所述待删除交易,将所述目标区块的区块校验字段修改为所述目标区块的新区块校验字段;当所述待删除内容的标识为区块标识符时,根据区块标识符与区块的对应关系查找到所述区块标识符对应的区块,根据查找到的区块的上一个区块的区块哈希值、查找到的区块的下一个区块上的所有交易的交易内容和所述第一哈希函数生成所述下一个区块的新区块内容哈希值,根据所述私钥、所述下一个区块的区块哈希值、查找到的区块的区块哈希值、所述下一个区块的区块校验字段、所述下一个区块上的所有交易的交易内容、所述下一个区块的新区块内容哈希值计算得到所述下一个区块的新区块校验字段,根据所述下一个区块的新区块校验字段和所述下一个区块的新区块内容哈希值计算得到所述下一个区块的新区块哈希值,当所述上一个区块的区块哈希值与所述下一个区块的新区块哈希值相等时,删除查找到的区块,将所述下一个区块的区块哈希值修改为所述上一个区块的区块哈希值,将所述下一个区块的区块校验字段修改为所述下一个区块的新区块校验字段。第二方面,本专利技术提供了一种可编辑区块链的构建装置,包括:创始区块生成模块,用于根据预设配置文件配置生成创始区块;公钥生成模块,用于根据双线性映射生成区块链监管者的公钥;建立模块,用于将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链,其中,每个区块包括区块头部、区块体和区块校验字段,所述创始区块的区块头部中的哈希字段是根据所述预设配置文件生成的,除所述创始区块外的每个区块的区块头部中的哈希字段记录了上一个区块的区块哈希值,每个区块的区块体包含有交易集以及对应的交易随机数,每个区块的区块校验字段是根据所述双线性映射和所述公钥计算得到的。可选的,所述公钥生成模块,包括:第一设置子模块,用于设置双线性映射为:其中为间隙密钥交换GDH群,为乘法循环群,其中q为素数;第二设置子模块,用于设置哈希函数分别为:和其中,H1为第一哈希函数,用于将0或1所组成任意长度的字符串{0,1}*映射到群的一个任意元素上,*表示字符串{0,1}为任意长度;H2为第二哈希函数,用于将0或1所组成任意长度的字符串{0,1}*映射到由(0,1,...,q-1)元素所组成的q阶的整数群上,Z表示整数群;选取子模块,用于选取随机数作为区块链监管者的私钥,其中,R表示从q阶的整数群中随机选择一个元素x;计算子模块,用于计算Ppub=xP,其中,P为的生成元,Ppub本文档来自技高网...

【技术保护点】
1.一种可编辑区块链的构建方法,其特征在于,包括:/n根据预设配置文件配置生成创始区块;/n根据双线性映射生成区块链监管者的公钥;/n将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链,其中,每个区块包括区块头部、区块体和区块校验字段,所述创始区块的区块头部中的哈希字段是根据所述预设配置文件生成的,除所述创始区块外的每个区块的区块头部中的哈希字段记录了上一个区块的区块哈希值,每个区块的区块体包含有交易集以及对应的交易随机数,每个区块的区块校验字段是根据所述双线性映射和所述公钥计算得到的。/n

【技术特征摘要】
1.一种可编辑区块链的构建方法,其特征在于,包括:
根据预设配置文件配置生成创始区块;
根据双线性映射生成区块链监管者的公钥;
将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链,其中,每个区块包括区块头部、区块体和区块校验字段,所述创始区块的区块头部中的哈希字段是根据所述预设配置文件生成的,除所述创始区块外的每个区块的区块头部中的哈希字段记录了上一个区块的区块哈希值,每个区块的区块体包含有交易集以及对应的交易随机数,每个区块的区块校验字段是根据所述双线性映射和所述公钥计算得到的。


2.如权利要求1所述的方法,其特征在于,所述根据双线性映射生成区块链监管者的公钥的步骤,包括:
设置双线性映射为:其中为间隙密钥交换GDH群,为乘法循环群,其中q为素数;
设置哈希函数分别为:H1:和H2:其中,H1为第一哈希函数,用于将0或1所组成任意长度的字符串{0,1}*映射到群的一个任意元素上,*表示字符串{0,1}为任意长度;H2为第二哈希函数,用于将0或1所组成任意长度的字符串{0,1}*映射到由(0,1,...,q-1)元素所组成的q阶的整数群上,Z表示整数群;
选取随机数作为区块链监管者的私钥,其中,R表示从q阶的整数群中随机选择一个元素x;
计算Ppub=xP,其中,P为的生成元,Ppub为所述区块链监管者的公钥,x为所述区块链监管者的私钥。


3.如权利要求1或2所述的方法,其特征在于,所述将交易信息记录到生成的各区块中,各区块按生成时间呈链式排列形成链式可编辑区块链的步骤,包括:
将当前时间段的交易信息打包,并记录到生成的各区块中,将各区块按生成时间呈链式排列形成链式可编辑区块链。


4.如权利要求2或3所述的方法,其特征在于,在所述各区块按生成时间呈链式排列形成链式可编辑区块链的步骤之后,所述方法还包括:
获取用户对目标交易的交易内容进行编辑后生成的新交易内容;
获取所述用户的身份标识符,根据所述身份标识符、所述第一哈希函数和所述私钥生成所述用户的陷门密钥;
获取所述目标交易的交易标识符、所述目标交易的交易随机数以及所述目标交易的交易哈希值;
根据所述陷门密钥、所述身份标识符、所述交易标识符、所述交易哈希值、所述交易内容、所述交易随机数和所述新交易内容计算生成新交易随机数;
根据所述新交易随机数、所述身份标识符、所述交易标识符、所述新交易内容计算得到新交易哈希值;
当所述新交易哈希值和所述交易哈希值相等时,将所述交易内容更新为所述新交易内容,将所述交易随机数更新为所述新交易随机数。


5.如权利要求2所述的方法,其特征在于,在所述各区块按生成时间呈链式排列形成链式可编辑区块链的步骤之后,所述方法还包括:
接收内容清除指令,其中,所述内容清除指令中携带有待删除内容的标识;
当所述待删除内容的标识为交易标识符时,根据交易标识符与区块的对应关系查找到所述交易标识符对应的目标区块,根据所述目标区块上除所述交易标识符对应的待删除交易外的所有交易的交易内容、所述目标区块的区块哈希值和所述第二哈希函数生成所述目标区块的新区块内容哈希值,根据所述私钥、所述目标区块上所有交易的交易内容、所述目标区块的区块哈希值、所述目标区块的区块校验字段和所述目标区块的新区块内容哈希值计算得到所述目标区块的新区块校验字段,根据所述目标区块的新区块内容哈希值和所述目标区块的新区块校验字段进行哈希计算得到所述目标区块的新区块哈希值,当所述目标区块的新区块哈希值与所述目标区块的区块哈希值相等时,删除所述目标区块上的所述待删除交易,将所述目标区块的区块校验字段修改为所述目标区块的新区块校验字段;
当所述待删除内容的标识为区块标识符时,根据区块标识符与区块的对应关系查找到所述区块标识符对应的区块,根据查找到的区块的上一个区块的区块哈希值、查找到的区块的下一个区块上的所有交易的交易内容和所述第一哈希函数生成所述下一个区块的新区块内容哈希值,根据所述私钥、所述下一个区块的区块哈希值、查找到的区块的区块哈希值、所述下一个区块的区块校验字段、所述下一个区块上的所有交易的交易内容、所述下一个区块的新区块内容哈希值计算得到所述下一个区块的新区块校验字段,根据所述下一个区块的新区块校验字段和所述下一个区块的新区块内容哈希值计算得到所述下一个区块的新区块哈希值,当所述上一个区块的区块哈希值与所述下一个区块的新区块哈希值相等时,删除查找到的区块,将所述下一个区块的区块哈希值修改为所述上一个区块的区块哈希值,将所述下一个区块的区块校验字段修改为所述下一个区块的新区块校验字段。


6.一种可编辑区块链的构建装置,其特征在于,包括:
创始区块生成模块,用于根...

【专利技术属性】
技术研发人员:丁旋周国浩杨铮
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1