CN114493865A - 基于区块链的去中心化互联网协同系统和数据交互方法 - Google Patents
基于区块链的去中心化互联网协同系统和数据交互方法 Download PDFInfo
- Publication number
- CN114493865A CN114493865A CN202210012615.0A CN202210012615A CN114493865A CN 114493865 A CN114493865 A CN 114493865A CN 202210012615 A CN202210012615 A CN 202210012615A CN 114493865 A CN114493865 A CN 114493865A
- Authority
- CN
- China
- Prior art keywords
- data
- chain
- domain
- cross
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Evolutionary Biology (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种基于区块链的去中心化互联网协同系统和数据交互方法,其中,该系统包括:设备层,由物理实体组成,其中,物理实体通过传感器收集源数据,并上传至数字实体;网络层,由边缘网关和基站组成,接收来自物理实体的源数据;存储层,通过云服务存储物理实体的源数据,并将生产源数据的元数据上传至边缘区块链网络进行唯一映射索引;预言机网络层,由数据预言机、跨域预言机和用于计算资源共享的计算预言机组成;控制层,由数字孪生平台组成,用于基于设备层、网络层、存储层和预言机网络层流转的数据为各生产节点提供增删改查的接口。通过上述方案解决了现有的数字实体和物理实体之间无法进行高效数据交互的问题。
Description
技术领域
本申请属于互联网技术领域,尤其涉及一种基于区块链的去中心化互联网协同系统和数据交互方法。
背景技术
随着IoT、5G/6G、数字孪生等技术的不断发展,工业世界的运作方式正在发生改变。得益于联网的设备、超低的时延、对物理世界和数字世界的快速反馈,使得工业机器从原本需要人为干预,到根据人的需求定制化生产,再到给予双向反馈,智能化工业互联网(IIoT)机器得到了快速的发展。
然而,先进的工业机器在带来快速的数据交换的同时,也给中心化工业架构带来较为严峻的挑战。首先,数据从工业机器传输到云服务中心的同时需要消耗大量的带宽,给云服务中心的性能带来了挑战。其次,多参与主体之间多源的数据标准给工业数据处理带来了极大的挑战,数据库图表、数据接口、数据文件等数据难以实现统一的处理,这就导致数字实体难以对物理实体传输的数据做出快速的反馈。最后,工业参与主体之间存在数据信任问题,工业主体之间不愿意将被称为数字石油的数据共享给中心化工业架构中的其他参与主体。
区块链是一种去中心化的方式,其通过共识机制无需信任即可连接多个参与主体,并通过去中心化架构降低单台机器的负载。例如,可以通过区块链技术实现数据模型在多工业主体之间的同步,通过数字孪生技术实现物理体系和数字体系之间的同步。基于联邦学习、边缘计算和区块链提出的数字孪生边缘网络,该网络可以基于区块链构建可信的数字孪生网络,并基于区块链赋能的联邦学习增强学习的安全性。
然而,区块链仅是纯粹的基于简单规则与方法调用的程序集合,难以处理复杂的工业互联网数据和逻辑。构建工业数字孪生网络需要面对庞大的工业数据以及复杂的数据源,区块链难以直接调用和存储上述数据。由于区块链的确定性特性使得其无法主动获取外部工业数据,使得多区块链的IIoT生态数据交换变得很难,使得数字孪生网络中数字实体和物理实体的数据交换变得很难。
这对现有的工业数字孪生网络中数据协同和计算协同所存在的问题,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种基于区块链的去中心化互联网协同系统和数据交互方法,可以实现数字实体与物理实体之间高效的数据交换。
一方面,提供了一种基于区块链的去中心化互联网协同系统,包括:
设备层,由物理实体组成,其中,所述物理实体通过传感器收集源数据,并上传至数字实体;
网络层,由边缘网关和基站组成,接收来自所述物理实体的源数据,并对所述源数据进行预处理后上传至数字实体;
存储层,由云服务和边缘区块链网络共同组成,通过云服务存储所述物理实体的源数据,并将生产源数据的元数据上传至所述边缘区块链网络进行唯一映射索引;
预言机网络层,由用于域内数据共享的数据预言机、用于跨域数据共享的跨域预言机和用于计算资源共享的计算预言机组成;
控制层,由数字孪生平台组成,用于基于设备层、网络层、存储层和预言机网络层流转的数据为各生产节点提供增删改查的接口。
在一个实施方式中,所述边缘区块链网络包括:第一层,由各参与实体和监管节点形成的联邦链组成,用于对全局性数据进行管理;第二层,由各参与数字实体各自形成的本地链组成,用于对局部数据进行管理。
在一个实施方式中,所述数据预言机包括:用于接收数字孪生实体工业数据共享请求的应用合约、统一的工业数据预言机接口、链下获取和回调工业数据的点对点网络;所述跨域预言机包括:源区块链、目的区块链和跨域预言机,包含接收实体跨域共享请求的应用合约的源区块链,包含接收跨域共享请求的代理合约的目的区块链,用于转发和回调跨域共享请求的点对点网络;所述计算预言机包括:接收工业计算共享请求的应用合约,计算预言机接口及代理合约,回调训练结果的计算预言机网络。
另一方面,提供了一种上述基于区块链的去中心化互联网协同系统进行数据交互的方法,包括:
通过数据预言机进行链上和链下的工业数据的协同;
通过跨域预言机实现链间的数据协同;
通过计算预言机实现计算协同。
在一个实施方式中,通过数据预言机进行链上和链下的工业数据的协同,包括:
物理实体或数字实体通过调用应用合约的请求函数,进而调用代理合约的函数,触发工业数据共享事件;
所述数据预言机监听所述工业数据共享事件;
所述数据预言机寻址到工业数据共享事件所指定的地址获取工业数据,并在链下进行数据聚合;
将聚合结果返回链下的数据预言机网络监听该事件,寻址到工业数据共享请求指定的地址获取工业数据,并在链下聚合,返回聚合结果到链上。
在一个实施方式中,通过数据预言机进行链上和链下的工业数据的协同,包括:
目标实体向生产合约发送链下链下工业数据请求并指定数据接口或数据源;
所述生产合约调用代理合约提供的接口转发所述工业数据请求,其中,所述工业请求中包括以下至少之一:数据源、公钥、签名、证书、回调地址、时间戳、截止时间;
所述代理合约在接收到所述工业数据请求之后,验证所述目标实体的身份,并在链下数据请求队列中增加所述工业数据请求,以触发链下事件;
所述数据预言机在链下监听到该时间后,到指定的数据源获取数据,并经过链下聚合和共识之后,向所述代理合约回调数据,其中,回调的数据包括以下至少之一:数据、公钥组回调地址、时间戳、聚合的签名;
所述代理合约在接收到回调请后,验证聚合的签名的有效性,并确定时间戳是否小于截止时间;
在确定聚合的签名有效,且时间戳小于截止时间的情况下,将所述回调请求回调至所述生成合约,并将所述工业数据请求从链下数据请求队列中删除。
在一个实施方式中,通过跨域预言机实现链间的数据协同,包括:
目标实体向有跨域数据需求的源本地链的生产合约发送跨域请求并指定接受跨域请求的目标本地链;
所述生产合约调用所述有跨域数据需求的源本地链上的代理合约提供的跨域接口转发所述跨域请求,其中,所述跨域请求中携带以下至少之一:指定的接受跨域请求的目标本地链、指定的接受跨域请求的目标本地链中生产合约的地址、待修改的数据状态、公钥、签名、证书、回调地址、时间戳、截止时间;
代理合约在接收到所述跨域请求之后,根据证书验证所述目标实体的身份,并在待处理的链下数据请求队列中加入所述跨域请求,并触发跨域事件;
双链交互的代理将所述跨域请求转发给联邦链,并在所述联邦链上进行备案;
所述双链交互的代理将备案交易的默克尔根写入所述有跨域数据需求的源本地链的代理合约中;
跨域预言机在监听到所述跨域事件后,验证监听到跨域事件之后,验证默克尔根是否存在于联邦链中;
如果存在,在经过网络共识后,向接受跨域请求的目标本地链的代理合约中写入所述跨域请求;
指定接受跨域请求的目标本地链的代理合约验证签名的有效性,并确定时间戳是否小于截止时间;
在确定签名有效,且时间戳小于截止时间的情况下,代理合约调用回调地址所指定的生产合约修改数据,并触发回调事件;
响应于所述回调事件,在执行共识操作后,调用有跨域数据需求的源本地链的代理合约执行回调操作;
有跨域数据需求的源本地链的代理合约对签名和结果进行验证,在验证通过后,调用生产合约返回结果,并将所述跨域请求从所述待处理的链下数据请求队列中移除。
在一个实施方式中,通过计算预言机实现计算协同,包括:
物理实体或数字实体将工业计算任务写入应用合约;
所述应用合约将所述工业计算任务转发到代理合约,以触发工业计算任务共享事件;
所述计算预言机监听所述工业计算任务共享事件,并控制网络中的多个节点对所述工业计算任务进行协同计算,得到计算结果;
将所述计算结果回调到链上。
在一个实施方式中,在所述计算预言机监听所述工业计算任务共享事件,并控制网络中的多个节点对所述工业计算任务进行协同计算,得到计算结果包括:
各客户端节点在接收到主节点的计算任务之后,根据数据集的存储位置获取自身需要处理的数据,并按照预设训练规则和参数,训练得到最优的模型参数,并将训练得到的最优的模型参数发送至主节点进行聚合;
主节点在接收到所有客户端节点发送的训练得到的最优的模型参数之后,选取预定比例的测试集对每个最优的模型参数进行测试,得到模型参数排序结果;
从模型参数排序结果中选取排名前预设比例的模型参数下放到预言机网络层的客户端节点:
预言机网络层的客户端节点在收到排名前预设比例的模型参数后,验证排名前预设比例的模型参数的摘要是否与链上存储的模型参数的摘要相同,如果相同,则对全局模型进行更新。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现上述方法的步骤。
本申请提供的基于区块链的去中心化互联网协同系统和数据交互方法,通过引入数据预言机和跨域预言机,可以打通链下和链上数据,并通过统一的协同机制可以实现链外数据的一致性,通过引入计算预言机可以将计算任务转移到链下执行,并可以保证链下计算任务的真实性。即,通过在协同系统中引入预言机,可以有效解决现有的数字实体和物理实体之间无法进行高效数据交互的问题,达到了高效准确进行数据交互的技术效果,且可以完成复杂的数据计算。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的基于区块链的去中心化互联网协同系统的架构示意图;
图2是本申请提供的基于区块链的去中心化互联网协同系统进行数据交互的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到区块链仅是纯粹的基于简单规则与方法调用的程序集合,难以处理复杂的工业互联网数据和逻辑。构建工业数字孪生网络需要面对庞大的工业数据以及复杂的数据源,区块链难以直接调用和存储上述数据。由于区块链的确定性特性使得其无法主动获取外部工业数据,使得多区块链的IIoT生态数据交换变得很难,使得数字孪生网络中数字实体和物理实体的数据交换难,因此需要在工业架构中设置一个数据协同的媒介。进一步的,因为数字孪生对智能化的需求,基于简单规则的区块链难以在链上执行大量的计算任务,因此需要设置一个计算协同的媒介。
为此,在本例中,面向IIoT的基于区块链的数字孪生架构,提出了一种基于区块链的去中心化工业互联网协同机制,引入了预言机作为数据媒介和计算媒介。预言机通过链下的去中心化数据协同网络对链上的工业数据需求进行反馈,通过链下的去中心化计算协同网络执行链上的工业计算任务,并提出了一种通用的链下协同机制,对数据协同和计算协同进行逻辑上的统一处理,以保证链下协同的IIoT数据一致性。
为了实现对方案的清晰说明,下面先对涉及到的几个名词解释如下:
1)数据协同:
区块链是一种点对点的分布式数据共享范式,区块链2.0时代的产物智能合约在3.0时代成为满足工业互联网复杂逻辑的重要手段。然而,智能合约只是纯粹的基于简单规则与递归调用的子程序的集合,面对工业互联网这种数据量大、设备数量多的应用场景,对区块链的存储能力、共识效率和协同能力提出挑战。针对工业区块链存储拓展挑战,考虑到可以基于链上链下协同机制,以去中心化存储的空间换存储的方式,拓展区块链的存储能力。基于区块链管理云服务上的边缘设备数据,区块链的作用为云服务的授权认证中心,区块链仅存储授权信息。针对共识效率和协同能力的挑战,目前有链下和链上两种手段。链上则是通过修改区块大小、区块组织方式、分片等方式进行;链下则是通过侧链、rollup、多链分层等方式进行。由于工业互联网参与者众多,参与者之间具备体系关联关系,在本例中,主要考虑到多链分层的网络架构是否能够应对共识效率和数据协同的挑战。
预言机是连接区块链与外部真实数据的工具,其通过桥接智能合约与现实世界实现数据的协同,被认为是互操作性的一种重要应用场景。
2)计算协同:
边缘计算是一种计算范式,其将计算能力和存储能力下放到边缘侧,以降低核心网络的负载。边缘计算的分布式特性使得其与区块链天然匹配。区块链为其提供数据协同,边缘计算为区块链提供计算协同。
3)数字孪生:
随着新一代信息技术和数字技术的发展,越来越多的工业数据被收集,未来的工业互联网被认为是去中心化的架构。越来越多的工业设备可以通过指令和数据的双向控制,使得数字孪生的概念引起越来越多的关注并且发展迅速。数字孪生是构成元宇宙的基础技术之一,它的概念很简单,即以一种精确、实时的方式连接物理实体和数字实体。基于数字孪生可双向同步和控制物理实体和数字实体的特性,已经被应用到多个工业场景中。然而,异构数据和模型成为阻碍数字孪生发展的绊脚石。区块链的可信共享天然适配数字孪生技术,尤其是天然应用于参与主体多、彼此之间无信任的制造场景。
面向制造业的数字孪生网络架构,该架构可以分为物理实体和数字实体两个部分,其中,物理实体主要包括制造车间中的各种工业设备以及网络设备,数字实体主要包括接收需求和偏好的数字孪生控制面板、维护数据安全可信的区块链网络、打通区块链和数字孪生物理实体的预言机网络。
如图1所示,该基于区块链的去中心化互联网协同系统,可以包括:
设备层101,由物理实体组成,其中,所述物理实体通过传感器收集源数据,并上传至数字实体;
网络层102,由边缘网关和基站组成,接收来自所述物理实体的源数据,并对所述源数据进行预处理后上传至数字实体;
存储层103,由云服务和边缘区块链网络共同组成,通过云服务存储所述物理实体的源数据,并将生产源数据的元数据上传至所述边缘区块链网络进行唯一映射索引;
预言机网络层104,由用于域内数据共享的数据预言机、用于跨域数据共享的跨域预言机和用于计算资源共享的计算预言机组成;
控制层105,由数字孪生平台组成,用于基于设备层、网络层、存储层和预言机网络层流转的数据为各生产节点提供增删改查的接口。
其中,上述的边缘区块链网络可以包括:第一层,由各参与实体和监管节点形成的联邦链组成,用于对全局性数据进行管理;第二层,由各参与数字实体各自形成的本地链组成,用于对局部数据进行管理。
具体的,上述的数据预言机可以包括:用于接收数字孪生实体工业数据共享请求的应用合约、统一的工业数据预言机接口、链下获取和回调工业数据的点对点网络;上述的跨域预言机可以包括:源区块链、目的区块链和跨域预言机,包含接收实体跨域共享请求的应用合约的源区块链,包含接收跨域共享请求的代理合约的目的区块链,用于转发和回调跨域共享请求的点对点网络;上述的计算预言机可以包括:接收工业计算共享请求的应用合约,计算预言机接口及代理合约,回调训练结果的计算预言机网络。
基于上述的基于区块链的去中心化互联网协同系统,在本例中提供了一种数据交互的方法,如图2所示,可以包括如下步骤:
步骤201:通过数据预言机进行链上和链下的工业数据的协同;
具体的,通过数据预言机进行链上和链下的工业数据的协同,可以包括:
S1:物理实体或数字实体通过调用应用合约的请求函数,进而调用代理合约的函数,触发工业数据共享事件;
S2:数据预言机监听所述工业数据共享事件;
S3:数据预言机寻址到工业数据共享事件所指定的地址获取工业数据,并在链下进行数据聚合;
S4:将聚合结果返回链下的数据预言机网络监听该事件,寻址到工业数据共享请求指定的地址获取工业数据,并在链下聚合,返回聚合结果到链上。
步骤202:通过跨域预言机实现链间的数据协同;
步骤203:通过计算预言机实现计算协同。
在实现的时候,通过数据预言机进行链上和链下的工业数据的协同,可以包括:
S1:目标实体向生产合约发送链下链下工业数据请求并指定数据接口或数据源;
S2:生产合约调用代理合约提供的接口转发所述工业数据请求,其中,所述工业请求中包括以下至少之一:数据源、公钥、签名、证书、回调地址、时间戳、截止时间;
S3:代理合约在接收到所述工业数据请求之后,验证所述目标实体的身份,并在链下数据请求队列中增加所述工业数据请求,以触发链下事件;
S4:数据预言机在链下监听到该时间后,到指定的数据源获取数据,并经过链下聚合和共识之后,向所述代理合约回调数据,其中,回调的数据包括以下至少之一:数据、公钥组回调地址、时间戳、聚合的签名;
S5:代理合约在接收到回调请后,验证聚合的签名的有效性,并确定时间戳是否小于截止时间;
S6:在确定聚合的签名有效,且时间戳小于截止时间的情况下,将所述回调请求回调至所述生成合约,并将所述工业数据请求从链下数据请求队列中删除。
在实现的时候,通过跨域预言机实现链间的数据协同,可以包括:
S1:目标实体向有跨域数据需求的源本地链的生产合约发送跨域请求并指定接受跨域请求的目标本地链;
S2:生产合约调用所述有跨域数据需求的源本地链上的代理合约提供的跨域接口转发所述跨域请求,其中,所述跨域请求中携带以下至少之一:指定的接受跨域请求的目标本地链、指定的接受跨域请求的目标本地链中生产合约的地址、待修改的数据状态、公钥、签名、证书、回调地址、时间戳、截止时间;
S3:代理合约在接收到所述跨域请求之后,根据证书验证所述目标实体的身份,并在待处理的链下数据请求队列中加入所述跨域请求,并触发跨域事件;
S4:双链交互的代理将所述跨域请求转发给联邦链,并在所述联邦链上进行备案;
S5:双链交互的代理将备案交易的默克尔根写入所述有跨域数据需求的源本地链的代理合约中;
S6:跨域预言机在监听到所述跨域事件后,验证监听到跨域事件之后,验证默克尔根是否存在于联邦链中;
S7:如果存在,在经过网络共识后,向接受跨域请求的目标本地链的代理合约中写入所述跨域请求;
S8:指定接受跨域请求的目标本地链的代理合约验证签名的有效性,并确定时间戳是否小于截止时间;
S9:在确定签名有效,且时间戳小于截止时间的情况下,代理合约调用回调地址所指定的生产合约修改数据,并触发回调事件;
S10:响应于所述回调事件,在执行共识操作后,调用有跨域数据需求的源本地链的代理合约执行回调操作;
S12:有跨域数据需求的源本地链的代理合约对签名和结果进行验证,在验证通过后,调用生产合约返回结果,并将所述跨域请求从所述待处理的链下数据请求队列中移除。
具体的,通过计算预言机实现计算协同,可以包括:
S1:物理实体或数字实体将工业计算任务写入应用合约;
S2:应用合约将所述工业计算任务转发到代理合约,以触发工业计算任务共享事件;
所述计算预言机监听所述工业计算任务共享事件,并控制网络中的多个节点对所述工业计算任务进行协同计算,得到计算结果;
S3:将所述计算结果回调到链上。
在实现的时候,在所述计算预言机监听所述工业计算任务共享事件,并控制网络中的多个节点对所述工业计算任务进行协同计算,得到计算结果可以包括:
S1:各客户端节点在接收到主节点的计算任务之后,根据数据集的存储位置获取自身需要处理的数据,并按照预设训练规则和参数,训练得到最优的模型参数,并将训练得到的最优的模型参数发送至主节点进行聚合;
S2:主节点在接收到所有客户端节点发送的训练得到的最优的模型参数之后,选取预定比例的测试集对每个最优的模型参数进行测试,得到模型参数排序结果;
S3:从模型参数排序结果中选取排名前预设比例的模型参数下放到预言机网络层的客户端节点:
S4:预言机网络层的客户端节点在收到排名前预设比例的模型参数后,验证排名前预设比例的模型参数的摘要是否与链上存储的模型参数的摘要相同,如果相同,则对全局模型进行更新。
具体的,上述的基于区块链的去中心化互联网协同系统可以包括:
设备层,由工业设备、车间的生产设备以及订单交付的验收设备等物理实体组成,该部分物理实体通过传感器收集物理实体的多模态数据,并通过网络层上传到数字孪生的数字实体。
网络层,由边缘网关、基站等通信设备组成。其接收来自物理实体的传感数据并在预处理之后上传到数字实体,并下发数字实体的控制命令,帮助物理实体和数字实体实现双向的数据流动。
存储层,包括云服务和边缘区块链网络,二者的作用是互为补充。区块链的冗余备份特性使得数字孪生网络无法存储大规模的多源异构数据,同时边缘区块链的交易数据类型比较单一,这意味着其无法获取数字孪生网络的数据接口、数据文件和数据库表。同时,IIoT生态中各参与方通常将数据存储于本地的数据中心,并不会愿意将其上传到去中心化存储中,为此,在本例中,选择云服务与区块链共同组成存储层。然而,云服务的中心化特性使得其可能出现恶意节点故意篡改数据的问题。为此,在本例中考虑到可以采用云服务存储物理实体生产的源数据,并将生产源数据的metadata(元数据)上传到边缘区块链网络进行唯一的映射索引。通过将多种数据类型延伸成元数据索引这种逻辑集中统一、便于链上使用和链下管理的数字对象,使得在拓展区块链存储能力和防止数据被篡改的同时,可以构建统一的数据标准。
Pedal层(预言机层),该层主要由负责域内数据共享的数据预言机、跨域数据共享的跨域预言机以及计算资源共享的计算预言机组成,可以将这个预言机网络作为Pedal,是数字孪生重要的零部件。由于区块链的封闭特性,即共识时保证每个节点针对相同的交易请求有相同的结果,其无法主动与外部的数字实体和物理实体交互,因此需要预言机连接区块链与数字孪生世界、工业区块链与工业区块链,最终实现数据和计算任务在数字孪生场景中高效全流程流转。
控制层,由数字孪生平台组成,该平台基于设备层、网络层、存储层和pedal层流转的数据向各生产节点提供增删改查的接口,基于双层区块链网络对各生产流程的故障诊断、容错等,进行分析与挖掘,构建全场景工业画像,帮助各级决策者高效控制和接收工业现场的设备数据,提高效率。
上述存储层中的区块链,是由双层、多条区块链组成的区块链生态,被命名为SewingChain。主要是因为真实的IIoT生态的参与实体众多、领域众多、设备数据众多,导致这些实体难以构建一个完全统一的区块链网络进行数据共享,类似于每个公司内部都有内网。同时,数字孪生是未来智慧城市的重要组成部分,需要有监管部门的参与,来规范各参与实体的行为。SewingChain中包含监管作用的Federal Blockchain(联邦链,FBC)和各参与实体内部组成的Local Blockchain(本地链,LBC)。
其中,SewingChain的第一层为各参与实体和监管部门共同组成的FBC,其作用是实现全局性工业数据治理。参与FBC网络区块共识和验证的节点可以称为Federal Node,denoted as F_g。当工业区块链与工业区块链之间需要交互、工业区块链与数字实体、物理实体之间需要交互时,需要向FBC发送请求,在获得F_g的共识之后,才可以进行交互。
SewingChain的第二层为各参与数字实体各自组成的LBC,可以有多条LBC即数字实体可任意组成LBC,其作用是实现局部工业数据管理。参与LBC网络区块共识和验证的全局性节点称为Local Node,可以表示为L_g。仅具备LBC网络查询权限的节点称为ObserveNode,可以表示为L_o。L_g接受来自物理实体的metadata,等待共识之后存储于LBC中。如果链下云服务节点擅自篡改数据,那么该部分数据的metadata无法与LBC中的metadata匹配,则此时可得知数据不真实。L_o为数字孪生平台提供查询接口,方便对链上的数据进行分析和挖掘。
上述Pedal层主要由数据预言机、跨域预言机和计算预言机组成,分别解决域内共享难、跨域共享难和计算共享难的问题。
其中,数据预言机(Data Oracle)包含三个部分,分别是用于接收数字孪生实体工业数据共享请求的应用合约,统一的工业数据预言机接口即代理合约,以及链下获取和回调工业数据的点对点网络即data oracle网络。物理实体或数字实体通过调用应用合约的请求函数,进而调用代理合约的函数,触发工业数据共享事件;链下的数据预言机网络监听该事件,寻址到工业数据共享请求指定的地址获取工业数据,并在链下聚合,返回聚合结果到链上。
跨域预言机(Cross-domain Oracle)包含源区块链、目的区块链和跨域预言机,源区块链中包含接收实体跨域共享请求的应用合约,统一的跨域预言机接口即代理合约;目的区块链中包含接收跨域共享请求的代理合约,执行跨域共享请求的应用合约;跨域预言机是转发和回调跨域共享请求的peer-to-peer(点对点)网络。
计算预言机(Computation Oracle)包含接收工业计算共享请求的应用合约,计算预言机接口及代理合约,回调训练结果的计算预言机网络。物理实体或者数字实体将工业计算任务写入应用合约,随后应用合约将工业计算任务转发到代理合约,触发工业计算共享事件,计算预言机网络监听该事件,并按照要求,让网络中的多个节点协同计算,最终将计算结果回调到链上。
基于上述的网络架构,可以按照如下流程进行数据处理:
数字孪生场景下工业数据交互主要以域内共享和跨域共享为主,域内共享即相同信任域的工业设备如何通信,跨域共享即不同信任域的工业数据如何交互,跨域共享包括链上链下和链间两个部分。数据交互机制如下所述:
初始化:
工业设备、网关、边缘服务器等需要在SewingChain架构中创建全网唯一的密钥,利用椭圆曲线数字签名算法和非对称密钥,创建各环节各部门的身份信息。由于联盟链只允许授权认证的节点加入区块链网络,因此,更适用于数字孪生场景。为此,上述设备可以经过联盟链的授权认证节点对数字孪生的各环节各主体进行认证,在认证通过后该主体即有链上的合法身份信息,包括:账户地址、公钥、私钥和证书。
例如,可以表示为:Addr_(e_i)、PK_(e_i)、SK_(e_i)、Cert_(e_i),其中,Addr_(e_i)是PK_(e_i)经由密码学算法计算得出的字符串,具备collision-resistance特性,被用作各主体的账户地址,SK_(e_i)用于签名以唯一表示主体对Addr_(e_i)的所有权,Cert_(e_i)用于认证以表明主体在链上操作的合法性。
域间交互:
域内交互是相同信任域内的数字孪生实体进行相互,包括同一条LBC内的实体交互以及LBC和FBC的交互。
LBC内部的交互:
LBC内部的工业数据交互与一般的区块链网络交易流程大致相同。唯一的不同的是,为了保持FBC对LBC的监督,LBC需要定时将本地的最新区块的默克尔根发送给FBC进行保存,以便日后追溯。由于定期快照仅保存默克尔根和交易摘要,对FBC的性能并不会造成影响。
LBC和FBC之间的交互:
LBC中包含一个特殊的L_g,表示为L_f,该节点同时具备LBC和FBC的读写权限,作为双链交互的代理。L_f的选择可根据信誉值、直接指定、rotation、可验证随机函数等方式选出。L_g将定期上传LBC最新区块链的链上快照到LBC上保存。
具体流程如下所述:L_g广播交易到LBC中,其他L_g和L_f执行predifinedconsensus(预设的共识机制),随后请求被存储到LBC各节点的数据库中。经过一定的区块高度,L_f将LBC的链上快照(包括默克尔根、交易摘要)广播给FBC的F_g开启共识过程。共识结束之后,LBC的链上快照即在FBC上保存。
这种分层交互的作用是大量的数字孪生数据请求将根据区域、行业在下层的多条LBC分别共识,上层的FBC仅进行增量保存,以此来提高可扩展性。虽然上层FBC仅保存链上快照的方式会导致数据可用性降低,但是由于区块链网络LBC的安全性,牺牲部分的数据可用性以换取数据的可扩展性是值得的。
跨域共享:
跨域共享指的是不同信任域内的数字孪生实体进行交互,包括链上链下和链间跨域共享,即LBC或FBC请求外界的实时工业数据、LBC和LBC交互工业数据。
链上和链下协作:
在数字孪生的部分环节需要使用实时的链下数据,以制造业出口资金结算为例,结算时需要调用当时当刻的汇率方可结算。然而,LBC或FBC受限于区块链网络的特性无法主动获取外界的实时数据,更无法通过数据接口获取资金数据。为此,在本例中,采用数据预言机实现链上链下的工业数据协同。
整个机制分为如下几个部分:有链下工业数据需求的实体、存储相应数据的云服务、接收实体需求逻辑的生产合约LoProd、提供链下数据接口的代理合约LoProxy、LBC以及基于数据预言机的Pedal网络。
具体的,实体ei向LoProd发送链下工业数据需求并指定数据接口或数据源,随后LoProd调用LoProxy提供的接口并转发请求,该请求可以包含:数据源ds、公钥签名证书回调地址addrc、时间戳截止时间expt,其中,addrc即为LoProd在LBC的合约地址。可以表示为:
LoProxy在获取到请求后,首先验证实体的身份,随后在待处理的链下数据请求队列中加入该消息,交易写入LBC后将触发链下事件。Pedal网络中的数据预言机在链下监听到事件后,节点到指定的ds获取数据,并经过链下聚合和共识之后向LoProxy回调数据。回调的消息可以包含:数据、公钥组回调地址addrc、时间戳聚合的签名Siga。可以表示为:
LoProxy在接收到回调请求后首先验证Siga的有效性,随后验证是否小于expt,如果上述条件均满足,则将resp回调给LoProd,并将其从链下数据请求队列中删除。当LBC广播上述交易时,ei即可获取指定ds的数据。
跨链协作:
数字孪生的多链异构互联生态使得各LBC彼此协同成为需要解决的问题。在本例中,基于跨域预言机实现链间的数据协同。
整个机制可以分为:有跨域数据需求的Source LBC(SLBC)、备案跨域请求的FBC、执行跨域请求的基于跨域预言机的Pedal、接受跨域请求的Destination LBC(DLBC)。
具体的,实体ei向SLBC的LoProd发送跨域请求并指定DLBC,随后LoProd调用SLBC上的LoProxy提供的跨域接口并转发请求,该请求可以包含:指定的SLBC、SLBC中LoProd的地址Addrd、待修改的数据状态s、公钥签名证书回调地址addrc、时间戳截止时间expt。可以表示为:
LoProxy在获取到跨域请求后,可以首先根据验证实体身份,随后在待处理的链下数据请求队列中加入该请求,交易写入SLBC后触发跨域事件。同时,Lf需要将请求转发给FBC,将该跨域请求在FBC上备案之后,Lf再将备案交易的默克尔根rootm写入SLBC的LoProxy。Pedal网络中的跨域预言机监听到跨域事件之后,首先验证rootm是否存在于FBC中,如果不存在,则不执行该请求,待expt经过后,相关状态还原;如果存在,则经过pedal网络的共识后向DLBC的LoProxy写入跨域请求,请求的内容可以表示为:
DLBC的LoProxy首先验证Siga的有效性,随后验证是否小于expt,如果满足上述条件,LoProxy调用Addrd指定的LoProd修改相应的s,并触发回调事件。Pedal网络执行相关的共识,调用SLBC的LoProxy执行回调操作。回调的内容可以表示为:
SLBC的LoProxy验证签名的有效性以及结果,如果通过,则调用LoProd返回结果,并从待完成的跨域请求队列中移除该请求。
关于Pedal网络的主要共识方法:
基于可验证随机函数和阈值签名,支撑数据预言机、跨域预言机和计算预言机的数据交互和协同。Pedal共识由链上和链下两部分协同保障,链下部分执行投票,链上部分验证结果。整个共识过程可以分为:注册、选举、聚合和回调。
注册:
由于数字孪生的联盟特性,参与Pedal网络的节点需要提前在FBC上注册,以获取合法的身份。节点身份的生成需要k个节点,首先需要k个正整数s1,s2,...,sk,并且gcd(si,sj)=1(i≠j)互质,然后利用这些整数作为种子seed以及乘法循环群G1生成密钥对key(ski,pki,xi),即私钥、公钥和签名。阈值签名包含一个线性映射e使得乘法循环群具备属性G1xG2→G3。此外,阈值签名还具备同态特性,即对于任意两个交易tx1,tx2,如果交易满足tx∈G2,那么h(tx1+tx2)=h(tx1)+h(tx2),h为哈希函数。
选举:
选举指的是共识组的主节点,节点需要在FBC的选举合约FeElect中注册登记,才可以参与主节点的选举。主节点的生成需要利用VRF,首先依靠一个任意长度的字符串生成其中α为消息、任期等组成的字符串,用以筛选节点。这里的任期指,为防止主节点长期就任可能产生的舞弊行为,需要经过一定的区块高度轮换主节点。第一个任期term的leader的种子为空。
节点在本地生成一对公私钥并生成签名根据自己的私钥、公布的种子生成随机数和证明需要强调的是,每个节点本地生成的sk,π是不可见的,即其他节点无法得知到底是谁被选为主节点。但是,在选举的过程中,可能出现三种情况:第一,有且仅有一个节点符合条件,该节点即为主节点;第二,有多个节点符合条件或没有节点符合条件,由FeElect从候选人池子中轮询选出。选出主节点后,主节点领导的组从候选人池子中轮询、抽样或者是其他更加随机的方法。工作组形成后,将生成该工作组的组公钥。
聚合:
Pedal中的节点监听到req后,根据req携带的消息内容进行操作。节点根据消息生成签名σi=(h(req))x,并将该消息转发给主节点。主节点在接收到足够数量的消息后,按照如下公式进行聚合:
回调:
主节点将聚合后的消息和签名写入代理合约。代理合约首先从两个方面验证主节点的身份:
随后代理合约验证聚合签名的有效性,如果满足下列等式,则接受,否则拒绝:
代理合约验证签名的有效性后,将聚合签名、请求结果返回给应用合约,并将req从正在执行的队列中移除。
计算预言机:
资源有限的数字孪生实体将计算任务外包需要采用计算预言机,计算预言机结合Pedal共识和联邦学习使得Pedal网络中的多个节点协作完成计算任务。然而,在外包的过程中,可能产生节点作恶的情况,第一种是,聚合节点作恶,可通过聚合签名的方法解决,第二种是客户端节点作恶的情况。针对客户端节点作恶,在本例中提出了一种基于验证排序的异常节点探测机制。在本例中,计算共享方式假设恶意节点的数量m不超过网络中节点总数量n的即
计算资源有限的数字孪生实体将计算需求写入到LoProd中,计算需求需要包含数据集D、数据集存储位置url、通信轮数r、迭代轮数e、学习率η、batch size B、seed等必要的训练参数,并根据下面等式计算最优的模型参数w。随后LoProd转发到LoProxy进而触发计算资源共享事件,并由Pedal的主节点监听。
本地更新:
Pedal中的客户端节点在接收到主节点的计算任务之后,首先根据url获取Di,随后依照(r,e,η,...,B)等参数层层训练参数wi。随后发送给主节点执行聚合:
聚合:
主节点在接收到全部的wi后,并不像FedAvg一样直接聚合。由于每个客户端节点本地的Di并不相同,导致wi的有效性难以保证。wi可能是经过训练得出,也可能是随机生成的。因此,主节点可以拿出的测试集去测试每个wi得到排序后的结果ws,如下等式所述。并根据ws选取排名前的wi得到聚合后的结果wg并下放到Pedal网络的客户端节点,如下等式所述。同时,为了防止主节点给不同客户端节点下放不同的参数,其需要将wg的摘要写入LBC,进行验证。
全局更新:
Pedal网络中的客户端节点接收到wg′之后,首先验证wg′的摘要是否与链上存储的wg摘要相同;如果相同,则随后进行全局模型的更新;如果不相同,则不更新模型。
其中,α的取值可以是根据经验值确定的,主要的目的是通过粗略的测试来对wi进行排序。对于的取值,可以假设数字孪生的网络中有n个客户端节点参与训练,其中有m个恶意节点,且满足恶意节点的特征是随机生成wi,恶意节点生成的参数结果好于部分诚实节点的概率为ξ,则生成的参数结果差于部分诚实节点的概率为1-ξ,则验证排序(Verify-Sort)后选出的效果较好的前中存在k1恶意节点的概率为:
由于ξ和γ的概率远小于诚实节点,恶意节点企图干扰数字孪生计算协同过程的可能性较低。
在上例中,考虑到智能化IIoT机器需要物理实体与数字实体之间频繁的数据交换,这给传统的中心化工业架构带来严峻的挑战,去中心化的工业架构迫在眉睫。然而,基于区块链和数字孪生的去中心化工业架构无法处理庞大且复杂的工业数据,无法连接工业区块链生态中的设备数据,无法处理复杂且高能耗的工业计算任务。为解决上述问题,在上例中,提出了一种基于区块链的去中心化工业互联网协同机制,并提出了一种基于预言机的数据协同网络,以打通链上、链下、链间的工业数据,并通过逻辑统一的协同机制实现链外数据的一致性。进一步的,提出了基于预言机的计算协同网络,将计算任务转移到链下执行,并通过可靠的聚合方法实现链下计算任务的真实性。
本申请的实施例还提供能够实现上述实施例中的数据交互方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的数据交互方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:通过数据预言机进行链上和链下的工业数据的协同;
步骤2:通过跨域预言机实现链间的数据协同;
步骤3:通过计算预言机实现计算协同。
从上述描述可知,本申请实施例通过引入数据预言机和跨域预言机,可以打通链下和链上数据,并通过统一的协同机制可以实现链外数据的一致性,通过引入计算预言机可以将计算任务转移到链下执行,并可以保证链下计算任务的真实性。即,通过在协同系统中引入预言机,可以有效解决现有的数字实体和物理实体之间无法进行高效数据交互的问题,达到了高效准确进行数据交互的技术效果,且可以完成复杂的数据计算。
本申请的实施例还提供能够实现上述实施例中的数据交互方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据交互方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:通过数据预言机进行链上和链下的工业数据的协同;
步骤2:通过跨域预言机实现链间的数据协同;
步骤3:通过计算预言机实现计算协同。
从上述描述可知,本申请实施例通过引入数据预言机和跨域预言机,可以打通链下和链上数据,并通过统一的协同机制可以实现链外数据的一致性,通过引入计算预言机可以将计算任务转移到链下执行,并可以保证链下计算任务的真实性。即,通过在协同系统中引入预言机,可以有效解决现有的数字实体和物理实体之间无法进行高效数据交互的问题,达到了高效准确进行数据交互的技术效果,且可以完成复杂的数据计算。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种基于区块链的去中心化互联网协同系统,其特征在于,包括:
设备层,由物理实体组成,其中,所述物理实体通过传感器收集源数据,并上传至数字实体;
网络层,由边缘网关和基站组成,接收来自所述物理实体的源数据,并对所述源数据进行预处理后上传至数字实体;
存储层,由云服务和边缘区块链网络共同组成,通过云服务存储所述物理实体的源数据,并将生产源数据的元数据上传至所述边缘区块链网络进行唯一映射索引;
预言机网络层,由用于域内数据共享的数据预言机、用于跨域数据共享的跨域预言机和用于计算资源共享的计算预言机组成;
控制层,由数字孪生平台组成,用于基于设备层、网络层、存储层和预言机网络层流转的数据为各生产节点提供增删改查的接口。
2.根据权利要求1所述的系统,其特征在于,所述边缘区块链网络包括:
第一层,由各参与实体和监管节点形成的联邦链组成,用于对全局性数据进行管理;
第二层,由各参与数字实体各自形成的本地链组成,用于对局部数据进行管理。
3.根据权利要求1所述的系统,其特征在于:
所述数据预言机包括:用于接收数字孪生实体工业数据共享请求的应用合约、统一的工业数据预言机接口、链下获取和回调工业数据的点对点网络;
所述跨域预言机包括:源区块链、目的区块链和跨域预言机,包含接收实体跨域共享请求的应用合约的源区块链,包含接收跨域共享请求的代理合约的目的区块链,用于转发和回调跨域共享请求的点对点网络;
所述计算预言机包括:接收工业计算共享请求的应用合约,计算预言机接口及代理合约,回调训练结果的计算预言机网络。
4.一种基于权利要求1至3中任一项所述的基于区块链的去中心化互联网协同系统进行数据交互的方法,其特征在于,包括:
通过数据预言机进行链上和链下的工业数据的协同;
通过跨域预言机实现链间的数据协同;
通过计算预言机实现计算协同。
5.根据权要求4所述的方法,其特征在于,通过数据预言机进行链上和链下的工业数据的协同,包括:
物理实体或数字实体通过调用应用合约的请求函数,进而调用代理合约的函数,触发工业数据共享事件;
所述数据预言机监听所述工业数据共享事件;
所述数据预言机寻址到工业数据共享事件所指定的地址获取工业数据,并在链下进行数据聚合;
将聚合结果返回链下的数据预言机网络监听该事件,寻址到工业数据共享请求指定的地址获取工业数据,并在链下聚合,返回聚合结果到链上。
6.根据权利要求4所述的方法,其特征在于,通过数据预言机进行链上和链下的工业数据的协同,包括:
目标实体向生产合约发送链下链下工业数据请求并指定数据接口或数据源;
所述生产合约调用代理合约提供的接口转发所述工业数据请求,其中,所述工业请求中包括以下至少之一:数据源、公钥、签名、证书、回调地址、时间戳、截止时间;
所述代理合约在接收到所述工业数据请求之后,验证所述目标实体的身份,并在链下数据请求队列中增加所述工业数据请求,以触发链下事件;
所述数据预言机在链下监听到该时间后,到指定的数据源获取数据,并经过链下聚合和共识之后,向所述代理合约回调数据,其中,回调的数据包括以下至少之一:数据、公钥组回调地址、时间戳、聚合的签名;
所述代理合约在接收到回调请后,验证聚合的签名的有效性,并确定时间戳是否小于截止时间;
在确定聚合的签名有效,且时间戳小于截止时间的情况下,将所述回调请求回调至所述生成合约,并将所述工业数据请求从链下数据请求队列中删除。
7.根据权利要求4所述的方法,其特征在于,通过跨域预言机实现链间的数据协同,包括:
目标实体向有跨域数据需求的源本地链的生产合约发送跨域请求并指定接受跨域请求的目标本地链;
所述生产合约调用所述有跨域数据需求的源本地链上的代理合约提供的跨域接口转发所述跨域请求,其中,所述跨域请求中携带以下至少之一:指定的接受跨域请求的目标本地链、指定的接受跨域请求的目标本地链中生产合约的地址、待修改的数据状态、公钥、签名、证书、回调地址、时间戳、截止时间;
代理合约在接收到所述跨域请求之后,根据证书验证所述目标实体的身份,并在待处理的链下数据请求队列中加入所述跨域请求,并触发跨域事件;
双链交互的代理将所述跨域请求转发给联邦链,并在所述联邦链上进行备案;
所述双链交互的代理将备案交易的默克尔根写入所述有跨域数据需求的源本地链的代理合约中;
跨域预言机在监听到所述跨域事件后,验证监听到跨域事件之后,验证默克尔根是否存在于联邦链中;
如果存在,在经过网络共识后,向接受跨域请求的目标本地链的代理合约中写入所述跨域请求;
指定接受跨域请求的目标本地链的代理合约验证签名的有效性,并确定时间戳是否小于截止时间;
在确定签名有效,且时间戳小于截止时间的情况下,代理合约调用回调地址所指定的生产合约修改数据,并触发回调事件;
响应于所述回调事件,在执行共识操作后,调用有跨域数据需求的源本地链的代理合约执行回调操作;
有跨域数据需求的源本地链的代理合约对签名和结果进行验证,在验证通过后,调用生产合约返回结果,并将所述跨域请求从所述待处理的链下数据请求队列中移除。
8.根据权利要求4所述的方法,其特征在于,通过计算预言机实现计算协同,包括:
物理实体或数字实体将工业计算任务写入应用合约;
所述应用合约将所述工业计算任务转发到代理合约,以触发工业计算任务共享事件;
所述计算预言机监听所述工业计算任务共享事件,并控制网络中的多个节点对所述工业计算任务进行协同计算,得到计算结果;
将所述计算结果回调到链上。
9.根据权利要求8所述的方法,其特征在于,在所述计算预言机监听所述工业计算任务共享事件,并控制网络中的多个节点对所述工业计算任务进行协同计算,得到计算结果包括:
各客户端节点在接收到主节点的计算任务之后,根据数据集的存储位置获取自身需要处理的数据,并按照预设训练规则和参数,训练得到最优的模型参数,并将训练得到的最优的模型参数发送至主节点进行聚合;
主节点在接收到所有客户端节点发送的训练得到的最优的模型参数之后,选取预定比例的测试集对每个最优的模型参数进行测试,得到模型参数排序结果;
从模型参数排序结果中选取排名前预设比例的模型参数下放到预言机网络层的客户端节点:
预言机网络层的客户端节点在收到排名前预设比例的模型参数后,验证排名前预设比例的模型参数的摘要是否与链上存储的模型参数的摘要相同,如果相同,则对全局模型进行更新。
10.一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现权利要求4至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012615.0A CN114493865A (zh) | 2022-01-06 | 2022-01-06 | 基于区块链的去中心化互联网协同系统和数据交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012615.0A CN114493865A (zh) | 2022-01-06 | 2022-01-06 | 基于区块链的去中心化互联网协同系统和数据交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114493865A true CN114493865A (zh) | 2022-05-13 |
Family
ID=81509765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210012615.0A Pending CN114493865A (zh) | 2022-01-06 | 2022-01-06 | 基于区块链的去中心化互联网协同系统和数据交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114493865A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114862397A (zh) * | 2022-07-06 | 2022-08-05 | 国网天津市电力公司培训中心 | 一种基于双链结构的双解耦区块链分布式方法 |
CN114943109A (zh) * | 2022-05-24 | 2022-08-26 | 天津天河云筑工科技有限公司 | 基于bim的工程项目数字化交付方法及系统 |
CN115314513A (zh) * | 2022-06-16 | 2022-11-08 | 北京邮电大学 | 基于区块链的信任孪生方法及相关设备 |
CN116405393A (zh) * | 2023-06-09 | 2023-07-07 | 广东致盛技术有限公司 | 一种用于数据孪生的边缘智能网关优化方法及装置 |
CN116684430A (zh) * | 2023-06-13 | 2023-09-01 | 山东大学 | 一种分布式双向预言机和区块链系统 |
CN116866045A (zh) * | 2023-07-18 | 2023-10-10 | 四川华西集采电子商务有限公司 | 一种基于访问控制规则的区块链可信预言机决策支撑系统 |
CN118278839A (zh) * | 2024-03-01 | 2024-07-02 | 中路高科交通检测检验认证有限公司 | 冷链物流中双链存储方法、系统、设备、储存介质及程序 |
-
2022
- 2022-01-06 CN CN202210012615.0A patent/CN114493865A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114943109A (zh) * | 2022-05-24 | 2022-08-26 | 天津天河云筑工科技有限公司 | 基于bim的工程项目数字化交付方法及系统 |
CN115314513B (zh) * | 2022-06-16 | 2023-09-19 | 北京邮电大学 | 基于区块链的信任孪生方法及相关设备 |
CN115314513A (zh) * | 2022-06-16 | 2022-11-08 | 北京邮电大学 | 基于区块链的信任孪生方法及相关设备 |
CN114862397B (zh) * | 2022-07-06 | 2022-09-30 | 国网天津市电力公司培训中心 | 一种基于双链结构的双解耦区块链分布式方法 |
CN114862397A (zh) * | 2022-07-06 | 2022-08-05 | 国网天津市电力公司培训中心 | 一种基于双链结构的双解耦区块链分布式方法 |
CN116405393A (zh) * | 2023-06-09 | 2023-07-07 | 广东致盛技术有限公司 | 一种用于数据孪生的边缘智能网关优化方法及装置 |
CN116405393B (zh) * | 2023-06-09 | 2023-09-22 | 广东致盛技术有限公司 | 一种用于数据孪生的边缘智能网关优化方法及装置 |
CN116684430A (zh) * | 2023-06-13 | 2023-09-01 | 山东大学 | 一种分布式双向预言机和区块链系统 |
CN116684430B (zh) * | 2023-06-13 | 2024-03-08 | 山东大学 | 一种分布式双向预言机和区块链系统 |
CN116866045A (zh) * | 2023-07-18 | 2023-10-10 | 四川华西集采电子商务有限公司 | 一种基于访问控制规则的区块链可信预言机决策支撑系统 |
CN116866045B (zh) * | 2023-07-18 | 2024-01-23 | 四川华西集采电子商务有限公司 | 一种基于访问控制规则的区块链可信预言机决策支撑系统 |
CN118278839A (zh) * | 2024-03-01 | 2024-07-02 | 中路高科交通检测检验认证有限公司 | 冷链物流中双链存储方法、系统、设备、储存介质及程序 |
CN118278839B (zh) * | 2024-03-01 | 2024-09-03 | 中路高科交通检测检验认证有限公司 | 冷链物流中双链存储方法、系统、设备、储存介质及程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114493865A (zh) | 基于区块链的去中心化互联网协同系统和数据交互方法 | |
Lashkari et al. | A comprehensive review of blockchain consensus mechanisms | |
AU2020414467B2 (en) | Partially-ordered blockchain | |
Du et al. | An optimized consortium blockchain for medical information sharing | |
US11336455B2 (en) | Consensus protocol for blockchain DAG structure | |
US11741083B2 (en) | Cross-shard private atomic commit | |
US11949691B2 (en) | Malicious peer identification | |
US11562228B2 (en) | Efficient verification of machine learning applications | |
US20200394552A1 (en) | Aggregated maching learning verification for database | |
US20200374301A1 (en) | Malicious peer identification for database block sequence | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CA3171999A1 (en) | Faster view change for blockchain | |
JP2022553674A (ja) | 存在するチェーン・コードに基づくチェーン・コード推奨 | |
KR20220027809A (ko) | 가상 분산 원장 네트워크를 위한 시스템 및 방법 | |
US11849046B2 (en) | Freshness visibility in supply-chain | |
US11455598B2 (en) | Automated conflict resolution | |
US11343313B1 (en) | Fault tolerant periodic leader rotation for blockchain | |
US20210224334A1 (en) | Conflict-free version control | |
CN112491804A (zh) | 一种基于区块链的ics安全策略方法 | |
US20210224253A1 (en) | Conflict-free version control | |
US11683185B2 (en) | Entity certification management | |
US11403348B2 (en) | Conflict-free version control | |
US20210256017A1 (en) | Computation of containment relationships | |
US20210117919A1 (en) | Last-mile deliver coordination | |
US20210349854A1 (en) | Batch processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |