一种基于区块链的数据共享授权方法与流程

文档序号:12278791阅读:2961来源:国知局
一种基于区块链的数据共享授权方法与流程

本发明涉及一种基于区块链的数据共享授权方法,属于互联网技术领域。



背景技术:

区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块(block),每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接(chain)下一个数据库块。

传统的数据共享授权技术主要有两类:集中式授权和分散式授权。集中式授权工作过程为:系统中存在若干个需要授权用户,其授权请求都发送到一个授权中心进行审核处理。分散式授权工作过程为:系统中存在若干个需要授权用户,其授权请求发送到若干个授权中心进行审核处理。集中式授权采用一个授权中心管理,安全性高,但由于授权中心需要承担较大的工作量而容易成为整个系统的瓶颈。分散式授权采用多个授权中心的方式,将集中式授权的工作量分散,但也增加了系统管理的复杂度,降低了安全性。两种方式都需要至少一个授权中心的参与,如果因为某种原因授权中心无法连接,便无法通过授权实现数据共享。



技术实现要素:

针对现有技术的不足,本发明提供了一种基于区块链的数据共享授权方法;

本发明的技术方案为:

一种基于区块链的数据共享授权方法,具体步骤包括:

(1)按照授权关系,对所有用户节点建立区块链;

(2)在步骤(1)生成的区块链中,第一级授权用户节点创建本级数据共享授权集合K和本级授权节点信息N,具体步骤包括:

A、对系统需要共享的数据进行编号,按照编号建立索引,该索引的集合为数据共享集合D;同时,将系统中的所有用户节点依据编号也建立索引;

B、第一级授权用户节点的可共享的数据的索引的集合,即为本级数据共享授权集合K,K={U,D},U为系统中所有可被授权的用户节点集合,K为以U为列、D为行的元素为1(阶数取U和D的最大维数)的矩阵,对本级数据共享授权集合K可被共享的用户节点进行编号,按照编号建立索引,该索引的集合为本级授权节点信息N;在区块链上增加U、D和N,如图1所示;

(3)第一级授权用户节点创建下一级所有用户节点的数据共享授权集合K1及下一级授权节点信息N1:下一级授权用户节点可共享的数据的索引的集合即数据共享授权集合K1;对第一级授权用户节点需要共享的数据进行编号,按照编号建立索引,该索引的集合为数据共享集合D1;K1={U1,D1},U1为可被第一级授权节点授权的用户节点集合,K1为以U1为列、D1为行的元素为1(阶数为步骤(1)中U和D的最大维数)矩阵;对K1可被下一级共享的用户节点进行编号,按照编号建立索引,该索引的集合为第一级授权节点信息N1,在区块链上增加U1、D1和N1,如图1所示;

例如,假设系统中的所有授权用户节点数为3个,编号为1,2,3,需要共享的数据数为3组,编号为1,2,3。则在步骤(2)中,建立好的U={1,2,3},D={1,2,3},N={1,3}。在步骤(3)中,U1={1,3},D1=(1,3),N1={3}。

(4)判断本级授权用户节点能否继续授权,能的话,根据步骤(3)方法,本级授权用户节点分别创建其下一级授权用户节点的数据共享授权集合,在对应区块上增加当前级授权用户节点信息,并更新到区块链中,对下一级授权用户节点执行步骤(4);否则,本级全部或部分授权用户节点根据其自身的数据共享授权集合进行权值计算,选出权值最高的用户节点作为新的授权用户节点,并更新区块链对应信息。全部或部分授权用户节点由用户设定。

根据本发明优选的,所述步骤(4)中,本级全部或部分授权用户节点根据其自身的数据共享授权集合进行权值计算,选出权值最高的用户节点作为新的授权用户节点,并更新区块链对应信息,具体步骤包括:第一级授权用户节点无法对其下级中用户节点创建数据共享授权集合,下级中用户节点个数为n,进入步骤A;

A、所述n个用户节点依据其自身的数据共享授权集合创建数据共享授权集合,n个用户节点中的任意用户节点i的节点权值Ri计算公式如式(Ⅰ)所示:

式(Ⅰ)中,Ki是指任意用户节点i的数据共享授权集合的矩阵,X为与Ki同阶的归一化行向量,Y为与Ki同阶的元素归一化列向量,1≤i≤n;

B、通过式(Ⅰ)中计算出n个用户节点的节点权值,从中取最大值对应的授权用户节点作为新的授权用户节点,根据步骤(3)方法,新的授权用户节点分别创建其下一级授权用户节点的数据共享授权集合,在对应区块上增加新的授权用户节点信息,并更新到区块链中,对下一级授权用户节点执行步骤(4)。

本发明的有益效果为:

1、本发明与现有集中式授权和分散式授权的方法区别在于,基于区块链技术进行授权,利用区块链的去中心化、记录信息完整且不可更改的特点,在区块链上记录所有节点的完整授权信息。由于区块链分布式存放在所有用户节点上,确保授权信息极难被伪造,提高了系统安全性。

2、本发明在中心授权节点缺失的情况下,可以由下级节点根据区块链的信息新增或变更授权节点,解决了集中式授权和分散式授权都至少需要一个授权节点的缺陷,可以解决在无授权节点情况下的数据共享授权问题。

附图说明

图1为基于区块链的数据共享授权方法中区块链中的相关信息U、D、N结构示意图;

图2为实施例中基于区块链的数据共享授权方法的流程示意图。

具体实施方式

下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。

实施例

一种基于区块链的数据共享授权方法,如图2所示,具体步骤包括:

(1)按照授权关系,对所有用户节点建立区块链;

(2)在步骤(1)生成的区块链中,第一级授权用户节点创建本级数据共享授权集合K和本级授权节点信息N,具体步骤包括:

A、对系统需要共享的数据进行编号,按照编号建立索引,该索引的集合为数据共享集合D;同时,将系统中的所有用户节点依据编号也建立索引;

B、第一级授权用户节点的可共享的数据的索引的集合,即为本级数据共享授权集合K,K={U,D},U为系统中所有可被授权的用户节点集合,K为以U为列、D为行的元素为1(阶数取U和D的最大维数)的矩阵,对本级数据共享授权集合K可被共享的用户节点进行编号,按照编号建立索引,该索引的集合为本级授权节点信息N;在区块链上增加U、D和N,如图1所示;

(3)第一级授权用户节点创建下一级所有用户节点的数据共享授权集合K1及下一级授权节点信息N1:下一级授权用户节点可共享的数据的索引的集合即数据共享授权集合K1;对第一级授权用户节点需要共享的数据进行编号,按照编号建立索引,该索引的集合为数据共享集合D1;K1={U1,D1},U1为可被第一级授权节点授权的用户节点集合,K1为以U1为列、D1为行的元素为1(阶数为步骤(1)中U和D的最大维数)矩阵;对K1可被下一级共享的用户节点进行编号,按照编号建立索引,该索引的集合为第一级授权节点信息N1,在区块链上增加U1、D1和N1,如图1所示;

例如,假设系统中的所有授权用户节点数为3个,编号为1,2,3,需要共享的数据数为3组,编号为1,2,3。则在步骤(2)中,建立好的U={1,2,3},D={1,2,3},N={1,3}。在步骤(3)中,U1={1,3},D1=(1,3),N1={3}。

(4)判断本级授权用户节点能否继续授权,能的话,根据步骤(3)方法,本级授权用户节点分别创建其下一级授权用户节点的数据共享授权集合,在对应区块上增加当前级授权用户节点信息,并更新到区块链中,对下一级授权用户节点执行步骤(4);否则,本级全部或部分授权用户节点根据其自身的数据共享授权集合进行权值计算,选出权值最高的用户节点作为新的授权用户节点,并更新区块链对应信息。全部或部分授权用户节点由用户设定。

所述步骤(4)中,本级全部或部分授权用户节点根据其自身的数据共享授权集合进行权值计算,选出权值最高的用户节点作为新的授权用户节点,并更新区块链对应信息,具体步骤包括:第一级授权用户节点无法对其下级中用户节点创建数据共享授权集合,下级中用户节点个数为n,进入步骤A;

A、所述n个用户节点依据其自身的数据共享授权集合创建数据共享授权集合,n个用户节点中的任意用户节点i的节点权值Ri计算公式如式(Ⅰ)所示:

式(Ⅰ)中,Ki是指任意用户节点i的数据共享授权集合的矩阵,X为与Ki同阶的归一化行向量,Y为与Ki同阶的元素归一化列向量,1≤i≤n;

B、通过式(Ⅰ)中计算出n个用户节点的节点权值,从中取最大值对应的授权用户节点作为新的授权用户节点,根据步骤(3)方法,新的授权用户节点分别创建其下一级授权用户节点的数据共享授权集合,在对应区块上增加新的授权用户节点信息,并更新到区块链中,对下一级授权用户节点执行步骤(4)。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1