一种基于区块链的信息授权方法及装置

著录项
  • CN201710318364.8
  • 20170508
  • CN107040384A
  • 20170811
  • 飞天诚信科技股份有限公司
  • 陆舟;于华章
  • H04L9/32
  • H04L9/32 H04L9/08

  • 北京市海淀区学清路9号汇智大厦B楼17层
  • 北京(11)
摘要
本发明涉及金融领域,特别涉及一种基于区块链的信息授权方法及装置,该方法包括:获取申请单信息集合,根据该集合中满足预设授权条件的申请单信息、主链父区块哈希值和主链时间戳生成主链区块,并广播到网络;将新增的主链区块的主链区块头进行哈希运算生成授权凭据,并将授权凭据与新增的主链区块中的申请单信息绑定生成授权信息;根据包含预设侧链标识的授权信息生成侧链数字指纹;根据侧链父区块哈希值、侧链数字指纹和时间戳生成侧链区块头;根据授权信息和侧链区块头生成侧链区块,并广播到网络。本发明主链和侧链都是采用区块链技术构建的,且侧链保存的信息时经过主链授权得到的,保证了信息的安全性和合法性。
权利要求

1.一种基于区块链的信息授权方法,其特征在于,包括:

步骤A1、获取申请单信息集合,从所述申请单信息集合中获取满足预设授权条件的申 请单信息;

步骤A2、根据满足所述预设授权条件的申请单信息生成主链数字指纹;根据主链父区 块哈希值、所述主链数字指纹和主链时间戳生成主链区块头;根据满足所述预设授权条件 的申请单信息和所述主链区块头生成主链区块,并广播到网络;

所述方法还包括:

步骤B1、将新增的主链区块的主链区块头进行哈希运算生成授权凭据,并将所述授权 凭据与所述新增的主链区块中的申请单信息绑定生成授权信息;

步骤B2、根据包含预设侧链标识的授权信息生成侧链数字指纹;根据预设侧链标识获 取侧链父区块哈希值,根据所述侧链父区块哈希值、所述侧链数字指纹和时间戳生成侧链 区块头;根据所述授权信息和所述侧链区块头生成侧链区块,并广播到网络。

2.如权利要求1所述的方法,其特征在于,所述步骤A2之前还包括:判断是否满足生成 主链区块的条件,是则执行步骤A2,否则继续判断是否满足生成主链区块的条件。

3.如权利要求2所述的方法,其特征在于,所述判断是否满足生成主链区块的条件具体 为:判断满足所述预设授权条件的申请单信息是否大于预设条数,或者判断当前服务器时 间和上次生成主链区块的时间的时间差是否大于预设值。

4.如权利要求1所述的方法,其特征在于,所述根据满足所述预设授权条件的申请单信 息生成主链数字指纹具体包括:

步骤101、将满足所述预设授权条件的申请单信息分别进行哈希运算得当前哈希节点;

步骤102、将相邻的两个当前哈希节点串联后进行哈希运算得到哈希父节点;

步骤103、判断哈希父节点的数量是否为一个,是则将哈希父节点作为主链数字指纹; 否则将哈希父节点作为当前哈希节点,返回步骤102。

5.如权利要求1所述的方法,其特征在于,所述根据主链父区块哈希值、所述主链数字 指纹和主链时间戳生成主链区块头;根据满足所述预设授权条件的申请单信息和所述主链 区块头生成主链区块具体包括:

步骤201、获取主链最后一个区块的区块头进行哈希运算生成主链父区块哈希值;

步骤202、获取当前服务器时间生成主链时间戳,并根据预设版本号、主链父区块哈希 值、主链数字指纹和主链时间戳生成主链区块头;

步骤203、计算满足所述预设授权条件的申请单信息数量,并将计算结果作为申请单信 息计数器;计算主链区块头、申请单信息计数器和申请单信息的长度作为主链区块长度;

步骤204、根据主链区块头、主链区块长度、申请单信息计数器和满足所述预设授权条 件的申请单信息组织主链区块。

6.如权利要求1所述的方法,其特征在于,

所述步骤B1具体包括:获取新增的主链区块,依次将获取到的主链区块的主链区块头 进行哈希运算生成授权凭据,并将所述授权凭据与该主链区块中的申请单信息绑定生成授 权信息;将所述授权信息保存到预设的授权信息集合;

所述步骤B2具体包括:从所述授权信息集合中获取包含预设侧链标识的授权信息,根 据获取到的授权信息生成侧链数字指纹,根据预设侧链标识获取侧链父区块哈希值,根据 所述侧链父区块哈希值、所述侧链数字指纹和时间戳生成侧链区块头;根据包含预设侧链 标识的授权信息和所述侧链区块头生成侧链区块,并广播到网络。

7.如权利要求6所述的方法,其特征在于,所述从所述授权信息集合中获取包含预设侧 链标识的授权信息之后,还包括:将获取到的授权信息进行预设操作,根据成功执行预设操 作的授权信息生成侧链数字指纹;根据所述申请单标识获取侧链父区块哈希值,根据所述 侧链父区块哈希值、所述侧链数字指纹和时间戳生成侧链区块头;根据成功执行预设操作 的授权信息和所述侧链区块头生成侧链区块,并广播到网络。

8.如权利要求6所述的方法,其特征在于,所述从所述授权信息集合中获取包含预设侧 链标识的授权信息之后,还包括:判断获取到的授权信息是否合法,是则根据合法的授权信 息生成侧链数字指纹,根据预设侧链标识获取侧链父区块哈希值,根据所述侧链父区块哈 希值、所述侧链数字指纹和时间戳生成侧链区块头,根据合法的授权信息和所述侧链区块 头生成侧链区块,并广播到网络,否则报错,结束。

9.如权利要求8所述的方法,其特征在于,所述判断获取到的授权信息是否合法具体包 括:

步骤301、将获取到的包含预设侧链标识的授权信息作为当前授权信息集合,从所述当 前授权信息集合中获取一条授权信息作为当前授权信息;

步骤302、从当前授权信息中获取授权凭据,判断是否可以在主链中查询到主链父区块 哈希值与所述授权凭据一致的主链区块,是则所述授权信息合法,否则所述授权信息不合 法,执行步骤303;

步骤303、判断所述当前授权信息集合中是否还有尚未被获取过的授权信息,是则返回 步骤301,否则继续执行根据合法的授权信息生成侧链数字指纹。

10.如权利要求1所述的方法,其特征在于,所述步骤B1之前还包括:判断是否满足生成 侧链区块的条件,是则继续执行步骤B1;否则继续执行所述判断是否满足生成侧链区块的 条件。

11.如权利要求10所述的方法,其特征在于,所述判断是否满足生成侧链区块的条件具 体为:判断含有预设侧链标识的授权信息是否大于预设条数,或者判断当前服务器时间和 上次生成侧链区块的时间的时间差是否大于预设值。

12.如权利要求1所述的方法,其特征在于,所述根据包含预设侧链标识的授权信息生 成侧链数字指纹具体包括:

步骤401、将所述包含预设侧链标识的授权信息分别进行哈希运算得当前哈希节点;

步骤402、将相连的两个当前哈希节点串联后进行哈希运算得到哈希父节点;

步骤403、判断哈希父节点的数量是对否为一个,是则将哈希父节点作为侧链数字指 纹;否则将哈希父节点作为当前哈希节点,返回步骤402。

13.如权利要求1所述的方法,其特征在于,所述根据预设侧链标识获取侧链父区块哈 希值,根据所述侧链父区块哈希值、所述侧链数字指纹和时间戳生成侧链区块头;根据所述 授权信息和所述侧链区块头生成侧链区块,具体包括:

步骤501、根据所述预设侧链标识查对应的侧链,获取侧链最后一个区块的区块头进 行哈希运算生成侧链父区块哈希值;

步骤502、获取当前服务器时间生成侧链时间戳,并根据预设版本号、侧链父区块哈希 值、侧链数字指纹和侧链时间戳生成侧链区块头;

步骤503、计算所述获取到的授权信息数量,并将计算结果作为授权信息计数器;计算 侧链区块头、授权信息计数器和授权信息的长度作为侧链区块大小;

步骤504、根据侧链区块头、侧链区块大小、授权信息计数器和授权信息生成侧链区块。

14.如权利要求1所述的方法,其特征在于,还包括:当接收到信息查证请求时,所述信 息查证请求包括需查证的授权信息;根据授权信息中的授权凭据在主链中查询对应的主链 区块,并判断主链区块中是否存在与授权信息中的申请单信息一致的信息,是则授权信息 合法,否则授权信息不合法。

15.如权利要求1所述的方法,其特征在于,

所述根据主链父区块哈希值、所述主链数字指纹和主链时间戳生成主链区块头之后, 根据满足所述预设授权条件的申请单信息和所述主链区块头生成主链区块之前,还包括: 将所述主链区块头进行哈希运算生成主链区块索引值,并将所述主链区块索引值存储在索 引数据库表;

所述方法,还包括:当接收到信息查证请求时,所述信息查证请求包括需查证的授权信 息;根据授权信息中的授权凭据在索引数据库表中查对应的主链区块索引值,并判断主 链区块索引值对应的主链区块中是否存在与授权信息中的申请单信息一致的信息,是则授 权信息合法,否则授权信息不合法。

16.如权利要求15所述的方法,其特征在于,所述根据主链父区块哈希值、所述主链数 字指纹和主链时间戳生成主链区块头之前还包括:判断索引数据库表中是否有与所述主链 父区块哈希值相匹配的授权凭证比较值,是则继续执行所述根据主链父区块哈希值、所述 主链数字指纹和主链时间戳生成主链区块头,否则报错结束。

17.一种基于区块链的信息授权装置,其特征在于,包括:

获取申请单信息模块,用于获取申请单信息集合,从所述申请单信息集合中获取满足 预设授权条件的申请单信息;

主链数字指纹生成模块,用于根据所述获取申请单信息模块获取到的满足所述预设授 权条件的申请单信息生成主链数字指纹;

主链区块生成模块,用于根据主链父区块哈希值、所述主链数字指纹生成模块生成的 所述主链数字指纹和主链时间戳生成主链区块头;根据所述获取申请单信息模块获取到的 满足所述预设授权条件的申请单信息和所述主链区块头生成主链区块;

广播模块,用于将所述主链区块生成模块生成的所述主链区块广播到网络;还用于将 侧链区块生成模块生成的所述侧链区块广播到网络;

授权凭据生成模块,用于将新增的主链区块的主链区块头进行哈希运算生成授权凭 据;

绑定模块,用于将所述授权凭据生成模块生成的所述授权凭据与所述新增的主链区块 中的申请单信息绑定生成授权信息;

获取授权信息模块,用于从所述绑定模块生成的所述授权信息中获取与预设侧链标识 对应的授权信息;

侧链数字指纹生成模块,用于根据所述获取授权信息模块获取到的包含预设侧链标识 的授权信息生成侧链数字指纹;

侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据所述侧链父 区块哈希值、所述侧链数字指纹生成模块生成的所述侧链数字指纹和时间戳生成侧链区块 头;根据所述获取授权信息模块获取到的所述授权信息和所述侧链区块头生成侧链区块。

18.如权利要求17所述的装置,其特征在于,还包括:

第一判断模块,用于判断是否满足生成主链区块的条件;还用于当判定不满足生成主 链区块的条件时继续执行所述判断是否满足生成主链区块的条件;

所述主链数字指纹生成模块,用于当所述第一判断模块判定满足生成主链区块的条件 时根据所述获取申请单信息模块获取到的满足所述预设授权条件的申请单信息生成主链 数字指纹。

19.如权利要求18所述的装置,其特征在于,所述第一判断模块具体用于判断满足所述 预设授权条件的申请单信息是否大于预设条数或者用于判断当前服务器时间与上次生成 主链区块的时间的时间差是否大于预设值。

20.如权利要求17所述的装置,其特征在于,所述主链数字指纹生成模块包括:

哈希节点生成子模块,用于将满足所述预设授权条件的申请单信息分别进行哈希运算 得当前哈希节点;

哈希父节点生成子模块,用于将所述哈希节点生成子模块运算得到的相邻的两个当前 哈希节点串联后进行哈希运算得到哈希父节点;还用于将判断子模块判定所述哈希父节点 的数量不是一个时,将所述哈希父节点作为当前哈希节点,并将相邻的两个当前哈希节点 串联后进行哈希运算得到新的哈希父节点;

所述判断子模块,用于判断所述哈希父节点生成子模块生成的所述哈希父节点的数量 是否为一个,当判定所述哈希父节点的数量为一个时将哈希父节点作为主链数字指纹。

21.如权利要求17所述的装置,其特征在于,所述主链区块生成模块具体包括:

获取父区块哈希值子模块,用于获取主链最后一个区块的区块头进行哈希运算生成主 链父区块哈希值;

主链区块头生成子模块,用于获取当前服务器时间生成主链时间戳,并根据预设版本 号、所述获取父区块哈希值子模块生成的所述主链父区块哈希值、主链数字指纹和主链时 间戳生成主链区块头;

计算主链区块长度子模块,用于计算所述获取申请单信息模块获取到的申请单信息数 量,并将计算结果作为申请单信息计数器;计算主链区块头、申请单信息计数器和申请单信 息的长度作为主链区块长度;

组织子模块,用于根据所述主链区块头生成子模块生成的所述主链区块头、所述计算 主链区块长度子模块计算得到的所述申请单信息计数器、所述主链区块长度子模块计算得 到的所述主链区块长度和所述获取申请单信息模块获取到的申请单信息组织主链区块。

22.如权利要求17所述的装置,其特征在于,

所述授权凭据生成模块,用于依次将新增的主链区块的主链区块头进行哈希运算生成 授权凭据;

所述绑定模块,用于将所述授权凭据生成模块生成的所述授权凭据与该主链区块中的 申请单信息绑定生成授权信息,并将授权信息保存到预存的授权信息集合;

所述获取授权信息模块,用于从所述绑定模块生成的授权信息集合中获取与预设侧链 标识对应的授权信息;

所述侧链数字指纹生成模块,用于根据所述绑定模块生成的所述授权信息集合中获取 包含预设侧链标识的授权信息,根据获取到的授权信息生成侧链数字指纹;

所述侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据所述侧 链父区块哈希值、所述侧链数字指纹生成模块生成的所述侧链数字指纹和时间戳生成侧链 区块头;根据所述绑定模块生成的所述授权信息集合中包含预设侧链标识的授权信息和所 述侧链区块头生成侧链区块。

23.如权利要求22所述的装置,其特征在于,所述侧链数字指纹生成模块,具体包括:

操作子模块,用于从所述绑定模块生成的所述授权信息集合中获取包含预设侧链标识 的授权信息,根据获取到的授权信息进行预设操作;

数字指纹生成子模块,用于根据操作子模块中成功执行预设操作的授权信息生成侧链 数字指纹;

所述侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据所述侧 链父区块哈希值、所述侧链数字指纹生成模块生成的所述侧链数字指纹和时间戳生成侧链 区块头;根据所述操作子模块成功执行预设操作的授权信息和所述侧链区块头生成侧链区 块。

24.如权利要求22所述的装置,其特征在于,所述侧链数字指纹生成模块,具体用于从 所述授权信息集合中获取包含预设侧链标识的授权信息,判断获取到的授权信息是否合 法,是则根据合法的授权信息生成侧链数字指纹,根据预设侧链标识获取侧链父区块哈希 值,否则报错;

所述侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据所述侧 链父区块哈希值、所述侧链数字指纹生成模块生成的所述侧链数字指纹和时间戳生成侧链 区块头;根据所述侧链数字指纹生成模块得到的合法的授权信息和所述侧链区块头生成侧 链区块。

25.如权利要求24所述的装置,其特征在于,

所述侧链数字指纹生成模块具体包括:

获取当前授权信息集合子模块,用于从所述绑定模块生成的所述授权信息集合中获取 获取包含预设侧链标识的授权信息作为当前授权信息集合;

获取当前授权信息子模块,用于从所述获取当前授权信息集合模块生成的所述授权信 息集合中获取一条授权信息作为当前授权信息;还用于当第二判断子模块判定所述当前授 权信息集合中还有尚未被获取过的授权信息时从所述获取当前授权信息集合模块生成的 所述授权信息集合中获取一条授权信息作为当前授权信息;

第一判断子模块,用于从所述获取当前授权信息模块获取到的所述当前授权信息中获 取授权凭据,判断是否可以在主链中查询到主链父区块哈希值与所述授权信息一致的主链 区块;

输出模块,用于当第一判断子模块判定可以在主链中查询到主链父区块哈希值与所述 授权信息一致的主链区块时所述当前授权信息合法,并向所述侧链数字指纹生成模块和所 述侧链区块生成模块输出当前授权信息;

第二判断子模块,用于当所述第一判断子模块判定在主链中不能查询到主链父区块哈 希值与所述授权信息一致的主链区块时判断所述当前授权信息集合中是否还有尚未被获 取过的授权信息;

侧链数字指纹生成子模块,用于根据所述输出模块输出的授权信息生成侧链数字指 纹;

所述侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据所述侧 链父区块哈希值、所述侧链数字指纹生成子模块生成的所述侧链数字指纹和时间戳生成侧 链区块头;根据所述输出模块输出的授权信息和所述侧链区块头生成侧链区块。

26.如权利要求17所述的装置,其特征在于,还包括

第三判断模块,用于判断是否满足生成侧链区块的条件;

所述侧链数字指纹生成模块,用于当所述第三判断模块判定满足生成侧链区块的条件 时根据所述绑定模块生成的包含预设侧链标识的授权信息生成侧链数字指纹。

27.如权利要求26所述的装置,其特征在于,所述第三判断模块具体用于判断含有预设 侧链标识的授权信息是否大于预设条数,或者判断当前服务器时间和上次生成侧链区块的 时间的时间差是否大于预设值。

28.如权利要求17所述的装置,其特征在于,所述侧链数字指纹生成模块包括:

哈希节点生成子模块,用于将所述获取授权信息模块获取到的授权信息分别进行哈希 运算得当前哈希节点;

哈希父节点生成子模块,用于将所述当前哈希节点生成子模块运算得到的将相邻的两 个当前哈希节点串联后进行哈希运算得到哈希父节点;还用于将判断子模块判定所述哈希 父节点的数量不是一个时,将所述哈希父节点作为当前哈希节点,并将相邻的两个当前哈 希节点串联后进行哈希运算得到哈希父节点;

所述判断子模块,用于判断所述哈希父节点生成子模块生成的所述哈希父节点的数量 是否为一个,当判定所述哈希父节点的数量为一个时将哈希父节点作为侧链数字指纹;

所述侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据所述侧 链父区块哈希值、所述判断子模块得到的侧链数字指纹和时间戳生成侧链区块头;根据授 权信息和所述侧链区块头生成侧链区块。

29.如权利要求17所述的装置,其特征在于,所述侧链区块生成模块包括:

获取父区块哈希值子模块,用于根据所述预设侧链标识查对应的侧链,获取侧链最 后一个区块的区块头进行哈希运算生成侧链父区块哈希值;

区块头生成子模块,用于获取当前服务器时间生成侧链时间戳,并根据预设版本号、侧 链父区块哈希值、侧链数字指纹和侧链时间戳生成侧链区块头;

计算授权信息数量子模块,用于计算授权信息数量,并将计算结果作为授权信息计数 器;

计算区块大小子模块,用于计算侧链区块头、授权信息计数器和授权信息的长度作为 侧链区块大小;

组织子模块,用于根据区块头生成子模块生成的所述侧链区块头、所述计算区块大小 子模块计算得到的侧链区块大小、所述计算授权信息数量子模块计算得到的所述授权信息 计数器、所述计算区块大小子模块生成的所述侧链区块大小以及所述获取授权信息模块获 取到的授权信息组织侧链区块。

30.如权利要求17所述的装置,其特征在于,还包括:

查证模块,用于当接收到信息查证请求时,所述信息查证请求包括需查证的授权信息; 根据授权信息中的授权凭据在主链中查询对应的主链区块,并判断主链区块中是否存在与 授权信息中的申请单信息一致的信息,是则授权信息合法,否则授权信息不合法。

31.如权利要求17所述的装置,其特征在于,还包括:

存储模块,用于将所述主链区块生成模块生成的所述主链区块头进行哈希运算生成主 链区块索引值,并将所述主链区块索引值存储在索引数据库表;

查证模块,用于当接收到信息查证请求时,所述信息查证请求包括需查证的授权信息; 根据授权信息中的授权凭据在所述存储模块中存储的索引数据库表中查对应的主链区 块索引值,并判断主链区块索引值对应的主链区块中是否存在与授权信息中的申请单信息 一致的信息,是则授权信息合法,否则授权信息不合法。

32.如权利要求31的装置,其特征在于,

所述主链区块生成模块,具体用于判断所述存储模块存储的所述索引数据库表中是否 有与所述主链父区块哈希值相匹配的授权凭证比较值,当判定有与所述主链父区块哈希值 相匹配的授权凭证比较值时根据主链父区块哈希值、所述主链数字指纹生成模块生成的所 述主链数字指纹和主链时间戳生成主链区块头;根据所述获取申请单信息模块获取到的满 足所述预设授权条件的申请单信息和所述主链区块头生成主链区块。

说明书

一种基于区块链的信息授权方法及装置

技术领域

本发明涉及金融领域,特别涉及一种基于区块链的信息授权方法及装置。

背景技术

随着的兴起,区块链作为一种分布式账本技术而出现,区块链是一种互 联网数据库技术,这个数据库中包含了过去所有的交易数据及其相关数据等信息,特点是 去中心化、公开透明,即记录在区块链上的信息都是分布存储并透明可查,并以密码学协议 的方式保证信息不可以被篡改。

但是现有技术中存在以下问题:现有区块链中记录的信息通过区块链技术可以防 止存储的交易数据不可以被篡改,但是并不可以保证信息是合法的,增加了区块信息的不 安全性。

发明内容

本发明的目的是为了克服现有技术的不足,提供一种基于区块链的信息授权方法 及装置。

本发明提供的一种基于区块链的信息授权方法,本方法包括:

步骤A1、获取申请单信息集合,从申请单信息集合中获取满足预设授权条件的申 请单信息;

步骤A2、根据满足预设授权条件的申请单信息生成主链数字指纹;根据主链父区 块哈希值、主链数字指纹和主链时间戳生成主链区块头;根据满足预设授权条件的申请单 信息和主链区块头生成主链区块,并广播到网络;

方法还包括:

步骤B1、将新增的主链区块的主链区块头进行哈希运算生成授权凭据,并将授权 凭据与新增的主链区块中的申请单信息绑定生成授权信息;

步骤B2、根据包含预设侧链标识的授权信息生成侧链数字指纹;根据预设侧链标 识获取侧链父区块哈希值,根据侧链父区块哈希值、侧链数字指纹和时间戳生成侧链区块 头;根据授权信息和侧链区块头生成侧链区块,并广播到网络。

本发明提供的一种基于区块链的信息授权装置,具体包括:

获取申请单信息模块,用于获取申请单信息集合,从申请单信息集合中获取满足 预设授权条件的申请单信息;

主链数字指纹生成模块,用于根据获取申请单信息模块获取到的满足预设授权条 件的申请单信息生成主链数字指纹;

主链区块生成模块,用于根据主链父区块哈希值、主链数字指纹生成模块12生成 的主链数字指纹和主链时间戳生成主链区块头;根据获取申请单信息模块11获取到的满足 预设授权条件的申请单信息和主链区块头生成主链区块;

广播模块,用于将主链区块生成模块生成的主链区块广播到网络;还用于将侧链 区块生成模块生成的侧链区块广播到网络;

授权凭据生成模块,用于将新增的主链区块的主链区块头进行哈希运算生成授权 凭据;

绑定模块,用于将授权凭据生成模块生成的授权凭据与新增的主链区块中的申请 单信息绑定生成授权信息;

获取授权信息模块,用于从绑定模块生成的授权信息中获取与预设侧链标识对应 的授权信息。

侧链数字指纹生成模块,用于根据获取授权信息模块获取到的包含预设侧链标识 的授权信息生成侧链数字指纹;

侧链区块生成模块,用于根据预设侧链标识获取侧链父区块哈希值,根据侧链父 区块哈希值、侧链数字指纹生成模块生成的侧链数字指纹和时间戳生成侧链区块头;根据 获取授权信息模块获取到的授权信息和侧链区块头生成侧链区块。

本发明具有以下优点:第一、主链和侧链都是采用区块链技术构建的,可以防止主 链和侧链存储的信息被篡改;第二、侧链中的区块中的信息包括主链中生成的授权凭证,确 保侧链中保存的信息是由主链授权的,保证了信息的安全性和合法性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。

图1为本发明实施例2提供的一种基于区块链的信息授权方法的流程图。

图2为本发明实施例3提供的一种基于区块链的信息授权方法的流程图。

图3为本发明实施例4提供的一种基于区块链的信息授权装置的方框图。

具体实施例

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。显然所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。

实施例1

本实施例提供一种基于区块链的信息授权方法,本方法包括:

步骤A1、获取申请单信息集合,从申请单信息集合中获取满足预设授权条件的申 请单信息;

步骤A2、根据满足预设授权条件的申请单信息生成主链数字指纹;根据主链父区 块哈希值、主链数字指纹和主链时间戳生成主链区块头;根据满足预设授权条件的申请单 信息和主链区块头生成主链区块,并广播到网络;

具体的,根据满足预设授权条件的申请单信息生成主链数字指纹具体包括:

步骤101、将满足预设授权条件的申请单信息分别进行哈希运算得当前哈希节点;

步骤102、将相邻的两个当前哈希节点串联后进行哈希运算得到哈希父节点;

步骤103、判断哈希父节点的数量是否为一个,是则将哈希父节点作为主链数字指 纹;否则将哈希父节点作为当前哈希节点,返回步骤102。

具体的,根据主链父区块哈希值、主链数字指纹和主链时间戳生成主链区块头;根 据满足预设授权条件的申请单信息和主链区块头生成主链区块具体包括:

步骤201、获取主链最后一个区块的区块头进行哈希运算生成主链父区块哈希值;

步骤202、获取当前服务器时间生成主链时间戳,并根据预设版本号、主链父区块 哈希值、主链数字指纹和主链时间戳生成主链区块头;

步骤203、计算满足预设授权条件的申请单信息数量,并将计算结果作为申请单信 息计数器;计算主链区块头、申请单信息计数器和申请单信息的长度作为主链区块长度;

步骤204、根据主链区块头、主链区块长度、申请单信息计数器和满足预设授权条 件的申请单信息组织主链区块。

方法还包括:

步骤B1、将新增的主链区块的主链区块头进行哈希运算生成授权凭据,并将授权 凭据与新增的主链区块中的申请单信息绑定生成授权信息;

步骤B2、根据包含预设侧链标识的授权信息生成侧链数字指纹;根据预设侧链标 识获取侧链父区块哈希值,根据侧链父区块哈希值、侧链数字指纹和时间戳生成侧链区块 头;根据授权信息和侧链区块头生成侧链区块,并广播到网络。

具体的,根据获取到的授权信息生成侧链数字指纹具体包括:

步骤401、将获取到的授权信息分别进行哈希运算得当前哈希节点;

步骤402、将相连的两个当前哈希节点串联后进行哈希运算得到哈希父节点;

步骤403、判断哈希父节点的数量是对否为一个,是则将哈希父节点作为侧链数字 指纹;否则将哈希父节点作为当前哈希节点,返回步骤402。

具体的,根据预设侧链标识获取侧链父区块哈希值,根据侧链父区块哈希值、侧链 数字指纹和时间戳生成侧链区块头;根据授权信息和侧链区块头生成侧链区块,具体包括:

步骤501、根据预设侧链标识查对应的侧链,获取侧链最后一个区块的区块头进 行哈希运算生成侧链父区块哈希值;

步骤502、获取当前服务器时间生成侧链时间戳,并根据预设版本号、侧链父区块 哈希值、侧链数字指纹和侧链时间戳生成侧链区块头;

步骤503、计算获取到的授权信息数量,并将计算结果作为授权信息计数器;计算 侧链区块头、授权信息计数器和授权信息的长度作为侧链区块大小;

步骤504、根据侧链区块头、侧链区块大小、授权信息计数器和授权信息生成侧链 区块。

具体的,步骤B1具体包括:获取新增的主链区块,依次将获取到的主链区块的主链 区块头进行哈希运算生成授权凭据,并将授权凭据与该主链区块中的申请单信息绑定生成 授权信息;将授权信息保存到预设的授权信息集合;

相应的,步骤B2具体包括:从授权信息集合中获取包含预设侧链标识的授权信息, 根据获取到的授权信息生成侧链数字指纹,根据预设侧链标识获取侧链父区块哈希值,根 据侧链父区块哈希值、侧链数字指纹和时间戳生成侧链区块头;根据包含预设侧链标识的 授权信息和侧链区块头生成侧链区块,并广播到网络。

进一步的,从授权信息集合中获取包含预设侧链标识的授权信息之后,还包括:将 获取到的授权信息进行预设操作,根据成功执行预设操作的授权信息生成侧链数字指纹; 根据申请单标识获取侧链父区块哈希值,根据侧链父区块哈希值、侧链数字指纹和时间戳 生成侧链区块头;根据成功执行预设操作的授权信息和侧链区块头生成侧链区块,并广播 到网络。

更进一步的,从授权信息集合中获取包含预设侧链标识的授权信息之后,还包括: 判断获取到的授权信息是否合法,是则根据合法的授权信息生成侧链数字指纹,根据预设 侧链标识获取侧链父区块哈希值,根据侧链父区块哈希值、侧链数字指纹和时间戳生成侧 链区块头,根据合法的授权信息和侧链区块头生成侧链区块,并广播到网络,否则报错,结 束。

具体的,判断获取到的授权信息是否合法具体包括:

步骤301、将获取到的包含预设侧链标识的授权信息作为当前授权信息集合,从当 前授权信息集合中获取一条授权信息作为当前授权信息;

步骤302、从当前授权信息中获取授权凭据,判断是否可以在主链中查询到主链父 区块哈希值与授权凭据一致的主链区块,是则授权信息合法,否则授权信息不合法,执行步 骤303;

步骤303、判断当前授权信息集合中是否还有尚未被获取过的授权信息,是则返回 步骤301,否则继续执行根据合法的授权信息生成侧链数字指纹。

优选的,步骤A2之前还包括:判断是否满足生成主链区块的条件,是则执行步骤 A2,否则继续判断是否满足生成主链区块的条件。

进一步的,判断是否满足生成主链区块的条件具体为:判断满足预设授权条件的 申请单信息是否大于预设条数,或者判断当前服务器时间和上次生成主链区块的时间的时 间差是否大于预设值。

优选的,步骤B1之前还包括:判断是否满足生成侧链区块的条件,是则继续执行步 骤B1;否则继续执行判断是否满足生成侧链区块的条件。

具体的,判断是否满足生成侧链区块的条件具体为:判断含有预设侧链标识的申 请单信息条数是否大于预设条数,或者判断当前服务器时间和上次生成侧链区块的时间的 时间差是否大于预设值。

该方法还包括:当接收到信息查证请求时,所述信息查证请求包括需查证的授权 信息;根据授权信息中的授权凭据在主链中查询对应的主链区块,并判断主链区块中是否 存在与授权信息中的申请单信息一致的信息,是则授权信息合法,否则授权信息不合法。

具体的,将主链中主链父区块哈希值与授权信息中的授权凭据一致的主链区块作 为当前主链区块,判断当前主链区块的前一个主链区块中是否存在与授权信息中的申请单 信息一致的信息,是则授权信息合法,否则授权信息不合法。

优选的,步骤A2中根据主链父区块哈希值、主链数字指纹和主链时间戳生成主链 区块头之后,根据满足预设授权条件的申请单信息和主链区块头生成主链区块之前,还包 括:将主链区块头进行哈希运算生成主链区块索引值,并将所述主链区块索引值存储在索 引数据库表;

该方法,还包括:当接收到信息查证请求时,信息查证请求包括需查证的授权信 息;根据授权信息中的授权凭据在索引数据库表中查对应的主链区块索引值,并判断主 链区块索引值对应的主链区块中是否存在与授权信息中的申请单信息一致的信息,是则授 权信息合法,否则授权信息不合法。

将主链区块索引值单独的存储于索引数据库表中,以便于索引和更快的检索主链 区块;

优选的,步骤A2中根据主链父区块哈希值、所述主链数字指纹和主链时间戳生成 主链区块头之前还包括:判断索引数据库表中是否有与所述主链父区块哈希值相匹配的授 权凭证比较值,是则继续执行所述根据主链父区块哈希值、所述主链数字指纹和主链时间 戳生成主链区块头,否则报错结束。

实施例2

本实施例提供一种基于区块链的信息授权方法,本方法中包括主链和侧链;例如, 股票交易所至少拥有一条主链和多条侧链,该主链主要记录所有进入申请单信息集合中的 申请单信息,并给所有申请单信息颁发授权凭证;侧链主要记录每支股票的所有交易成功 的且拥有授权凭证的的申请单信息。如图1所示,本方法具体包括:

步骤101、判断是否满足生成主链区块的条件,是则执行步骤102,否则继续执行步 骤101;

具体的,步骤101可以为判断申请单信息集合中的申请单信息的是否大于预设条 数,是则执行步骤102,否则继续执行步骤101;

可选的,步骤101可以为获取当前服务器时间,判断当前服务器时间和上次生成区 块的时间的时间差是否大于预设值,是则执行步骤102,否则返回步骤101;

进一步的,步骤101具体为获取当前服务器时间,并根据主链的最后一个区块的时 间戳得到上次生成区块的时间,判断当前服务器时间和上次生成的区块的时间的时间差是 否大于预设值,是则执行步骤102,否则返回步骤101。

步骤102、从申请单信息集合中获取包含申请单标识的申请单信息;

本实施例以股票交易为例进行说明。本实施例中,从申请单信息集合中获取到的 申请单信息包括用户标识、股票代码、委买价或者委卖价、委托数量和申请时间;申请单标 识具体为股票代码。

例如,本实施例中接收到的四条申请单信息申请单信息,记为A、B、C、D,具体为:

A:12345678901 300386 0142 500 201606281046

B:12345678902 300623 0280 500 201606281049

C:12345678903 300386 0242 500 201606281050

D:12345678904 300623 0180 500 201606281050

下面以12345678901 300386 0142 500 201606281046为例进行说明,其中 12345678901为用户标识;300386为股票代码即申请单标识;0142为委买价,具体的,01标识 当前申请单为委买单,委买价为42元;委托数量500;201606281046为申请时间。

步骤103、根据获取到的申请单信息生成主链数字指纹;

具体的,由于计算数字指纹需要偶数个哈希节点,如果仅有奇数条申请单信息则 需要将最后一条申请单信息复制一条;

步骤103具体包括:

步骤103-1、将获取到申请单信息和复制的申请单信息分别进行哈希运算得到哈 希节点;

具体的,哈希运算具体使用SHA256算法。

本实施例中步骤101中获取到A、B、C、D四条申请单信息,则四天申请单信息进行哈 希运算生成哈希节点,分别记为HA、HB、HC、HD

HA=e440a6c81b7242760a92eb63cfaf0940440eac78723f2644ede01d040ec4a 168

HB=cd5adaddbf25a4d840d184dbce571a99257f014b038aa7be59d39acfc78ba 0f1

HC=8dc52de14fc85a9d282052020b29e58906d639ba49252ef24f9cc972ef890 811

HD=eadecfe58726d9805835baa3c1fa1d361b482e00bd213fec219cbc9a8c99 4529

步骤103-2、将相邻的两个哈希节点串联后进行哈希运算得到哈希父节点;

将HA和HB串联进行哈希运算生成哈希父节点,记为HAB,将HC和HD串联后进行哈希运 算生成哈希父节点,记为HCD

将HA和HB串联后得到的数据具体为:

e440a6c81b7242760a92eb63cfaf0940440eac78723f2644ede01d040ec4a168cd5a daddbf25a4d840d184dbce571a99257f014b038aa7be59d39acfc78ba0f1

HAB=2199a85fb2f7417f0dc98f8c99a22d8ecdf275ffa26104f59798d195135c d567

HCD=839d9c697e192abf13e5fb064b7ed4d29ab82d08fafc940846212d34ed84 1b04

步骤103-3、判断哈希父节点的数量是否为一个,是则将哈希父节点作为主链数字 指纹,否则将哈希父节点作为哈希节点返回步骤103-2。

本实施例中,由于生成了两个哈希父节点HAB和HCD,故将HAB和HCD作为哈希节点继续 执行步骤103-2,即将HAB和HCD串联后进行哈希运算得到哈希父节点记为HABCD,由于只生成了 一个哈希父节点则将该哈希父节点作为数字指纹。

HABCD=181513ddb2040458223fa79e2029acd115a421a747ee77d7744d4e0a857 f6a70

步骤104、获取主链的最后一个区块的区块头进行哈希运算生成主链父区块哈希 值;

步骤105、判断索引数据库表中是否有与主链父区块哈希值匹配的主链区块索引 值,是则执行步骤106,否则报错结束;

索引数据库表中用于存储主链区块头的哈希值,即主链区块索引值,主链区块头 的哈希值可以唯一的、明确的标识一个区块,可以通过索引数据库表中的主链区块哈希值 检索到对应的主链区块;本实施例中,可以通过侧链中的授权信息中的授权凭证在主链中 检索相应区块,进而判断侧链中保存的授权信息是否经过主链授权;

步骤106、获取当前服务器时间生成第一时间戳,并根据预设版本号、主链父区块 哈希值、主链数字指纹和第一时间戳生成主链区块头;

在本实施例中,时间戳记录了区块建立的时间,允许有一定范围内的误差。

步骤107、将主链区块头通过哈希运算生成主链区块索引值,并将主链区块索引值 存储在索引数据库表;

步骤108、计算获取到的申请单信息数量,将计算结果作为第一交易计数器;

步骤109、计算主链区块头、第一交易计数器和获取到的申请单信息的长度作为主 链区块长度;

步骤110、根据主链区块长度、主链区块头、第一交易计数器和申请单信息生成主 链区块,将主链区块广播到网络,并清空申请单信息集合;

步骤111、将新增的主链区块的主链区块头进行哈希运算生成授权凭据,将该主链 区块中的申请单信息与授权凭据绑定生成授权信息,并将授权信息存入预设的授权信息集 合;

步骤112、判断是否满足生成侧链区块的条件,是则执行步骤113,否则继续执行步 骤112;

步骤112可以为判断授权信息集合中包含预设侧链标识的授权信息的条数是否大 于预设值,是则执行步骤113,否则继续执行步骤112;

进一步的,步骤112可以为获取当前服务器时间,判断当前服务器时间和上次生成 侧链区块的时间的时间差是否大于预设值,是则执行步骤113,否则返回步骤112。

步骤112具体为获取当前服务器时间,并根据预设侧链标识获取对应侧链的最后 一个侧链区块,根据获取到的侧链区块中的时间戳得到上次生成侧链区块的时间,判断当 前服务器时间和上次生成侧链区块的时间的时间差是否大于预设值;是则执行步骤113,否 则返回步骤112。

步骤113、将授权信息集合中包含的申请单标识与预设侧链标识匹配的授权信息 按照预设规则进行匹配交易,根据交易成功的授权信息生成侧链数字指纹;

具体的,本实施例中将申请单信息A、B、C、D分别与授权凭证进行串联生成授权信 息记为A”、B”、C”、D”,本实施例中预设侧链标识为300368,故将授权信息集合中的申请单标 识即股票代码为300368的授权信息根据股票交易原则进行股票匹配交易,更具体的为,授 权信息A”和C”匹配成功;故根据A”和C”生成数字指纹。

步骤113中生成数字指纹的过程与步骤103中类似,在此不再赘述。

步骤114、根据预设侧链标识查对应的侧链的最后一个区块的区块头进行哈希 运算生成侧链父区块哈希值;

步骤115、获取当前服务器时间生成第二时间戳,并根据预设版本号、父区块哈希 值、数字指纹和第二时间戳生成侧链区块头;

步骤116、计算交易成功的授权信息的数量,将计算结果作为第二交易计数器;

步骤117、计算侧链区块头、第二交易计数器和交易成功的授权信息的长度作为侧 链区块长度;

步骤118、根据侧链区块长度、侧链区块头、第二交易计数器和交易成功的授权信 息生成侧链区块,并将侧链区块广播到网络。

该方法还包括:当接收到信息查证请求时,所述信息查证请求包括需查证的授权 信息;根据授权信息中的授权凭据在主链中查询对应的主链区块,并判断主链区块中是否 存在与授权信息中的申请单信息一致的信息,是则授权信息合法,否则授权信息不合法。

具体的,将主链中主链父区块哈希值与授权信息中的授权凭据一致的主链区块作 为当前主链区块,判断当前主链区块的前一个主链区块中是否存在与授权信息中的申请单 信息一致的信息,是则授权信息合法,否则授权信息不合法。

优选的,当接收到信息查证请求时,信息查证请求包括需查证的授权信息;根据授 权信息中的授权凭据在索引数据库表中查对应的主链区块索引值,并判断主链区块索引 值对应的主链区块中是否存在与授权信息中的申请单信息一致的信息,是则授权信息合 法,否则授权信息不合法。

将主链区块索引值单独的存储于索引数据库表中,以便于索引和更快的检索主链 区块。

实施例3

本实施例提供一种基于区块链的信息授权方法,本方法中包括主链和侧链;例如, 教育局至少拥有一条主链,每个高校至少拥有一条侧链,该主链记录所有允许颁发学位证 书的学生信息,并向所有允许颁发学位证书的学生信息颁发授权凭证;侧链主要用于记录 某所高校被教育局授予学位证书的学生信息。如图2所示,本方法具体包括:

步骤201、判断是否满足生成主链区块的条件,是则执行步骤202,否则继续执行步 骤201;

具体的,步骤201可以为判断申请单信息集合中的申请单信息的是否大于预设条 数,是则执行步骤202,否则继续执行步骤201;

可选的,步骤201可以为获取当前服务器时间,判断当前服务器时间和上次生成区 块的时间的时间差是否大于预设值,是则执行步骤202,否则返回步骤201;

进一步的,步骤201具体为获取当前服务器时间,并根据主链的最后一个区块的时 间戳得到上次生成区块的时间,判断当前服务器时间和上次生成的区块的时间的时间差是 否大于预设值,是则执行步骤202,否则返回步骤201。

步骤202、从申请单信息集合中获取包含申请单标识且满足预设授权条件的申请 单信息。

本实施例以学位证书管理为例进行说明,从申请单信息集合中获取到的申请单信 息包括高校代码、学生学号以及综合成绩;申请单标识具体为高校代码。

例如,本实施例中接收到的四条申请单信息申请单信息,记为Q、W、E、R,具体为:

Q:100009 98765432101 A

W:100009 98765432102 D

E:100009 98765432103 B

R:100007 98745632102 C

以下100009 98765432101 A为例进行说明,其中100009为高校代码,98765432101 为学生学号,A为综合成绩;需要说明的是,本实施例中以高校代码为申请单标识。

本实施例中预设授权条件即为允许授予学位证书的条件,具体为综合成绩不小于 C级。本实施例中包含申请单标识且满足预设授权条件的申请单信息为Q、E、R。

步骤203、根据获取到的申请单信息生成数字指纹。

具体的,由于计算数字指纹需要偶数个哈希节点,如果仅有奇数条申请单信息则 需要将获取到的最后一条申请单信息复制一条;

步骤203具体包括:

步骤203-1、判断获取到的申请单信息的数量是否为偶数,是则执行步骤203-4,否 则执行步骤203-3;

步骤203-2、复制获取到的最后一条申请单信息;

本实施例中为复制申请单信息R。

步骤203-3、将获取到申请单信息和复制的申请单信息分别进行哈希运算得到哈 希节点;执行步骤203-5;

哈希运算具体使用SHA256算法。

若本实施例中主链区块数据中的申请单信息Q、E、R,则三条申请单信息进行哈希 运算生成哈希节点,分别记为HQ、HE、HR。复制的申请单信息R’,则复制后的申请单信息进行 哈希运算生成哈希节点记为HR';

HQ=982f6d16fca16855a4563f775e59f81419b479de84c9a74271edf6f7ea65b cc7

HE=c48fac7e492c77e2aa5d7c8178a9d446fcd482f0d4a676d243dba40d52ec1 d75

HR=44f2573bc9aa3d2329501e8f28696beab4fcfbd53f3968621645ba935f2bc 80a

HR'=44f2573bc9aa3d2329501e8f28696beab4fcfbd53f3968621645ba935f2b c80a

步骤203-4、将获取到的申请单信息分别进行哈希运算得到哈希节点;

步骤203-5、将相邻的两个哈希节点串联后进行哈希运算得到哈希父节点;

将HQ和HE串联进行哈希运算生成哈希父节点,记为HQE,将HR和HR'串联后进行哈希 运算生成哈希父节点,记为HRR'。

将HQ和HE串联后得到的数据具体为:

982f6d16fca16855a4563f775e59f81419b479de84c9a74271edf6f7ea65bcc7c48f ac7e492c77e2aa5d7c8178a9d446fcd482f0d4a676d243dba40d52ec1d75

HQE=c94d78f5d9e0b3139d01210d2e273949905a525e219d6834fb16d6d2591d 50ae

HRR'=4a8a8f07f25b971e287b907672d527df3bed43b03a07fbcdc6347b08d64f 7f64

步骤203-6、判断哈希父节点的数量是否为一个,是则将哈希父节点作为主链数字 指纹,否则将哈希父节点作为哈希节点返回步骤203-5。

本实施例中,由于生成了两个哈希父节点HQE和HRR',故将HQE和HRR'作为哈希节点继 续执行步骤103-2,即将HQE和HRR'串联后进行哈希运算得到哈希父节点记为HQERR',由于只生 成了一个哈希父节点则将该哈希父节点作为数字指纹。

HQERR'=76f1d0d802baf4bd1c19da177572147925a063d9b6ec78cdf20cb7c1d17 d940d

步骤204、获取主链的最后一个区块的区块头进行哈希运算生成主链父区块哈希 值;

步骤205、判断索引数据库表中是否有与主链父区块哈希值匹配的主链区块索引 值,是则执行步骤206,否则报错结束;

索引数据库表中用于存储主链区块头哈希值,即主链区块索引值,主链区块头的 哈希值可以唯一的、明确的标识一个区块,可以通过索引数据库表中的主链区块索引中检 索到对应的主链区块;本实施例中,可以通过侧链中的授权信息中的授权凭证在主链中检 索相应区块,进而判断侧链中存储的授权信息是否经过主链授权;

步骤206、获取当前服务器时间生成第三时间戳,并根据预设版本号、主链父区块 哈希值、主链数字指纹和第三时间戳生成主链区块头;

在本实施例中,时间戳记录了区块建立的时间,允许有一定范围内的误差。

步骤207、将主链区块头通过哈希运算生成主链区块索引值,并将主链区块索引值 存储在索引数据库表。

步骤208、计算获取到的申请单信息数量,将计算结果作为第三交易计数器;

步骤209、计算主链区块头、第三交易计数器和获取到的申请单信息的长度作为主 链区块大小;

步骤210、根据主链区块大小、主链区块头、第三交易计数器和主链区块数据生成 主链区块,将主链区块广播到网络,并清空申请单信息集合;

步骤211、将新增的主链区块的主链区块头进行哈希运算生成授权凭据,将该主链 区块中的申请单信息与授权凭据绑定生成授权信息,并将授权信息存入预设的授权信息集 合;

步骤212、判断是否满足生成侧链区块的条件,是则执行步骤213,否则继续执行步 骤212;

步骤212可以为判断授权信息集合中包含预设侧链标识的授权信息的条数是否大 于预设值,是则执行步骤213,否则继续执行步骤212;

进一步的,步骤212可以为获取当前服务器时间,判断当前服务器时间和上次生成 侧链区块的时间的时间差是否大于预设值,是则执行步骤213,否则返回步骤212。

步骤212具体为获取当前服务器时间,并根据预设侧链标识获取对应侧链的最后 一个侧链区块,根据获取到的侧链区块中的时间戳得到上次生成侧链区块的时间,判断当 前服务器时间和上次生成侧链区块的时间的时间差是否大于预设值;是则执行步骤213,否 则返回步骤212。

步骤213、从授权信息集合中获取包含申请单标识与预设侧链标识匹配的授权信 息,根据获取到的授权信息生成侧链数字指纹。

本实施例中预设侧链标识为100009,从授权信息集合中获取申请单标识即高校代 码为100009的授权信息,获取到的授权信息为:Q和E。

步骤213中生成数字指纹的过程与步骤203中类似,在此不再赘述。

步骤214、根据预设侧链标识查对应的侧链的最后一个区块的区块头进行哈希 运算生成侧链父区块哈希值;

步骤215、获取当前服务器时间生成第四时间戳,并根据预设版本号、侧链父区块 哈希值、侧链数字指纹和第四时间戳生成侧链区块头;

步骤216、计算获取到授权信息的数量,将计算结果作为第四交易计数器;

步骤217、计算侧链区块头、第四交易计数器和侧链区块数据的长度作为侧链区块 长度;

步骤218、根据侧链区块大小、侧链区块头、第四交易计数器和获取到的授权信息 生成侧链区块,并将侧链区块广播到网络。

该方法还包括:当接收到信息查证请求时,所述信息查证请求包括需查证的授权 信息;根据授权信息中的授权凭据在主链中查询对应的主链区块,并判断主链区块中是否 存在与授权信息中的申请单信息一致的信息,是则授权信息合法,否则授权信息不合法。

具体的,将主链中主链父区块哈希值与授权信息中的授权凭据一致的主链区块作 为当前主链区块,判断当前主链区块的前一个主链区块中是否存在与授权信息中的申请单 信息一致的信息,是则授权信息合法,否则授权信息不合法。

优选的,当接收到信息查证请求时,信息查证请求包括需查证的授权信息;根据授 权信息中的授权凭据在索引数据库表中查对应的主链区块索引值,并判断主链区块索引 值对应的主链区块中是否存在与授权信息中的申请单信息一致的信息,是则授权信息合 法,否则授权信息不合法。

将主链区块索引值单独的存储于索引数据库表中,以便于索引和更快的检索主链 区块。

实施例4

本实施例提供一种基于区块链的信息授权装置,如图3所示,具体包括:

获取申请单信息模块11,用于获取申请单信息集合,从申请单信息集合中获取满 足预设授权条件的申请单信息;

主链数字指纹生成模块12,用于根据获取申请单信息模块11获取到的满足预设授 权条件的申请单信息生成主链数字指纹;

主链区块生成模块13,用于根据主链父区块哈希值、主链数字指纹生成模块12生 成的主链数字指纹和主链时间戳生成主链区块头;根据获取申请单信息模块11获取到的满 足预设授权条件的申请单信息和主链区块头生成主链区块;

主链数字指纹生成模块12具体包括:

哈希节点生成子模块,用于将满足预设授权条件的申请单信息分别进行哈希运算 得当前哈希节点;

哈希父节点生成子模块,用于将当前哈希节点生成子模块运算得到的将相邻的两 个当前哈希节点串联后进行哈希运算得到哈希父节点;还用于将判断子模块判定哈希父节 点的数量不是一个时,将哈希父节点作为当前哈希节点,并将相邻的两个当前哈希节点串 联后进行哈希运算得到新的哈希父节点;

判断子模块,用于判断哈希父节点生成子模块生成的哈希父节点的数量是否为一 个,当判定哈希父节点的数量为一个时将哈希父节点作为主链数字指纹;

主链区块生成模块13具体包括:

获取父区块哈希值子模块,用于获取主链最后一个区块的区块头进行哈希运算生 成主链父区块哈希值;

主链区块头生成子模块,用于获取当前服务器时间生成主链时间戳,并根据预设 版本号、获取父区块哈希值子模块生成的主链父区块哈希值、主链数字指纹和主链时间戳 生成主链区块头;

计算主链区块长度子模块,用于计算获取申请单信息模块11获取到的申请单信息 数量,并将计算结果作为申请单信息计数器;计算主链区块头、申请单信息计数器和申请单 信息的长度作为主链区块长度;

组织子模块,用于根据主链区块头生成子模块生成的主链区块头、计算主链区块 长度子模块计算得到的申请单信息计数器、主链区块长度子模块计算得到的主链区块长度 和获取申请单信息模块11获取到的申请单信息组织主链区块。

广播模块14,用于将主链区块生成模块13生成的主链区块广播到网络;还用于将 侧链区块生成模块19生成的侧链区块广播到网络;

授权凭据生成模块15,用于将新增的主链区块的主链区块头进行哈希运算生成授 权凭据;

绑定模块16,用于将授权凭据生成模块15生成的授权凭据与新增的主链区块中的 申请单信息绑定生成授权信息;

获取授权信息模块17,用于从绑定模块16生成的授权信息中获取与预设侧链标识 对应的授权信息。

侧链数字指纹生成模块18,用于根据获取授权信息模块17获取到的包含预设侧链 标识的授权信息生成侧链数字指纹;

侧链数字指纹生成模块18包括:

哈希节点生成子模块,用于将获取授权信息模块17获取到的授权信息分别进行哈 希运算得当前哈希节点;

哈希父节点生成子模块,用于将当前哈希节点生成子模块运算得到的将相邻的两 个当前哈希节点串联后进行哈希运算得到哈希父节点;还用于将判断子模块判定哈希父节 点的数量不是一个时,将哈希父节点作为当前哈希节点,并将相邻的两个当前哈希节点串 联后进行哈希运算得到哈希父节点;

判断子模块,用于判断哈希父节点生成子模块生成的哈希父节点的数量是否为一 个;当判定哈希父节点的数量为一个时将哈希父节点作为侧链数字指纹;

相应的,侧链区块生成模块19,用于根据预设侧链标识获取侧链父区块哈希值,根 据侧链父区块哈希值、判断子模块得到的侧链数字指纹和时间戳生成侧链区块头;根据授 权信息和侧链区块头生成侧链区块。

侧链区块生成模块19,用于根据预设侧链标识获取侧链父区块哈希值,根据侧链 父区块哈希值、侧链数字指纹生成模块18生成的侧链数字指纹和时间戳生成侧链区块头; 根据获取授权信息模块17获取到的授权信息和侧链区块头生成侧链区块。

侧链区块生成模块19具体包括:

获取父区块哈希值子模块,用于根据预设侧链标识查对应的侧链,获取侧链最 后一个区块的区块头进行哈希运算生成侧链父区块哈希值;

区块头生成子模块,用于获取当前服务器时间生成侧链时间戳,并根据预设版本 号、侧链父区块哈希值、侧链数字指纹和侧链时间戳生成侧链区块头;

计算授权信息数量子模块,用于计算授权信息数量,并将计算结果作为授权信息 计数器;

计算区块大小子模块,用于计算侧链区块头、授权信息计数器和授权信息的长度 作为侧链区块大小;

组织子模块,用于根据区块头生成子模块生成的侧链区块头、计算区块大小子模 块计算得到的侧链区块大小、计算授权信息数量子模块计算得到的授权信息计数器、计算 区块大小子模块生成的侧链区块大小以及获取授权信息模块17获取到的授权信息组织侧 链区块。

优选的,该装置还包括:

第一判断模块,用于判断是否满足生成主链区块的条件;还用于当判定不满足生 成主链区块的条件时继续执行所述判断是否满足生成主链区块的条件;

具体的,第一判断模块具体用于判断满足预设授权条件的申请单信息是否大于预 设条数或者用于判断当前服务器时间与上次生成主链区块的时间的时间差是否大于预设 值。

主链数字指纹生成模块12,用于当第一判断模块判定满足生成主链区块的条件时 根据获取申请单信息模块11获取到的满足预设授权条件的申请单信息生成主链数字指纹。

优选的,

授权凭据生成模块15,用于依次将新增的主链区块的主链区块头进行哈希运算生 成授权凭据;

绑定模块16,用于将授权凭据生成模块15生成的授权凭据与该主链区块中的申请 单信息绑定生成授权信息,并将授权信息保存到预存的授权信息集合;

获取授权信息模块17,用于从绑定模块16生成的授权信息集合中获取与预设侧链 标识对应的授权信息;

侧链数字指纹生成模块18,用于根据绑定模块16生成的授权信息集合中获取包含 预设侧链标识的授权信息,根据获取到的授权信息生成侧链数字指纹;

侧链区块生成模块19,用于根据预设侧链标识获取侧链父区块哈希值,根据侧链 父区块哈希值、侧链数字指纹生成模块18生成的侧链数字指纹和时间戳生成侧链区块头; 根据绑定模块16生成的授权信息集合中包含预设侧链标识的授权信息和侧链区块头生成 侧链区块。

优选的,侧链数字指纹生成模块18,具体包括:

操作子模块,用于从绑定模块16生成的授权信息集合中获取包含预设侧链标识的 授权信息,根据获取到的授权信息进行预设操作;

数字指纹生成子模块,用于根据操作子模块中成功执行预设操作的授权信息生成 侧链数字指纹;

相应的,侧链区块生成模块19,用于根据预设侧链标识获取侧链父区块哈希值,根 据侧链父区块哈希值、侧链数字指纹生成模块18生成的侧链数字指纹和时间戳生成侧链区 块头;根据操作子模块成功执行预设操作的授权信息和侧链区块头生成侧链区块。

优选的,侧链数字指纹生成模块18,具体用于从授权信息集合中获取包含预设侧 链标识的授权信息,判断获取到的授权信息是否合法,是则根据合法的授权信息生成侧链 数字指纹,根据预设侧链标识获取侧链父区块哈希值,否则报错。

相应的,侧链区块生成模块19,用于根据预设侧链标识获取侧链父区块哈希值,根 据侧链父区块哈希值、侧链数字指纹生成模块18生成的侧链数字指纹和时间戳生成侧链区 块头;根据侧链数字指纹生成模块18得到的合法的授权信息和侧链区块头生成侧链区块。

更进一步的,侧链数字指纹生成模块18具体包括:

获取当前授权信息集合子模块,用于从绑定模块16生成的授权信息集合中获取包 含预设侧链标识的授权信息作为当前授权信息集合;

获取当前授权信息子模块,用于从获取当前授权信息集合模块生成的授权信息集 合中获取一条授权信息作为当前授权信息;还用于当第二判断子模块判定当前授权信息集 合中还有尚未被获取过的授权信息时从获取当前授权信息集合模块生成的授权信息集合 中获取一条授权信息作为当前授权信息;

第一判断子模块,用于从获取当前授权信息模块获取到的当前授权信息中获取授 权凭据,判断是否可以在主链中查询到主链父区块哈希值与授权信息一致的主链区块;

输出模块,用于当第一判断子模块判定可以在主链中查询到主链父区块哈希值与 授权信息一致的主链区块时当前授权信息合法,并向侧链数字指纹生成模块18和侧链区块 生成模块19输出当前授权信息;

第二判断子模块,用于当第一判断子模块判定在主链中不能查询到主链父区块哈 希值与授权信息一致的主链区块时判断当前授权信息集合中是否还有尚未被获取过的授 权信息;

侧链数字指纹生成子模块,用于根据输出模块输出的授权信息生成侧链数字指 纹;

相应的,侧链区块生成模块19,用于根据预设侧链标识获取侧链父区块哈希值,根 据侧链父区块哈希值、侧链数字指纹生成子模块生成的侧链数字指纹和时间戳生成侧链区 块头;根据输出模块输出的授权信息和侧链区块头生成侧链区块。

优选的,该装置还包括第三判断模块,用于判断是否满足生成侧链区块的条件;

具体的,第三判断模块具体用于判断含有预设侧链标识的授权信息是否大于预设 条数,或者判断当前服务器时间和上次生成侧链区块的时间的时间差是否大于预设值。

相应的,侧链数字指纹生成模块18,用于当第三判断模块判定满足生成侧链区块 的条件时根据绑定模块16生成的包含预设侧链标识的授权信息生成侧链数字指纹。

优选的,该装置还包括:

查证模块,用于当接收到信息查证请求时,信息查证请求包括需查证的授权信息; 根据授权信息中的授权凭据在主链中查询对应的主链区块,并判断主链区块中是否存在与 授权信息中的申请单信息一致的信息,是则授权信息合法,否则授权信息不合法。

优选的,该装置还包括:

存储模块,用于将主链区块生成模块13生成的主链区块头进行哈希运算生成主链 区块索引值,并将主链区块索引值存储在索引数据库表;

查证模块,用于当接收到信息查证请求时,信息查证请求包括需查证的授权信息; 根据授权信息中的授权凭据在存储模块中存储的索引数据库表中查对应的主链区块索 引值,并判断主链区块索引值对应的主链区块中是否存在与授权信息中的申请单信息一致 的信息,是则授权信息合法,否则授权信息不合法。

进一步的,主链区块生成模块13,具体用于判断存储模块存储的索引数据库表中 是否有与主链父区块哈希值相匹配的授权凭证比较值,当判定有与主链父区块哈希值相匹 配的授权凭证比较值时根据主链父区块哈希值、主链数字指纹生成模块12生成的主链数字 指纹和主链时间戳生成主链区块头;根据获取申请单信息模块11获取到的满足预设授权条 件的申请单信息和主链区块头生成主链区块。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都 应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围 为准。

本文发布于:2024-09-25 10:35:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/85936.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议