CN113950679A - 使用预言机共识来验证测量数据集 - Google Patents
使用预言机共识来验证测量数据集 Download PDFInfo
- Publication number
- CN113950679A CN113950679A CN202080043633.4A CN202080043633A CN113950679A CN 113950679 A CN113950679 A CN 113950679A CN 202080043633 A CN202080043633 A CN 202080043633A CN 113950679 A CN113950679 A CN 113950679A
- Authority
- CN
- China
- Prior art keywords
- measurement data
- data set
- block
- comparison
- observables
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24545—Selectivity estimation or determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种方法包括:在节点(121,151‑153)处获得指示事件(81)的一个或多个第一可观测量(85)的第一测量数据集(91),第一测量数据集(91)由第一测量设备(101)提供;在节点(121,151‑153)处获得指示事件(81)的一个或多个第二可观测量(86)的第二测量数据集(92),第二测量数据集(92)由第二测量设备(102)提供;并且触发第一测量数据集(91)与第二测量数据集(92)之间的比较;以及取决于比较的结果,选择性地触发用于第一测量数据集(91)或第二测量数据集(92)中的至少一个的一个或多个验证措施,一个或多个验证措施在分布式数据库(159)处实现。
Description
技术领域
本发明涉及一种验证测量数据集的方法。本发明的各种实施例具体涉及使用在分布式数据库(诸如区块链)处实现的一个或多个验证措施来验证测量数据集。
背景技术
分布式数据库—诸如区块链—使针对数据操纵的安全性增加。因此,各种功能—例如工业环境中的感测和控制功能、电网的控制、运输系统等—依赖于存储在分布式数据库中的数据。
依赖于存储在分布式数据库中的数据的各种功能可以被事件驱动。即,一个或多个功能可以由分布式数据库外部的事件触发和/或依赖于分布式数据库外部的事件,即基于外部数据。为此,测量设备(有时也被称作预言机(英语:oracle))是已知的。预言机可以提供指示事件的一个或多个可观测量的测量数据集。然后,测量数据集可以被存储在分布式数据库中。逻辑功能可取决于这些测量数据集。
测量数据集的有效性/完整性有时会受损。这可能是由于例如故障的预言机或欺诈。测量数据集的此类有限有效性还会损害存储在分布式数据库中的数据的完整性或取决于测量数据集的任何功能。
因此,需要验证测量数据集的技术。尤其是,需要克服或减轻至少一些上述限制和缺点的技术。
独立权利要求的特征满足了该需求。从属权利要求的特征限定了实施例。
发明内容
一种方法包括获得指示事件的一个或多个可观测量的第一测量数据集。在节点处获得第一测量数据集。第一测量数据集由第一预言机提供。该方法还包括在节点处获得第二测量数据集。第二测量数据集指示事件的一个或多个第二可观测量。第二测量数据集由第二预言机提供。该方法还包括触发第一测量数据集和第二测量数据集之间的比较。该方法还包括选择性地触发用于第一测量数据集和/或第二测量数据集的一个或多个验证措施。该一个或多个验证措施在分布式数据库处实现。
一种计算机程序或计算机程序产品或计算机可读存储介质包括程序代码。程序代码可以由至少一个处理器执行。执行该程序代码可以使该至少一个处理器执行一种方法。该方法包括获得指示事件的一个或多个可观测量的第一测量数据集。在节点处获得第一测量数据集。第一测量数据集由第一预言机提供。该方法还包括在节点处获得第二测量数据集。第二测量数据集指示事件的一个或多个第二可观测量。第二测量数据集由第二预言机提供。该方法还包括触发第一测量数据集和第二测量数据集之间的比较。该方法还包括选择性地触发用于第一测量数据集和/或第二测量数据集的一个或多个验证措施。该一个或多个验证措施在分布式数据库处实现。
节点包括通信接口和至少一个处理器。该至少一个处理器被配置为:经由通信接口从第一预言机获得指示事件的一个或多个第一可观测量的第一测量数据集;经由通信接口从第二预言机获得指示事件的一个或多个第二可观测量的第二测量数据集;触发第一测量数据集和第二测量数据集之间的比较;以及取决于比较的结果,选择性地触发用于第一测量数据集或第二测量数据集中的至少一个的一个或多个验证措施,该一个或多个验证措施在分布式数据库处实现。
一种方法包括在第二预言机处采集第二测量数据集。该方法还包括在第二预言机处获得第一测量数据集。第二测量数据集指示事件的一个或多个第二可观测量。第一测量数据集指示事件的一个或多个第一可观测量。第一测量数据集由第一预言机提供。该方法还包括在第二预言机处执行第一测量数据集和第二测量数据集之间的比较。该方法还包括取决于比较结果选择性地触发用于第一测量数据集和/或第二测量数据集的一个或多个验证措施。一个或多个验证措施在分布式数据库处实现。
一种计算机程序或计算机程序产品或计算机可读存储介质包括程序代码。程序代码可以由至少一个处理器执行。执行该程序代码可以使该至少一个处理器执行一种方法。该方法包括在第二预言机处采集第二测量数据集。该方法还包括在第二预言机处获得第一测量数据集。第二测量数据集指示事件的一个或多个第二可观测量。第一测量数据集指示事件的一个或多个第一可观测量。第一测量数据集由第一预言机提供。该方法还包括在第二预言机处执行第一测量数据集和第二测量数据集之间的比较。该方法还包括取决于比较结果选择性地触发用于第一测量数据集和/或第二测量数据集的一个或多个验证措施。该一个或多个验证措施在分布式数据库处实现。
一种预言机包括通信接口和至少一个处理器。至少一个处理器被配置为经由通信接口从另一个预言机获得指示事件的一个或多个第一可观测量的第一测量数据集;采集指示事件的一个或多个第二可观测量第二测量数据集;执行第一测量数据集和第二测量数据集之间的比较;以及取决于比较的结果,选择性地触发用于第一测量数据集或第二测量数据集中的至少一个的一个或多个验证措施,该一个或多个验证措施在分布式数据库中实现。
除非另有明确说明,术语“执行”、“计算”、“计算机实现的”、“计算”、“建立”、“生成”、“配置”、“重构”等优选地涉及修改数据和/或生成数据和/或将数据转换为其它数据的动作和/或处理和/或处理步骤。数据可以由物理量表示,或作为物理量存在,例如作为电脉冲。特别地,术语“计算机”应当广义地解释为覆盖所有具有数据处理能力的电子设备。因此,计算机可以由个人计算机、服务器、存储可编程控制器、手持计算机系统、袖珍PC设备、无线通信设备及其它能够处理数据的通信设备、处理器和用于处理数据的其它电子设备。
在本公开的上下文中,“计算机实现的”可以涉及方法的实现,其中处理器执行至少一个方法步骤。
在本公开的上下文中的处理器可以是机器或电子电路。处理器可以由中央处理器(CPU)或微处理器或微控制器具体实现,例如专用集成电路(ASIC)或数字信号处理器,可与用于存储程序代码等的存储单元相结合。可替代地或附加地,处理器可由集成电路(IC)、特别是现场可编程门阵列(FPGA)、ASIC或数字信号处理器(DSP)或图形处理单元(GPU)来实现。可替代地或附加地,处理器可以由虚拟处理器或虚拟机或软CPU来实现。处理器可以由具有配置接口的可编程处理器来实现,该配置接口有助于本文所描述的各种技术的配置。可编程处理器可以被配置为实现本文所描述的方法步骤、组件、模块或本文所描述的技术的其它方面。
“存储器单元”或“存储器模块”等可以由易失性存储器(以随机存取存储器(RAM)的形式)或非易失性存储器(诸如硬盘或数据载体)来实现。
在本公开的上下文中,“模块”可以由用于存储程序指令的处理器和/或存储器单元来实现。模块可在硬件和/或软件和/或固件中实现。例如,处理器可以被配置为执行程序指令,使得处理器执行实现本文所述的方法或方法步骤的功能。模块也可以是实现各个模块的特定功能/特征的分布式数据库(DBS)的节点。例如,各个模块可以实现为分离的/单独的模块。为此,各个模块可以包括另外的元件。例如,这些另外的元件可以是一个或多个接口(例如数据库接口、通信接口—例如网络接口或WLAN接口)和/或评估单元(例如处理器)和/或存储单元。通过接口,可以交换数据(例如接收、传送、发送或提供数据)。通过评估单元,可以以计算机实现的和/或自动的方式比较、验证、处理、分配或计算数据。通过存储单元,可以以计算机实现的和/或自动的方式存储、检索或提供数据。多个模块也可以由公共处理器实现。
术语“包括”—具体来说关于数据和/或信息—可以涉及在本公开的上下文中在数据结构/数据集中(例如,进而也被存储在存储单元中)的相应信息或相应日期的(计算机实现的)存储。
术语“分配”—具体来说关于数据和/或信息—可以涉及与本公开相关的计算机实现的数据和/或信息的分配。例如,通过存储器地址或唯一标识符来分配第一日期,例如通过将第一日期与第二日期的存储器地址或唯一标识符一起存储在数据集中来分配第二日期。
术语“提供”—具体来说关于数据和/或信息—可以涉及结合本公开的计算机实现的提供。所述提供可以通过接口(例如数据库接口、网络接口、到存储器单元的接口)来实现。可能的是,相应的数据和/或信息在当经由接口提供时被传送和/或发送和/或检索和/或接收。
术语“提供”还可以涉及例如在本公开的上下文中与相应数据一起的事务的加载或保存。例如,这可以在存储器模块上实现或由存储器模块实现。
在本公开的上下文中,术语“提供”还可以涉及将相应数据从区块链或DBS(分别是相应基础设施的DBS)的一个节点传送(或发送或接收或传送)到另一个节点。
“智能合约过程”或“智能合约功能”可以指在处理中通过DBS或相应的基础设施来执行程序代码,例如控制指令的程序代码。
在本公开的上下文中,“校验和”(例如数据块校验和、数据校验和、节点校验和、事务校验和、链接校验和等)可以涉及密码校验和或密码散列或散列值。特别地,可以跨数据集和/或数据和/或一个或多个事务和/或数据块的子部分(例如区块链的区块的区块头或DBS的数据块的数据块头或数据块的事务的仅仅一部分)来确定此类校验和。校验和可以具体地由散列树(例如梅克尔(Merkle)树、帕特里夏(Patricia)树)的一个校验和或多个校验和或一个散列值或多个散列值来实现。此外,“校验和”也可以通过数字签名或密码消息认证码来实现。通过校验和,可以实现对DBS的各级别上的事务以及相关数据和数据集的加密保护/防操纵保护。例如,如果需要增加安全级别,则可能在事务级别上创建校验和并验证校验和。例如,如果需要降低的安全级别,则可在区块级别上创建并验证校验和—例如跨整个区块或仅跨越数据块的一部分和/或事务的一部分。
“数据块校验和”可以涉及在本公开的上下文中跨越数据块的部分或全部事务计算的校验和。节点可以通过数据块校验和来验证/确定数据块的相应部分的完整性/真实性。可替代地或附加地,数据块校验和也可以跨先前数据块/前驱数据块的事务来形成。特别地,数据块校验和可以通过散列树(例如默克尔树[1]或帕特里夏树)来实现。这里,数据块校验和可以是帕特里夏树或另一个二元散列树的默克尔树的根校验和。可通过分别来自默克尔树或帕特里夏树的另外的校验和,例如通过使用事务校验和,来保存事务,其中尤其是,另外的校验和可以分别涉及默克尔树或帕特里夏树的叶节点。因此,数据块校验和可以通过形成来自另外的校验和的根校验和来保护事务。尤其是,可以针对数据块中的特定数据块的事务来计算数据块校验和。尤其是,此类数据块校验和可以被包括在给定数据块的后续数据块中,例如以将该后续数据块与先前数据区块链接,并且特别地使DBS的完整性是可测试的。因此,数据块校验和可以实现链接校验和,或者至少进入链接校验和。数据块(例如新数据块或为其确定数据块校验和的数据块)的报头可以包括数据块校验和。
“事务校验和”可以涉及一种校验和,该校验和是结合本公开在数据块的事务上确定的。另外,可以加速对相应数据块的数据块校验和的计算,因为对于这项已经计算的事务,校验和可以便于用作默克尔树的叶节点。
在本公开的上下文中的“链接校验和”可以涉及用于DBS的相应数据块的校验和,该校验和指示或引用DBS的先前数据块—在文献[1]中通常被称作“先前块散列”。为此,特别地,为先前的数据块确定相应的链接校验和。链接校验和可以例如通过数据块(即DBS的现有数据块)的事务校验和或数据块校验和来实现;从而将新的数据块与DBS的(现有的)数据块链接。例如,还可能在前一数据块的报头上或在整个前一数据块上确定校验和以用作链接校验和。例如,这也可以针对多个或所有先前的数据块计算。例如,也可以通过跨数据块校验和中的数据块的报头而确定的校验和来实现链接校验和。然而,DBS的相应数据块优选地包括已经计算的或与先前数据块相关的链接校验和,具体来说,与相应数据块直接相邻的下一个相邻的先前数据块。例如,也可能仅在相应数据块(例如先前的数据块)的一部分上确定相应的链接校验和。由此,可以实现具有完整性保护部分和非保护部分的数据块。因此,可以实现具有不可改变的完整性保护部分和具有以后可以修改的非保护部分的数据块。完整性保护可意味着可以通过校验和来检测完整性保护数据的改变。
接下来,描述事务的示例性实现方式。
可以以各种方式提供数据—即例如存储在数据块的事务中或写入到数据块的事务中。代替数据—例如,诸如关于ASIC的测量数据或数据/所有权结构的用户数据,数据块的事务可反而包括此类数据的校验和。可以以各种方式实现各个校验和。例如,可以使用另一数据库或DBS的相应数据的数据块(例如包括相应数据)的相应数据块校验和、例如DBS或另一数据库的相应数据的数据块的事务校验、或跨数据确定的数据校验和。
另外,各项事务可任选地包括到存储器位置的链接或存储器位置的指示—例如文件服务器的地址和在文件服务器上找到各个数据的指示;或者包括该数据的另一DBS的地址。例如,如果相应的数据和相关的校验和被包括在不同的数据块中,则也可以在DBS的另一数据块的另一事务中提供相应的数据。这些数据也可能经由另一通信信道—例如经由另一数据库和/或密码保护的通信信道—来提供。
此外,除了校验和之外,还可能在相应的事务中提供附加数据集—例如到存储器位置的链接或指示。附加数据集尤其可以指示数据可以在哪里被检索。这有助于限制区块链或DBS的数据的量。
术语“安全保护的”可以具体地涉及可以通过加密方法来实现的保护。例如,这可以通过使用DBS来提供或传送或发送相应的数据/事务来实现。这可以通过各种校验和的组合来实现—例如加密—通过校验和之间的适当协同交互,以例如增加事务数据的安全性或密码安全性。换言之,在本公开的上下文中的“安全保护的”还可以涉及“密码保护的”和/或“防操纵保护的”,其中“防操纵保护的”也可以被称为“受保护的完整性”。
将事务插入到DBS中可以包括DBS的数据块的链接。关于本公开,术语“DBS的数据区块的链接”可以涉及分别包括链接到DBS[1],[4],[5]的另一数据块或多个其它数据块的信息(诸如链接校验和)的数据块。
将事务插入到DBS可以包括将事务保存在DBS的一个或多个数据块中。
事务的插入可以包括验证和/或确认事务。
术语“将事务插入到DBS”或“将数据写入DBS”等可以涉及将事务或包括事务的数据块传送到DBS的一个或多个节点。如果这些事务例如借助于一个或多个节点被成功地验证,则这些事务可以作为新的数据块与DBS[1],[4],[5]的至少一个现有数据块链接。为此,相应的事务被存储在新的数据块中。尤其是,该验证和/或链接可以由可信节点(例如挖掘节点)、区块链预言机或区块链平台来实现。
尤其是,区块链可以涉及作为服务的区块链,诸如由微软或IBM提出的服务。尤其是,可信节点和/或其它节点可以将节点校验和(例如数字签名)存放于数据块中,例如存放于已经由相应节点验证然后链接起来的数据块中,尤其便于识别数据块的创建者和/或识别该节点。此处,节点校验和指示了哪个节点已经将相应的数据块与DBS的至少一个其它数据区块链接起来。
结合本公开的“事务”或“多项事务”可以涉及智能合约[4],[5]、数据结构或事务数据集,其尤其分别包括事务或多项事务。结合本公开,术语“事务”或“多项事务”也可以涉及区块链的数据块的事务的数据。例如,事务可以包括例如实现智能合约的程序代码。例如,在本公开的上下文中,事务还可以涉及控制事务和/或确认事务。可替代地,事务也可以通过保存数据(例如控制指令和/或合约数据和/或诸如视频数据、用户数据测量数据等的其它数据)的数据结构来实现。
尤其是,术语“在数据块中保存事务”、“保存事务”等可以涉及直接保存或间接保存。直接保存可以涉及DBS的相应数据块或包括相应数据的DBS的相应事务。间接保存可以涉及相应的数据块或相应的事务,包括校验和以及任选地附加数据集,例如到相应数据的存储器位置的链接或对相应数据的存储器位置的指示;因此,各个数据并非直接保存在数据块(或事务)中。相反,为数据块中的这些数据提供校验和。特别地,当将事务保存在数据块中时,可以验证这些校验和,如以上关于“插入到DBS”所解释的。
结合本公开,“程序代码”可以涉及保存在一个或多个事务中的程序指令或多个程序指令。程序代码可以是可执行的并且可以由例如DBS执行。例如,这可以通过例如虚拟机的运行时环境来实现,其中运行时环境或程序代码优选为图灵完整。程序代码优选由DBS[4],[5]的基础设施执行。这里,由DBS的基础设施实现虚拟机。当验证相应的事务时,可以执行程序代码。
“智能合约”可以涉及与本公开相关的可执行程序代码[4],[5]—尤其参见以上提供的关于“程序代码”的解释。该智能合约优选被保存在DBS的事务中—例如区块链—例如在DBS的数据块中。例如,智能合约可以按照与已经结合“程序代码”的定义描述的相同的方式执行,尤其是结合本公开。
结合本公开,术语“工作量证明”可以涉及解决计算成本高的任务,尤其是取决于数据块的内容或特定事务的内容[1],[4],[5]。此类计算成本高的任务也可以被称作密码拼图。
在本公开的上下文中,术语“DBS”也可简称为“分布式数据库”,一般涉及一种去中心化的分布式数据库、区块链、分布式分类帐、分布式存储系统、基于分布式分类帐技术(DLT)的系统(DLTS)、修订安全数据库系统、云、云服务、云中的区块链或对等数据库系统。而且,可以使用区块链或DLT的各种实现方式,例如,诸如通过有向无环图(DAG)、密码拼图、散列图或这些变体的组合来实现的区块链或DLTS[6],[7]。还可以实现不同的共识算法。例如,可以通过密码拼图、流言算法(英语:gossip about gossip)、虚拟投票或这些技术的组合(例如,流言算法与虚拟投票相结合)来实现共识算法[6],[7]。例如,如果使用区块链,那么这尤其可以通过基于比特币的实现方式或基于以太网的实现方式[1],[4],[5]来实现。术语“分布式数据库”还可以涉及DBS,该DBS的至少一部分节点和/或设备和/或基础设施由云实现。例如,各个部件可以实现为云中的节点/设备(例如,作为虚拟机中的虚拟节点)。这可以通过WMware、AmazonWeb服务或微软Azure来实现。由于所描述的实现方案的灵活性增加,尤其地,可以将所描述实现方案的部分方面彼此组合,例如通过使用散列图作为区块链,其中区块链本身也可以是区块批量。
例如,如果使用有向无环图(DAG)(例如IOTA或Tangle),则该图的事务或区块或节点经由有向边彼此连接。即,(所有)边缘(总是)具有相同的方向,例如,如时间上所观察到的。换言之,尤其地,不可能向后(即,与共同统一方向相反)传播通过或访问图的事务或块或节点。尤其地,无环是指当遍历该图时没有环或环闭合。例如,DBS可以涉及公共DBS(例如,公共区块链)或封闭(私有)分布式数据库系统(例如,私有区块链)。
例如,在公共DBS的情况下,节点和/或设备可以加入DBS而不需要证明授权或认证或登录凭证,分别由DBS在没有此类信息的情况下接受。尤其地,在此类情况下,节点和/或设备的操作者可以保持匿名。
例如,在由封闭数据库系统实现DBS的情况下,新的节点和/或设备可以要求有效的授权证明和/或有效的认证信息和/或有效的凭证和/或有效的登录信息来加入DBS或被DBS接受。
DBS也可以由用于数据交换的分布式通信系统实现。例如,这可以是网络或对等网络。
术语“数据块”—取决于上下文和实现方式也可称作“组分”或“区块”—在本公开的上下文中可以指DBS的数据块—例如区块链或对等数据库—尤其被实现为数据结构,并且优选地包括多个事务中的一个或多个事务中的多个。在一种实现方式中,数据库或数据库系统可以是基于DLT的系统(DLTS)或区块链,并且数据块可以是区块链或DLT的区块。
一般情况下,数据块可以例如包括指示数据块的大小(例如,以字节为单位的数据量)、数据块报头、事务计数器以及一个或多个事务[1]。数据块报头可以包括版本、链接校验和、数据块校验和、时间戳、工作量证明、Nonce(即唯一值、随机值或用于工作量证明的计数器)[1],[4],[5]。数据块例如也可以简单地涉及存储在DBS中的总数据的相应存储器范围或地址范围。因此,可以实现诸如IOT链(ITCA)、IOTA、字节雪球等的无区块DBS。这里,组合区块链的区块和事务的功能,以这样的方式相互连接,即例如事务本身保护DBS的事务序列或链,使得它们尤其是以安全的方式保存。为此,事务可以通过链接校验和被链接,例如,通过使用分离的校验和或一个或多个事务的事务校验和作为链接校验和,当将新事务存储在DBS中时,该链接校验和被保存在DBS中的新事务中。在此类情况下,数据块例如还可以包括一个或多个事务,其中在简单的情况下,数据块涉及单个事务。
结合本公开,术语“Nonce”可以涉及密码nonce—它是“仅使用一次”[2]或“使用一次的数字”[3]的缩写。尤其地,一个Nonce表示单个数字或字母的组合,该数字或字母的组合优选地在相应的上下文(例如事务、数据通信)中仅使用一次。
结合本公开,术语“DBS的(给定的)数据块的先前数据块”可以例如涉及作为(给定的)数据块的直接前驱的DBS的数据块。可替代地,术语“DBS的(给定的)数据块的先前数据块”也可以涉及在给定数据块之前的DBS的所有数据块。因此,可以跨越直接前一个数据块(分别是其事务)或在给定数据块之前的所有数据块(分别是相应的事务)来确定链接校验和或事务校验和。
在本公开的上下文中,术语“区块链节点”、“节点”、“DBS的节点”等可以涉及执行与DBS(例如区块链)相关联的操作的设备,例如移动设备、无线通信设备、计算机、智能电话、客户端或参与者[1],[4],[5]。例如,此类节点可以执行DBS或相应数据块的事务,或者可以借助于新数据块将包括新事务的新数据块插入到DBS中。尤其地,该验证和/或链接可以由可信节点来实现,或者仅由可信节点来实现。可信节点是具有附加安全措施的节点—例如防火墙、对节点的访问限制等—以避免对节点的操纵。可替代地或附加地,当将新数据块与DBS链接时,可信节点可以例如将节点校验和—例如数字签名或证书—保存在新数据块中。由此,可以提供指示各个数据块已经被特定节点插入(分别指示了始发者)的证明。
在一般情况下,一个或多个设备可以由技术系统和/或工业工厂和/或自动化网络和/或制造厂的设备来实现,设备也可以是DBS的节点。因此,设备可以是移动设备或物联网设备,也可以是DBS的节点。节点例如可以包括至少一个处理器,例如执行它们的计算机实现的功能。
在本公开的上下文中,术语“区块链预言机”等可以涉及节点、包括具有软件保护机制(例如加密方法)、机械保护机制(例如可锁定的外壳)或电保护措施(例如篡改保护或保护系统)的安全模块的设备或计算机,其在区块链预言机未经授权使用/修改的情况下删除安全模块的数据。安全模块可以包括例如计算校验和(例如事务校验和或节点校验和)所需的密钥。
术语“计算机”或“设备”可以涉及计算机(系统)、客户机、智能电话、设备或服务器,它们分别被设置在区块链之外或者不是DBS的参与者,例如区块链的参与者,即不执行DBS的操作或简单地检索而不执行事务、不插入数据块或不计算作品量证明。可替代地,术语“计算机”或“设备”也可以涉及DBS的节点。换言之,设备可以尤其地分别实现DBS的节点或区块链和DBS之外的设备。DBS外部的设备可以例如访问DBS的数据—例如事务或控制事务。DBS外部的设备可以由节点控制—例如借助于智能合约和/或区块链预言机。例如,如果设备的控制—例如作为DBS外部的节点或设备来实现的设备—由节点来实现,则可以通过智能合约来实现,尤其地,智能合约被保存在DBS的事务中。
引证列表
[1]Andreas M.Antonopoulos“掌握比特币:解锁数字加密货币(MasteringBitcoin:Unlocking Digital Cryptocurrencies)”,《欧莱利传媒(O'Reilly Media)》,2014年12月
[2]Roger M.Needham、Michael D.Schroeder“在大型计算机网络中使用加密进行身份验证(Using encryption for authentication in large networks of computers)”ACM:ACM的交流,第21卷,接近1978年12月12日,
[3]Ross Anderson“安全工程。构建可靠分布式系统的指南(SecurityEngineering.A Guide to Building Dependable Distributed Systems)”,Wiley,2001年
[4]Henning Diedrich《以太坊:区块链、数字资产、智能合约、去中心化自治组织(Ethereum:Blockchains,Digital Assets,Smart Contracts,Decentralized AutonomousOrganizations)》,CreateSpace独立出版平台,2016年
[5]“以太坊图书项目/掌握以太坊(The Ethereum Book Proj ect/MasteringEthereum)”https://github.com/ethereumbook/ethereumbook,2017年10月5日
[6]Leemon Baird《Swirlds Hashgraph共识算法:公平、快速、拜占庭容错(TheSwirlds Hashgraph Consensus Algorithm:Fair,Fast,Byzantine Fault Tolerance)》,Swirlds技术报告SWIRLDS-TR-2016-01,2016年5月31日
[7]Leemon Baird《Swirlds Hashgraph概述(Overview of SwirldsHashgraph)》,2016年5月31日
[8]区块链预言机,https://blockchainhub.net/blockchain-oracles/(2018年7月12日检索)
应当理解,在不脱离本发明范围的情况下,上述特征和下面将要解释的特征不仅可以用于所示的各个组合,还可以用于其它组合或单独使用。
附图说明
图1示意性地示出了根据各种实施例的系统,该系统包括多个预言机和区块链基础设施。
图2是根据各种实施例的方法的流程图。
图3是包括根据各种实施例的信令的功能流程图。
图4是包括根据各种实施例的信令的功能流程图。
图5是根据各种实施例的方法的流程图。
图6是包括根据各种实施例的信令的功能流程图。
图7是包括根据各种实施例的信令的功能流程图。
具体实施方式
本公开的一些实施例主要提供多个电路或其它电子设备。所有对电路和其它电子设备的引用以及由每一个提供的功能并不旨在局限于仅包括本文所示出和描述的内容。虽然特定的标签可以被分配给所公开的各种电路或其它电子设备,但是此类标签并不旨在限制电路和其它电子设备的操作范围。此类电路和其它电子设备可以基于所需的特定类型的电子实现方式以任何方式彼此组合和/或分离。应当认识到,本文公开的任何电路或其它电子设备可以包括任何数量的微控制器、图形处理器单元(GPU)、集成电路、存储器设备(例如闪存、随机存取存储器(RAM)、只读存储器(ROM)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它适当的变体)、以及彼此协作以执行本文所公开的操作的软件。另外,任何一个或多个电子设备可以被配置为执行包含在非瞬时计算机可读介质中的程序代码,该非瞬时计算机可读介质被编程为执行所公开的任何数量的功能。
下面将参考附图详细描述本发明的实施方案。应当理解,以下对实施方案的描述不应被认为是限制性的。本发明的范围并不旨在受限于下文所述的实施方案或附图,这些实施方案和附图仅作为说明。
附图被认为是示意性的表示,附图中所示的元件不一定按比例示出。相反,各种元件被表示为使得它们的功能和一般目的对于本领域技术人员来说是显而易见的。附图所示或本文所述的功能块、设备、部件或其它物理或功能单元之间的任何连接或耦连也可以通过间接连接或耦连来实现。也可以通过无线连接来建立多个部件之间的耦连。可在硬件、固件、软件或其组合中实现功能块。
此后,描述了有助于验证由预言机提供的测量数据集的技术。一般情况下,可以通过硬件预言机和/或软件预言机来实现预言机。硬件预言机可以测量—例如使用传感器—物理事件的一个或多个物理可观测量。实施例将包括测量:电特性,例如电流或电压、流体流量或流体体积、压力、温度;工业机器的操作活动,诸如油变化、操作模式、接通/断开等;物流,诸如调度、通过航路点、交付等。软件预言机可以提供指示软件定义事件的测量数据,例如网站更新、数据可用性、服务停机时间等。
本文所描述的各种实施例有助于基于(i)与给定事件相关联的给定测量数据集的一个或多个可观测量与(ii)也与相同给定事件相关联的一个或多个另外的测量数据集的一个或多个可观测量之间的共识来验证给定测量数据集。由此,可以获得关于同一事件的独立或基本独立的信息,并且可以触发这些测量数据集之间的相应比较。然后,基于比较的结果,可以触发或不触发(选择性地触发)用于测量数据集的一个或多个验证措施。这一个或多个验证措施可以在分布式数据库处实现。
此类技术基于这样的发现,即通过对同一给定事件使用独立或基本独立的措施,可以识别与预言机相关联的故障或欺诈。因此,可以提高测量数据集的信任级别。
一般情况下,各种选项可用于实现验证措施。举例而言,验证措施可以包括验证测量数据集或使其无效。例如,变量可以被存储在分布式数据库中,其中该变量指示比较的肯定或否定结果。还可能的是,该变量指示下面的测量数据集,即,取决于比较的结果,可能选择性地将测量数据集存储在分布式数据库中。此外,在缺乏共识的情况下,可能相应地通知相关的利益相关者,即依赖于测量数据集的一个或多个节点。
图1示意性地示出了系统70。
系统70包括预言机101、102。每个预言机101、102包括一个控制电路105。例如,控制电路105可以包括处理器和非易失性存储器。处理器可以从非易失性存储器加载程序代码并执行程序代码以执行各种功能,诸如:用于指示事件的一个或多个物理可观测量的测量数据集的测量数据;发送该测量数据集;处理该测量数据集的原始数据;实现或触发该测量数据集与来自另一个预言机的另外测量数据集之间的比较,以验证测量数据集等。
更详细地,如图1所示,每一个预言机101、102包括输入接口106,例如用于硬件预言机的传感器或用于软件实现的输入接口的通信接口。预言机101、102的输入接口106被配置为测量事件81的可观测量85、86。
一般情况下,事件81可以是物理事件,而可观测量85、86可以是物理可观测量。事件81也可能是软件事件,可观测量85、86将对应于软件可观测量85、86。
预言机101、102可以向网络71提供相应的测量数据集91、92。由预言机101提供的测量数据集91指示事件81的可观测量85;而由预言机102提供的测量数据集92指示事件81的可观测量86。尤其是,可观测量85可能不同于可观测量86。更一般地讲,不同的预言机可以提供指示不同可观测量的测量数据集。例如,第一预言机可以提供指示温度的测量数据集;而第二预言机提供指示压力的测量数据集,这只是举出一个例子。由此,可以获得事件81的独立信息和多个度量。这有助于验证测量数据集91、92。
如图1所示,预言机101、102也经由主干网通信线路72直接连接。这通常是可选的。例如,由于预言机101、102观察到相同的事件81,因此有可能将它们彼此相邻地布置。例如,预言机101和预言机102可以被布置在同一设备或机器中。在此类情况下,近距离通信可用于实现主干网通信线路72。一般情况下,主干网通信线路72的数据吞吐量可以高于通信网络71的数据吞吐量。另一种一般情况下,如果与通信网络71的停机时间/数据可用性相比,主干网通信线路72的停机时间/服务可用性可能更好。
因为网络71可以具有有限的数据吞吐量,所以有时不可能包括测量数据集91、92中的原始测量数据。相反,在向通信网络71发送测量数据集91、92之前,可以在预言机101、102处分别实现一些数据压缩或数据预处理。
在图7的实施例中,通信网络71也被连接到分布式数据库基础设施150。分布式数据库基础设施150包括存储和访问分布式数据库159的多个挖掘节点151-153。例如,智能合约90可以在分布式数据库159上实现。
以下,将结合分布式数据库159作为区块链的实现来描述各种实施例。然而,在其它实施例中,分布式数据库159可以以另一种方式实现,例如通过无区块分布式数据库等。
挖掘节点151-153中的每一个都可以尝试将变量存储为区块链159中的事务。智能合约90可以定义自执行程序代码;为此,挖掘节点151-153可以提供主机环境来执行此类程序代码。
系统70还包括利益相关者节点111、112。每个利益相关者节点111、112包括处理器115,该处理器可以加载和执行由相应的非易失性存储器117存储的程序代码。利益相关者节点111、112经由各自的接口116连接到网络71。
利益相关者节点111、112可以由操作者来操作,该操作者依赖于由例如区块链159的智能合约90实现的功能。相应的功能可以依赖于测量数据集92的有效性。因此,每一个利益相关者节点111-112与关注验证测量数据集91、92的操作者相关联。
在图1的实施例中,系统70还包括第三方节点121。例如,第三方节点121可以实现监督控制和数据获取(SCADA)功能。第三方节点包括—以可与利益相关方节点111、112相比拟的方式—处理器125,该处理器能够加载和执行来自非易失性存储器127的程序代码。第三方节点121经由接口126连接到网络71。第三方节点121由独立于利益相关方节点111-112的操作者来操作。有时此类独立的操作者被称为中央权限机构。
图1的内嵌图还示出了关于区块链基础设施150的挖掘节点151-153的细节(图1中的内嵌图用虚线示出)。每个挖掘节点151-153包括处理器155。处理器155可以从存储器157加载程序代码,并且可以执行程序代码。处理器155可以经由接口156,例如与网络71通信。每个挖掘节点151-153可以存储区块链159的副本。
接下来,将结合以下附图来解释关于系统70的功能的细节。
图2是根据各种实施例的方法的流程图。可以由第三方节点121的处理器125在从存储器127加载相应的程序代码时执行图2的方法。也可在从存储器157加载相应的程序代码时由挖掘节点151-153之一的处理器155执行图2的方法。
在框5001处,获得第一测量数据集。第一测量数据集指示由第一预言机提供的事件的一个或多个可观测量。例如,可以从预言机101获得测量数据集91,该测量数据集91指示事件81的物理可观测量85(参见图1)。
在框5002处,获得第二测量数据集。第二测量数据集指示事件的一个或多个第二可观测量,即,在框5001处获得第一测量数据的同一事件。第二测量数据由第二预言机提供。例如,可以从预言机102获得测量数据集92,其中测量数据集92指示事件81的可观测量86(参见图1)。
接下来,在框5003处,触发在框5001处获得的第一测量数据集和在框5003处获得的第二测量数据集之间的比较。
框5003可以包括发送触发或请求消息以执行比较。框5003还可以包括在本地(例如在第三方节点121或相应的挖掘节点151-153处)执行比较。例如,框5003可以包括调用区块链的智能合约的相应功能,例如,调用区块链159的智能合约90的相应功能(参见图1)。在此类情况下,换言之,该比较由智能合约提供。在其它实施例中,该比较可以在第三方节点121处本地实现。
一般情况下,在框5003处,各种选项可用于实现比较。该比较可以随测量数据集的类型而变化,更具体地,随在框5001和5002中获得的第一测量数据集和第二测量数据集所指示的可观测量的类型而变化。例如,比较可能基于预定协议,该预定协议指示比较的度量。该度量可以定义用于比较所涉及的各种测量数据集和所涉及的各种物理可观测量的规则集。尤其地,使用适当的度量,甚至可以比较不同的可观测量,例如带压力的温度、或带电流消耗的现场设备的操作统计,这里仅列举一些实施例。在一些实施例中,该比较可以通过机器学习算法来实现,该算法被训练为检测多个物理可观测量的行为中的异常。在其它实施例中,可以对预定义规则集进行分析地定义。
例如,公差范围可以由度量定义。公差范围可以指定第一测量数据集和第二测量数据集之间的某些可接受的偏差范围。
可替代地或附加地,该度量可能基于采集由第一测量数据指示的一个或多个第一可观测量和采集由第二测量数据集指示的一个或多个第二可观测量之间的时间偏移。此类技术可以基于这样的发现,即增加的时间偏移可以分别限制(交叉)验证第一测量数据和第二测量数据的可能性。
接下来,在框5004处,检查比较结果。取决于比较的结果,分别在框5005或5006处选择性地触发一个或多个肯定或否定验证措施。该一个或多个验证测量与第一测量数据集和/或第二测量数据集相关。尤其地,该一个或多个验证措施可以在区块链处实现,例如在区块链159处。
具体地,如果在框5004处判断比较产生肯定结果,即以肯定的方式获得第一测量数据集和第二测量数据集的(交叉)验证,那么在框5005处可以进行所测量的肯定验证;否则,在框5006处可以进行否定验证措施。
一般情况下,各种选项可用于实现肯定和否定验证措施,例如,结合框5005和5006。例如,可以作为执行框5005的一部分进行的肯定验证措施可以涉及将第一测量数据和/或第二测量数据存储在区块链中,例如存储在区块链159中。还可能适当地设置标志指示符,该标志指示符被存储在区块链中,例如区块链159。标志指示符可以指示(交叉)验证是否成功。还有另一个验证措施可以包括将相应的报告消息发送到利益相关者节点111、112中的至少一个。因此,可以适当地通知关注验证的多方。
如果比较产生否定结果,则可能触发解决过程,作为框5006的执行的一部分。解决过程可以包括用于第一测量数据集和第二测量数据集之间的偏差的情况的预定义规则集或工作流。例如,解决可以与提供第一测量数据集的第一预言机的信任级别和/或提供第二测量数据集的第二预言机的信任级别相关联。然后,如果在第一测量数据集和第二测量数据集之间存在偏差,则具有更大的关联信任级别的特定测量数据集可以占优势。
图3是示出系统70的功能的信令流程图。例如,根据图3的信令可以实现图2的方法,尤其是当由基础设施150执行时。
在框3001处,预言机101采集指示事件81的可观测量85的测量数据集91。
一般情况下,本文所描述的测量数据集可以包括测量数据点的时间序列。例如,预言机可以通过以一定采样速率采集多个数据点来对事件进行采样。当生成相应的测量数据集时,可能发生对该原始数据的一些预处理。例如,可以应用诸如低通滤波器的滤波器。可以集成测量数据点。
在框3002处,对测量数据集进行数字签名,以大致提供安全保护。例如,这可以使用与预言机101相关联的加密密钥材料来实现。可以使用公共-私人密钥材料配置。
框3003和3004分别对应于框3001和3002,但用于预言机102和测量数据集92。
接下来,预言机101触发将测量数据集91存储在区块链159中。为此,可以将相应的请求发送到区块链基础设施150,例如发送到一个或多个挖掘节点151-153。然后,一个或多个挖掘节点151-153可以创建将会与区块链159的先前存在的区块一起改变的新区块,该新区块包括变量,该变量包括或指示测量数据集91,参见框3006。这可以包括解决密码难题,例如,工作量证明或权益证明。
框3007和3008分别对应于框3005和3006,但用于预言机102和测量数据集92。
接下来,执行测量数据集91和测量数据集92之间的比较。在框3009处,这包括智能合约90执行与测量数据集91和测量数据集92相关联的变量的查找,并对其应用预定义的度量93。可以通过在3010在利益相关者节点111、112之间的协商来获得预定义的度量93。度量93定义了如何比较测量数据集91和测量数据集92,以及预言机101、102的共识准则是什么。
接下来,在框3011处,检查根据框3009的比较的结果。同样,这可以是由智能合约90实现的功能。因此,框3011对应于框5004(参见图2)。
在比较为肯定结果的情况下,即预言机101、102之间具有共识,在框3012处,将相应的变量95写入区块链159。这个变量95指示共识,即比较的肯定结果。否则,在框3013处,将指示缺乏共识的相应变量96写入区块链159。
在框3014处,可以触发警告或通知,作为解决过程。警告被发布至利益相关者节点111、112。
迄今为止已经解释的各个框3001-3013对应于采集阶段6000和验证阶段6001。在采集阶段6000期间,在预言机101、102采集测量数据集91、92。在验证阶段6001期间,可以检查由预言机101、102提供的测量数据集91、92之间是否存在共识。
可以理解,在图3的情形中,可以以与测量数据集91、92的采集阶段6000密切的时间关系来实现验证阶段6001。这具有能够及时识别未验证的测量数据集91、92的优点。区块链159中的各种条目的信任级别可以是高的。例如,如果在采集测量数据集91、92后及时识别出缺乏共识意见,各种反措施可被用于解决过程(如果只是随后才识别出缺乏共识,则可能不可使用)。例如,可以部署一个可替代的预言机。例如,可以重新采集测量数据集。例如,可以触发对预言机101、102的维护。
图3还示出了关于应用阶段6002的方面,其中测量数据集91、92被用于进一步处理。这里,可以从区块链159检索各种测量数据集91、92。然后,可以在框3015和3016处,在利益相关者节点111、112处,基于测量数据集91、92来实现某些功能。由于在验证阶段6001期间的验证,与利益相关者节点111、112相关联的每个利益相关者可以信任测量数据集91、92的正确性,以分别在框3015、3016执行相应的功能。
图4是示出与根据图1的系统70的功能相关的细节的功能流程图。例如,根据图4的实施例的信令可以实现结合图2所描述的方法,尤其是当由第三方节点121执行时。
图4的实施例大致对应于图3的实施例。然而,在图4的实施例中,比较并非由区块链基础设施150实现,而是由第三方节点121实现的。
在图4中,框3101和3102分别对应于图3的框3001和3002。此外,框3103和3104对应于图3的框3003和3004。
在框3105处,预言机101将测量数据集91提供给第三方节点121。在3107处,预言机102将测量数据集92提供给第三方节点121。
接下来,在框3109处,第三方节点121实现测量数据集91和测量数据集92之间的比较。同样,这是基于从相应的协议3110获得的度量93。
在框3111处,检查比较结果。根据结果,采取一个或多个验证措施。尤其地,框3112对应于图3的框3012;框3113对应于图3的框3013;以及框3114对应于图3的框3014。
在图4的实施例中,应用阶段6002对应于图3的实施例的应用阶段6002。
图5是根据各种实施例的方法的流程图。例如,可以由预言机102的控制电路105执行图5的方法,例如在从相关存储器加载程序代码时。
在框5011处,采集第二传感器数据。这可以包括获得相应传感器的读数,例如预言机102的传感器106(参见图1)。例如,框5011可以包括以采样速率对相应的可观测量物理数据进行采样。
在框5012处,获得第一测量数据集。例如,可以从预言机101获得测量数据集91。
接下来,在框5013处,将在框5012处获得的第一测量数据集与在框5011处采集的第二测量数据集之间进行比较。框5013本身对应于框5003。然而,在图5的实施例中,可以在相应的预言机本地实现该比较。
在框5014处,检查比较的结果。框5014对应于框5004。根据比较的结果,采取一个或多个验证措施。这里,框5015、5016分别对应于框5005、5006。
图5的情形允许在低级别,即在接近数据源(诸如相应的预言机101、102的传感器106(参见图1))的信号处理链中,实现测量数据集之间的比较。这可以具有多个优点。首先,有可能基于包括未被显著预处理或压缩的原始数据点的测量数据集来实现比较。例如,可以对没有下采样或低通滤波的高时间分辨率进行比较。例如,可能不需要对原始测量数据点进行重要的分析,即,在进行比较之前,可能不需要进行诸如对象检测、特征检测、下采样等分析。其原因是在多个预言机之间可能存在高吞吐量、高可用性的数据通信链路(参见图1:主干网通信线路72)。第二个优点在于测量数据集的采集—例如在框5011处—和比较的实现之间的密切时间关系。这限制了可能的攻击向量:如果与测量数据集由另一节点(例如,由区块链基础设施150的挖掘节点151-153,诸如结合图3所解释的;或第三方节点121,如结合图4所解释的)比较的其它情况相比较,则可用于操作测量数据集的时间窗口受到限制。这种低延时比较也可以有助于以下情况:在预言机和实现比较的相应节点之间的服务可用性(参见图1:网络71)是重要的;在此类情况下,可能需要在预言机处缓存测量数据集,并且可以延迟开启攻击向量的比较。
图6是说明关于系统70的功能的细节的功能流程图(参见图1)。例如,如图6所示的信令可用于实现根据图5的方法。
在框3201处,采集测量数据集91。在框3202处,对测量数据集91进行签名。因此,框3201、3202分别对应于框3001、3002(参见图3)。
在框3205处,例如经由主干网通信线路72,预言机101将测量数据集91提供给预言机102。
在框3203处,在预言机102处采集测量数据集92。因此框3203对应于框3003(参见图3)。
在框3209处,在预言机102处执行测量数据集91和测量数据集92之间的比较。因此框3209对应于框3009(参见图3)。
在框3211处,检查比较的结果,并且取决于该结果,选择性地触发一个或多个验证措施。
在图6的实施例中,在比较3211为肯定结果(即,预言机101、102之间的共识)的情况下,测量数据集91(以及任选地测量数据集92)被存储在区块链159中,框3206。任选地,在框3204处,测量数据集92可以被预先签署。因此,框3204对应于框3004(参见图3)。
为了存储测量数据集91(以及任选地测量数据集92),预言机102将测量数据集91(以及任选地测量数据集92)提供给区块链基础设施150,并且挖掘节点151-153可以链接包括指示测量数据集91(以及任选地测量数据集92)的变量的新区块。因此,在框3206处,在区块链159中存储指示测量数据集91的变量对应于在比较为肯定结果的情况下采取的验证措施。一般情况下,可能的是,可替代地或附加地存储指示测量数据集91的变量,以存储指示测量数据集92的变量和/或指示比较结果的变量,例如标志(参见图3:框3012、3013)。
接下来,在框3220处,预言机101检查区块链159中的变量。例如,框3220的执行可以通过在3205处将测量数据集91提供给预言机102来触发。可替代地或附加地,框3220可以通过在框3206处将测量数据集91存储在区块链159中而被触发。例如,智能合约90可以将相应的通知发送到预言机101。
框3220(即由预言机101实现的检查)提供了一种用于验证是否已经验证了共识的措施。如果在框3220处的检查产生了否定的结果,则如框3214,预言机101可以触发解决过程。框3214对应于框3014(参见图3)。
图6的实施例的应用阶段6002对应于图3的应用阶段6002。
概括地说,上面已经描述了能够根据图1的系统70验证多个预言机之间(例如预言机101和102之间)的共识的技术。可以通过实现各个测量数据集之间的比较来验证该共识。如上所述,根据各种实施例,多个选项可用于实现比较。尤其地,实现比较的节点和/或时间点可以在选项之间变化。例如,可以在预言机处实现比较(参见图6),从而有助于原始测量数据点的低级别比较以及在接近时间的上下文中采集测量数据点。还可以在中央权限机构处实现该比较,该中央权限机构独立于基于测量数据集实现的任何应用的利益相关方操作,例如使用第三方节点(参见图4)或在区块链中实现的智能合约(参见图3)。
一般情况下,本文所描述的技术可以在各种用例场景中找到应用。举例而言:有可能在电网中实现按次付费场景。此处,第一预言机可以采集指示电特性的测量数据集,该电特性诸如是连接到电网的电负载(例如泵)的电流或电压。第二预言机可以采集指示另一物理可观测量的测量数据集,例如负载的操作特性,在泵的情况下,例如流速。因此,可以获得同一事件(这里指泵的操作)的多个独立的物理可观测量。利益相关者可以与泵的操作者(即消费者)以及电网的操作者(即服务提供商)相关联。这两者都可以关注于精确地确定泵的电功率消耗。
另一种使用情况涉及工业现场设备的生命周期监控,例如,确定保修请求、第二寿命应用、残值、租赁或租用权使用费等。此处,事件可以是工业现场设备的油更换。第一预言机可以采集指示到工业现场设备的人机接口的用户输入的测量数据集,例如,关于与油变化相关联的服务模式的激活。这将是软件预言机。第二硬件预言机可以采集指示工业现场设备的油箱盖处的开关激活的测量数据集。然后,比较可以基于两个测量数据集之间的似然性分析。与另外的物理可观测量相关联的另外的测量数据集可以与工业现场设备的电流消耗相关,因为可以预期工业现场设备所施加的负载响应于油变化而减小。
第三种使用情况涉及货物运输的跟踪。此处,第一预言机可以采集指示分派的第一射频标识标签读出的测量数据;而第二个预言机可以采集指示到达的射频标识标签读出的测量数据集。
虽然已经相对于某些优选实施方案示出并描述了本发明,但是本领域的其它技术人员在阅读和理解了本说明书后,将会想到等同方案和修改方案。本发明包括所有这些等同方案和修改方案,并且仅受限于所附权利要求的范围。
为了说明,上文已经描述了各种情况,其中在应用阶段6002之前,在验证阶段6001中实现比较。然而,在各种实施例中,可能共同实现验证阶段6001和应用阶段6002,参见图7。在图7中,定义了分离的采集阶段6000,其中测量数据集91、92被预言机101、102采集并分别写入到区块链159。在图7中,框3301-3308分别对应于框3001-3008(参见图3)。
在图7的情形中,该比较可以与框3015和/或框3016处的功能一起实现,即作为附加框3351和/或3352。然后,取决于在框3353和/或3355处对这些比较结果的检查,可以在框3354处触发相应的解决过程,作为验证措施。
为了进一步说明,以上已经结合实现为区块链159的区块链描述了各种实施例。类似的技术可方便地应用于其它种类和类型的区块链。
此外,已经描述了各种实施例,其中区块链基础设施150的分离的挖掘节点151-153可被用于将数据集或数据存储在区块链159中。在其它实施例中,预言机101和102也可以实现挖掘功能,即可以将数据集或数据直接存储到区块链159中。
Claims (12)
1.一种验证测量数据集的方法,包括:
-在节点(121,151-153)处获得指示事件(81)的一个或多个第一可观测量(85)的第一测量数据集(91),所述第一测量数据集(91)由第一测量设备(101)提供,
-在所述节点(121,151-153)处获得指示所述事件(81)的一个或多个第二可观测量(86)的第二测量数据集(92),所述第二测量数据集(92)由第二测量设备(102)提供,
-触发所述第一测量数据集(91)与所述第二测量数据集(92)之间的比较;以及
-取决于所述比较的结果:选择性地触发用于所述第一测量数据集(91)或所述第二测量数据集(92)中的至少一个的一个或多个验证措施,所述一个或多个验证措施在分布式数据库(159)处实现。
2.根据权利要求1所述的方法,
其中,所述节点是所述分布式数据库(159)的基础设施(150)的节点(151-153),
其中,所述比较由所述分布式数据库(159)的智能合约(90)来提供。
3.根据权利要求1所述的方法,
其中,所述节点是第三方节点(121),
其中,所述比较在所述第三方节点(121)处实现。
4.一种方法,包括:
-在第二测量设备(102)处获得指示事件(81)的一个或多个第一可观测量(85)的第一测量数据集(91),所述第一测量数据集(91)由第一测量设备(101)提供,
-在所述第二测量设备(102)处采集指示所述事件(81)的一个或多个第二可观测量(86)的第二测量数据集(92),
-在所述第二测量设备(102)处执行所述第一测量数据集(91)与所述第二测量数据集(92)之间的比较,以及
-取决于所述比较的结果:选择性地触发用于所述第一测量数据集(91)或所述第二测量数据集(92)中的至少一个的一个或多个验证措施,所述一个或多个验证措施在分布式数据库(159)处实现。
5.根据前述权利要求中任一项所述的方法,
其中,所述一个或多个验证措施包括在所述分布式数据库(159)中存储指示所述比较的结果、所述第一测量数据集(91)和所述第二测量数据集(92)中的至少一个的变量。
6.根据权利要求4和权利要求5所述的方法,还包括:
-所述第一测量装置(101)检查所述变量。
7.根据前述权利要求中任一项所述的方法,
其中,所述一个或多个验证措施包括基于所述第一测量数据集(91)与所述第二测量数据集(92)之间的偏差来触发解决过程。
8.根据前述权利要求中任一项所述的方法,
其中,所述比较基于指示所述比较的度量(93)的预定协议。
9.根据权利要求8所述的方法,
其中,所述度量(93)基于以下中的至少一个:(i)在采集所述一个或多个第一可观测量(85)与采集所述一个或多个第二可观测量(86)之间的时移;以及(ii)在所述第一测量数据集(91)与所述第二测量数据集(92)之间的容差范围。
10.根据前述权利要求中任一项所述的方法,
其中,所述一个或多个第一可观测量(85)不同于所述一个或多个第二可观测量(86)。
11.一种包括通信接口和至少一个处理器的节点,其中,所述至少一个处理器被配置为:
-经由所述通信接口并且从第一测量设备(101)获得指示事件(81)的一个或多个第一可观测量(85)的第一测量数据集(91),
-经由所述通信接口并且从第二测量设备(102)获得指示所述事件(81)的一个或多个第二可观测量(86)的第二测量数据集(92),
-触发所述第一测量数据集(91)与所述第二测量数据集(92)之间的比较,以及
-取决于所述比较的结果:选择性地触发用于所述第一测量数据集(91)或所述第二测量数据集(92)中的至少一个的一个或多个验证措施,所述一个或多个验证措施在分布式数据库(159)处实现。
12.一种包括通信接口和至少一个处理器的测量设备,其中,所述至少一个处理器被配置为:
-经由所述通信接口并且从另一测量设备获得指示事件(81)的一个或多个第一可观测量(85)的第一测量数据集(91),
-采集指示所述事件(81)的一个或多个第二可观测量(86)的第二测量数据集(92),
-执行所述第一测量数据集(91)与所述第二测量数据集(92)之间的比较,以及
-取决于所述比较的结果:选择性地触发用于所述第一测量数据集(91)或所述第二测量数据集(92)中的至少一个的一个或多个验证措施,所述一个或多个验证措施在分布式数据库(159)处实现。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19169157.5A EP3726407A1 (en) | 2019-04-15 | 2019-04-15 | Validation of measurement data sets using oracle consensus |
EP19169157.5 | 2019-04-15 | ||
PCT/EP2020/060241 WO2020212265A1 (en) | 2019-04-15 | 2020-04-09 | Validation of measurement data sets using oracle consensus |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113950679A true CN113950679A (zh) | 2022-01-18 |
Family
ID=66429153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080043633.4A Pending CN113950679A (zh) | 2019-04-15 | 2020-04-09 | 使用预言机共识来验证测量数据集 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220147774A1 (zh) |
EP (2) | EP3726407A1 (zh) |
CN (1) | CN113950679A (zh) |
WO (1) | WO2020212265A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11455312B1 (en) | 2019-11-20 | 2022-09-27 | Sabre Glbl Inc. | Data query system with improved response time |
CN113065727A (zh) * | 2020-01-02 | 2021-07-02 | 梅特勒-托利多(常州)精密仪器有限公司 | 基于区块链的测量设备管理方法及装置 |
EP3993315A1 (de) * | 2020-10-29 | 2022-05-04 | Siemens Aktiengesellschaft | Konsensmechanismus für ein verteiltes datenbanksystem auf basis einer messung eines physikalischen ereignisses |
WO2024102357A1 (en) * | 2022-11-08 | 2024-05-16 | Unity Chain, Inc. | Distributed oracle agreement system and method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831890B2 (en) * | 2017-09-19 | 2020-11-10 | Palo Alto Research Center Incorporated | Method and system for detecting attacks on cyber-physical systems using redundant devices and smart contracts |
US11505924B2 (en) * | 2017-09-28 | 2022-11-22 | Yokogawa Electric Corporation | Systems and methods for securing fluid distribution systems |
-
2019
- 2019-04-15 EP EP19169157.5A patent/EP3726407A1/en not_active Withdrawn
-
2020
- 2020-04-09 CN CN202080043633.4A patent/CN113950679A/zh active Pending
- 2020-04-09 EP EP20721449.5A patent/EP3935541A1/en active Pending
- 2020-04-09 US US17/603,499 patent/US20220147774A1/en active Pending
- 2020-04-09 WO PCT/EP2020/060241 patent/WO2020212265A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP3726407A1 (en) | 2020-10-21 |
WO2020212265A1 (en) | 2020-10-22 |
US20220147774A1 (en) | 2022-05-12 |
EP3935541A1 (en) | 2022-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | A survey of blockchain: Techniques, applications, and challenges | |
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
Niranjanamurthy et al. | Analysis of Blockchain technology: pros, cons and SWOT | |
CN111295660B (zh) | 用于将区块链连接到数字孪生的计算机实现的系统和方法 | |
Matsumoto et al. | IKP: Turning a PKI around with decentralized automated incentives | |
US11088854B2 (en) | Securing blockchain access through a gateway on behalf of a communication device | |
CN110597925B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
Tosh et al. | Data provenance in the cloud: A blockchain-based approach | |
US20200021439A1 (en) | Trust management system and trust management method | |
CN113950679A (zh) | 使用预言机共识来验证测量数据集 | |
AU2020414467B2 (en) | Partially-ordered blockchain | |
EP3742321A1 (en) | Storage of measurement datasets and distributed databases | |
KR20200012705A (ko) | 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치 | |
US11757884B2 (en) | Method and system for controlling the release of a resource | |
CN111984725A (zh) | 分布式数据库中的测量数据集的验证 | |
CN111090581B (zh) | 智能合约测试方法、装置、计算机设备和存储介质 | |
CN111492355B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
EP3742322A1 (en) | Operational policies or industrial field devices and distributed databases | |
US20220141240A1 (en) | Computer-implemented method and blockchain system for detecting an attack on a computer system or computer network | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
Deshpande et al. | Safe: A blockchain and secure element based framework for safeguarding smart vehicles | |
Palm | Implications and impact of blockchain transaction pruning | |
CN116596551A (zh) | 基于区块链的供应链产品溯源方法、存储介质和电子设备 | |
CN112425121A (zh) | 关于分布式数据库的使用控制数据网络 |
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 |