发明内容
本发明的目的在于,针对所存在的不足,提出了一种基于区块链的跨链通信授权***,
本发明采用如下技术方案:
一种基于区块链的跨链通信授权***,包括授权管理中心、节点认证模块和通讯模块,所述授权管理中心对节点获取区块链信息的权限进行管理,所述节点认证模块用于证明节点的合法性,所述通讯模块用于节点与节点、节点与授权管理中心之间传输信息;
跨链通信授权过程包括如下步骤:
S1、源节点向所述授权管理中心发送授权服务的申请信息,目标区块链向所述授权管理中心发送预授权信息,所述源节点指想要获取其他区块链信息的节点,所述目标区块链指所述源节点想要获取信息所在的区块链;
S2、所述授权管理中心将所述申请信息和所述预授权信息进行核对,核对无误后先生成授权码并将所述授权码发送给所述源节点,再生成并记录授权数据;
S3、所述源节点将所述授权码发送给所述目标区块链,所述目标区块链指定一个目标节点与所述源节点进行对接;
S4、所述目标节点将授权码发送至所述授权管理中心,所述授权管理中心将授权码与授权数据进行核对,核对无误后返回核对结果给所述目标节点;
S5、若核对结果为真,则所述目标节点将区块链中对应的信息发送给所述源节点,若核对结果为假,则所述目标节点向所述源节点发送拒绝信息;
节点与所述授权管理中心通讯时会发送从所述节点认证模块中获取的节点信息,所述节点信息中包括认证序列号,所述认证序列号由所述授权管理中心在接入新区块链时发送给区块链中的节点,并在所述授权管理中心进行记录,同一区块链下的节点具有相同的认证序列号,不同区块链下的节点具有不同的认证序列号,所述授权管理中心生成认证序列号的方式如下:
所述授权管理中心先进行如下处理:
其中,N表示上次生成的认证序列号,L(N)表示认证序列号N的长度,N(i)表示N的第i位数字,M(i)表示第i个中间数,中间数共有L(N)个;
所述授权管理中心生成的新的认证序列号为W,则:
其中,k为基础指数,W(i)表示W的第i位数字;
进一步的,所述授权管理中心包括区块链接入模块和基础功能模块,所述区块链接入模块用于与新的区块链***对接,所述基础功能模块用于使新接入的区块链***中的节点生成节点认证模块;
进一步的,所述授权管理模块还包括授权数据库、认证数据库和授权匹配库,所述授权数据库用于保存通过授权的授权数据,所述认证数据库用于保存接入的区块链信息,所述授权匹配库用于保存接收的申请信息和预授权信息;
进一步的,所述节点认证模块中的节点信息包括认证序列号和独立序列号,同一区块链中的不同节点拥有不同的独立序列号;
进一步的,所述申请信息包括目标区块链的公开ID、授权类型、授权时限和查阅对象,所述预授权信息包括查阅对象、授权截止时间和源节点的独立序列号。
本发明所取得的有益效果是:
本***能够接入区块链***,能够使接入的区块链***中的节点在授权后获取其他区块链信息,具有拓展性;本***为每个接入的区块链***分配一个认证序列号,所述认证序列号具有随机性以及连续相关性,可以防止其他非法区块链中的节点来获取本***内区块链的信息;目标区块链中发送预授权信息的节点和目标节点不需要是同一节点,即授权用户和被授权用户的操作是分开独立的,减少了用户的操作手续。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
具体实施方式
以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
实施例一
本实施例提供了一种基于区块链的跨链通信授权***,结合图1,包括授权管理中心、节点认证模块和通讯模块,所述授权管理中心对节点获取区块链信息的权限进行管理,所述节点认证模块用于证明节点的合法性,所述通讯模块用于节点与节点、节点与授权管理中心之间传输信息;
结合图3,跨链通信授权过程包括如下步骤:
S1、源节点向所述授权管理中心发送授权服务的申请信息,目标区块链向所述授权管理中心发送预授权信息,所述源节点指想要获取其他区块链信息的节点,所述目标区块链指所述源节点想要获取信息所在的区块链;
S2、所述授权管理中心将所述申请信息和所述预授权信息进行核对,核对无误后先生成授权码并将所述授权码发送给所述源节点,再生成并记录授权数据;
S3、所述源节点将所述授权码发送给所述目标区块链,所述目标区块链指定一个目标节点与所述源节点进行对接;
S4、所述目标节点将授权码发送至所述授权管理中心,所述授权管理中心将授权码与授权数据进行核对,核对无误后返回核对结果给所述目标节点;
S5、若核对结果为真,则所述目标节点将区块链中对应的信息发送给所述源节点,若核对结果为假,则所述目标节点向所述源节点发送拒绝信息;
节点与所述授权管理中心通讯时会发送从所述节点认证模块中获取的节点信息,所述节点信息中包括认证序列号,所述认证序列号由所述授权管理中心在接入新区块链时发送给区块链中的节点,并在所述授权管理中心进行记录,同一区块链下的节点具有相同的认证序列号,不同区块链下的节点具有不同的认证序列号,所述授权管理中心生成认证序列号的方式如下:
所述授权管理中心先进行如下处理:
其中,N表示上次生成的认证序列号,L(N)表示认证序列号N的长度,N(i)表示N的第i位数字,M(i)表示第i个中间数,中间数共有L(N)个;
所述授权管理中心生成的新的认证序列号为W,则:
其中,k为基础指数,W(i)表示W的第i位数字;
所述授权管理中心包括区块链接入模块和基础功能模块,所述区块链接入模块用于与新的区块链***对接,所述基础功能模块用于使新接入的区块链***中的节点生成节点认证模块;
所述授权管理模块还包括授权数据库、认证数据库和授权匹配库,所述授权数据库用于保存通过授权的授权数据,所述认证数据库用于保存接入的区块链信息,所述授权匹配库用于保存接收的申请信息和预授权信息;
所述节点认证模块中的节点信息包括认证序列号和独立序列号,同一区块链中的不同节点拥有不同的独立序列号;
所述申请信息包括目标区块链的公开ID、授权类型、授权时限和查阅对象,所述预授权信息包括查阅对象、授权截止时间和源节点的独立序列号。
实施例二
本实施例包含实施例一的全部内容,提供了一种基于区块链的跨链通信授权***,包括授权管理中心、节点认证模块、区块链搜索模块和通讯模块,所述授权管理中心对接入本***的区块链中的节点进行权限管理,所述节点配置有所述节点认证模块、区块链搜索模块和通讯模块,所述节点认证模块用于确定该节点是否是接入本***的节点,所述区块链搜索模块用于在节点内搜索需要的信息,所述通讯模块用于节点与其他区块链上的节点以及授权管理中心之间传输信息;
结合图2,所述授权管理中心包括区块链接入模块和基础功能模块,所述区块链接入模块用于与新的区块链***进行对接,对接后所述基础功能模块将安装包发送至区块链***,新接入的区块链将所述安装包进行广播,区块链***中的每个节点在接收广播后运行安装包,所述安装包运行后生成节点认证模块;
所述新接入的区块链***在接收所述安装包后与所述区块链接入模块断开连接,区块链***内的节点直接与所述授权管理模块进行通讯;
所述基础功能模块包括基础安装包与认证序列单元,所述认证序列单元通过在所述基础安装包中写入认证序列号得到安装包,运行安装包后得到的所述节点认证模块中包含节点信息,所述节点信息包含两段内容,一段内容为认证序列号,另一段内容为独立序列号,同一个区块链内的所有节点的认证序列号均相同而独立序列号均不同;
所述节点通过所述通讯模块向所述授权管理中心申请授权服务,所述授权管理中心对所述节点进行认证,通过认证后向所述节点发送授权码,申请授权服务的节点称为源节点;
所述源节点申请授权服务中的区块链对象称为目标区块链,所述源节点向所述目标区块链发送对接申请,所述目标区块链选择其中一个节点与源节点进行对接,与所述源节点对接的节点称为目标节点,所述源节点通过所述通讯模块向所述目标节点发送授权码和要求信息,所述目标节点将所述授权码与源节点的节点信息发送给所述授权管理中心,所述授权管理中心对授权码和节点信息进行确认后向所述目标节点返回授权确认结果,若所述授权确认结果为真,则所述目标节点通过所述区块链搜索模块在区块链上搜索所述要求信息对应的内容,并将搜索到的内容发送给所述源节点,若授权确认结果为假,则所述目标节点向所述源节点发送拒绝信息;
所述授权管理中心包括授权数据库,所述授权数据库中记录了授权数据,每条授权数据包括申请授权的节点信息,发送给该节点的授权码以及对应的目标区块链,当所述目标节点将授权码与源节点的节点信息发送至所述授权管理中心时,所述授权管理中心根据所述授权码在所述授权数据库中搜索到对应的授权数据,并将所述源节点的节点信息以及目标节点所在区块链的信息与所述授权数据中的内容进行对比,对比无误则返回授权确认结果为真,对比有误则返回授权确认结果为假;
所述授权管理中心还包括认证数据库,所述认证数据库中记录了区块链数据,每条区块链数据包括认证序列号和区块链的文本信息;
所述节点与所述授权管理中心进行通讯时,先从所述节点认证模块中获取节点信息,并将所述节点信息随通信内容一同发送给所述授权管理中心,所述授权管理中心通过将所述节点信息中的认证序列号与所述认证数据库中的内容进行对比确认节点的认证身份;
所述节点向所述授权管理中心发送授权服务的申请信息,所述申请信息包括目标区块链的公开ID、授权类型、授权时限和查阅对象;
所述授权管理中心还包括区块链查阅表,所述区块链查阅表中记录了区块链的公开ID和认证序列号的对应关系,所述授权管理中心通过申请信息中的公开ID和区块链查阅表获得对应的认证序列号,进而确定目标区块链的信息;
所述授权类型包括永久授权和临时授权,当授权类型是永久授权时,所述授权时限的值为0,当所述授权类型是临时授权时,所述授权时限为对应的时间;
当通过授权的授权类型是临时授权时,授权数据库中对应的授权数据还包括计时器,当所述计时器的累计时长达到授权时限时,所述授权数据库会自动删除该条授权数据,当通过授权的授权类型是永久授权时,授权数据库中对应的授权数据不会自动删除,但当目标区块链申请撤销对源节点的授权时,授权数据库能够主动删除对应的授权数据;
所述查阅对象为所述源节点在目标区块链中想要获取信息所属的特定用户;
结合图4,所述节点向所述授权管理中心发送区块链ID查询信息,所述授权管理中心通过对节点的认证序列号认证后,将所述区块链查阅表中的公开ID与认证数据库中的区块链文本信息配对生成区块链总览信息,并将所述区块链总览信息发送给所述节点,节点通过所述区块链总览信息确认区块链的公开ID,继而进行后续的授权服务申请;
目标区块链中任意节点通过向所述授权管理中心发送预授权信息,所述预授权信息用于所述授权管理中心对所述申请内容进行核对,所述预授权信息中的内容包括查阅对象、授权截止时间和源节点的独立序列号;
当所述授权管理中心接收的申请服务中的授权时限内容与预授权信息中的授权截止时间内容不对应时,以较早结束授权的内容为准;
所述申请信息和所述预授权信息会存储在所述授权管理中心的授权匹配库中,当所述申请信息与所述预授权信息匹配后,所述授权管理中心会删除这两条信息;
结合图5,所述授权匹配库中包括申请队列和预授权队列,当接收新的申请信息时,将所述申请信息存入申请队列的队尾,并从所述预授权队列的队首开始检索,若在所述预授权队列中检索到匹配的预授权信息,则在所述授权数据库中生成对应的授权数据后删除这两条匹配的信息,当接收到新的预授权信息时,将所述预授权信息存入预授权信息的队尾,并从所述申请队列的队首开始检索,若在所述申请队列中检索到匹配的申请信息,则在所述授权数据库中生成对应的授权数据后删除这两条匹配的信息;
当所述申请队列或预授权队列中位于队首的信息在所述队列中存在的时间超过阈值时,所述授权匹配库会删除队首的信息;
所述授权码由源节点的认证序列号、目标区块链的认证序列号、源节点的独立序列号和查阅对象的用户ID处理得到;
所述认证序列单元在所述基础安装包中写入的认证序列号具有不规则性,所述认正序列单元会记录上一次写入的认证序列号,记为N,所述认证序列单元会生成一个随机数,记为n,n为2至9中的自然数,所述认证序列单元先对N进行如下处理:
其中,L(N)表示认证序列号N的长度,N(i)表示N的第i位数字,M(i)表示第i个中间数,中间数共有L(N)个;
所述认正序列单元新生成的认证序列号为W,则:
其中,k为基础指数,W(i)表示W的第i位数字。
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的保护范围,所以凡是运用本发明说明书及附图内容所做的等效技术变化,均包含于本发明的保护范围内,此外,随着技术发展其中的元素可以更新的。