【技术实现步骤摘要】
基于分布式预言机和同态加密的链上链下数据共享方案
本专利技术涉及区块链
,特别涉及一种基于分布式预言机和同态加密的链上链下数据共享方案。
技术介绍
区块链技术借助分布式技术和密码学技术实现了不完全可信环境下的数据可信存储,具有去中心化架构、数据全程可追溯、不可篡改、不可抵赖等特性,被视为信息互联网向价值互联网转变的关键技术。第一代区块链技术始于比特币,主要作为一种分布式的账本。第二代区块链技术的代表为以太坊,重点通过智能合约技术扩展了数据存储与计算形式,形成了一种新型的分布式计算范式。第三代区块链技术尚在探索中,旨在扩展现有区块链技术,并实现链上可信数据与链下现实世界数据的高效协同。在区块链中存储数据必须通过共识,因此是封闭的系统,链上链下数据协同共享面临传统数据调用方式无法解决的问题。智能合约由每个区块链节点独立执行,若从合约发出调用链外数据的请求,则会由于网络延迟、数据来源波动、节点性能等原因导致调用数据的差异,造成每个区块链节点执行合约时产生不同的结果,导致无法达成共识,这将危及区块链的信任基础,因此链上 ...
【技术保护点】
1.基于分布式预言机和同态加密的链上链下数据共享方案,其特征在于:所述方案包括数据使用者、区块链、预言机节点、数据提供者四类实体,其中区块链部署系统管理合约、预言机合约、数据存证合约、数据请求合约及用户自定义合约;预言机节点包括:请求适配节点、响应适配节点、请求执行节点;所述数据使用者调用数据请求合约或构造用户合约,并通过预言机获取数据,或获取数据索引及存证后向数据提供者请求数据,基于同态加密实现数据保密性。/n
【技术特征摘要】
1.基于分布式预言机和同态加密的链上链下数据共享方案,其特征在于:所述方案包括数据使用者、区块链、预言机节点、数据提供者四类实体,其中区块链部署系统管理合约、预言机合约、数据存证合约、数据请求合约及用户自定义合约;预言机节点包括:请求适配节点、响应适配节点、请求执行节点;所述数据使用者调用数据请求合约或构造用户合约,并通过预言机获取数据,或获取数据索引及存证后向数据提供者请求数据,基于同态加密实现数据保密性。
2.根据权利要求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请求响应:
当数...
【专利技术属性】
技术研发人员:史闻博,徐欣,张永欣,鲁宁,
申请(专利权)人:东北大学秦皇岛分校,
类型:发明
国别省市:河北;13
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。