当前位置: 首页 > 专利查询>杜晓楠专利>正文

区块链系统中预防时间戳攻击的方法、计算机可读存储介质和区块链系统技术方案

技术编号:25756719 阅读:29 留言:0更新日期:2020-09-25 21:05
本发明专利技术涉及一种区块链系统中预防时间戳攻击的方法。通过采样过去的第一设定数量的区块的区块时间戳以获取最大时间戳。基于当前区块的区块时间戳、所述最大时间戳、预期出块时间和所述第一设定数量计算当前区块的出块时间。重复执行前述两个步骤以计算过去的第二设定数量的区块的出块时间,并获取第二设定数量的区块的出块时间的出块时间平均值。基于出块时间平均值和难度平均值计算下一区块的区块难度。本发明专利技术还涉及一种计算机可读存储介质和区块链系统。本发明专利技术可以弱化时间戳在区块链共识里面的权重和使用频次来抵御时间戳攻击,减少时间戳的不可校验性,从而避免恶意时间戳对区块链共识造成不可逆的损害。

【技术实现步骤摘要】
区块链系统中预防时间戳攻击的方法、计算机可读存储介质和区块链系统
本专利技术涉及区块链领域,更具体地说,涉及一种区块链系统中预防时间戳攻击的方法、计算机可读存储介质和区块链系统。
技术介绍
区块链是区块以链的方式组合在一起的供系统内的节点共享的交易数据库。具体的,把一段时间内生成的信息(包括数据或代码)打包成二个区块,盖上时间戳,与上一个区块衔接在一起,每下一个区块的页首都包含了上一个区块的索引数据,然后再在本页中写入新的信息,从而形成新的区块,首尾相连,最终形成了区块链。在目前的区块链系统中,当节点向区块链系统发送消息时,可以在其发送的消息中携带一个时间戳,以表示该节点发送该消息的时刻,这样多个节点分别向区块链系统发送的消息将携带不同的时间戳,传统的时间戳算法是采用当前区块时间减去上一个区块的出块时间,攻击者可以伪造非常靠前的时间来让区块链用户的出块时间算出来是一个超级大的数,或者是用非常靠后的时间,让区块链用户的出块时间算出来是一个负数。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供本文档来自技高网...

【技术保护点】
1.一种区块链系统中预防时间戳攻击的方法,其特征在于,包括以下步骤:/nS1、采样过去的第一设定数量的区块的区块时间戳以获取最大时间戳;/nS2、基于当前区块的区块时间戳、所述最大时间戳、预期出块时间和所述第一设定数量计算当前区块的出块时间;/nS3、重复执行步骤S1-S2以计算过去的第二设定数量的区块的出块时间,并获取第二设定数量的区块的出块时间的出块时间平均值;/nS4、获取所述第二设定数量的区块的区块难度,并计算所述第二设定数量的区块的区块难度的难度平均值;/nS5、基于所述出块时间平均值和所述难度平均值计算下一区块的区块难度。/n

【技术特征摘要】
1.一种区块链系统中预防时间戳攻击的方法,其特征在于,包括以下步骤:
S1、采样过去的第一设定数量的区块的区块时间戳以获取最大时间戳;
S2、基于当前区块的区块时间戳、所述最大时间戳、预期出块时间和所述第一设定数量计算当前区块的出块时间;
S3、重复执行步骤S1-S2以计算过去的第二设定数量的区块的出块时间,并获取第二设定数量的区块的出块时间的出块时间平均值;
S4、获取所述第二设定数量的区块的区块难度,并计算所述第二设定数量的区块的区块难度的难度平均值;
S5、基于所述出块时间平均值和所述难度平均值计算下一区块的区块难度。


2.根据权利要求1所述的区块链系统中预防时间戳攻击的方法,其特征在于,在所述步骤S1中,当前区块高度为h,第一设定数量为L采样h-L-1到h-1之间的区块的区块时间戳[Th-l-1,Th-l,…,Th-1],并取最大时间戳Tmax。


3.根据权利要求2所述的区块链系统中预防时间戳攻击的方法,其特征在于,所述步骤S2进一步包括:
S21、基于当前区块的区块时间戳Th与所述最大时间戳Tmax的差计算当前区块的出块时间STh;
S22、判定当前区块的出块时间STh是否大于所述预期出块时间和所述第一设定数量的乘积,如果是则设置STh=T*L,其中T为预期出块时间,否则执行步骤S23;
S23、判定当前区块的出块时间STh是否小所述预期出块时间和所述第一设定数量的商,如果是则设置否则设置则STh=Th-Tmax。


4.根据权利要求3所述的区块链系统中预防时间戳攻击的方法,其特...

【专利技术属性】
技术研发人员:杜晓楠
申请(专利权)人:杜晓楠
类型:发明
国别省市:新加坡;SG

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

1