用于运行分布式数据库系统的方法、分布式数据库系统和工业自动化系统

文档序号:108412 发布日期:2021-10-15 浏览:17次 >En<

阅读说明:本技术 用于运行分布式数据库系统的方法、分布式数据库系统和工业自动化系统 (Method for operating a distributed database system, distributed database system and industrial automation system ) 是由 M·迪克特尔 于 2019-11-13 设计创作,主要内容包括:在一种用于运行分布式数据库系统(1)的方法中,所述分布式数据库系统具有用于尤其是以区块链(BC)的方式提供相互关联的数据块(Bi)的分布式节点装置(2-6),所述区块链记录用户(8)之间的事务,其中用户(8)之间的事务(TD)借助于事务数据和密码签名方法被保护,对于每个事务,规定用于保护相应事务的密码签名方法,其中对所规定的密码签名方法进行标识的签名信息是事务的一部分或用于所述事务的实施请求的一部分。然后对于每个事务,经由所述事务数据的至少一部分或其哈希值按照所规定的密码签名方法计算签名数据,并且将签名数据添加到所述事务数据。(In a method for operating a distributed database system (1) having distributed node devices (2-6) for providing interrelated data blocks (Bi), in particular in the form of a Block Chain (BC), which records transactions between users (8), wherein Transactions (TD) between users (8) are protected by means of transaction data and a cryptographic signature method, a cryptographic signature method for protecting the respective transaction is specified for each transaction, wherein signature information identifying the specified cryptographic signature method is part of a transaction or part of an implementation request for the transaction. Then for each transaction, signature data is calculated in accordance with the prescribed cryptographic signature method via at least a portion of the transaction data or a hash value thereof, and the signature data is added to the transaction data.)

用于运行分布式数据库系统的方法、分布式数据库系统和工 业自动化系统

技术领域

本发明涉及一种用于借助于联网的节点装置运行分布式数据库系统、诸如区块链(Blockchain)的方法。这样的数据库系统尤其是适用于使用在工业自动化网络中。为了能够在区块链内执行和记录数据条目或事务(Transaktion),以密码方式保护这样的条目。例如常见的是,根据预先给定的标准对事务或条目进行数字签名。

背景技术

在管理密码货币的已知区块链比特币情况下,用户或使用者可以借助于其私有密码密钥在比特币区块链中拥有货币价值条目。用于保护针对人员或用户的相应数据库条目的密码方法基于具有特定密钥长度、即256比特的椭圆曲线密码学(Elliptic CurveCryptography:ECC)。所使用的ECDSA签名(Elliptic Curve Digital SignatureAlgorithm(椭圆曲线数字签名算法):ECDSA)的密钥长度已被选择为使得操纵攻击是几乎不可能直至不可能的。由于不能预见对于攻击这样的分布式数据库系统可以使用的未来计算机性能,因此成问题的是,比特币区块链是否长期装备有适当的安全等级。

对于比特币区块链规定,应该在2130年出现最后的比特币。应该以大概率假设,在该时间点,具有256比特模块的椭圆曲线将不再提供适度的安全性。量子计算机的当前进步加剧了对这些曲线的长期安全性的怀疑。具有足够数目量子比特的可设想的量子计算机可能在多项式时间中打破所有基于椭圆曲线的常见密码方法。

就此而言值得期望的是,尽可能高和灵活地保持分布式数据库系统相对于密码分析攻击的安全性和鲁棒性。

发明内容

在此背景下,本发明的任务在于能够实现分布式数据库系统、尤其是区块链的经改善的运行。

该任务通过在独立权利要求中说明的特征来解决。本发明的有利改进方案在从属权利要求中示出。

因此,提供一种用于运行分布式数据库系统的方法,所述分布式数据库系统具有用于提供相互关联的数据块的分布式节点装置。数据块尤其是可以以区块链的方式被提供。数据块记录用户之间的事务,其中用户之间的事务借助于相对应的事务数据和密码签名方法得到保护。在该方法情况下,为每个事务规定用于保护相应事务的密码签名方法,其中标识所规定的密码签名方法的签名信息是事务数据的一部分或用于事务的实施请求的一部分。

尤其是,对于每个事务,经由事务数据的至少一部分或其哈希值根据所规定的密码签名方法计算签名数据,并且将签名数据添加到事务数据。

密码签名在用户与所请求的事务或相应数据条目之间创造密码绑定或耦合,并且在此满足特定安全要求。例如,安全等级的示例是密钥长度。

通过规定在(优选)每个事务实施或确认的范围中要应用的密码签名方法,数据库系统的运行变得更灵活和更安全。使得能够在数据库系统的寿命跨度上更改签名方法的安全等级,并且使其适配于密码分析的进步。

例如,在基于秘密信息(诸如密码私钥)的安全方法情况下,基本运算的平均数目可以被认为是安全等级,所述平均数目需要最高效的已知算法来确定秘密信息。在80比特的安全等级情况下,攻击者必须实施280个基本运算来找到私钥。于是可以说安全等级是80比特。相应安全等级的其他量度、例如密钥长度或椭圆曲线的参数也是可设想的。

只要不规定尤其是具有提高的安全性的新密码签名方法,就例如对于所有未来事务通过使用特定的密码签名方法规定安全等级。优选地,在不例如以用于要应用的签名方法的参照、指针、程序代码和/或用于签名方法的参数的方式说明签名信息的情况下,不能实施事务。

在实施方式中,签名信息具有用于实施所规定的密码签名方法的程序代码。密码签名方法可以被实现为可执行代码并且以存储在数据库系统中方式存在。该方法的一种可能实现设置一个或多个智能合约,所述智能合约促成相对应的密码签名方法或不同的密码签名方法。就此而言,该方法的变型方案规定,为分布式数据库系统或在分布式数据库系统中以智能合约的方式提供可预先给定的密码签名方法。

也可设想的是,签名信息具有指向用于实施所规定的密码签名方法的程序代码的指针。

在该方法的一种实施方式中,借助于所规定的密码签名方法对签名信息进行数字签名。可替代地,可以首先为签名信息显示哈希值,并且随后借助于所规定的密码签名方法对哈希值进行数字签名。随后将经签名和/或哈希的签名信息附加给事务数据。

相应签名优选地是事务或事务请求或事务数据的一部分。

例如,在变更事务中,可以为所有后续事务规定新的密码签名方法来保护相应事务。尤其是,只有在预先给定份额的用户在使用当前规定的密码签名方法的情况下同意更改事务时,才进行这一点。

在实施方式中,数据库系统的所有用户必须同意。也可能的是,确定预先给定的必要多数、例如三分之二或50%来更改签名方法。

在实施方式中,一组参与者可以就该组参与者之间的交易的特定数字签名方法达成一致,并且为未来的后续事务规定。

在实施方式中,在特定时间间隔内规定要应用的密码签名方法。此外可设想的是,为最大数目的事务规定签名方法,其中必须在时间间隔或事务数目到期后重新确定所述签名方法。

在实施方式中,所规定的新的签名方法必须比当前规定的签名方法具有更高的密码安全等级。

在实施方式中,相应密码签名方法将密码密钥对相互关联,其中有效的密钥对被分配给每个用户。可替代地或附加地,签名方法可以利用椭圆曲线密码学(ECC)来实现。

在ECC情况下,考虑离散对数问题并且规定曲线参数。在此,ECC的安全等级基本上由密钥长度确定。关于分布式数据库系统和数据条目与用户的密码绑定,所规定的密码签名方法的安全等级可以是所使用的密钥长度。

密码签名方法可以基于椭圆曲线密码学(ECC)来实现,并且签名信息例如具有用于ECC的密钥长度,尤其是作为比特数。

密码签名方法优选地基于后量子密码学(PQC)来实现。鉴于PQC方法的规定能够实现借助于量子计算机保护免受攻击,所述量子计算机可能能够对迄今使用的非对称密码系统进行解密。因此,在运行分布式数据库期间,可以通过在量子计算机攻击方面更鲁棒的新签名方法替换迄今为止的密码签名方法。尤其是,可设想的是,在本专利申请的申请日的时间点的版本中鉴于根据标准RFC 8391的方法进行规定。作为签名方法尤其是考虑XMSS。

在实施方式中规定,记录用户之间的事务的相互关联的数据块包括借助于不同的密码签名方法保护的数据块。

尤其是,借助于所提出的方法运行的区块链可以包括具有不同安全等级的签名的事务。在数据块中记录的旧的濒危数据条目可以通过传输给根据当前规定的签名方法被保护的新数据块来抢救。

密码签名方法尤其是将密码密钥对以密码方式相互关联;于是可以将当前密钥对分配给每个用户。在实施方式中确保,对于每个密钥对恰好存在一个用户。原则上,用户也可以拥有多个密钥对。

在该方法的实施方式中,此外对于每个用户实施以下步骤中的至少一个:

给用户分派数字签名密钥,其中数字签名密钥与当前规定的密码签名方法相对应;

借助于分派给用户的数字签名密钥对用户的事务请求进行数字签名,以产生经数字签名的事务请求;和

如果数字签名被识别为有效的,并且如果事务与作为分布式数据库系统的区块链的事务历史一致,则确认事务。

数字签名密钥的分派也可以由相应用户自己进行。例如,用户产生由其使用的密钥对。

在实施方式中,所关联的数据块记录关于资源、尤其是密码货币的事务。密码签名方法的安全等级于是尤其是根据在事务的范围中记录的资源的值或量来规定。就此而言,可以使事务安全性适配于事务的值。

在该方法情况下,所关联的数据块可以记录关于资源、尤其是密码货币的事务,并且通过由检验实体检验事务数据中的签名来实施事务。为了检验,于是将一定量的所管理的资源引开到检验实体,其中所述量取决于签名检验的计算耗费。根据所规定的签名方法为密码计算提供计算性能的网络装置可以被用作检验实体。计算耗费越大,例如事务成本就被确定得越大。尤其是,由此可以预防拒绝服务(Denial-of-Service)攻击。

在实施方式中,根据已知的区块链算法越过上述步骤运行。例如,以太坊、IOTA或比特币变体是可设想的。

此外,提出一种分布式数据库系统,所述分布式数据库系统包括多个用于提供相互关联的数据块的节点装置,所述数据块尤其是以区块链的方式关联。每个节点装置被设立用于根据预先给定的区块链算法记录用户之间的事务,其中区块链算法促使通过节点装置实施先前和在下面描述的方法。

尤其是,提出一种节点装置,所述节点装置被设立为使得所述节点装置可以用作分布式数据库系统中的节点装置,并且根据区块链算法工作,如先前和在下面描述的那样。

此外,如先前和在下面描述的那样提出具有分布式数据库系统的工业自动化网络,其中数据库系统被设立用于记录和控制自动化网络中的现场设备的事务。

尤其是,配备有地址的现场设备可以被视为用户。这样的现场设备可以产生传感器数据或控制数据,其借助于节点装置分布式地被存储。由于只有使用根据当前数字签名的事务请求来实施事务,所以这种工业自动化网络的安全性可以被改善。现场设备本身也可以是数据库系统中的节点装置。

区块链(英语:Blockchains)或“分布式账本”的技术当前是被密集讨论的技术,所述技术尤其是可以作为分布式数据库系统来实现。除了用于分散式支付系统(例如比特币)的应用之外,在金融业开发新的应用可能性。尤其是,公司之间的事务可以由此在没有中介或票据交换中心的情况下以防操纵的方式被实现。这能够实现无可信赖中介的新商业模式,降低事务成本,并且可以灵活地供应新的数字服务,其中通常不设立为此专门设立的基础设施和信任关系。受区块链保护的事务数据组(或简称事务)例如包括程序代码,所述程序代码也可以被称为所谓的“智能合约”。

相应单元,例如节点、计算单元或控制单元,可以在硬件技术上和/或也在软件技术上实现。在硬件技术实现的情况下,相应单元可以被构造为设备或设备的一部分,例如被构造为计算机或微处理器或车辆的控制计算机。在软件技术实现的情况下,相应单元可以被构造为计算机程序产品、函数、例程、程序代码的一部分或可执行对象。

此外,提出一种计算机程序产品,所述计算机程序产品促使在一个或多个程控装置上实施如上面所阐述的方法。

计算机程序产品、诸如计算机程序装置,例如可以作为存储介质、诸如存储卡、USB棒、CD-ROM、DVD或者也以来自网络中的服务器的可下载文件的形式被提供或供应。这可以例如在无线通信网络中通过传输具有计算机程序产品或计算机程序装置的相对应文件来进行。

针对所提出的设备描述的实施方式和特征相对应地适用于所提出的方法。

本发明的其他可能的实现还包括先前或在下面关于实施例描述的特征或实施方式的未明确提及的组合。在此,本领域技术人员还将添加各别方面作为对本发明的相应基本形式的改善或补充。

本发明的其他有利构型和方面是从属权利要求以及在下面描述的本发明实施例的主题。在下文中,参照附图根据优选的实施方式更详细地阐述本发明。

只要在随后的描述中无另外说明,术语“实施”、“计算出”、“计算机辅助的”、“计算”、“确定”、“生成”、“配置”、“重构”等优选地涉及改变和/或产生数据和/或将数据转化成其他数据的动作和/或过程和/或处理步骤,其中数据尤其是可以作为物理量来表示或存在,例如作为电脉冲。尤其是应该尽可能广泛地解释表述“计算机”,以便尤其是涵盖具有数据处理特性的所有电子设备。因此,计算机可以例如是个人计算机、服务器、存储器可编程控制器(SPS)、手持计算机系统、袖珍PC设备、移动无线电设备和可以以计算机辅助的方式处理数据的其他通信设备、处理器和用于数据处理的其他电子设备。

结合本发明,“计算机辅助的”例如可以被理解为其中尤其是处理器执行该方法的至少一个方法步骤的方法的实现。

结合本发明,处理器可以例如被理解为机器或电子电路。处理器可以尤其是主处理器(英语:Central Processing Unit(中央处理单元),CPU)、微处理器或微控制器、例如专用集成电路或数字信号处理器,可能与用于存储程序命令的存储单元等组合。处理器例如也可以是IC(集成电路,英语:Integrated Circuit)、尤其是FPGA(英语:FieldProgrammable Gate Array(现场可编程门阵列))或ASIC(专用集成电路,英语:Application-Specific Integrated Circuit)或DSP(数字信号处理器,英语:DigitalSignal Processor)或图形处理器GPU(Graphic Processing Unit(图形处理单元))。处理器也可以被理解为虚拟化处理器、虚拟机或软CPU。例如,也可以是可编程处理器,其装备有用于执行根据本发明的所提及的方法的配置步骤,或者利用配置步骤被配置为使得可编程处理器实现本发明的方法、组件、模块或其他方面和/或子方面的根据本发明的特征。

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

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

结合本发明,尤其是关于数据和/或信息,“包括”例如可以被理解为在数据结构/数据组(其例如又存储在存储单元中)中(以计算机辅助的方式)存储相对应信息或相对应的数据。

结合本发明,尤其是关于数据和/或信息,“分配”例如可以被理解为以计算机辅助的方式分配数据和/或信息。例如为此借助于存储地址或唯一标识符(英语:uniqueidentifier, UID)给第一数据分配第二数据,其中例如第一数据与第二数据的存储地址或唯一标识符一起被存储在数据组中。

结合本发明,尤其是关于数据和/或信息,“提供”例如可以被理解为以计算机辅助的方式提供。例如经由接口(例如数据库接口、网络接口、至存储单元的接口)进行提供。经由所述接口,例如在提供时可以传送和/或发送和/或调用和/或接收相对应的数据和/或信息。

结合本发明,“提供”例如还可以被理解为加载或存储例如具有相对应数据的事务。这可以例如在存储模块上或由存储模块进行。“提供”例如还可以被理解为从区块链或分布式数据库系统(或其基础设施)的一个节点向另一节点传输(或发送或传送)相对应的数据。

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

结合本发明,“校验和”、例如数据块校验和、数据校验和、节点校验和、事务校验和、链接校验和等例如可以被理解为密码校验和或密码哈希或哈希值,其尤其是经由数据组和/或数据和/或事务中的一个或多个和/或数据块的子区域(例如区块链的区块的区块头部或分布式数据库系统的数据块的数据块头部或仅数据块的事务的一部分)借助于密码哈希函数来构成或计算。校验和可以尤其是哈希树(例如默克尔(Merkle)树、帕特里夏(Partricia)树)的一个/多个校验和或一个/多个哈希值。此外尤其是也可以将其理解为数字签名或密码消息认证代码。例如,借助于校验和可以在数据库系统的不同层面上实现对事务和存储在其中的数据(组)的密码保护/操纵保护。如果例如需要高的安全性,则例如在事务层面上产生和检验校验和。如果需要不太高的安全等级,则在区块层面(例如,在整个数据块上或仅在数据块的一部分上和/或事务的一部分上)产生和检验校验和。

结合本发明,“数据块校验和”可以例如被理解为例如在数据块的一部分或所有事务上计算的校验和。节点于是例如可以借助于数据块校验和检验/确定数据块的相对应部分的完整性/真实性。附加地或可替代地,数据块校验和尤其还可以关于先前数据块/数据块的前任数据块的事务来构成。数据校验和在此尤其是也可以借助于哈希树、例如默克尔树[1]或帕特里夏树来实现,其中数据块校验和尤其是默克尔树或帕特里夏树或二叉哈希树的根校验和。尤其是(例如在使用事务校验和的情况下),借助于来自默克尔树或帕特里夏树的其他校验和来保护事务,其中尤其是其他校验和是默克尔树或帕特里夏树中的叶子。数据块校验和因此可以例如保护事务,其方式是由其他校验和构成根校验和。数据块校验和尤其是可以针对数据块中的特定数据块的事务被计算。尤其是,这样的数据块校验和可以被包括在特定数据块的后续数据块中,以便将该后续数据块例如与其先前的数据块链接,并且尤其是从而使可以检验分布式数据库系统的完整性。由此,数据块校验和可以例如承担链接校验和的功能或者可以被包括在链接校验和中。例如,数据块(例如新数据块或构成数据块校验和所针对的数据块的)的头部可以包括数据块校验和。

结合本发明,“事务校验和”可以被理解为尤其是关于数据块的事务构成的校验和。附加地,由于为此例如已经计算的事务校验和相同地可以被用作例如默克尔树的叶子,所以例如可以加速相对应的数据块的数据块校验和的计算。

结合本发明,“链接校验和”可以被理解为尤其是借助于分布式数据库系统的先前数据块为分布式数据库系统的相应数据块确定的或参考这样的数据块的校验和(在专业文献中尤其是经常被称为“先前区块哈希(previous block hash)”)[1]。为此,尤其是为相对应的先前数据块构成相对应的链接校验和。例如,可以使用事务校验和或数据块(即分布式数据库系统的现有数据块)的数据块校验和作为链接校验和,以便将新数据块与分布式数据库系统的(现有)数据块链接。但是,例如也可能的是,关于先前数据块的头部或关于整个先前数据块构成校验和,并且将其用作链接校验和。例如,这也可以针对多个或所有先前数据块被计算。例如,也可实现的是,关于数据块的头部和数据块校验和构成链接校验和。然而,分布式数据库系统的相应数据块优选地分别包括链接校验和,所述链接校验和是针对相应数据块的先前数据块、尤其是更加优选地直接在前的数据块被计算的或者涉及所述数据块。例如,也可能的是,也仅关于相应数据块(例如,先前数据块)的一部分构成相应的链接校验和。由此,例如可以实现包括受完整性保护的部分和未受保护的部分的数据块。从而例如可以实现以下数据块,即其受完整性保护的部分是不可变的并且其未受保护的部分也仍可以稍后被改变。在此,受完整性保护尤其应该被理解为,受完整性保护的数据的变化可以借助于校验和来确定。

例如存储在数据块的事务中的数据尤其是可以以不同的方式被提供。代替数据、例如用户数据、诸如测量数据或资产的数据/所有制关系,例如数据块的事务可以仅包括针对所述数据的校验和。在此,相对应的校验和可以以不同的方式被实现。这可以例如是另一数据库或分布式数据库系统的(具有相对应数据的)数据块的相对应数据块校验和,是具有(分布式数据库系统或另一数据库的)相对应数据的事务校验和或关于数据构成的数据校验和。

附加地,相对应的事务还可以包括关于存储位置的参照或说明(例如,文件服务器的地址和在文件服务器上可以在哪里找到相应数据的说明;或包括数据的另一分布式数据库的地址)。相对应的数据于是也可以例如在分布式数据库系统的另一数据块的另一事务中被提供(例如,如果相对应的数据和所属的校验和被包括在不同的数据块中)。但是,例如也可设想的是,经由另一通信通道(例如经由另一数据库和/或密码安全的通信通道)提供所述数据。

例如,除了校验和之外,附加数据组(例如关于存储位置的参照或说明)也可以储存在相对应的事务中,所述相对应的事务尤其是说明可以调用数据的存储位置。这尤其是以如下方式是有利的,即将区块链或分布式数据库系统的数据大小保持得尽可能小。

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

结合本发明,“对分布式数据库系统的数据块进行链接”例如可以被理解为数据块分别包括信息(例如链接校验和),所述信息参照分布式数据库系统的另一数据块或多个其他数据块或参考这些数据块[1][4][5]。

结合本发明,“插入到分布式数据库系统中”等例如可以被理解为尤其是一个事务或多个事务或具有其事务的数据块被传送给分布式数据库系统的一个或多个节点。如果这些事务例如(例如通过一个/多个节点)被成功验证,则尤其是将这些事务作为新的数据块与分布式数据库系统的至少一个现有数据块链接[1][4][5]。为此,相对应的事务例如被存储在新的数据块中。尤其是,该验证和/或链接可以通过可信赖的节点(例如挖矿节点、区块链预言机或区块链平台)进行。在此,区块链平台尤其是可以被理解为区块链即服务(英语:Blockkette als Service),如这尤其是由Microsoft或IBM提出的那样。尤其是,可信赖的节点和/或节点可以分别在数据块(例如,其中由其验证和产生的数据块,所述数据块然后被链接)中存放节点校验和(例如数字签名),以便尤其是能够实现数据块的创建者的可标识性和/或能够实现节点的可标识性。在此,该节点校验和说明:例如哪个节点已经将相对应的数据块与分布式数据库系统的至少一个其他数据块链接。

结合本发明,“事务”或“多个事务”例如可以被理解为智能合约[4][5]、数据结构或事务数据组,所述事务数据组尤其是分别包括事务之一或多个事务。结合本发明,“事务”或“多个事务”例如也可以被理解为区块链(英语:Blockchain)的数据块的事务的数据。事务尤其是可以包括例如实现智能合约的程序代码。例如,结合本发明,事务也可以被理解为控制事务和/或确认事务。可替代地,事务可以例如是数据结构,所述数据结构存储数据(例如控制命令和/或合同数据和/或诸如视频数据、用户数据、测量数据等之类的其他数据)。

尤其是,“在数据块中存储事务”、“存储事务”等可以被理解为直接存储或间接存储。在此,直接存储例如被理解为(分布式数据库系统的)相对应的数据块或(分布式数据库系统)的相对应的事务包括相应数据。在此,间接存储可以例如被理解为相对应的数据块或相对应的事务包括用于相对应的数据的校验和以及可选地附加数据组(例如,关于存储位置的参照或说明)并且因此相对应的数据不直接存储在数据块(或事务)中(即代替地,仅用于所述数据的校验和)。尤其是,在将事务存储在数据块中时可以例如验证该校验和,正如这例如在“插入到分布式数据库系统中”情况下所阐述的那样。

结合本发明,“程序代码”(例如智能合同)例如可以被理解为尤其是存储在一个或多个事务中的一个程序命令或多个程序命令。程序代码尤其是可执行的并且例如通过分布式数据库系统执行。这例如可以借助于执行环境(例如虚拟机)来实现,其中执行环境和程序代码优选地是图灵完备的。程序代码优选地通过分布式数据库系统的基础设施执行[4][5]。在此,例如虚拟机通过分布式数据库系统的基础设施实现。

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

结合本发明,“工作量证明证据(Proof-of-Work-Nachweis)”例如可以被理解为解决计算密集型任务,所述计算密集型任务尤其是可以根据数据块内容/特定事务的内容来解决[1][4][5]。这样的计算密集型任务例如也被称为密码难题。

结合本发明,“分布式数据库系统”(例如也可以被称为分布式数据库)例如可以被理解为分散分布式数据库、区块链(英语:Blockchain)、分布式账本、分布式存储系统、基于分布式账本技术(DLT)的系统(DLTS)、防篡改数据库系统、云、云服务、云中的区块链或对等数据库。例如也可以使用区块链或DLTS的不同实现。例如使用区块链或基于DLT的系统,所述系统利用有向无环图(DAG)、密码难题、哈希图或上述实现变型方案的组合[6][7]来工作。也可以例如实现不同的共识方法(英语:consensus algorithms(共识算法))。这例如可以是借助于密码难题、谈论八卦(Gossip about Gossip)、虚拟投票的共识方法或所提到的方法的组合(例如谈论八卦与虚拟投票组合)[6][7]。尤其是,除了用于事务验证的工作量证明实现之外,权益证明、权威证明或状态证明变型方案是已知的。如果例如使用区块链,则尤其是可以借助于基于比特币的实现或基于以太坊的实现来实现所述区块链[1][4][5]。“分布式数据库系统”例如也可以被理解为其中其节点和/或设备和/或基础设施的至少一部分通过云实现的分布式数据库系统。例如,相对应的组件作为云中的节点/设备(例如作为虚拟机中的虚拟节点)来实现。这例如可以借助于VM-Ware(虚拟机)、Amazon WebServices(亚马逊网络服务)或Microsoft Azure(微软云)来进行。由于所阐述的实现变型方案的高度灵活性,尤其是所提到的实施变型方案的部分方面也可以被相互组合,其方式是例如使用哈希图作为区块链,其中区块链本身也可以例如是无区块的。

如果例如使用有向无环图(DAG),则尤其是事务或图形的区块或节点彼此经由有向边相互连接。这尤其是意味着(所有)边(总是)具有相同的方向,类似于如这例如在时间情况下那样。通过边的明确的、非循环走向,明确地和证据可靠地规定所参与的事务的时间次序。非循环的在此尤其是意味着在遍历图形时不存在循环。

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

如果例如是公共分布式数据库系统,则这意味着新节点和/或设备在无权限证据的情况下或在无鉴权的情况下或在无登录信息的情况下或在无凭据的情况下参与分布式数据库系统或由所述分布式数据库系统接受。尤其是,在这种情况下,节点和/或设备的运营商可以保持匿名。

如果分布式数据库系统例如是封闭的分布式数据库系统,则新节点和/或设备例如需要有效权限证据和/或有效鉴权信息和/或有效凭证和/或有效登记信息,以便能够参与分布式数据库系统或由所述分布式数据库系统接受。

分布式数据库系统例如也可以是用于数据交换的分布式通信系统。例如,这可以是网络或对等网络。

结合本发明,尤其是根据上下文和实现也可以称为“环节”或“区块”的“数据块”可以例如被理解为分布式数据库系统的数据块(例如,区块链或对等数据库),其尤其是被实现为数据结构并且优选地分别包括事务中的一个或事务中的多个。在实现时,例如数据库(或数据库系统)可以是基于DLT的系统(DLTS)或区块链并且数据块可以是区块链或DLTS的区块。数据块可以例如包含关于数据块的大小(以字节为单位的数据大小)的说明、数据块头部(英语:Block-header)、事务计数器和一个或多个事务[1]。例如,数据块头部可以包括版本、链接校验和、数据块校验和、时间戳、工作量证明证据和随机数(Nonce)(用于工作证明证据所使用的一次性值、随机值或计数器)[1][4][5]。例如,数据块也可以仅是在分布式数据库系统中存储的全部数据的特定存储区域或地址区域。例如,从而可以实现无区块(英语:blockless)分布式数据库系统,诸如IoTa链(ITC)、IOTA和字节球(Byteball)。在此情况下,尤其是将区块链的区块和事务的功能性相互组合,使得例如事务本身保护(分布式数据库系统的)事务序列或链(即,尤其是以安全性保护的方式被存储)。为此,例如可以利用链接校验和将事务本身彼此链接,其方式是优选地单独的校验和或一个或多个事务的事务校验和用作链接校验和,所述链接校验和在将新事务存储在分布式数据库系统中时一起被存储在相对应的新事务中。在这样的实施方式中,数据块例如也可以包括一个或多个事务,其中在最简单的情况下,例如数据块对应于事务。

结合本发明,“随机数”可以被理解为密码随机数(对“仅使用一次”[2]或“使用一次的数”[3]的缩写)。尤其是,随机数表示各个数字或字母组合,其优选地在相应上下文(例如事务、数据传输)中被使用一次。

结合本发明,“分布式数据库系统的(特定)数据块的先前数据块”例如可以被理解为分布式数据库系统的数据块,所述数据块尤其是直接在(特定)数据块之前。可替代地,“分布式数据库系统的(特定)数据块的先前数据块”尤其是也可以被理解为分布式数据库系统的所有数据块,所述数据块在特定数据块之前。由此,例如链接校验和或事务校验和尤其是仅能关于直接在特定数据块之前的数据块(或其事务)或关于在第一数据块之前的所有数据块(或其事务)被构成。

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

结合本发明,“区块链预言机”等例如可以被理解为被认为是可靠数据源的节点、设备或计算机。例如,由被认为“区块链预言机”的节点获得的数据被视为正确的或不被操纵的,因为这样的节点拥有安全模块,所述安全模块例如借助于软件保护机制(例如密码方法)、机械保护装置(例如可锁定外壳)或电气保护装置(例如包括篡改保护或保护系统,所述保护系统在不允许地使用/处理区块链预言机的情况下删除安全模块的数据)进行支配。在此,安全模块可以例如包括用于计算校验和(例如事务校验和或节点校验和)必要的密码密钥。

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

[1] Andreas M. Antonopoulos "Mastering Bitcoin: Unlocking DigitalCryptocurrencies", O' Reilly Media, 2014年12月

[2] Roger M. Needham, Michael D. Schroeder "Using encryption forauthentication in large networks of computers" ACM: Communications of theACM. 第21卷,第12期, 1978年12月

[3] Ross Anderson "Security Engineering. A Guide to BuildingDependable Distributed Systems" Wiley, 2001

[4] Henning Diedrich "Ethereum: Blockchains, Digital Assets, SmartContracts, Decentralized Autonomous Organizations", CreateSpace IndependentPublishing Platform, 2016

[5] "The Ethereum Book Project/Mastering Ethereum"

https://githum.com/ethereumbook/ethereumbook, 截至2017年10月5日

[6] Leemon Baird "The Swirlds Hashgraph Consensus Algorithm: Fair,Fast, Byzantine Fault Tolerance", Swirlds Tech Report SWIRLDS-TR-2016-01,2016年5月31日

[7] Leemon Baird "Overview of Swirlds Hashgraph", 2016年5月31日

针对所提出的分布式数据库系统描述的实施方式和特征相对应地适用于所提出的用于运行分布式数据库系统的方法。

本发明的其他可能的实现还包括先前或在下文中关于实施例描述的特征或实施方式的未明确提到的组合。在此,本领域技术人员也将添加个别方面作为对本发明的相应基本形式的改善或补充。

附图说明

本发明的其他有利构型和方面是从属权利要求以及在下面描述的本发明实施例的主题。在下文中,参照附图根据实施方式更详细地阐述本发明。

图1示出具有分布式数据库系统的工业自动化网络的一种实施方式的示意图;

图2示意性地示出区块链的一种实施方式;

图3示出用于运行区块链的方法的流程图;和

图4示意性地示出区块链的另一实施方式。

具体实施方式

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

图1示出工业自动化网络的一种实施方式的示意图,其中使用分布式数据库系统。为此,在图1中以区块链1的方式示出分布式数据库系统,所述区块链在图2中更详细地图解。在此,分布式数据库系统1包括彼此联网的节点装置2-6。

节点装置耦合到网络7上并且原则上可以相互交换数据。作为节点装置2-6,例如可以考虑具有区块链客户端的计算机或还有现场设备以及移动终端设备。在所示的实施例中,例如可以存储由工业自动化网络10的现场设备11、12、13产生的传感器数据。以在用户之间的事务的方式进行存储。例如,针对用户、例如传感器装置11的事务可以在于记录或存储传感器值。在下面,“用户”被理解为在分布式数据库系统1内录入所分派的信息所针对的每个实体。类似地,信息可以在区块链BC内通过事务被储存。

在图1中,在左侧示出通常的用户8。为了在区块链BC内执行事务,必须经由区块链标识数据来标识用户8,所述区块链标识数据例如可以是网络地址。经常也使用钥-锁对的公钥作为区块链标识数据。这在图1中用用户8的私钥SK和公钥PUB表明。密钥SK、PUB经由密码方法相互关联,并且用于以密码方式保护区块链BC中的事务。用户之间的事务或数据库条目的变化(其由在下面阐述的数据块记录)在此以签名数据块的方式通过密码安全方法来保护。

在图2中,示意性地表明区块链BC。在区块链BC情况下,依次产生数据块Bi,其中图1中以Bi、Bi+1和Bi-1表示的相继数据块以密码方式相互关联。例如,将在时间上在图2中最当前的数据块Bi+1与先前的数据块Bi关联,其方式是写入先前数据块Bi的哈希值,所述最当前的数据块也像其余先前数据块Bi和Bi-1那样包括头部数据HD、哈希数据块数据BH和事务数据TD。这在图2中分别由具有附注“Hash(哈希)”的弯曲的箭头表示。在分别先前的数据块的哈希值构成时,所有数据(尤其是区块链BC的事务历史)到达(eingehen),使得对数据、尤其是事务数据的未被注意到的操纵是非常不可能的。

在产生应该记录用户之间的所请求的事务的新数据块时,提供计算机容量的节点装置2-6检验:等候处理的事务是否与到目前为止的事务历史矛盾。例如,如果节点装置的大多数鉴于事务历史将事务归类为不矛盾的,则确认该事务。

因此,实现了以密码方式受保护的链接,其中在每个事务情况下使用密码签名方法。在常规的区块链情况下,在区块链开始时,选择特定的密码方法并且在寿命内使用所述特定的密码方法。

在用于运行分布式数据库1的所提出的方法情况下,可以灵活地对于每个事务规定为了保护所使用的签名方法(例如通过说明完整的参数组,所述参数组明确地表征要使用的签名方法,其中尤其是相应的密钥长度)。也可设想的是到对密码签名方法进行标识的这样的参数数据或到可执行程序代码的链路,所述可执行程序代码实现签名计算。由此也可以使区块链的密码安全等级适配于分别当前的要求。这在图3中示意性地表明,所述图3在根据图1的分布式数据库系统的运行方法中以根据图2的区块链方式示出进行的方法步骤。

在步骤S1中,由用户8产生事务请求。例如,对于分派给相应用户8的特定网络地址应该实现关于密码货币的数值的贷方项。必须借助于密码密钥和所属的密码签名方法对事务请求进行签名。

在运行分布式数据库系统1时,在每个事务处规定要使用的密码签名方法(步骤S2)。对于不太安全相关的事务,例如可以使用具有160比特模块的ECDSA方法,以便节省计算性能。在根据现有技术安全相关的事务情况下,例如使用具有256比特模块的ECDSA方法。如果未来256比特模块显现得不再足够安全,则对于数据库系统1中的事务规定320比特的模块。

为了规定密码签名方法,每个事务请求或用于事务的实施请求包含签名信息。签名信息例如通过说明密钥长度来标识要应用的签名方法。于是根据所规定的密钥长度和所属的方法、例如ECDSA借助于公钥来检验经签名的事务请求。

在通过分布式数据库系统1运行区块链BC时,可以对用户的网络地址作为区块链标识数据与所请求的事务一起进行数字签名。例如,认证机构9(参见图1)根据所规定的密码签名方法产生一对公开验证密钥PUB和私有密码密钥SK作为数字签名密钥。公钥PUB例如借助于数字证书被分配给用户8。

在步骤S3中,从而在应用通过签名信息标识的所规定的密码签名方法的情况下对事务请求配备签名或对所述事务请求进行签名。在此,签名方法的执行可以以智能合约的方式实现为可执行程序代码,其中签名信息例如表示指向代码的指针(或pointer)。

因此,在步骤S4中基于经签名的事务数据实施事务。在应用所规定的密码方法的情况下产生新的数据块。由于签名信息或密码签名方法的与事务有关的规定,区块链BC可以具有带有不同数字签名的数据块。

这在图4中表明。随时间t的推移已经产生了区块Bi-1至Bi+2。所使用的密码签名方法在时间点t*发生了变化。在区块Bi之前,事务的密码保护经由签名SIG1得以保证。由于例如为了密码分析可调用的计算性能随着时间t的推移增加,并且用于SIG1的相应密码签名方法不再被认为足够安全,因此在时间t*之后更改了用于事务的签名方法。后续区块Bi+1、Bi+2包含签名SIG2,其具有比用于SIG1的签名方法更强的密码安全等级。区块链BC的用户例如通过多数投票已经取得一致意见:从时间点t*起使用比以前更大的密钥长度。

通过灵活地规定或确定签名方法可以确保实现对于事务适宜的安全等级。就此而言,所提出的用于运行区块链的方法适用于构建与安全相关的数据库,在所述方法情况下借助于经数字签名的事务数据实施事务。例如,这可以涉及自动化网络的传感器和控制数据。同样可设想的是,用作数字土地登记册或用于证明产品的特定安全特性。由于与用户(例如自然人或法人)的密码绑定可以灵活地被适配,因此可以实现持久安全的运行。

在所提出的用于运行分布式数据库系统的方法情况下,尤其是考虑关于区块链的前述方面、例如智能合约、校验和等。尽管根据简单的区块链对本发明进行了阐述,但是分布式账本的前述变型方案也可以与分布式数据库的其他变型方案一起被运行。总体而言,因为使得能够灵活地适配密码安全等级,所以用户之间的事务的安全性和可靠性得以改善。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:审核现金交易的方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!