一种基于格的可更改区块链方法技术

技术编号:22820027 阅读:21 留言:0更新日期:2019-12-14 14:12
本发明专利技术提出一种基于格的可更改区块链方法,包括以下步骤:联盟链中的用户提出对某一历史区块内容的更改请求时,联盟链中的其他用户对是否允许更改进行投票,如果同意更改的票数超过总人数的一半时,则投票通过;投票通过后,从参与投票的用户中随机选出一个编辑者来进行历史区块内容的更改;编辑者将内容更改完成后,在整个联盟链广播所有信息,包括更改后的内容与随机数、参与投票用户的投票、编辑者被选出的凭据、以及编辑者自己对整个内容的签名;联盟链里的其他用户对编辑者广播的所有信息进行验证,验证通过后记录更改后的历史区块,并标记编辑者广播的所有信息。本方法能够在保证区块链可更改的同时,还可以抵抗量子计算攻击。

A method of changeable blockchain based on lattice

【技术实现步骤摘要】
一种基于格的可更改区块链方法
本专利技术属于信息安全
,涉及后量子可更改区块链的设计方案,具体为基于格的可更改区块链方法和系统,能够提高区块链的风险抵抗能力。
技术介绍
区块链作为去中心化记账平台的核心技术,具有防篡改,不可更改,交易可追溯的特点,是金融科技领域的一项重要技术创新。它能够不依赖第三方可信机构在陌生节点之间建立点对点的可信价值传递,有助于降低交易成本,提高交互效率,被认为在资产管理、金融、征信、物联网、经济贸易结算等众多领域都拥有非常广阔的应用前景,受到了各界的广泛关注。虽然区块链的不可更改保证了数据的可靠性和完整性,但也不是没有它的缺点。从国际刑警组织揭露比特币区块链中存在有害非法的文件、图像和链接,到区块链平台存在漏洞,需要进行错误纠察,以及特殊情况下,需要撤销区块链上的合同和记录或者撤销交易,都需要区块链提供可更改机制来保证区块链应用的健康发展。2000年,Krawczyk和Rabin首次提出变色龙哈希函数的概念,除了满足哈希函数抗碰撞的性质,它有自己的特殊性质,那就是陷门碰撞。在知道陷门信息时,可以有效计算出满足条件的碰撞;而在没有陷门时,等同于普通哈希函数的抗碰撞。2017年,AtenieseG,MagriB和VenturiD等在所著论文“RedactableBlockchainorRewritingHistoryinBitcoinandFriends”中首次提出可更改区块链的概念,他们用变色龙哈希函数替代了区块链里普通的哈希函数SHA256,在给定私密陷门时,碰撞可以被有效计算用来修改区块而保持链的状态不变。不过存在的问题是如果陷门被一个实体所掌握,那他可以任意修改历史区块。如若采用秘密分享再通过MPC协议恢复陷门,则因为效率问题而不适用于多用户的无许可场景如比特币网络。之后,PudduI,DmitrienkoA和CapkunS在论文“μchain:HowtoForgetWithoutHardForks”里提出了一个新的可更改区块链叫μ链,为了替换数据记录,引入了可变交易的概念。链上所有数据的修改都是通过访问控制策略实现,并且经过授权和共识,可以像正常交易一样得到认证。然而,敌手可以将他的交易设置为不可更改或者仅他自己可以更改,MPC也会影响到效率和链的可伸缩性。2018年,LiPL等人在所著论文“Researchonfault-correctingblockchaintechnology”中针对联盟链,设计了新的变色龙哈希函数,在修改触发条件满足时,联盟链的每个成员都有机会修改历史记录。这与本专利技术的研究内容相似,不过其方案存在陷门私钥暴露问题,如果陷门密钥不变,对不同的消息计算两次哈希值,就可以计算出陷门私钥。除去密码算法技术,还有采用非密码技术来修改区块链,如硬分叉和软分叉。硬分叉中不管区块上有什么交易需要修改,直接从需要修改的区块前接上新的区块链,但影响很大,许多已经被确认的区块作废,所有用户需要重新下载新链。软分叉中旧的节点可能不知道共识规则已经改变,容易导致混乱。最近,DeuberD等人在论文“RedactableBlockchaininthePermissionlessSetting”中,针对无许可设置,设计了基于共识投票的区块链更改方案,如果提出的修改操作得到了足够多的投票,那么对应的区块就可以用新版本替换(旧区块仍保留在链上)。DerlerD,SamelinK和SlamanigD等人在所著论文“Fine-GrainedandControlledRewritinginBlockchains:Chameleon-HashingGoneAttribute-Based”中提出基于属性的变色龙哈希函数,在原来变色龙哈希的基础上增加了策略作为输入,在寻找碰撞的时候,只有满足该策略的用户才能找到,更加精细。不过目前已有的针对区块链可更改机制的研究工作,都不能抵抗量子计算攻击。
技术实现思路
针对以现有公钥密码为基础的区块链在量子计算下不再安全,本专利技术旨在基于格的哈希函数这种特殊算法提供一种基于格的可更改区块链方法,给出一种后量子可更改区块链方案,能够在保证区块链可更改的同时,还可以抵抗量子计算攻击。本专利技术借鉴Cash和Hofheinz提出的基于格的变色龙哈希函数,设计了新的基于格的变色龙哈希函数,实现了后量子安全的联盟链可更改方案构建:1.基于格的变色龙哈希函数基于格的哈希函数是Cash和Hofheinz等人在“Bonsaitrees,orhowtodelegatealatticebasis”中首次提出,函数的定义如下:整数n≥1,整数q≥2,整数k≥1,整数p≥1,k是消息长度,消息空间高斯参数s,随机数空间值域对于矩阵以及A=A0||A1,哈希函数的表达式为:hA(m;r)=A·(m||r)=A0m+A1r其中m是要加密的消息,r是随机数。2.改进的基于格的哈希函数在本方法中,参考了上述基于格的哈希函数的概念和定义,提出了一个新的哈希函数。对于矩阵(i∈[n]),A=A0||A1||...||An,随机数r=(r1,r2,...,rn),哈希函数表示为:HashA(m;r)=A·(m||r)=A0m+A1r1+A2r2+...+Anrn其中,m表示加密内容,r表示随机数,其他参数和Cash和Hofheinz等人提出的哈希函数中的参数保持一致。本专利技术的一种基于格的可更改区块链方法,包括以下步骤:1.需要更改历史区块信息的用户提出更改请求,联盟链中的其他用户(可以是其他部分用户)对其进行投票,如果同意更改的票数超过联盟链总人数的一半,则进行下一步骤。2.更改请求在投票通过以后,从联盟链参与投票的成员中随机选出一个编辑者来进行历史区块内容的更改。3.编辑者将内容更改完成后,在整个链广播更改后的内容与随机数、参与用户的投票、编辑者被选出的凭据、以及自己对整个内容的签名,联盟链里的其他用户进行验证和记录。本专利技术中,假定联盟链的所有成员数为n,且每个成员都有一个固定的ID,待修改信息为m,则上述基于格的可更改区块链方法的具体步骤包括:1.投票阶段当出现突发情况时,就需要对某一历史区块的信息进行更改。若联盟链中的用户Ps(s∈[n])自愿发起更改请求,请求将某一历史区块内容m改为m’,则他开启投票的步骤如下:1)对更改请求Rs签名,广播(Rs,σs);2)联盟链中的其他用户在收到更改请求后,如果同意修改,则对Ps的请求Rs进行签名并广播;3)当Ps收集到超过一半的用户的签名后(假设用户数目为),广播这t个签名。2.选举阶段当编辑请求被通过后,需要从参与投票的用户中随机选取一个编辑者,本方法使用(P1,P2,...Pt)来代表这t个参与投票的用户。4)每个参与投票的用户选取一个随机字符串Si(i∈[t]),并对字符串进行签名,然后广播(Si,σsi);5)当联盟链中的其他用户收到字符本文档来自技高网
...

【技术保护点】
1.一种基于格的可更改区块链方法,其特征在于,包括以下步骤:/n联盟链中的用户提出对某一历史区块内容的更改请求时,联盟链中的其他用户对是否允许更改进行投票,如果同意更改的票数超过联盟链总人数的一半时,则投票通过;/n投票通过后,从参与投票的用户中随机选出一个编辑者来进行历史区块内容的更改;/n编辑者将内容更改完成后,在整个联盟链广播所有信息,包括更改后的内容与随机数、参与投票用户的投票、编辑者被选出的凭据、以及编辑者自己对整个内容的签名;/n联盟链里的除编辑者以外的其他所有用户对编辑者广播的所有信息进行验证,验证通过后记录更改后的历史区块,并标记编辑者广播的所有信息。/n

【技术特征摘要】
1.一种基于格的可更改区块链方法,其特征在于,包括以下步骤:
联盟链中的用户提出对某一历史区块内容的更改请求时,联盟链中的其他用户对是否允许更改进行投票,如果同意更改的票数超过联盟链总人数的一半时,则投票通过;
投票通过后,从参与投票的用户中随机选出一个编辑者来进行历史区块内容的更改;
编辑者将内容更改完成后,在整个联盟链广播所有信息,包括更改后的内容与随机数、参与投票用户的投票、编辑者被选出的凭据、以及编辑者自己对整个内容的签名;
联盟链里的除编辑者以外的其他所有用户对编辑者广播的所有信息进行验证,验证通过后记录更改后的历史区块,并标记编辑者广播的所有信息。


2.如权利要求1所述的方法,其特征在于,用户提出更改请求时,对更改请求进行签名并广播。


3.如权利要求2所述的方法,其特征在于,联盟链中的其他用户在收到更改请求后,如果同意更改,则对更改请求进行签名并广播;当用户收到超过一半的用户的签名后,广播这些签名。


4.如权利要求3所述的方法,其特征在于,参与投票用户的投票是指参与投票的用户对更改请求的签名。


5.如权利要求1所述的方法,其特征在于,选择编辑者的方法包括以下步骤:
每个参与投票的用户选取一个随机字符串,对字符串进行签名并广播;
当联盟链中的其他用户收到字符串以后,按照参与投票的用户ID将字符串进行排序;
将排序结果的哈希函数输出值与参与...

【专利技术属性】
技术研发人员:徐海霞彭春英李佩丽
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

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

1