【技术实现步骤摘要】
基于检查点的区块链数据防篡改方法及系统
[0001]本专利技术涉及区块链
,特别是涉及基于检查点的区块链数据防篡改方法及系统。
技术介绍
[0002]本部分的陈述仅仅是提到了与本专利技术相关的
技术介绍
,并不必然构成现有技术。
[0003]区块链可以实现去中心化,可以做到真正的开放与安全;而账本数据的安全性是各个领域使用区块链的基本安全准则,一切交易都需要基于可信的、不被篡改的账本数据。
[0004]现有防止区块链账本数据被篡改的方式大都基于各类交易的关联性校验或在使用被篡改数据时才能发现,此种机制不能有效防止账本数据被篡改且性能较差,尤其对于存证类交易,往往多笔交易之间没有相互关联的地方,并不能通过交易的关联性校验防止账本数据被篡改。
技术实现思路
[0005]为了解决现有技术的不足,本专利技术提供了基于检查点的区块链数据防篡改方法及系统;当系统运行到检查点时,各个节点相互发送检查点请求,各个节点进行请求确认后将校验从上一个检查点到当前检查点之间区块的正确性,在不额外增加系统负担的情况下 ...
【技术保护点】
【技术特征摘要】
1.基于检查点的区块链数据防篡改方法,其特征是,应用于区块链节点,包括:当前区块链节点接收检查点请求,检查点请求中预先设置有区块链节点中检查点的长度L;所有区块链节点的检查点长度是一致的;其中,L为正整数;每个区块链节点均包括若干个依次连接的区块;当前区块链节点判断自身区块的高度是否是检查点的长度L的整数倍,如果是,就计算最新的L个区块的链式哈希值;如果否,就等待下一个区块的写入,并重新判断自身区块的高度是否是检查点的长度L的整数倍;当前区块链节点向区块链的其他所有节点发送检查点请求;各个区块链节点均接收检查点请求,每个区块链节点均判断是否收到2f+1个检查点请求,如果否,就继续接收,如果是,就对接收的检查点请求进行校验,找到已被篡改的区块链节点和未被篡改的区块链节点;其中,f为正整数;将未被篡改的区块链节点中的区块,同步到已被篡改的区块链节点的区块中。2.如权利要求1所述的基于检查点的区块链数据防篡改方法,其特征是,所述计算最新的L个区块的链式哈希值,具体包括:a1:判断检查点请求中的检查点是否为区块链节点的第1个检查点,如果是第1个检查点,则先计算第1个区块的摘要;a2:根据第i
‑
1个区块的摘要和第i个区块的内容,计算第i个区块的摘要;i的初始值为2;a3:对i进行加1操作,然后,判断i是否大于等于2且i小于等于L
‑
1,如果是,就返回a2,如果否,就根据第L
‑
1个区块的摘要和第L个区块的内容,计算出最新的L个区块的链式哈希值。3.如权利要求2所述的基于检查点的区块链数据防篡改方法,其特征是,所述根据第i
‑
1个区块的摘要和第i个区块的内容,计算第i个区块的摘要,具体包括:设置第i
‑
1个区块的摘要为hash(i
‑
1),第i个区块的内容为block(i);首先,对hash(i
‑
1)和block(i)进行拼接组合:O=combine(hash(i
‑
1), block(i));其中,O表示拼接组合的结果;然后,使用SM3杂凑算法计算第i个区块的摘要hash(i):hash(i)=SM3(O)。4.如权利要求2所述的基于检查点的区块链数据防篡改方法,其特征是,判断检查点请求中的检查点是否为区块链节点的第1个检查点,如果不是第1个检查点,则最新的L个区块的链式哈希值,是根据上一个检查点的链式哈希值和当前最新的L个区块的内容计算得到的。5.如权利要求1所述的基于检查点的区块链数据防篡改方法,其特征是,所述计算最新的L个区块的链式哈希值,具体包括:b1:判断检查点请求中的检查点是否为区块链节点的第1个检查点,如果不是第1个检查点,则先根据前一个检查点对应区块的链式哈希值和当前检查点中第1个区块的内容,计算第1个区块的摘要;b2:根据第i
‑
1个区块的摘要和第i...
【专利技术属性】
技术研发人员:齐庆庆,张国艳,戴振利,李雷波,李若寒,
申请(专利权)人:山东区块链研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。