首页> 中国专利> 一种对区块链系统中的区块进行工作量证明的方法及系统

一种对区块链系统中的区块进行工作量证明的方法及系统

摘要

本发明公开了一种对区块链系统中的区块进行工作量证明的方法,包括以下步骤:获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息;将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果;根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并将该设备的里程数和近期过往轨迹点进行Rand()计算,以得到目标活跃系数;将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。本发明还公开了一种对区块链系统中的区块进行工作量证明的系统。本发明可提高区块链系统安全。

著录项

  • 公开/公告号CN112488718A

    专利类型发明专利

  • 公开/公告日2021-03-12

    原文格式PDF

  • 申请/专利权人 数贸(深圳)区块链科技有限公司;

    申请/专利号CN202011211128.4

  • 发明设计人 麦俊晖;杨冰;

    申请日2020-11-03

  • 分类号G06Q20/40(20120101);G06Q20/38(20120101);

  • 代理机构51308 成都鱼爪智云知识产权代理有限公司;

  • 代理人代述波

  • 地址 518048 广东省深圳市福田区沙头街道天安社区泰然九路盛唐商务大厦东座803B-1

  • 入库时间 2023-06-19 10:11:51

说明书

技术领域

本发明涉及区块链技术领域,具体而言,涉及一种对区块链系统中的区块进行工作量证明的方法及系统。

背景技术

区块链技术最早出现在数字货币的鼻祖比特币的底层实现机制中,它使用由众多节点构成的去中心化分布式网络来记录交易,区块链技术就是其最基础的核心部分。区块链技术不需要中央控制节点,建立在可复制共享的账本之上。

PoW,全称Proof of Work,即工作量证明,又称挖矿。工作量证明(PoW)通过计算一个数值(nonce),使得拼揍上交易数据后内容的Hash值满足规定的上限。在节点成功找到满足的Hash值之后,会马上对全网进行广播打包区块,网络的节点收到广播打包区块,会立刻对其进行验证。如果验证通过,则表明已经有节点成功解迷,自己就不再竞争当前区块打包,而是选择接受这个区块,记录到自己的账本中,然后进行下一个区块的竞争猜谜。网络中只有最快解谜的区块,才会添加的账本中,其他的节点进行复制,这样就保证了整个账本的唯一性。假如节点有任何的作弊行为,都会导致网络的节点验证不通过,直接丢弃其打包的区块,这个区块就无法记录到总账本中,作弊的节点耗费的成本就白费了,因此在巨大的挖矿成本下,也使得矿工自觉自愿的遵守比特币系统的共识协议,也就确保了整个系统的安全。POW算法是区块链最早期的工作量证明算法,但是由于是固定值,攻击者很容易在有限的时间内构造出适当的hash冲突攻击并破解该算法,这样会降低区块链系统的安全性和稳定性。

发明内容

为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种对区块链系统中的区块进行工作量证明的方法及系统,引入随机值,提高了整个区块链系统的安全性。

本发明的实施例是这样实现的:

第一方面,本发明提供一种对区块链系统中的区块进行工作量证明的方法,包括以下步骤:

获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息;

将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果;

根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数;

将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。

上述POM数据是指移动数据计算量证明数据,包含设备的里程数及近期过往轨迹点等数据。在进行区块链底层挖矿工作量证明时,首先,获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息,Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质,然后将各个设备的活跃度信息进行对比,以便选取活跃度最高的设备,进而进行下一步操作,POM数据是由终端设备产生的,是随机的,里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,选出最活跃的设备并对其进行标记,生成并发送标记结果,然后根据标记结果中的设备信息获取该被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数,即选取里程数最长且轨迹点重复率最低的设备的活跃系数作为目标活跃系数;目标活跃系数选择好以后,将目标活跃系数与区块难度计算时的父块的难度系数进行整合,等到难度计算因素的整合结果,作为下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质。加之结合Dthash的工作量证明,使得生态更加稳定难以模拟。

本方法采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了区块链系统的安全性。

基于第一方面,在本发明的一些实施例中,上述将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果的方法包括以下步骤:

将各个设备的活跃度信息进行一一对比,采用最大值查询算法获取到最大活跃度;

将最大活跃度对应的设备进行标记,生成并发送标记结果。

基于第一方面,在本发明的一些实施例中,上述根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数的方法包括以下步骤:

根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点;

根据被标记的设备的里程数和近期过往轨迹点获取最高活跃系数;

判断最高活跃系数是否仅有一个,如果是,则将该最高活跃系数作为目标活跃系数;如果否,则通过Rand()计算随机选取最高活跃系数中的一个活跃系数作为目标活跃系数。

基于第一方面,在本发明的一些实施例中,上述将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块的方法包括以下步骤:

将目标活跃系数添加至区块难度计算时的难度系数中,将目标活跃系数和区块难度计算时的父块的难度系数进行整合,生成整合结果;

将整合结果作为下一个区块计算难度系数进行区块难度计算进行区块难度计算,并采用POW算法进行工作量证明计算,以得到并构建新区块。

基于第一方面,在本发明的一些实施例中,上述区块难度计算的计算公式为:

block_diff=parent_diff+(parent_diff/2048*max(1-(block_timestamp-parent_timestamp)//10,-99)+2^((block_number//100000)-2)+active_number;其中,block_diff为区块难度,parent_diff为父区块难度,block_timestamp为父区块时间戳,parent_timestamp为当前区块时间戳,block_number为当前区块的序号,active_number为目标活跃系数。

第二方面,本发明提供一种对区块链系统中的区块进行工作量证明的系统,包括POM数据获取模块、活跃标记模块、活跃系数模块以及难度计算模块,其中:

POM数据获取模块,用于获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息;

活跃标记模块,用于将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果;

活跃系数模块,用于根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数;

难度计算模块,用于将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。

上述POM数据是指移动数据计算量证明数据,包含设备的里程数及近期过往轨迹点等数据。在进行区块链底层挖矿工作量证明时,首先,通过POM数据获取模块获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息,Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质,然后通过活跃标记模块将各个设备的活跃度信息进行对比,以便选取活跃度最高的设备,进而进行下一步操作,POM数据是由终端设备产生的,是随机的,里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,选出最活跃的设备并对其进行标记,生成并发送标记结果,然后通过活跃系数模块根据标记结果中的设备信息获取该被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数,即选取里程数最长且轨迹点重复率最低的设备的活跃系数作为目标活跃系数;最后,目标活跃系数选择好以后,通过难度计算模块将目标活跃系数与区块难度计算时的父块的难度系数进行整合,等到难度计算因素的整合结果,作为下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质。加之结合Dthash的工作量证明,使得生态更加稳定难以模拟。

本系统采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了系统的安全性。

基于第二方面,在本发明的一些实施例中,上述活跃标记模块包括对比子模块和标记子模块,其中:

对比子模块,用于将各个设备的活跃度信息进行一一对比,采用最大值查询算法获取到最大活跃度;

标记子模块,用于将最大活跃度对应的设备进行标记,生成并发送标记结果。

基于第二方面,在本发明的一些实施例中,上述活跃系数模块包括数据获取子模块、最活跃子模块以及目标子模块,其中:

数据获取子模块,用于根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点;

最活跃子模块,用于根据被标记的设备的里程数和近期过往轨迹点获取最高活跃系数;

目标子模块,用于判断最高活跃系数是否仅有一个,如果是,则将该最高活跃系数作为目标活跃系数;如果否,则通过Rand()计算随机选取最高活跃系数中的一个活跃系数作为目标活跃系数。

基于第二方面,在本发明的一些实施例中,上述难度计算模块包括整合子模块和计算子模块,其中:

整合子模块,用于将目标活跃系数添加至区块难度计算时的难度系数中,将目标活跃系数和区块难度计算时的父块的难度系数进行整合,生成整合结果;

计算子模块,用于将整合结果作为下一个区块计算难度系数进行区块难度计算进行区块难度计算,并采用POW算法进行工作量证明计算,以得到并构建新区块。

基于第二方面,在本发明的一些实施例中,上述区块难度计算的计算公式为:

block_diff=parent_diff+(parent_diff/2048*max(1-(block_timestamp-parent_timestamp)//10,-99)+2^((block_number//100000)-2)+active_number;其中,block_diff为区块难度,parent_diff为父区块难度,block_timestamp为父区块时间戳,parent_timestamp为当前区块时间戳,block_number为当前区块的序号,active_number为目标活跃系数。

本发明实施例至少具有如下优点或有益效果:

本发明实施例提供一种对区块链系统中的区块进行工作量证明的方法,首先,获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息,然后将各个设备的活跃度信息进行对比,以便选取活跃度最高的设备,进而进行下一步操作,POM数据是由终端设备产生的,是随机的,里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,选出最活跃的设备并对其进行标记,生成并发送标记结果,然后根据标记结果中的设备信息获取该被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数,即选取里程数最长且轨迹点重复率最低的设备的活跃系数作为目标活跃系数;目标活跃系数选择好以后,将目标活跃系数与区块难度计算时的父块的难度系数进行整合,等到难度计算因素的整合结果,作为下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。本方法采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了区块链系统的安全性。

本发明实施例还提供一种对区块链系统中的区块进行工作量证明的系统,首先,通过POM数据获取模块获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息,然后通过活跃标记模块将各个设备的活跃度信息进行对比,以便选取活跃度最高的设备,进而进行下一步操作,POM数据是由终端设备产生的,是随机的,里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,选出最活跃的设备并对其进行标记,生成并发送标记结果,然后通过活跃系数模块根据标记结果中的设备信息获取该被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数,即选取里程数最长且轨迹点重复率最低的设备的活跃系数作为目标活跃系数;最后,目标活跃系数选择好以后,通过难度计算模块将目标活跃系数与区块难度计算时的父块的难度系数进行整合,等到难度计算因素的整合结果,作为下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。本系统采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了区块链系统的安全性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例一种对区块链系统中的区块进行工作量证明的方法的流程图;

图2为本发明实施例一种对区块链系统中的区块进行工作量证明的系统的原理框图。

图标:100、POM数据获取模块;200、活跃标记模块;210、对比子模块;220、标记子模块;300、活跃系数模块;310、数据获取子模块;320、最活跃子模块;330、目标子模块;400、难度计算模块;410、整合子模块;420、计算子模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将整合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本发明实施例的描述中,“多个”代表至少2个。

实施例

如图1所示,第一方面,本发明提供一种对区块链系统中的区块进行工作量证明的方法,包括以下步骤:

S1、获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息;

S2、将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果;

S3、根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数;

S4、将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。

上述POM数据是指移动数据计算量证明数据,包含设备的里程数及近期过往轨迹点等数据。在进行区块链底层挖矿工作量证明时,首先,获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息,Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质,然后将各个设备的活跃度信息进行对比,以便选取活跃度最高的设备,进而进行下一步操作,POM数据是由终端设备产生的,是随机的,里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,选出最活跃的设备并对其进行标记,生成并发送标记结果,然后根据标记结果中的设备信息获取该被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数,即选取里程数最长且轨迹点重复率最低的设备的活跃系数作为目标活跃系数;目标活跃系数选择好以后,将目标活跃系数与区块难度计算时的父块的难度系数进行整合,等到难度计算因素的整合结果,作为下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质。加之结合Dthash的工作量证明,使得生态更加稳定难以模拟。

本方法采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了区块链系统的安全性。

基于第一方面,在本发明的一些实施例中,上述将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果的方法包括以下步骤:

将各个设备的活跃度信息进行一一对比,采用最大值查询算法获取到最大活跃度;

将最大活跃度对应的设备进行标记,生成并发送标记结果。

POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,当获取到多个移动设备的活跃度信息后,将每个移动设备的活跃度值进行一一对比,采用最大值查询算法获取到最大活跃度值,然后将该最大活跃度对应的设备进行标记,生成并发送标记结果,以便后续获取最活跃准确的活跃系数。

基于第一方面,在本发明的一些实施例中,上述根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数的方法包括以下步骤:

根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点;

根据被标记的设备的里程数和近期过往轨迹点获取最高活跃系数;

判断最高活跃系数是否仅有一个,如果是,则将该最高活跃系数作为目标活跃系数;如果否,则通过Rand()计算随机选取最高活跃系数中的一个活跃系数作为目标活跃系数。

这个Rand()函数是从上一个区块活跃移动设备里取一个最活跃系数,若有多个相同值时,就用计算机里的Rand()函数随机选取一个活跃系数作为目标活跃系数。

基于第一方面,在本发明的一些实施例中,上述将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块的方法包括以下步骤:

将目标活跃系数添加至区块难度计算时的难度系数中,将目标活跃系数和区块难度计算时的父块的难度系数进行整合,生成整合结果;

将整合结果作为下一个区块计算难度系数进行区块难度计算进行区块难度计算,并采用POW算法进行工作量证明计算,以得到并构建新区块。

为了提高整个区块链的安全性,在每个区块构建时都需要进行难度计算,将目标活跃系数添加至POW算法中的难度计算时的难度系数中,由于目标活跃系数是随机的,不容易破解篡改,进而提高了区块链系统的安全性。上述区块难度计算的计算公式为:

block_diff=parent_diff+(parent_diff/2048*max(1-(block_timestamp-parent_timestamp)//10,-99)+2^((block_number//100000)-2)+active_number;其中,block_diff为区块难度,parent_diff为父区块难度,block_timestamp为父区块时间戳,parent_timestamp为当前区块时间戳,block_number为当前区块的序号,active_number为目标活跃系数。

如图2所示,第二方面,本发明提供一种对区块链系统中的区块进行工作量证明的系统,包括POM数据获取模块100、活跃标记模块200、活跃系数模块300以及难度计算模块400,其中:

POM数据获取模块100,用于获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息;

活跃标记模块200,用于将各个设备的活跃度信息进行对比,将活跃度最高的设备进行标记,生成并发送标记结果;

活跃系数模块300,用于根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数;

难度计算模块400,用于将目标活跃系数与区块难度计算时的父块的难度系数进行整合,以得到下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。

上述POM数据是指移动数据计算量证明数据,包含设备的里程数及近期过往轨迹点等数据。在进行区块链底层挖矿工作量证明时,首先,通过POM数据获取模块100获取各个设备的POM数据,提取并发送各个设备的POM数据中的活跃度信息,Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质,然后通过活跃标记模块200将各个设备的活跃度信息进行对比,以便选取活跃度最高的设备,进而进行下一步操作,POM数据是由终端设备产生的,是随机的,里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,选出最活跃的设备并对其进行标记,生成并发送标记结果,然后通过活跃系数模块300根据标记结果中的设备信息获取该被标记的设备的里程数及该设备的近期过往轨迹点,并根据该设备的里程数和近期过往轨迹点获取目标活跃系数,即选取里程数最长且轨迹点重复率最低的设备的活跃系数作为目标活跃系数;最后,目标活跃系数选择好以后,通过难度计算模块400将目标活跃系数与区块难度计算时的父块的难度系数进行整合,等到难度计算因素的整合结果,作为下一个区块计算难度系数,并采用POW算法进行工作量证明计算,以得到并构建新区块。Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质。加之结合Dthash的工作量证明,使得生态更加稳定难以模拟。

本系统采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了系统的安全性。

基于第二方面,如图2所示,在本发明的一些实施例中,上述活跃标记模块200包括对比子模块210和标记子模块220,其中:

对比子模块210,用于将各个设备的活跃度信息进行一一对比,采用最大值查询算法获取到最大活跃度;

标记子模块220,用于将最大活跃度对应的设备进行标记,生成并发送标记结果。

POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃,当获取到多个移动设备的活跃度信息后,通过对比子模块210将每个移动设备的活跃度值进行一一对比,采用最大值查询算法获取到最大活跃度值,然后通过标记子模块220将该最大活跃度对应的设备进行标记,生成并发送标记结果,以便后续获取最活跃准确的活跃系数。

基于第二方面,如图2所示,在本发明的一些实施例中,上述活跃系数模块300包括数据获取子模块310、最活跃子模块320以及目标子模块330,其中:

数据获取子模块310,用于根据标记结果获取被标记的设备的里程数及该设备的近期过往轨迹点;

最活跃子模块320,用于根据被标记的设备的里程数和近期过往轨迹点获取最高活跃系数;

目标子模块330,用于判断最高活跃系数是否仅有一个,如果是,则将该最高活跃系数作为目标活跃系数;如果否,则通过Rand()计算随机选取最高活跃系数中的一个活跃系数作为目标活跃系数。

这个Rand()函数是从上一个区块活跃移动设备里取一个最活跃系数,若有多个相同值时,就用计算机里的Rand()函数随机选取一个活跃系数作为目标活跃系数。

基于第二方面,如图2所示,在本发明的一些实施例中,上述难度计算模块400包括整合子模块410和计算子模块420,其中:

整合子模块410,用于将目标活跃系数添加至区块难度计算时的难度系数中,将目标活跃系数和区块难度计算时的父块的难度系数进行整合,生成整合结果;

计算子模块420,用于将整合结果作为下一个区块计算难度系数进行区块难度计算进行区块难度计算,并采用POW算法进行工作量证明计算,以得到并构建新区块。

为了提高整个区块链的安全性,在每个区块构建时都需要进行难度计算,将目标活跃系数添加至POW算法中的难度计算时的难度系数中,由于目标活跃系数是随机的,不容易破解篡改,进而提高了区块链系统的安全性。上述区块难度计算的计算公式为:

block_diff=parent_diff+(parent_diff/2048*max(1-(block_timestamp-parent_timestamp)//10,-99)+2^((block_number//100000)-2)+active_number;其中,block_diff为区块难度,parent_diff为父区块难度,block_timestamp为父区块时间戳,parent_timestamp为当前区块时间戳,block_number为当前区块的序号,active_number为目标活跃系数。

综上,本发明的实施例提供一种对区块链系统中的区块进行工作量证明的方法及系统,Proof of movement移动数据计算量证明,出行移动产生的数据本身具有随机性,且具有机器语言不可模拟的特质。加之结合Dthash的工作量证明,使得生态更加稳定难以模拟。本发明采用POM数据同POW算法相结合的方式,POM数据是由终端产生,我们认为里程数越长,并且轨迹点重复率低的情况下,该移动设备越活跃;将最活跃设备的里程数及近期过往轨迹点做Rand()计算操作,得出的值配合父块的难度系数作为下一个区块计算难度系数。这样就达到POM数据同POW算法结合的目的,使得DTT底层挖矿随机性进一步加强。移动出行数据本身具有机器不可模拟的随机特性,将这一特性结合POW算法机制,更加巩固了区块链系统的安全性。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号