[发明专利]基于分布式预言机和同态加密的链上链下数据共享方法有效

专利信息
申请号: 202010823393.1 申请日: 2020-08-17
公开(公告)号: CN112016105B 公开(公告)日: 2022-04-08
发明(设计)人: 史闻博;徐欣;张永欣;鲁宁 申请(专利权)人: 东北大学秦皇岛分校
主分类号: G06F21/60 分类号: G06F21/60;G06F21/62;G06F21/64;H04L9/00;H04L9/40;H04L67/025;H04L67/1097
代理公司: 中国商标专利事务所有限公司 11234 代理人: 姜司晨
地址: 066004 河北省秦*** 国省代码: 河北;13
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 分布式 预言 同态 加密 链上链下 数据 共享 方法
【权利要求书】:

1.基于分布式预言机和同态加密的链上链下数据共享方法,其特征在于:所述方案包括数据使用者、区块链、预言机节点、数据提供者四类实体,其中区块链部署系统管理合约、预言机合约、数据存证合约、数据请求合约及用户自定义合约;预言机节点包括:请求适配节点、响应适配节点、请求执行节点;所述数据使用者调用数据请求合约或构造用户合约,并通过预言机获取数据,或获取数据索引及存证后向数据提供者请求数据,基于同态加密实现数据保密性;所述方法包括以下步骤:

S1身份注册阶段

S1.1数据使用者注册:

每个数据使用者Ui(i∈N+)生成各自的公私钥对(Upki,Uski)、区块链地址Uaddri、同态加密的公私钥对(HUpki,HUski);

S1.2数据提供者注册:

数据提供者Pj(j∈N+)生成各自的公私钥对(Ppkj,Pskj)、区块链地址Paddrj,并将Ppkj、Paddrj、身份信息Pinfoj、服务范围Pservj、网络地址Purlj、保证金Pdepoj提交至系统管理合约SysSC,系统管理合约设置初始信誉值Prepuj;系统管理合约将上述信息存储在区块链上的数据提供者列表中;

S1.3预言机节点注册:

预言机节点Ok(k∈N+)生成各自的公私钥对(Opkk,Oskk)、区块链地址Oaddrk,并将Opkk、Oaddrk、身份信息Oinfok、服务范围Oservk、网络地址Ourlk、保证金Odepok提交至系统管理合约SysSC,系统管理合约设置初始信誉值Orepuk;系统管理合约将上述信息存储在区块链上的预言机节点列表中;

S2数据请求阶段

S2.1合约调用:

若数据使用者Ui直接通过链下系统调用数据,则通过数据请求合约ReqSC调用预言机合约OracleSC,若已编写用户自定义合约CustomSC,则直接调用OracleSC;若用户直接请求数据存证合约ReceiptSC已存证且已授权给该用户的数据则直接返回数据,否则请求数据需将包含用户公钥、同态加密公钥、请求列表、运算规则、预言机数量的参数五元组(Upki,HUpki,Pmap,OpRule,Onum)传递给预言机合约OracleSC;所述Pmap是由数据提供者网络地址Purlj为key,以安全等级SecClass、数据提供者公钥Ppkj加密的数据需求信息数据使用者信息为value的键值对列表,其中Uinfoi指的是可供Pj验证的由权威提供的对Demandj的权限证明;所述OpRule是可选的由预言机节点从数据提供者获取数据后执行的简单运算规则;所述SecClass指的是按数据是否加密及是否需要运算或聚合规定的安全等级;

S2.2事件生成:

OracleSC按信誉值加权随机选择Onum个正常服务的请求适配预言机节点,将节点列表及数据请求生成包含事件编号EvIdi的事件日志EvLogi存储在区块链上,同时向SysSC报告事件生成时间戳TSgen(EvIdi)及对应的节点列表信息;

S2.3请求适配:

链下的请求适配预言机节点ReqOracle实时监听OracleSC产生的事件日志,当监听到指定给自己的EvLogi时按信誉值加权随机选择Onum个请求执行预言机节点ExeOracle和一个响应适配预言机节点ResOracle,将数据请求参数、EvIdi及ResOracle网络地址Ourlk传递给选择的ExeOracle,并将ExeOracle请求列表ExeList及EvIdi报告给ResOracle,同时向ResOracle发送请求时间戳

TSreq(EvIdi||ReqOaddrk);

S2.4请求发送:

ExeOracle将ReqOracle发送的请求的有效性Validreq(EvIdi||ReqOaddrk)发送给ResOracle,并向Pmap指定的数据提供者发送形式的六元组以请求数据;

S3数据响应阶段

S3.1请求响应:

当数据提供者Pj收到六元组后首先使用自己的私钥Pskj解密和得到Demandj和Uinfoi,通过权威验证数据使用者信息;若验证失败则拒绝数据请求返回错误信息Errrej结束本步骤,否则继续解析Demandj;Pj将需求的数据、数据类型、Pj签名的数据哈希和数据使用者公钥组成的五元组返回给ExeOracle;对于大规模数据,Dd为Upki加密的数据索引对于小规模数据,若需求为金融汇率等数值型数据且SecClass标识为秘密且需要运算或聚合则Dd为使用Ui的同态公钥HUpki同态加密的数据若标识为秘密但不需要运算或聚合则Dd为使用Upki非对称加密的数据若标识为非密则Dd为数据d;

S3.2请求执行:

请求执行预言机节点ExeOracle根据OpRule中规定的简单链下计算规则计算从单个或多个数据提供者获取的数据源,即同态加密的数据需使用HUpki同态计算,最后将计算结果、EvIdi及每个数据提供者的响应时间Tres(EvIdi||Pj)发送给Ourlk指定的ResOracle;

S3.3响应适配:

ResOracle收到数据后根据EvIdi按照所归属的ExeList缓存,等待收到ExeList中所有ExeOracle发送的执行结果或超过最大等待时间Tmax后按照OpRule中规定的响应计算规则聚合数据Aggres(List(Pj)),然后将数据及EvIdi发送给链上数据存证合约ReceiptSC,将EvIdi、Tres(EvIdi||Pj)、ExeOracle执行的有效性Validreq(EvIdi||ReqOaddrk)、当前响应时间戳TSres(EvIdi||ExeOaddrk)发送给Sy sSC;

S3.4数据存证:

ReceiptSC根据接收到的数据以EvIdi为key,以TypeD、Dd、授权列表为value的形式存储,其中授权列表存有数据使用者公钥及数据提供者对其的签名;

S3.5响应返回:

ReceiptSC根据EvIdi将和Dd返回给请求数据的数据请求合约ReqSC或用户自定义合约CustomSC;数据使用者可从合约下载数据或根据索引从数据提供者下载数据,并可根据哈希验证数据一致性,数据提供者可根据授权列表验证数据使用者权限;

S3.6信誉反馈:

数据使用者向SysSC投诉数据错误时,验证后没收一定的保证金Pdepoj,暂停对应的预言机服务一定时间,并记录本次惩罚;同时根据收到ResOracle返回数据的时间戳TSres(EvIdi||ResOaddrk)及TSgen(EvIdi)、TSreq(EvIdi||ReqOaddrk)的差值计算每个预言机节点的响应时间,并根据数据提供者的响应时间Tres(EvIdi||Pj)计算每个预言机节点和数据提供者的平均响应时间;连同数据有效性、被惩罚数、完成请求的数量综合动态评估数据提供者和预言机节点的信誉值Prepuj、Orepuk;当信誉值低于系统规定的最低值时停止服务,审查后才能重新开始服务。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学秦皇岛分校,未经东北大学秦皇岛分校许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010823393.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top