一种基于DAG的去中心化方法及终端技术

技术编号:20363922 阅读:16 留言:0更新日期:2019-02-16 16:59
本发明专利技术提供了一种基于DAG的去中心化方法及终端,其方法包括:在每一轮共识过程中,将有向无环图DAG中的所有节点进行分组,得到多个分组;每一个分组包括多个待选验证节点;通过预设函数从每一个分组的所有待选验证节点中筛选出验证节点;根据所有分组的验证节点,筛选DAG的决策节点。本发明专利技术通过上述方法解决了中心化问题,提高了共识过程中的安全性。

【技术实现步骤摘要】
一种基于DAG的去中心化方法及终端
本专利技术涉及有向无环图
,尤其涉及一种基于DAG的去中心化方法及终端。
技术介绍
有向无环图(DirectedAcyclicGraph,DAG)将系统单元数据保存时,由于DAG没有区块,单元不需要连接到单链,而是自发、并行地链接到多个先前的单元,因此大大提高了系统的吞吐率。但现有的基于DAG的IOTA的中央协调器和字节雪球(Byteball)的指定见证人的模型存在中心化的问题,影响系统的安全性。
技术实现思路
本专利技术所要解决的技术问题是:本专利技术提供了一种基于DAG的去中心化方法及终端,解决了中心化问题,提高了共识过程中的安全性。为了解决上述技术问题,本专利技术提供了一种基于DAG的去中心化方法,包括以下步骤:S1:在每一轮共识过程中,将有向无环图DAG中的所有节点进行分组,得到多个分组;每一个分组包括多个待选验证节点;S2:通过预设函数从每一个分组的所有待选验证节点中筛选出验证节点;S3:根据所有分组的验证节点,筛选DAG的决策节点。本专利技术还提供了一种基于DAG的去中心化终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:S1:在每一轮共识过程中,将有向无环图DAG中的所有节点进行分组,得到多个分组;每一个分组包括多个待选验证节点;S2:通过预设函数从每一个分组的所有待选验证节点中筛选出验证节点;S3:根据所有分组的验证节点,筛选DAG的决策节点。本专利技术的有益效果为:本专利技术提供了一种基于DAG的去中心化方法及终端,通过在每一轮共识过程中,将有向无环图中的所有节点进行分组,并通过预设函数从每一个分组中的所有待选验证节点中筛选出唯一的验证节点,并根据所有分组的验证节点,筛选出DAG的决策节点;由于DAG系统所面临的安全威胁来自于各个方面,将其分成多组后,筛选出每一个分组的验证节点,在一定程度上能够减少系统受到的安全威胁;通过上述预设函数在每一轮共识过程中,筛选出的验证节点具有一定的随机性,能够起到去中心化的作用,可提高DAG系统的安全性。附图说明图1为根据本专利技术实施例的一种基于DAG的去中心化方法的主要步骤示意图;图2为根据本专利技术实施例的一种基于DAG的去中心化终端的结构示意图;标号说明:1、存储器;2、处理器。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。请参照图1,本专利技术提供了一种基于DAG的去中心化方法,包括以下步骤:S1:在每一轮共识过程中,将有向无环图DAG中的所有节点进行分组,得到多个分组;每一个分组包括多个待选验证节点;S2:通过预设函数从每一个分组的所有待选验证节点中筛选出验证节点;S3:根据所有分组的验证节点,筛选DAG的决策节点。从上述描述可知,本专利技术提供了一种基于DAG的去中心化方法,通过在每一轮共识过程中,将有向无环图中的所有节点进行分组,并通过预设函数从每一个分组中的所有待选验证节点中筛选出唯一的验证节点,并根据所有分组的验证节点,筛选出DAG的决策节点;由于DAG系统所面临的安全威胁来自于各个方面,将其分成多组后,筛选出每一个分组的验证节点,在一定程度上能够减少系统受到的安全威胁;通过上述预设函数在每一轮共识过程中,筛选出的验证节点具有一定的随机性,能够起到去中心化的作用,可提高DAG系统的安全性。进一步的,所述S1具体为:在每一轮共识过程中,将所述DAG中的所有待选验证节点按照是否处于同一水平面进行分组,得到多个第一分组,每一个第一分组中包括的所有待选验证节点均处于同一水平面上;将所述DAG中的所有节点按照是否处于同一竖直面进行分组,得到多个第二分组,每一个第二分组中包括的所有待选验证节点均处于同一竖直面上;不同的第二分组包括的待选验证节点所在的竖直面相互平行。从上述描述可知,将DAG中所有节点根据不同的维度分割成不同的分组,使得不同维度的待选验证节点具备不同的特性,基于不同维度所选择出的验证节点在预设函数的指导下,具有很强的去中心化的特性,能够为系统提供足够的安全特性。进一步的,所述S2具体为:通过预设函数筛选出每一个第一分组和每一个第二分组的验证节点;所有分组对应的验证节点均不相同;所述所有分组包括所有的第一分组和所有的第二分组。从上述描述可知,基于水平维度和竖直维度筛选出的验证节点,且所有分组对应的验证节点均不相同,从而使决策节点从所有分组对应的验证节点筛选出,而不存在第一分组与第二分组的验证节点相同的情况存在。进一步的,所述S2具体为:根据每一个第一分组包括的所有待选验证节点所在的水平面,按照从上往下或从下往上的方式将对应的第一分组进行排序,得到排序号为1~m的第一分组,所述m为所有第一分组的数量;通过预设哈希函数计算每一个第一分组中所有待选验证节点的哈希值;其中,i表示第一分组的排序号,j表示待选验证节点的序号,ni表示排序号为i的第一分组所包括的待选验证节点的数量,表示排序号为i的第一分组层中第j个待选验证节点的地址,表示第r轮共识过程中排序号为i的第一分组对应的随机数,表示排序号为i的第一分组中第j个待选验证节点在此轮共识之前已被选做验证代表的次数,表示排序号为i的第一分组中第j个待选验证节点在此轮共识之前已发布消息的数量,表示通过排序号为i的第一分组中第j个待选验证节点上存储的私钥对i、和进行签名,表示对得到的签名数据进行哈希运算;筛选出每一个第一分组中所有待选验证节点的最小哈希值,得到多个最小哈希值对应的待选验证节点,所述多个最小哈希值对应的待选验证节点为每一个第一分组的验证节点;根据每一个第二分组包括的所有待选验证节点所在的竖直面,按照从左往右或从右往左的方式将对应的第二分组进行排序,得到排序号为1~c的第二分组,所述c为所有第二分组的数量;通过函数计算每一个第二分组中所有待选验证节点的哈希值;其中,a表示第二分组的排序号,b表示待选验证节点的序号,na表示排序号为a的第二分组所包括的待选验证节点的数量,表示排序号为a的第二分组层中第b个待选验证节点的地址,表示第r轮共识过程中排序号为a的第二分组对应的随机数,表示排序号为a的第二分组中第b个待选验证节点在此轮共识之前已被选做验证代表的次数,表示排序号为a的第二分组中第b个待选验证节点在此轮共识之前已发布消息的数量,表示通过排序号为a的第二分组中第b个待选验证节点上存储的私钥对a、和进行签名,表示对得到的签名数据进行哈希运算;筛选出每一个第二分组中所有待选验证节点的最小哈希值,得到多个第一最小哈希值对应的待选验证节点,所述多个第一最小哈希值对应的待选验证节点为每一个第二分组的验证节点。从上述描述可知,通过上述方法,能够使每一轮共识过程中,筛选出的每一个分组的验证节点具有随机性,具有较强的去中心化作用,提高了系统的安全性。进一步的,通过函数计算每一个第二分组中所有待选验证节点的哈希值,之前还包括:获取每一个第一分组对应的验证节点,得到多个第一验证节点;依次删除第二分组中与所述第一验证节点相同的待选验证节点。从上述描述可知,通过上述方法,能够确保每一个分组筛选出的验证节点均不相同。请参照图2,本专利技术提供的一种基于DAG的去中心化终端,包括存储器1、处理器2本文档来自技高网
...

【技术保护点】
1.一种基于DAG的去中心化方法,其特征在于,包括以下步骤:S1:在每一轮共识过程中,将有向无环图DAG中的所有节点进行分组,得到多个分组;每一个分组包括多个待选验证节点;S2:通过预设函数从每一个分组的所有待选验证节点中筛选出验证节点;S3:根据所有分组的验证节点,筛选DAG的决策节点。

【技术特征摘要】
1.一种基于DAG的去中心化方法,其特征在于,包括以下步骤:S1:在每一轮共识过程中,将有向无环图DAG中的所有节点进行分组,得到多个分组;每一个分组包括多个待选验证节点;S2:通过预设函数从每一个分组的所有待选验证节点中筛选出验证节点;S3:根据所有分组的验证节点,筛选DAG的决策节点。2.根据权利要求1所述的一种基于DAG的去中心化方法,其特征在于,所述S1具体为:在每一轮共识过程中,将所述DAG中的所有待选验证节点按照是否处于同一水平面进行分组,得到多个第一分组,每一个第一分组中包括的所有待选验证节点均处于同一水平面上;将所述DAG中的所有节点按照是否处于同一竖直面进行分组,得到多个第二分组,每一个第二分组中包括的所有待选验证节点均处于同一竖直面上;不同的第二分组包括的待选验证节点所在的竖直面相互平行。3.根据权利要求2所述的一种基于DAG的去中心化方法,其特征在于,所述S2具体为:通过预设函数筛选出每一个第一分组和每一个第二分组的验证节点;所有分组对应的验证节点均不相同;所述所有分组包括所有的第一分组和所有的第二分组。4.根据权利要求2所述的一种基于DAG的去中心化方法,所述S2具体为:根据每一个第一分组包括的所有待选验证节点所在的水平面,按照从上往下或从下往上的方式将对应的第一分组进行排序,得到排序号为1~m的第一分组,所述m为所有第一分组的数量;通过预设哈希函数计算每一个第一分组中所有待选验证节点的哈希值;其中,i表示第一分组的排序号,j表示待选验证节点的序号,ni表示排序号为i的第一分组所包括的待选验证节点的数量,表示排序号为i的第一分组层中第j个待选验证节点的地址,表示第r轮共识过程中排序号为i的第一分组对应的随机数,表示排序号为i的第一分组中第j个待选验证节点在此轮共识之前已被选做验证代表的次数,表示排序号为i的第一分组中第j个待选验证节点在此轮共识之前已发布消息的数量,表示通过排序号为i的第一分组中第j个待选验证节点上存储的私钥对i、和进行签名,表示对得到的签名数据进行哈希运算;筛选出每一个第一分组中所有待选验证节点的最小哈希值,得到多个最小哈希值对应的待选验证节点,所述多个最小哈希值对应的待选验证节点为每一个第一分组的验证节点;根据每一个第二分组包括的所有待选验证节点所在的竖直面,按照从左往右或从右往左的方式将对应的第二分组进行排序,得到排序号为1~c的第二分组,所述c为所有第二分组的数量;通过函数计算每一个第二分组中所有待选验证节点的哈希值;其中,a表示第二分组的排序号,b表示待选验证节点的序号,na表示排序号为a的第二分组所包括的待选验证节点的数量,表示排序号为a的第二分组层中第b个待选验证节点的地址,表示第r轮共识过程中排序号为a的第二分组对应的随机数,表示排序号为a的第二分组中第b个待选验证节点在此轮共识之前已被选做验证代表的次数,表示排序号为a的第二分组中第b个待选验证节点在此轮共识之前已发布消息的数量,表示通过排序号为a的第二分组中第b个待选验证节点上存储的私钥对a、和进行签名,表示对得到的签名数据进行哈希运算;筛选出每一个第二分组中所有待选验证节点的最小哈希值,得到多个第一最小哈希值对应的待选验证节点,所述多个第一最小哈希值对应的待选验证节点为每一个第二分组的验证节点。5.根据权利要求4所述的一种基于DAG的去中心化方法,通过函数计算每一个第二分组中所有待选验证节点的哈希值,之前还包括:获取每一个第一分组对应的验证节点,得到多个第一验证节点;依次删除第二分组中与所述第一验证节点相同的待选验证节点。6.一种基于DAG的去中心化终端,包括存储器、处...

【专利技术属性】
技术研发人员:斯雪明
申请(专利权)人:福建福链科技有限公司
类型:发明
国别省市:福建,35

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

1