一种基于访问控制规则的区块链可信预言机决策支撑系统的制作方法

文档序号:35699932发布日期:2023-10-11 23:28阅读:46来源:国知局
一种基于访问控制规则的区块链可信预言机决策支撑系统的制作方法

本发明属于区块链,尤其涉及一种基于访问控制规则的区块链可信预言机决策支撑系统。


背景技术:

1、区块链是一种分布式的、将数据区块按时间顺序以链式组合的存储结构,具备不可篡改、弱中心化、公开透明、安全可信等特点。起初,区块链作为一种创新技术逐步走入人们的视野,在众多领域掀起技术改革的浪潮,如金融、物联网和医疗等领域。随着智能合约的引入,区块链的应用领域变得更加多样化,智能合约和区块链是天然的联盟,将智能合约部署到区块链后,在不需要可信第三方的情况下,由区块链特征强制保证交易合同按规则自动执行。对于许多领域来说,区块链内部的数据不足以满足应用需求,智能合约在执行过程中需要与链下数据进行交互,如预测市场、保险应用等,所谓链下数据指的是现实世界中未被区块链存储的数据。然而,区块链是一个独立运转的分布式系统,不允许不确定的因素,部署在其上的智能合约在任何时候运行都要求产生一致的结果,故区块链节点无法主动获取链外的数据,也不能自发地调用外部网络api,由此产生了区块链预言机。区块链预言机可以将链下的数据写回区块链内,它不是具体的程序或实体,而是一种理念,本质上是一种数据调用和访问的中间件,是区块链智能合约与外部世界交互的中间层,架起了区块链与链外世界的互通桥梁。预言机对区块链网络有着十分重要的作用,是区块链体系的重要组成部分,预言机的缺乏会对区块链的应用范围和应用效果产生重要影响。

2、(1)目前的预言机中还存在预言机数据上链的可信控制需求与多样化动态性数据特性的匹配问题,区块链有效运转的基本前提就是数据来源可信,因此预言机需要通过权限控制、共同监督、身份认证等技术手段来加强数据来源和传输的可信性。同时,随着区块链应用领域的不断拓展,上链数据的来源趋于多元化和动态化特性,用户的数据请求类型也呈现出多样化趋势。在这种背景下,需要将区块链下异构多样的数据安全上链,实现数据可信传输,减少数据造假风险,因此,将可信传输和多样化数据融合是亟需解决的问题。

3、(2)目前的预言机中还存在预言机数据上链可信传输与效率需求的匹配问题。如何将数据高效的带回链上,同时保证其在上链过程中的安全可信是设计区块链预言机时需要考虑的问题。区块链中所有的参与者共同维持一个账本,在没有可信第三方的情况下,基于链上可验证数据,通过共识算法对交易达成一致,共识过程必然会影响效率。区块链预言机本身是区块链链外组件,对于安全的要求更高,因此,需要设计一套新的安全传输机制,达到效率和传输可信的双重要求。

4、(3)目前的预言机中还存在预言机体系控制与传输模块协同通信问题。对预言机工作过程中不同组件间的交互流程、消息格式等进行规范,设计一种整体化的协议是预言机系统能被广泛应用的必要工作。


技术实现思路

1、本发明的目的是提供一种基于访问控制规则的区块链可信预言机决策支撑系统,以保证区块链预言机所传输数据的真实、可信,使用abac(attribute-based accesscontrol,基于属性的访问控制模型)权限访问控制与智能合约技术,确定链下终端控制和链上约束相结合的技术体系,推动多样化数据的有效控制和管理方法;基于vrf(verifiable random function,可验证随机函数)理论和pbft(practical byzantinefault tolerance,实用拜占庭容错算法)共识算法探索数据传输的共识机制,以求达到高效可信的数据传输;还设计一种预言机通信协议,规范链上和链下的数据交互过程,并设计和研发原型系统,使预言机更具通用性和实用性。

2、本发明一方面提供了一种基于访问控制规则的区块链可信预言机决策支撑系统,所述系统基于双abac的链上链下访问控制模型、基于vrf算法的可信数据传输机制以及可信预言机通信协议实现,包括:

3、数据源、边缘服务器、预言机以及区块链智能合约;

4、所述边缘服务器包括传感器终端、智能网关和微型计算机,每个边缘服务器均包括节点接口、数据源接口和abac权限管理模块,所述abac权限管理模块用于进行终端身份管理、认证绑定、权限管理和过程证明;

5、所述预言机将区块链上的数据请求转发至链下,并将链下采集的数据安全传输到链上,所述预言机为链上链下通信的通道;

6、所述区块链智能合约包括用户合约、预言机合约和abac智能合约;

7、所述区块链可信预言机决策支撑系统通过协同链上及链下两套abac访问控制模型,并结合可验证随机函数来加强预言机所传输数据的安全性和可靠性。

8、优选的,所述基于访问控制规则的区块链可信预言机决策支撑系统包括数据层、合约层、逻辑层和表现层;

9、所述数据层由区块链系统及数据库组成,所述区块链系统用于记录预言机工作过程中产生的信息,所述数据库用于存储实体信息及用户相关信息;

10、所述合约层基于所述区块链智能合约实现功能,包括:用户通过所述用户合约发出数据请求并查看相应的结果,所述abac智能合约对上链数据进行权限判定,实现数据的可控上链;所述预言机合约用于转发来自所述用户合约的请求至链下的计算机节点,并接收其响应的结果;

11、所述逻辑层包括链上操作、链下操作以及链上和链下的协同操作,用于接收来自所述表现层的请求,并根据请求内容与区块链以及数据库交互;

12、所述表现层用于为用户提供可视化界面,包括请求发送和结果查看。

13、优选的,所述可信预言机基于事件订阅模式实现,实现架构整体包括订阅模块、查询模块和回调模块;链下的计算机节点在响应用户请求前,首先需要通过ws(websocket)协议在区块链上注册事件订阅,订阅成功后,通过读取相应智能合约的事件日志获取用户请求,对其进行解析并处理后,将查询结果转换为用户规定的数据类型,并以交易的形式将结果发送至请求中规定的回调地址。

14、优选的,所述可信预言机的工作流程包括:

15、在响应用户的数据请求时,收到预言机合约所发请求的节点需在本地利用vrf进行随机计算,所述节点利用私钥在本地生成vrf随机数及其证明;

16、通过判断随机数是否满足请求中所规定的阈值条件来判断是否被选中响应本次请求,满足则加入工作组,工作组中生成随机数最小的节点即为本次请求的主节点,其中工作组节点数量由用户指定;其他节点确定为非工作组节点,根据vrf验证算法对选择结果进行合法性验证;

17、经链下权限管理模型判断有资格的节点可转发请求至边缘服务器;

18、由边缘服务器调用数据源接口采集指定数据;

19、所述边缘服务器在将数据进行初步处理后,将其发送至工作组节点,发送时由权限管理模型进行相应的权限控制;

20、收到边缘服务器所发送数据的节点经权限管理合约验证后,对接收到的数据进行聚合并回传至预言机合约。

21、优选的,所述双abac链上链下访问控制模型由链上abac智能合约和链下abac模型构成,由链上abac智能合约和链下abac模型协同实现链上链下的可信数据交互;其中,所述双abac链上链下访问控制模型包括区块链、链下计算机节点、边缘服务器和物联网终端设备;所述链上的abac智能合约包括用户合约、预言机合约和abac权限管理合约;所述链下abac模型部署在所述链下计算机节点、边缘服务器和物联网终端设备;

22、链上到链下的可信数据交互顺序为:所述用户合约接收用户请求,通过预言机将请求转发至所述边缘服务器,进而传递给所述物联网终端设备;

23、链下到链上的可信数据交互顺序与链上到链下的可信数据交互顺序相反;链上abac智能合约和链下abac模型用于对所述可信数据的交互过程进行权限管理,通过层层传递、多重验证的方式实现链上链下的可信交互和定位追责。

24、优选的,所述区块链上部署用户合约、预言机合约及abac权限管理合约;所述用户合约负责与用户通信,所述预言机合约和多个链下计算机节点共同构成区块链预言机,其中,所述预言机合约用于发送请求并接收数据;多个所述链下计算机节点是连接区块链和链下数据的中间通道,运行预言机的基础功能,每个节点提前在预言机合约中通过公钥、ip信息进行节点身份注册;所述边缘服务器上运行所述链下abac模型,链下计算机节点和终端设备,实现请求的转发和数据的回传;在系统的初始化阶段,边缘服务器预先在链下计算机节点中以公钥、ip信息进行身份注册,同时,数据源在边缘服务器进行绑定,由边缘服务器认证可信的数据源将被加入本地白名单;将数据传输上链时,边缘服务器根据链下权限判定过程中产生的关键信息生成过程证明,将其附带数据一同上链;通过验证上链的过程证明是否满足abac合约预存的协同工作策略,判定链下运行的abac模型的可信性,即验证链下的权限管理过程的可信性;在响应用户的数据请求时,边缘服务器首先检查是否绑定了用户所请求的数据源;若未绑定,则对数据源进行认证、绑定,绑定成功后响应请求。

25、优选的,所述双abac的链上链下访问控制模型的工作过程分为四个阶段,由链下的abac模型存储前三个阶段的属性信息及策略信息,并进行策略判定,而链上abac合约仅负责第四个阶段,通过验证上链的过程证明是否满足其预存的协同工作策略,可以证明链下abac模型的可信,即前三个阶段策略判定的可信性;所述四个阶段包括:

26、阶段一:本轮工作的节点将用户请求转发至边缘服务器;

27、阶段二:终端设备将采集的数据发送至边缘服务器;

28、阶段三:边缘服务器将数据回传至工作节点;

29、阶段四:边缘服务器生成过程证明,并由节点将该证明连同数据一同回传至区块链上的预言机合约;

30、采用多重验证的方式,所述阶段二中abac的策略判定结果是阶段三中访问主体的属性,阶段三中abac的判定结果是阶段四中访问主体的属性;上链的过程证明是否满足区块链预存的协同工作策略作为阶段四中访问主体的属性;只有四个阶段的策略判定均通过,预言机才能将数据返回至预言机合约。

31、优选的,所述基于vrf算法的可信数据传输机制,包括:

32、(1)链上到链下

33、在将用户的数据请求转发至链下时,根据用户的需求,使用vrf技术在链下的分布式节点中随机选择多个节点,构成工作组来处理本次请求,其他节点构成非工作组,非工作组的节点验证选择结果是否合法;包括:用户通过用户合约发出数据请求,请求中需规定工作组的节点数量、阈值条件信息;用户合约收到请求后,调用预言机合约,由其转发请求至链下分布式节点;收到请求的节点在本地完成vrf随机计算,通过判断其生成的随机数是否满足阈值条件来判断是否被选中加入工作组,其他节点可对选择结果进行合法性验证;工作组的n个节点中,生成随机数最小的节点为组内的主节点,负责发起共识并将共识结果回传至区块链;

34、(2)链下到链上

35、工作组中的节点在规定的时间内,对请求的顺序和请求的执行结果进行pbft共识,共识成功后,由主节点回传聚合数据和投票结果至区块链,聚合方式为取中位数或取平均数;区块链验证聚合签名的合法性后,将数据反馈给数据请求者,并对工作组中参与签名的节点进行奖励。

36、优选的,所述使用vrf技术在链下的分布式节点中随机选择一定数量的节点包括:加密抽签算法和验证抽签算法,随机种子、工作组节点数量及阈值由用户在请求中规定,节点公钥在整个网络公开,对应的私钥由节点自己保管;所述加密抽签算法包括每个节点利用vrf的随机数生成函数和证明生成函数生成随机数及其证明,函数入参为节点私钥和随机种子;所述随机数满足阈值条件的节点被暂存至数组r,所有参与节点均判定完成后,按照随机数大小对数组r中的节点进行冒泡排序,排序完成后选中前n个节点构成工作组节点数组nodes,至此,工作组节点选择完成,非工作组的节点可利用抽签验证算法对选择结果进行合法性验证;

37、所述工作组中的节点在规定的时间内,对请求的顺序和请求的执行结果进行pbft共识分为七个阶段,包括:request阶段、pre-prepare阶段、prepare阶段、commit阶段、pre-confirm阶段、confirm阶段以及reply阶段。

38、优选的,所述可信预言机通信协议包括:在初始化阶段,用户在用户合约上完成身份注册,由用户合约为其分配全网唯一的身份标识,即userid;预言机合约在用户合约中进行注册,注册内容为预言机合约的调用地址;边缘服务器在节点中注册以获得serverid;链下的各个节点在预言机合约进行注册以获得唯一的标识nodeid,注册信息包括节点公钥pk、ip地址,同时,将节点中已注册的边缘服务器信息在区块链上存证;数据源在边缘服务器进行身份认证及绑定,绑定完成后,该数据源同样由唯一的id进行标识,即dataid;

39、初始化完成后,协议的运行流程包括:

40、1)用户通过用户合约发出数据请求,形式为,其中params字段包括目标数据源的url、工作组的预言机节点的数量n、阈值条件threshold、时间要求t、初始种子seed,callback指定返回数据的入口点;

41、2)用户合约转发数据请求至预言机合约,由预言机合约为该笔请求生成全网唯一请求id,即requestid,并发送至链下所有的预言机节点;在此期间,权限管理合约持续监听预言机合约的数据请求;

42、3)收到数据请求的节点在本地利用私钥sk和初始种子seed,运行vrf的随机数生成算法及证明生成算法,生成随机数value及其证明π,计算过程为:;计算完成后,若,则该节点被选中加入工作组,工作组可表示为,组内随机数最接近阈值条件的节点即为主节点;其他节点利用验证选择结果的合法性;工作组的选择结果通知权限管理合约;

43、4)经边缘服务器上所运行的权限控制模块授权后,工作组的节点将数据请求以的形式转发至边缘服务器,nodeinfo指的是节点id、节点ip信息;收到请求的边缘服务器检查其绑定的数据源列表是否包括用户请求的数据源;若不包含,先检查目标数据源,完成身份认证,认证通过则进行绑定,随后将请求附带服务器的信息后发送至相应数据源,形式为,若认证未通过,则返回错误信息至区块链;

44、5)收到请求的数据源根据用户的需求采集数据,经权限管理模块授权后,将采集的数据签名后回传至边缘服务器,由其对签名进行验证,形式为;若数据源的签名验证通过且边缘服务器有回传数据的资格,则以的形式回传数据至工作组的节点;

45、6)收到数据反馈的节点对签名进行验证,验证无误则由工作组的主节点聚合数据生成;并由工作组内的节点对进行共识;共识成功后,主节点对聚合数据和边缘服务器生成的过程证明proof进行签名,并调用预言机合约的相应函数回传结果,数据格式为;

46、7)链上的权限管理合约进行权限判定,只有proof满足协同工作策略,才对主节点回传数据的资格进行验证,若不一致,则代表边缘服务器存在安全风险,返回错误信息;权限判定通过后,主节点成功回传结果至预言机合约;预言机合约对签名进行验证,验证无误后按照的形式,将聚合后的数据返回至用户合约,并奖励共识成功的节点。

47、本发明提供的系统具有如下有益的技术效果:

48、(1)使用abac权限访问控制模型来解决区块链预言机的数据控制问题,确定链上链下两套abac模型的相互协同,通过多重验证的方法来保证预言机传输上链的数据的真实、可信,可以适应多元、动态的数据来源和多样化的数据需求,降低数据上链的风险。

49、(2)基于vrf算法设计数据传输机制,根据用户对安全和效率的不同需求,实现柔性的链下局部共识方式,随机选择参与共识的节点,在保证一定安全性的同时,整体提高预言机传输数据的效率。

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