用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备的制作方法

文档序号:20890508发布日期:2020-05-26 17:53阅读:163来源:国知局
用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备的制作方法

本发明涉及用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备以及涉及用于形成经排序的交易数据集的集合的方法和所属的通信网布设和所属的计算机程序产品。



背景技术:

是。由此在区块链中包含不同类型的大量的交易。如果用于工业应用的区块链被例如用于控制智能能源网(intelligentesenergienetz),则该网络的节点必须处理多个对于其而言不相关的交易。

区块链(英文:blockchains或blockchains)的技术或“distributedledger(分布式账本)”的技术当前是广泛讨论的技术。在https://en.wikipedia.org/wiki/blockchain(database)中尤其是对其进行描述。

图1示出对于这种区块链的示例。区块链或blockchain在一般而言理解为如下数据库,该数据库的完整性通过将前面的数据集或区块或环节b10的单向函数值ph、也称为散列值存储在分别接下来的环节b11中、也即通过密码学链接来被保护(防事后操纵的保护)。通过在区块链网络n中的值得信任的、例如在图3中示出的节点bcn的多数而形成该保护,其中这些节点执行区块的验证或所谓的挖掘。在参与区块链的节点的网中,以规律的间隔、例如每10分钟地形成新的区块,例如b11并且在此将现有的区块的散列值ph一并存放。在此,从交易、例如tx0,tx1,tx2,tx3,tx4,tx5和tx6的集合m中选择能预给定数目的、例如4个交易、例如tx0,tx1,tx2和tx3并且以任意的、总是按照从0至3的编号的语法上的顺序作为叶片来附加到散列树中。作为散列树,例如merkle树或patricia树的应用是常见的。这样的散列树的根节点txr锚定在区块、例如b11中。

曾经在区块中的出现的交易tx0,tx1,tx2,tx3不再能以不受注意的方式改变。在该挖掘过程中,要存放在区块中的交易的完整性或有效性被检验。借助于交易数据集,可以实施该交易。交易理解为:从发送者到接收者的虚拟的或真实的货品或(例如借助比特币或以太坊的)付款或其他信息的相互传输。在比特币的情况下,使用相对简单的基于堆叠的运行时间环境,以便检验交易的可容许性。交易在此包括用于检验交易的有效性的校验和。该区块链平台以太坊(ethereum)支持能自由编程的运行时间环境,使得能够灵活地实现区块链的该程序代码。在此,例如将业务逻辑作为程序代码存放在交易数据集中并且因此存放在区块链中或在区块链基础设施节点中。就此来看,要实施的交易被存放在区块链的(链)环节中。因此,就此而论,几乎不可能在要实施的交易和如下交易数据集之间进行区分,其中该交易数据集被构型用于实施该交易。

在区块链情况下可能的是,一些节点对区块完全地进行验证,也即对区块的所有交易进行验证。因为这是耗费的,也能够设想“简单验证节点(simplevalidationnodes)”,其仅仅对单独的交易验证。为此,这些交易应该分别搜索和检验通过所涉及的交易的散列树的路径。

除了作为“工作量证明(proofofwork)”的挖掘过程以外,也已知替代方案,尤其是“权益证明(proofofstake)”或者受访问控制的区块链(许可区块链(permissionedblockchain)),其中通过伪随机地、但是确定性地选择的区块链节点来确认区块。受保护的并且因此密码学保护的交易数据集的区块链一般而言包括程序代码。术语“智能合约(smartcontract)”理解为如下程序代码,在该程序代码中在创建时间点时限定条件并且能够在其运行时间时评估这些条件:能够或不能够执行给一个或多个确定的接收者的以确定的(金额)大小的确定交易。



技术实现要素:

本发明的任务是:提供如下方法和设备,所述方法和设备实现:通过节点来对针对所述节点而言相关的交易进行有效的或者经改善的处理。

该任务通过在独立权利要求中所说明的特征而得以解决。在从属权利要求中示出本发明的有利扩展方案。

只要是在接下来的描述中没有另外说明,术语“执行”、“计算(berechnen)”、“以计算机支持的方式”、“演算(rechnen)”、“确定出”、“生成”、“配置”、“重建”等就优选地涉及改变和/或产生数据和/或将数据转化成其他数据的行动和/或过程和/或处理步骤,其中所述数据尤其是可以作为物理参量来表示或者存在,例如作为电脉冲。尤其是,表述“计算机”应尽可能宽泛地理解,以便尤其是涵盖具有数据处理属性的所有电子设备。计算机因此可以例如是个人计算机、服务器、有存储器可编程的控制器(sps)、手持计算机系统、掌上pc设备、移动无线电设备和其他能够以计算机支持的方式处理数据的通信设备,处理器和用于数据处理的其他电子设备。

“以计算机支持的方式”可以与本发明相结合地例如理解为如下方法的实施,其中尤其是处理器实施该方法的至少一个方法步骤。

处理器可以与本发明相结合地理解为例如机器或电子电路。处理器可以尤其是主处理器(英文:centralprocessingunit,cpu(中央处理单元))、微处理器或微控制器,例如专用集成电路或电子信号处理器等,其可能与用于存储程序指令的存储器单元相结合。处理器可以例如也是ic(集成电路,英文:integratedcircuit)、尤其是fpga(英文:fieldprogrammablegatearray(现场可编程门阵列))或者asic(专用集成电路,英文:application-specificintegratedcircuit)或者dsp(数字信号处理器,英文:digitalsignalprocessor)或者图形处理器gpu(graphicprocessingunit(图形处理单元))。处理器也可以理解为虚拟化处理器、虚拟机或软cpu。也可例如涉及可编程处理器,其装备有用于执行所提及的按照本发明的方法的配置步骤或者利用配置步骤来这样配置,使得可编程处理器实现所述方法的、组件的、模块的或本发明其他方面的和/或本发明部分方面的按照本发明的特征。

“存储器单元”或“存储器模块”等等可以与本发明相结合地理解为例如以工作存储器(英语:random-accessmemory,ram(随机存取存储器))形式的易失性存储器或永久性存储器,例如硬盘或数据载体。

“模块”、“工具(mittel)”、“装置(einrichtung)”可以与本发明相结合地例如理解为处理器和/或用于存储程序指令的存储器单元。例如,处理器专门被设立用于,如此执行程序指令,以便处理器执行功能,以便实施或实现按照本发明的方法或按照本发明的方法的步骤。模块可以也例如是分布式数据库系统的如下节点,该节点例如实现相应的模块的特定功能/特征。相应的模块/工具/装置可以例如也被构造为单独的或独立的模块/工具/装置。为此,相应的模块/工具/装置可以例如包括其他元件。这些元件例如是一个或多个接口(例如数据库接口、通信接口,例如网络接口,wlan接口)和/或评价单元(例如处理器)和/或存储器单元。借助这些接口的可以例如交换(例如接收、传送、发送或提供)数据。借助评价单元可以例如以计算机支持的方式和/或以自动化的方式比较、检验、处理、分配或计算数据。借助存储器单元可以例如以计算机支持的方式和/或以自动化的方式存储、调用或提供数据。

“包括”尤其是关于数据和/或信息而言与本发明相结合地可以例如理解为(以计算机支持的方式)将相应的信息或相应的数据存储在数据结构/数据集中(其中所述数据结构/数据集例如又存储在存储器单元中)。

“分配”尤其是关于数据和/或信息而言与本发明相结合地可以例如理解为以计算机支持的方式分配数据和/或信息。例如,对此借助存储器地址或唯一标识符(英文:uniqueidentifier(uid))来将第二数据分配给第一数据,其方式为,例如将第一数据与第二数据的唯一标识符或存储器地址共同存储在数据集中。

“提供”尤其是关于数据和/或信息而言与本发明相结合地可以例如理解为以计算机支持的方式来提供。所述提供例如通过接口(例如数据库接口、网络接口,到存储器单元的接口)来进行。通过这些接口能够例如在所述提供时传送和/或发送和/或调用和/或接收相应的数据和/或信息。

“提供”与本发明相结合地可以例如也理解为加载或存储、例如具有相应数据的交易。这可以例如在存储器模块上进行或者由存储器模块来进行。“提供”例如也可以理解为从区块链的或分布式数据库系统(或其基础设施)的一个节点到另一个节点的相应数据的传输(或者发送或传送)。

“智能合约过程”可以与本发明相结合地尤其是理解为在过程中通过分布式数据库系统或其基础设施来对程序代码(例如控制指令)的执行。

“校验和”、例如数据区块校验和、数据校验和、节点校验和、交易校验和、链接校验和等,可以与本发明相结合地例如理解为密码学的校验和或密码学的散列或散列值,其尤其是借助密码学的散列函数通过数据集和/或数据和/或交易其中一个或多个和/或数据区块的部分范围(例如区块链的区块的区块头或分布式的数据库系统的数据区块的数据区块头或者数据区块的交易的仅部分)来形成或计算。校验和可以尤其是一个/多个校验和或散列树(例如merkle树、patricia树)的一个/多个散列值。此外,其可以尤其是也理解为数字签名或密码学的消息认证码。借助所述校验和可以在数据库系统的例如不同的层上实现针对所述交易和在其中存储的数据(集)的密码学保护/防操纵保护。如果例如要求高安全性,则例如在交易层上产生和检验所述校验和。如果例如要求较不高的安全性,则例如在区块层上产生和检验所述校验和(例如通过整个数据区块或仅通过数据区块的部分和/或交易的部分)。

“数据区块校验和”与本发明相结合地可以例如理解为如下校验和,所述校验和例如通过数据区块的部分或所有交易来计算。然后,节点可以例如借助数据区块校验和来检验/确定出数据区块的相应部分的完整性/真实性。附加地或可替代地,可以尤其是也通过该数据区块的先前的数据区块/前任数据区块的交易来形成数据区块校验和。这些数据区块校验和可以在此尤其是也借助散列树、例如merkle树[1]或patricia树来实现,其中数据区块校验和尤其是merkle树的或patricia树的或二元散列树的根校验和。尤其是,(例如在使用交易校验和的情况下)借助来自merkle树或patricia树中的其他校验和来确保交易,其中尤其是所述其他校验和是merkle树或patricia树中的叶片。借此,数据区块校验和例如可以保护交易,其方式是该根校验和由这些其它校验和形成。数据区块校验和尤其可以针对这些数据区块其中的确定数据区块的交易来计算。这种数据区块校验和尤其可以被包括到确定数据区块的随后的数据区块中,以便使该随后的数据区块例如与该数据区块的先前的数据区块链接而且尤其是借此使分布式数据库系统的完整性能被检验。由此,数据区块校验和可以例如承担链接校验和的功能或者被包括到链接校验和中。数据区块(例如新的数据区块或针对其形成了数据区块校验和的数据区块)的头可以例如包括该数据区块校验和。

“交易校验和”与本发明相结合地可以理解为如下校验和,所述校验和尤其是通过数据区块的交易来形成。附加地,可以例如针对相应的数据区块来加速数据区块校验和的计算,因为为此例如已经计算的交易校验和同样可以作为例如merkle树的叶片来使用。

“链接校验和”与本发明相结合地可以理解为尤其是对于分布式数据库系统的相应数据区块来说明或引用所述分布式数据库系统的先前的数据区块(在专业文献中特别是通常称为“先前的块哈希(previousblockhash)”)的校验和[1]。为此尤其是针对相应的先前数据区块来形成相应的链接校验和。例如,作为链接校验和可以例如使用数据区块(也即该分布式数据库系统的现有的数据区块)的数据区块校验和或交易校验和,以便将新数据区块与所述分布式数据库系统的(现有)数据区块链接。但是,例如也可以通过先前数据区块的头或通过整个先前数据区块形成校验和,并将其用作链接校验和。这可以例如也针对多个先前的数据区块或者所有先前的数据区块来计算。例如也能够实现:通过数据区块校验和以及数据区块的头来形成链接校验和。然而分布式数据库系统的相应数据区块优选地分别包括如下链接校验和,针对相应数据区块的先前的数据区块、尤其是还更优选针对直接先前的数据区块来计算所述链接校验和,或者所述链接校验和涉及相应数据区块的先前的数据区块、尤其是还更优选针对直接先前的数据区块。例如,也可能的是,仅通过相应的数据区块的部分(例如先前的数据区块)来形成相应的链接校验和。由此可以例如实现如下数据区块,该数据区块包括完整性受保护的部分和不受保护的部分。因此例如实现如下数据区块,所述数据区块的完整性受保护的部分不可改变并且其不受保护的部分在之后也还能够被改变。在此,完整性受保护尤其是应理解为,能够借助校验和来确定出完整性受保护的数据的改变。

例如存储在数据区块的交易中的数据以尤其是以不同的方式来提供。替代于所述数据、例如用户数据,如测量数据或关于资产的数据/所有权关系,数据区块的交易可以例如仅包括用于这些数据的校验和。相应的校验和可以在此以不同的方式来实现。这可以例如是其他数据库的或分布式数据库系统的(具有相应数据的)数据区块的相应数据区块校验和、具有(分布式数据库系统或其他数据库的)相应的数据的数据区块的交易校验和或者通过这些数据所形成的数据校验和。

附加地,相应的交易还可以包括:关于存储位置的说明或引用(例如文件服务器的地址或如下说明:在文件服务器上应在何处找到相应的数据;或者其他分布式数据库的地址,其包括所述数据)。(例如在相应的数据和所属的校验和被包括在不同的数据区块中的情况下)相应的数据于是可以例如也在分布式数据库系统的其他数据区块的其他交易中被提供。但是例如也能够设想,通过其他通信信道(例如通过其他数据库和/或密码学确保的通信信道)提供所述数据。

对于所述校验和附加地也可以例如将附加数据集(例如关于存储位置的说明或引用)保存在相应的交易中,所述附加数据集尤其是说明如下存储位置:在何处能够调用所述数据。其尤其是如下地有利的,以便使区块链的数据参量或分布式数据库系统的数据参量保持得尽可能小。

“安全性受保护”可以与本发明相结合地例如理解为尤其是通过密码学方法来实现的保护。例如,这可以通过使用分布式数据库系统用于提供或发送或传输相对应的数据/交易来实现。优选地,这通过不同的(密码)校验和的组合来实现,其方式是这些(密码)校验和尤其是协同地共同起作用,以便例如改善针对数据或交易的安全性或密码安全性。换言之,与本发明相结合地,“安全性受保护”尤其也可以被理解为“密码学保护”和/或“防操纵保护”,其中“防操纵保护”也可以被称为“完整性受保护”。

“分布式数据库系统的数据区块/这些数据区块的链接”可以与本发明相结合地例如理解为:数据区块分别包括如下信息(例如链接校验和),所述信息引用或参考分布式数据库系统的一个或多个其他数据区块[1][4][5]。

“插入到分布式数据库系统中”等与本发明相结合地例如可以理解为:尤其是,一个交易或多个交易或具有其交易的数据区块被传送到分布式数据库系统的一个或多个节点。如果这些交易例如被(例如所述一个或多个节点)成功验证,则这些交易尤其作为新的数据区块来与分布式数据库系统的至少一个现有数据区块链接[1][4][5]。对此,将相应的交易例如存储在新的数据区块中。尤其是,该验证和/或链接可以通过值得信任的节点(例如挖掘节点、区块链数据库或区块链平台)进行。尤其是,在此,区块链平台可以被理解为区块链作为服务(英文:blockkettealsservice),如尤其是由microsoft或ibm提出的。尤其是,值得信任的节点和/或一个节点可以分别在数据区块(例如在其中由其所验证的和产生的然后被链接的数据区块)中存放节点校验和(例如,数字签名),以便尤其是实现该数据区块的创建者的可识别性和/或实现所述节点的可识别性。在此,所述节点校验和说明了哪个节点例如已将对应的数据区块与所述分布式数据库系统的至少一个其他数据区块链接。

“一个交易”或“多个交易”可以与本发明相结合地例如理解为智能合约[4][5]、数据结构或如下交易数据集,该交易数据集尤其是分别包括这些交易之一或多个交易。“一个交易”或“多个交易”可以与本发明相结合地例如也理解为区块链(英文blockchain)的数据区块的交易的数据。交易可以尤其是包括程序代码,该程序代码例如实现智能合约。例如,交易与本发明相结合地也可以理解为控制交易和/或确认交易。可替代地,交易例如可以是如下数据结构,该数据结构存储数据(例如控制指令和/或合同数据和/或其他数据,例如视频数据、用户数据、测量数据等)。

“对象”与本发明相结合地可以例如理解为设备、电子设备、电子构件、电子通信设备(例如移动电话)、技术设施、建筑物或技术系统,它们尤其是分别包括至少一个电子构件,其状态优选地能够通过传感器来检测。尤其是,在此,该对象的或该对象的电子构件的状态的状态改变同样地能够通过该传感器来检测。尤其,该状态改变或该状态也可以涉及该对象的非电子构件。这可以例如是建筑物的静力学的改变或金属件的变形(例如框架)。该状态或该状态改变尤其是以计算机支持的方式和/或以自动化的方式检测和/或借助接口被提供给控制系统或分布式的数据库系统。

尤其是,“在数据区块中存储交易”、“存储交易”等应理解为直接存储或间接存储。直接存储在此可以例如理解为:(分布式数据库系统的)相应的数据区块或(分布式数据库系统的)相应交易包括相应数据。间接存储在此可以例如理解为:相应的数据区块或相应的交易包括针对相应数据的校验和并且可选地包括针对相应数据的附加数据集(例如关于存储位置的说明或引用)并且相应的数据因此并不直接存储在数据区块(或交易)中(也即代替于此针对所述数据仅一个校验和)。尤其是,可以在将交易存储在数据区块中时例如验证这些校验和,就如这例如在“插入到分布式数据库系统中”的情况下所阐述的那样。

“程序代码”(例如智能合约)与本发明相结合地可以例如理解为一个或多个程序指令,所述程序指令尤其是被存储在一个或多个交易中。该程序代码尤其是能够执行并且例如通过分布式的数据库系统来执行。这可以例如借助执行环境(例如虚拟机)来实现,其中该执行环境或程序代码优选地是图灵完备的(turing-vollständig)。该程序代码优选地通过分布式数据库系统的基础设施来执行[4][5]。在此,例如通过分布式数据库系统的基础设施来实现虚拟机。

“智能合约”可以与本发明相结合地例如理解为可执行的程序代码[4][5](尤其是参见定义“程序代码”)。该智能合约优选地被存储在分布式数据库系统的交易中(例如区块链),例如存储在分布式数据库系统的数据区块中。尤其是,智能合约例如可以与在定义“程序代码”的情况下与本发明相结合地所阐述的相同的方式来实施。

“工作量证明”可以与本发明相结合地例如理解为计算密集的任务的解决,该任务尤其是应根据确定的交易的数据区块内容/内容来解决[1][4][5]。这样的计算密集的任务例如也被称为密码难题。

例如也可以被表示为分布式数据库的“分布式数据库系统”可以与本发明相结合地例如理解为分散分布的数据库、区块链(英文blockchain)、分布式账本、分布式存储系统、分布式账本、基于分布式账本技术(dlt)的系统(dlts)、修正安全的数据库系统、云、云服务、在云中的区块链或点对点数据库。也可以例如使用区块链的或dlts的不同的实施方案,诸如如下区块链或dlts,其借助有向无环图(dag)、密码学难题、散列图或由所提及的实施变型方案组成的组合[6][7]。也可以例如实施不同的共识方法(英文:consensusalgorithms)。这可以例如是借助密码学难题、谣言算法(gossipaboutgossip)、虚拟投票的共识方法或所提及的方法的组合(例如与虚拟投票相结合的谣言算法)[6][7]。如果例如使用区块链,则其尤其是可以借助基于比特币的实现方案或基于以太坊的实现方案来实施[1][4][5]。“分布式数据库系统”可以例如也理解为如下分布式数据库系统,由该分布式数据库系统通过云来实现自身的数据节点和/或设备和/或基础设施的至少一部分。例如,相应的组件被实现为云中的节点/设备(例如作为在虚拟机中的虚拟节点)。这可以例如借助vm值、亚马逊网络服务(amazonwebservice)或微软云(microsoftazure)来进行。由于所阐述的实施变型方案的高灵活性,尤其是也可以将所提到的实施变型方案的部分方面相互结合,其方式为,例如使用散列图来作为区块链,其中该区块链自身例如也可以是无区块的。

如果例如使用有向无环图(dag)(例如iota或tangle(缠结)),则尤其是通过有向棱边来将图形的节点或区块或交易相连接。这尤其是意味着:(所有)棱边(总是)具有相同的方向,类似地这例如像是在时间情况下那样。换言之,尤其是不可能反向地(也即相反于共同的相同方向)来运行或跳跃该图形的节点或区块或交易。无环在此尤其是意味着:在通过该图形时不存在任何环路。

分布式数据库系统可以例如是公开的分布式数据库系统(例如公开的区块链)或封闭的(或私有的)分布式数据库系统(例如私有的区块链)。

如果例如涉及公开的分布式数据库系统,则这意味着:新的节点和/或设备在没有授权证明的情况下或者在没有鉴权的情况下或者在没有申请信息的情况下或在没有认证的情况下能够加入到分布式数据库系统或者由该分布式数据库系统接受。尤其是,可以在这种情况下使节点和/或设备的运行者保持匿名。

如果分布式数据库系统例如是封闭的分布式数据库系统,则新的节点和/或设备例如需要有效的授权证明和/或有效的鉴权信息和/或有效的认证和/或有效的申请信息,以便能够加入到分布式数据库系统或者由该分布式数据库系统接受。分布式数据库系统也可以例如是用于数据交换的分布式通信系统。这可以例如是网络或点到点网络。

尤其是视上下文和实现方案而定地也可以被表示为“环节(glied)”或“区块”的“数据区块”可以与本发明相结合地例如被理解为分布式数据库系统的数据区块(例如区块链或点到点数据库),其尤其是被实现为数据结构并且优选地分别包括所述交易其中之一或多个。在一种实施方案情况下,数据库(或数据库系统)可以例如是基于dlt的系统(dlts)或区块链,并且数据区块可以例如是区块链或dlts的区块。数据区块可以例如包括关于数据区块的大小的说明(以字节为单位的数据大小)、数据区块头(英文blockheader(区块头))、交易计数器和一个或多个交易[1]。数据区块头可以例如包括版本、链接校验和、数据区块校验和、时间戳、工作量证明和nonce(随机数)(一次性值、随机值或计数器,其被使用用于工作量证明)[1][4][5]。数据区块可以例如也仅仅是总数据的确定存储区域或地址区域,其被存储在分布式数据库系统中。因此,能够例如实现无区块的(英文blockless)分布式数据库系统,诸如iot链(itc)、iota和字节雪球(byteball)。在此情况下,尤其是将区块链的区块的功能性和交易的功能性这样彼此结合,使得例如使交易自身确保(分布式数据库系统的)交易的链条或序列(也即尤其是以安全性受保护的方式来存储)。为此,可以例如利用链接校验和来将交易自身彼此链接,其方式为,优选地将单个校验和或一个或多个交易的交易校验和用作链接校验和,所述链接校验和在将新的交易存储在分布式的数据库系统时被一起存储在相应的新交易中。在这种实施方式中,可以使数据区块例如也包括一个或多个交易,其中在最简单情况下例如使数据区块相应于交易。

“随机数(nonce)”可以与本发明相结合地例如被理解为密码随机数(“usedonlyonce”[2]或者“numberusedonce”[3]的缩写)。一个随机数尤其是表示单独的数字或字母组合,该数字或字母组合优选地在相应的上下文(例如交易、数据传输)中被使用唯一一次。

“分布式数据库系统的(确定的)数据区块的先前的数据区块”可以与本发明相结合地例如被理解为分布式数据库系统的如下数据区块,该数据区块尤其是直接在(确定的)数据区块之前。可替代地,“分布式数据库系统的(确定的)数据区块的先前的数据区块”尤其也可以被理解为分布式数据库系统的所有如下数据区块,这些数据区块在确定的数据区块之前。由此,可以例如仅通过直接在确定的数据区块先前的数据区块(或其交易)或通过所有在第一数据区块先前的数据区块(或其交易)来形成链接校验和或交易校验和。

与本发明相结合地,“区块链节点”、“节点”、“分布式数据库系统的节点”等例如可以被理解为(利用)分布式数据库系统(例如区块链)执行操作的设备(例如现场设备、移动电话)、计算机、智能电话、客户端或用户[1][4][5]。这样的节点可以例如执行分布式数据库系统或其数据区块的交易,或者借助于新数据区块来将具有新交易的新数据区块插入或链接到所述分布式数据库系统中。尤其是,该验证和/或链接可以通过值得信任的节点(例如,挖掘节点(miningnode))或仅通过值得信任的节点来进行。例如,值得信任的节点是具有附加安全措施(例如,防火墙、至该节点的接入限制等)的节点,以防止操纵该节点。替换或附加地,值得信任的节点例如可以在新数据区块与所述分布式数据库系统链接时将节点校验和(例如,数字签名或证书)存储在所述新数据区块中。尤其是,由此可以提供证明,该证明说明了该相应数据区块是由特定节点插入的或说明了其起源。设备(例如相应设备)例如是技术系统和/或工业设施和/或自动化网和/或制造设施的设备,这些设备尤其也是分布式数据库系统的节点。在此,所述设备可以例如是现场设备或在物联网中的设备,这些设备尤其也是分布式数据库系统的节点。节点可以例如也包括至少一个处理器,以便实施例如自身的以计算机实施的功能性。

“区块链数据库(blockketten-orakel)”等可以与本发明相结合地例如理解为如下节点、设备或计算机,这些节点、设备或计算机例如拥有安全模块,该安全模块例如借助软件保护机制(例如密码学方法)、机械保护装置(例如能封闭的壳体)或电保护装置装置(例如篡改保护或保护系统,其包括:在不容许地使用/处理区块链数据库的情况下删除安全模块的数据)。该安全模块在此可以例如包括密码学密钥,为了计算校验和(例如交易校验和或节点校验和)而需要该密码学密钥。

与本发明相结合地,“计算机”或“设备”可以理解为例如以下计算机(系统)、客户端、智能电话、设备或服务器,它们分别布设在所述区块链之外或不是所述分布式数据库系统(例如区块链)的用户(即,不利用分布式数据库系统执行操作或仅对其查询,但不执行交易、插入数据区块或计算工作量证明)。可替代地,尤其是还可以将计算机理解为分布式数据库系统的节点。换言之,设备尤其可以理解为分布式数据库系统的节点或者也理解为在分布式数据库系统或区块链之外的设备。在所述分布式数据库系统之外的设备可以例如访问所述分布式数据库系统的数据(例如交易或控制交易)和/或由节点(例如借助智能合约和/或区块链数据库)操控。如果例如设备(例如构造为节点的设备或在分布式数据库系统之外的设备)的操控或控制通过节点来实现,则这可以例如借助如下智能合约来进行,所述智能合约尤其是被存储在分布式数据库系统的交易中。

本发明要求保护一种用于由未经排序的交易数据集的集合来形成或生成区块链的密码学保护的和经语义排序的交易数据集的集合的方法,该方法具有以下步骤:

a)形成区块链的至少一个第二环节,该第二环节是已经与该区块链的第一环节或其他区块链链接的或与该区块链的第一环节或其他区块链链接;

b)规定在第二环节中的至少一个搜索项或者读出该第二环节所包括的至少一个事先规定的搜索项;

c)从未经排序的交易数据集的集合选择交易数据集,其中,所选择的交易数据集是鉴于完整性方面已被检验的;

d)将所选择的交易数据集分配至所规定的或所读出的搜索项或者分配至所规定的或所读出的搜索项之一;

e)重复步骤b)至d),直至达到能预给定数目个要选择的交易数据集和/或未经排序的交易数据集的集合是空的;

f)根据能预给定的排序标准来语义排序所选择的和所分配的交易数据集,其中使被分配的搜索项达到与排序标准相应的顺序;和

g)借助于所提到的顺序来形成密码学保护的并且经语义排序的交易数据集的集合。

该方法是能这样重复的,使得能够以起始环节开始最后形成或生成多个环节,其中该起始环节也可以是原始环节(创始环节(genesis-glied)),其中每个环节就本身而言可以包含开头提及的类型的检验功能或相应地包含其部分功能。

与本发明相结合地,经语义排序理解为:该排序取决于搜索项的意义。在此,该语义排序可以纯随机地得出与在所提及的交易的布设中的开头提及的语法排序相同的顺序。然而这通常不是该情况。所布设的交易的顺序通常以语义的方式显现得不同于以语法的方式或者甚至不同于以未经排序的方式。

在此情况下,搜索项可以由主项和一个或多个其他的下级的子项组成。在主项和子项之间可以分别插入分隔符,例如“.”。

在所提到的第二环节中的多个所规定的或读出的搜索项的情况下,可以将其布设在搜索树中、优选散列树中,其中搜索项形成搜索树的节点。搜索项也可以分级式地以在搜索树的根节点中的主项直至在搜索树的叶片节点中的最远的下级的子项的方式来布设,其中分隔符必要时标识搜索树的位于所属的节点之间的棱边。

环节的搜索树因此根据搜索项来结构化。

该方法优选以计算机支持的方式来执行。只要是在接下来的描述中没有另外说明,术语“执行”、“计算”、“以计算机支持的方式”、“演算”、“确定出”、“生成”、“配置”、“重建”等就优选地涉及改变和/或产生数据和/或将数据转化成其他数据的行动和/或过程和/或处理步骤,其中所述数据尤其是可以作为物理参量来表示或者存在,例如作为电脉冲。尤其是,表述“计算机”应尽可能宽泛地理解,以便尤其是涵盖具有数据处理属性的所有电子设备。计算机因此可以例如是个人计算机、服务器、有存储器可编程的控制器(sps)、手持计算机系统、掌上pc设备、移动无线电设备和其他能够以计算机支持的方式处理数据的通信设备,处理器和用于数据处理的其他电子设备。

“以计算机支持的方式”可以与本发明相结合地例如理解为如下方法的实施,其中尤其是处理器实施该方法的至少一个方法步骤。

处理器可以与本发明相结合地理解为例如机器或电子电路。处理器可以尤其是主处理器(英文:centralprocessingunit,cpu(中央处理单元))、微处理器或微控制器,例如专用集成电路或电子信号处理器等,其可能与用于存储程序指令的存储器单元相结合。处理器可以例如也是ic(集成电路,英文:integratedcircuit)、尤其是fpga(英文:fieldprogrammablegatearray(现场可编程门阵列))或者asic(专用集成电路,英文:application-specificintegratedcircuit)或者dsp(数字信号处理器,英文:digitalsignalprocessor)或者图形处理器gpu(graphicprocessingunit(图形处理单元))。处理器也可以理解为虚拟化处理器、虚拟机或软cpu。也可例如涉及可编程处理器,其装备有用于执行所提及的按照本发明的方法的配置步骤或者利用配置步骤来这样配置,使得可编程处理器实现所述方法的、组件的、模块的或本发明其他方面的和/或本发明部分方面的按照本发明的特征。

“存储器单元”可以与本发明相结合地理解为例如以工作存储器(英语:random-accessmemory,ram(随机存取存储器))形式的存储器或硬盘。

工具(mittel)可以与本发明相结合地例如理解为处理器和/或用于存储程序指令的存储器单元。例如,处理器专门被设立用于,如此执行程序指令,以便处理器执行功能,以便实施或实现按照本发明的方法或按照本发明的方法的步骤。

区块链可以更有效地通过节点、尤其是控制计算机或控制设备在工业iot环境(物联网)中使用。此外,实时性行为被改善,因为必须由该节点在内容上评估较少的不相关的信息。尽管如此,可以针对大量不同的任务来使用共同的区块链平台,由此能够更有效地运行这样的区块链平台。此外,可以在不同的硬件平台上运行区块链平台。

本发明的另一方面是用于由区块链的环节的鉴于完整性经检验的和经语义排序的交易数据集的集合来提供密码学保护的和经过滤的交易数据集的集合的设备,其中所述环节根据按照前述的方法权利要求之一所述的方法来形成,所述设备具有:

-用于提供区块链的至少一个这样的环节的提供工具;和

-用于将提供工具与过滤装置耦合的耦合工具,该过滤装置借助于过滤标准由区块链的经检验的和经语义排序的交易数据集的集合确定经过滤的交易数据集的集合,和

-用于提供经过滤的交易数据集的所确定的集合的输出工具。

“提供”与本发明相结合地可以例如也理解为在数据载体或平台上创建、加载或存储交易数据集或者由数据载体或平台来创建、加载或存储交易数据集。

借助于过滤标准实现了区块链-区块的相关交易的简单过滤。该过滤标准这样组织,使得节点因此并不处理具有所有交易的整个搜索树,而是能够有针对性地确定如下子树,该子树包含对于自身而言相关的交易。

该过滤标准可作为一种“发布-订阅”标准来构造。能够使用发布-订阅协议,例如mqtt、xmpp、opcuapubsub。在此,所谓的发布者节点发布消息,而订阅者、例如一群组(gruppe)的设备则接收消息。搜索项标识消息的主题。发布者(发布节点)说明消息的主题(topic(话题)或搜索项),而订阅者订阅特定的主题的消息。例如通过消息代理(messagebroker)来中继这些消息。搜索项在此一般而言分级式地例如利用上面提及的搜索树实施方式来结构化。

本发明的另一方面是适合用于与前面提及的设备的提供工具耦合的过滤装置,其特征在于如下确定工具,其用于借助于过滤标准由区块链的鉴于完整性经检验的和经排序的交易数据集的集合来确定经过滤的交易数据集的集合。

过滤装置的实施方式规定:该过滤标准是能够借助于其他搜索项和/或该其他搜索项的至少一部分来规定的,该其他搜索项和/或该其他搜索项的至少一部分与区块链的在所提供的环节中的搜索项一致或者是能够由该搜索项来推导的或由该搜索项来推导。所述其他搜索项可以是上面已经阐述的类型的(发布-订阅)话题,该话题被分配给在搜索树中的搜索项或者必要时与该搜索项一致。所述分配或推导于是可以借助分配表格(搜索项-话题)来执行。

本发明的另一方面是接入单元,其包括上面提及的类型的过滤装置,其特征在于,所述其他搜索项是能够由群组的一个或多个设备来规定的和/或就此而论是能够订阅的,使得由这些设备来订阅被分配给该搜索项的交易数据集并且仅将区块链的如下环节转交给所述一个或多个设备,所述环节具有经规定的和/或经订阅的交易数据集。因此,该接入单元是一种网关、尤其是用于设备、优选用于iot设备的网关(这些设备常常不能处理区块链)。通过用户接口(ui),可以规定其他搜索项或话题。这些搜索项也可以作为用于工业设施的投影数据来预给定。然后,该设备可以订阅确定的其他搜索项。与所述其他搜索项匹配的这些交易被过滤并且针对所提及的设备仅执行所述交易或者仅将所述交易提供给该设备。

本发明的另一方面是通信网布设,该通信网布设包括以下组件:

-至少一个处理区块链的网络节点,该网络节点分别具有上面提及的类型的设备;

-被分配给群组的一个或多个设备;

-上面提及的类型的至少一个过滤装置或根据上面提及的类型的至少一个接入单元;并且

包括网络基础设施,借助于该网络基础设施能够使所提及的组件相互通信。

在网络基础设施中,可以应用例如已经在上文中阐述的类型的发布-订阅协议,其中,该过滤装置被设计用于,使得该群组的一个或多个设备能够订阅和/或规定搜索项。

该网络基础设施可以这样构造,使得所提及的组件能够有线地或无线地通过空气接口来相互通信。空气接口可以根据标准gsm、umt、lte、5g、wlan、zigbee、蓝牙或nfc等来构造。

这些设备、装置或布设可以与上面提及的方法的实施方式和扩展方案相应地扩展。

此外,用于尤其是在开头提及的类型的处理区块链的网络节点的、具有程序指令的计算机程序(产品),其中该网络节点借助如下程序指令来配置,所述程序指令适合用于实施根据上述的方法权利要求之一所述的方法。

附加地,具有程序指令的计算机程序产品的变型方案可以被设置用于配置创建设备、例如3d打印机、计算机系统或适合用于创建处理器和/或设备的制造机。

应用、设备和计算机程序(产品)可以与上面提及的方法的扩展方案/实施方式及其扩展方案/实施方式相应地构造。

此外,用于存储和/或提供计算机程序产品的提供设备是可能的。该提供设备例如是数据载体,该数据载体存储和/或提供计算机程序产品。可替代地和/或附加地,该提供设备例如是网络服务、计算机系统、服务器系统、尤其是分布式的计算机系统、基于云的计算机系统和/或虚拟计算机系统,其优选地以数据流的形式存储和/或提供计算机程序产品。

该提供例如以程序数据区块和/或指令数据区块的形式作为下载来进行,优选地作为文件、尤其是下载文件或者作为数据流、尤其是完整的计算机程序产品的下载数据流。但是,该提供例如也可以作为部分下载来进行,所述部分下载由多个部分组成并且尤其是通过点对点网络来下载或作为数据流来提供。这样的计算机程序产品例如在使用以数据载体的形式的提供设备的情况下被读入到系统中并且执行程序指令,使得根据本发明的方法在计算机上运行或者这样配置该创建设备,使得该创建设备创建该环节和/或区块链。

附图说明

上面描述的本发明的特性、特征和优点以及如何实现它们的方式和方法结合下面对实施例的描述将变得更清楚且更明白地能理解,结合附图更详细阐述这些实施例。在此,以示意图的方式:

图1示出作为根据现有技术的区块链的实施例;

图2示出一个或多个被纳入到区块链的环节中的一个/多个交易数据集的根据本发明的实施例;

图3示出如何能够将本发明嵌入到网络基础设施中的实施例;

图4示出关于根据本发明的方法的流程图。

只要是没有另外说明,在这些图中功能相同的元件配备有相同的附图标记。

具体实施方式

如在开头已经描述的那样,图1示出区块链的环节,例如第一环节b10、第二环节b11。这些环节分别包括多个交易tx0至tx3。根据前任环节形成的散列值ph可以尤其是密码学的散列值,该散列值例如是能够借助sha2-256、sha2-384、sha-3、blake2来确定的。

图2示出一个或多个被纳入到区块链的环节中的交易数据集的实施例。

这些环节可以分别关于自身的交易t包括散列(函数)值,该散列(函数)值能够用作散列树tt的根散列值txr。该散列树、也称为搜索树这样来构造,使得该散列树关于具有散列树tt的散列值h0和h1的下一节点不仅具有散列值,例如h01、h23而且也具有至少一个搜索项,如在图2中所示地“eon”或“telekom”。具有h0的该节点具有搜索项“m-stadt(m-城市)”并且具有h1的节点具有搜索项,例如作为主项具有“m-land(m-乡村)”。从具有h1的节点出发来描绘其他节点,所述其他节点具有子项,诸如地点“vaterstetten(法特尔斯特滕)”、“poing(波因格)”或“aschheim(阿施海姆)”。这些节点也分别包含散列值,该散列值在图2中未示出。在该散列树tt的这些叶片上设置可能的交易名称,如在图2中所示地设置“loadshedding”(减载)、“reduceinfeed”(减少馈入),它们在一定程度上表示以下散列树ht的根,该散列树ht在示例中构造为merkle树。该merkle树的其他节点在图2中未示出。在merkle树的这些叶片上示出交易tx2、tx1和tx0、tx3,它们在merkle树中由交易的未经排序的集合m(参见图1)通过语义排序而到达此处所示位置。换言之,一环节的散列树ht(例如merkle树、patricia树等)被排序,也即一环节的交易被排序。由此,满足共同的排序标准(搜索项)的所有交易处于该树的分支(ast)中。

这具有如下优点:“搜索项”的交易是能够有效地检验的。节点bcn(参见图3)可以加载和检验该树ht的如下部分区域,该部分区域包括该搜索项的交易。由此,可以简单地区分不同类型的交易。要评估仅确定类型的交易的节点可以有针对性地处理该树ht的在其中包含相关的交易的该部分或那些部分。

该树ht的结构可以固定地预给定,或者该结构可以自适应地被确定(每区块地或者以更大时间间隔地)。此外,可以使得该树ht的结构(也即排序)作为在区块链中的交易而变得已知。由此,该信息是能简单地评估的并且能够必要时被适配。

以这种方式,区块链交易的评估也针对节点iot、例如物联网而是有效地可能的。关于“搜索项”的交易因此不是在merkle树中任意分布的。

根据图3,设备例如是订阅了话题“eon.m-land.poing.reduceinfeed”的被分配给群组an、例如能量网的iot,于是针对该设备,从经语义排序的merkle树中仅过滤出并且必要时实施交易tx0和tx1。

该话题或搜索项在图2的示例中利用在项之间的点分隔符由主项“eon”和其他下级的子项“m-land”和“poing”以及最后以交易名称“reduceinfeed”组成。这样的分隔符可以在树tt中标记在节点“eon”和节点“m-land”之间的棱边。类似地,可以利用分隔符来标记该树tt的所有棱边。

图3示例性地示出通信网络布设,其包括节点bcn,这些节点能够实现区块链(分布式数据库),这些节点能够通过网络基础设施n来相互通信,其通过箭头来标明。此外,设置在上文提及的设备iot。群组an例如包括其他设备fd1、fd2、fd3以及iot控制器iotc,该iot控制器与设备iot处于连接。此外,在通信布设中设置网关g。这可以例如作为服务器、器具(appliance)或作为基于云的服务(例如针对工业平台的特定应用)来实现。该网关g由发布-订阅协议(例如xmpp、mqtt、amqp、opcuapubsub)的由发布者所提供的、被分配给话题的消息而产生区块链交易,在相反方向上,eway将在被验证的环节中被确认的并且是dnet的交易,作为pubsub消息来提供给订阅者(群组的设备),该pub-sub消息作为话题具有区块链交易的搜索项。优选地,在网关中或者也在节点bcn之一中可以实施如下设备(未示出),该设备借助集成的或(远程)耦合的过滤装置来过滤交易。可以借助于在上文描述的发布-订阅-方案来进行过滤。通过话题(其他搜索项)来确定过滤标准,借助于该过滤标准能够提供经过滤的交易或交易数据集并且传递给设备、例如iot或其他节点bcn。

在此,可以进行区块链搜索项至pubsub(发布订阅)话题(参见上文,其他搜索项)的1:1分配,也即,使这些项是相同的。区块链子项至pubsub话题的分配并且反之亦然地也可以通过表格tab来进行,该表格能够被集成到该网关g中。这具有如下优点:区块链基础设施能够简单地由iot设备或工业4.0设备、例如fd1、fd2来使用,而无需使这些设备自身支持区块链技术。这些设备可以通过能够在iot环境中使用的pubsub协议来访问区块链。话题(其他搜索项)可以由设备例如通过用户接口来规定并且订阅;和/或由设备、例如fd3作为投影数据(例如应用领域:工业4.0,设施:变电站,在变电站中的设备x,区域:慕尼黑的乡村,运营者:eon等)来预给定。为此,交易被分配给话题(例如通过(排序)属性)。话题可以在此情况下分级式地结构化(话题树),例如话题1.话题2.话题3(也参见上文)。作为话题可以例如利用命名空间,以便可以针对确定的主题来相应地利用群组通信。一个示例是在慕尼黑-乡村(m-land)的区域内eon公司的虚拟发电厂(vpp,virtualpowerplant(虚拟电厂)),其具有用于减少馈入的通信的单独群组:vpp.eon.m-land.poing.reduce_infeed(参见图2)。该排序标准或多个排序属性可以明确地例如以行政管理的方式来预给定或者隐含地根据交易来确定。可以形成智能合约的或智能合约的部分的散列值并且作为排序标准来使用。

通信布设(参见图3),不仅可以构造节点bcn而且也可以构造区块链数据库。通过所谓的区块链数据库,作为值得信任而生效的节点可以将关于真实世界的信息编码到区块链交易中并且因此使得来自用于区块链的智能合约的真实世界的信息可访问(https://blog.ledger.co/hardware-oracles-bridging-the-real-world-to-the-blockchainca97c2fc3e6c#.lu511vbrd)。

在图4中示出关于根据本发明的方法的流程图。因为blockchain或区块链是分散的分布式数据库,通常可能与多个同样的区块链节点之一通信,在图3中例如为bcn。

该方法在此具有以下步骤:

s01:形成区块链的一个或多个(第二)环节,所述(第二)环节是已经与同一区块链或其他区块链的第一环节链接的或者与同一区块链或其他区块链的第一环节链接。如已经在上文提及的,第一环节可以是起始环节和/或创始环节(原始环节)。

s02:在第二环节或每个第二环节中规定至少一个搜索项或者读出至少一个事先规定的搜索项,其中该第二环节包括所述至少一个事先规定的搜索项。这些搜索项是上文已经被阐述的。

s03:从未经排序的交易数据集的集合m(参见例如图1)中选择交易数据集,其中所选择的交易数据集鉴于完整性是已被检验的。并且

s04:将所选择的交易数据集分配至所规定的或所读出的搜索项或者分配至所规定的或所读出的搜索项之一。

b1:重复步骤s02至s04直至达到能预给定的数目的要选择的交易数据集和/或未经排序的交易数据集的集合是空的。

s05:根据能预给定的排序标准来对所选择的和被分配的交易数据集进行语义排序,其中使被分配的搜索项达到与排序标准相应的顺序。和

s06:借助于所提到的顺序来形成密码学保护的并且经语义排序的交易数据集的集合。

b2:该方法以s01开始一直重复,直至形成区块链的足够长度或在区块链中能预给定的或预限定的数目个环节。

虽然本发明已详细地通过优选的实施例进一步图解和描述,本发明并不通过所公开的示例来受限制并且其他变型方案可以由本领域技术人员由此推导出,而并不偏离本发明的保护范围。

上文描述的过程或方法过程的实施可以根据如下指令来进行,这些指令在计算机可读的存储介质上或在易失性计算机存储器(在下文中综合地被表示为计算机可读的存储器)中存在。计算机可读的存储器例如是易失性存储器,例如缓存存储器、缓冲存储器或ram,以及非易失性存储器,例如可移动磁盘、硬盘等。

上文描述的功能或步骤可以在此以至少一个指令集的形式存在于计算机可读的存储器中/计算机可读的存储器上。这些功能或步骤在此并不受确定的指令集或确定形式的指令集或确定的存储介质或确定的处理器或确定的实施方案的约束并且可以通过软件、固件、微代码、硬件、处理器、集成电路等以单独运行的方式或以任意结合的方式来实施。在此,可以应用最不同的处理策略,例如通过单独的处理器进行的串行处理或者多重处理或多任务处理或并行处理等。

这些指令可以在本地存储器中保存,然而也可能的是,将这些指令保存在远程系统中并且经由网络来对其访问。

术语“处理器”、“中央信号处理”、“控制单元”或“数据评估工具”,如在此使用的那样包括在最宽泛意义上的处理工具,也即例如服务器、通用处理器、图形处理器、数字信号处理器、专用集成电路(asic)、可编程逻辑电路,例如fpga,离散模拟的或数字的电路及其任意组合,其包括所有其他对于本领域技术人员已知的或者在未来所开发的处理工具。处理器可以在此由一个或多个设备或装置或单元组成。如果处理器由多个设备组成,则这些设备可以被设计或配置用于并行或串行处理或实施指令。

[1]

andreasm.antonopoulos“masteringbitcoin:unlockingdigitalcryptocurrencies”,o’reillymedia,2014十二月

[2]

rogerm.needham,michaeld.schroeder“usingencryptionforauthenticationinlargenetworksofcomputers”acm:communicationsoftheacm.卷21,.第12号,1978十二月

[3]

rossanderson“securityengineering.aguidetobuildingdependabledistributedsystems”wiley,2001

[4]

henningdiedrich“ethereum:blockchains,digitalassets,smartcontracts,decentralizedautonomousorganizations”,createspaceindependentpublishingplatform,2016

[5]

“theethereumbookproject/masteringethereum”

https://github.com/ethereumbook/ethereumbook.2017.10.5的版本

[6]

leemonbaird

“theswirldshashgraphconsensusalgorithm:fair,fast,byzantinefaulttolerance”,

swirldstechreportswirlds-tr-2016-01,2016.5.31

[7]

leemonbaird

“overviewofswirldshashgraph”,

2016.5.31

[8]

blockchainoracles

https://blockchainhub.net/blockchain-oracles/

2018.03.14的版本

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