掌桥专利:专业的专利平台
掌桥专利
首页

区块形成装置和区块形成方法、节点装置和区块确认方法

文献发布时间:2023-06-19 11:21:00


区块形成装置和区块形成方法、节点装置和区块确认方法

技术领域

本发明涉及工业自动化技术的领域,并且特别地涉及针对具有定时(Zeittaktung)的分布式数据库系统的区块形成装置、区块形成方法、节点装置和区块确认方法。

背景技术

工业应用(如工业自动化系统)对用于进行控制或调节的信息技术提出了关于功能安全性、可支配性和实时能力的特别要求。

在利用区块链技术实施的分布式数据库系统中,基于在交易方之间的共识,可以以防止操纵(manipulationsgeschuetzt)的方式来实现没有清算所(Clearing-Stelle)或者在交易方之间没有特别的信任关系的交易。可设想的是,在通过区块链技术来保护的交易数据记录中,存储测量/控制值,以及(比方说作为所谓的智能合约(Smart Contracts))存储针对工业自动化系统的控制指令。然而,已知的区块链技术缺乏对于工业控制所需的实时能力。尤其是,基于工作量证明(Proof-of-Work)的区块链可以仅仅平均以一定的间隔来确认交易,然而不能准确地预先给定,在那些时间点要确认交易或要执行智能合约。

Elli Androulaki等人的“Hyperledger Fabric: A Distributed OperatingSystem for Permissioned Blockchains”(Proceedings of the Thirteenth EurosysConference on Eurosys '18,2018年4月23-26日,葡萄牙波尔图)公开了针对受限制的访问的区块链数据库系统的运行的Fabric。该Fabric利用执行-排序-验证(Execute-Order-Validate)架构工作,在所述执行-订单-验证架构中,检查交易、将交易排序成区块和验证区块彼此分开。仅仅将交易排序成区块以经过定时的方式进行。

发明内容

在该背景下,本发明的任务在于,改进分布式数据库系统。

根据第一方面,建议了一种针对分布式数据库系统的区块形成装置,所述分布式数据库系统包括多个节点装置。区块形成装置具有:第一单元,用于从在分布式数据库系统中提供的多个未经确认的交易中选择多个待确认的交易;第二单元,用于由所选择的多个未经确认的交易形成未经确认的区块,并且用于在分布式数据库系统中提供未经确认的区块,其中检查相应的所选择的未经确认的交易的有效性,并且在检查未通过的情况下摒弃相应的所选择的未经确认的交易,要不然所述相应的所选择的未经确认的交易被纳入到未经确认的区块中;和第三单元,用于从时间源接收定时周期(Zeittakt),并且用于依据该定时周期来确定预先给定的长度的时间片。第一单元和第二单元设立为,在相应的时间片之内执行选择、形成和提供恰好一次。

分布式数据库系统可以实施防止操纵的交易账本(英语为“ledger”),所述交易账本通过在所述节点装置中的每个节点装置中存储的、经确认的区块的链来表示。该链可以借助拼接校验和(Verkettungspruefsummen)形成。尤其是,分布式数据库系统可以是区块链网络或区块链(Blockchain)。

所建议的区块形成装置可以是挖矿装置。区块形成装置尤其是可以是分布式数据库系统的节点装置的部件。

所建议的区块形成装置可以有利地由分别在分布式数据库系统中提供的未经确认的交易以预给定的定时周期形成相应的未经确认的区块。由此,可以能够实现经过定时的区块形成或者挖矿,并且因此可以能够实现以经过定时的方式确认未经确认的交易。因此,所建议的区块形成装置可以给分布式数据库系统赋予如下资格:所述资格为针对用于控制具有实时要求的工业自动化设备的使用的资格。

“多个”要被理解为一个或者多个的数目。

分布式数据库系统的装置(其中的多个节点装置和尤其是所建议的区块形成装置)可以彼此是能通信的或联网的。

“在分布式数据库系统中提供”未经确认的交易或未经确认的区块可以被理解为,向分布式数据库系统的装置中的至少一个装置传送未经确认的交易或未经确认的区块。向分布式数据库系统的装置中的其余装置,可以直接地、间接地或者以点对点(Peer-to-Peer)的方式传送要提供的未经确认的交易或者所提供的未经确认的区块。

分布式数据库系统可以设立为使得,对于向分布式数据库系统的大多数装置或者所有装置提供或传送未经确认的区块或未经确认的交易所需的时间短于时间片中的相应的时间片的长度。

第一单元可以设立为,从所提供的多个未经确认的交易中按如下顺序选择多个待确认的交易:各个未经确认的交易按所述顺序来提供。替选地也可设想的是,在选择时,依据相应的未经确认的交易的特性按优先序排列。

第二单元可以设立为,与分布式数据库系统的共识规则的要求一致地,由所选择的多个未经确认的交易形成未经确认的区块。

尤其是,第二单元可以设立为:根据共识规则检查相应的所选择的未经确认的交易的有效性;在检查未通过的情况下,摒弃未经确认的交易;并且要不然将未经确认的交易纳入到未经确认的区块中。在检查的范围中,可以执行如下智能合约:所述智能合约包含在未经确认的交易中,和/或所述智能合约寄存在分布式数据库系统的交易账本中并且被交易引用(referenziert)。以这种方式,具有控制指令的程序代码可以得到执行,所述程序代码存放在智能合约中。

尤其是,第二单元可以设立为,利用校验和(如比方说哈希值)或者哈希树(如默克尔树(Merkle Baum)或者帕特里夏树(Patricia-Baum))的根校验和,保护未经确认的区块和/或纳入到该区块中的未经确认的交易中的相应的交易免遭操纵。

尤其是,第二单元可以设立为,将未经确认的区块与分布式数据库系统的交易账本链接。为此,第二单元例如可以将拼接校验和(如经确认的区块的链的直接在前的或者间接在前的区块的校验和)纳入到未经确认的区块中。这种拼接可以给予其他防止操纵(Manipulationsschutz)。

在这种情况下,可以允许第二单元访问分布式数据库系统的交易账本的表示的本地副本。本地副本可以存储在分布式数据库系统的节点装置中,例如可以存储在其部分是区块形成装置的节点装置中,或者可以存储在区块形成装置可与之通信的节点装置中。

尤其是,第二单元可以将证明值纳入到要形成的未经确认的区块中。证明值可以被解释为区块形成单元对分布式数据库系统的顺利运行的合法利益的证明。

可设想的是比方说权益证明(Proof-of-Stake)、数字签名(所谓的“被许可的分类账(permissioned ledger)”)、或者经过适配的“工作量证明”、如例如密码学谜题(eineskryptographischen Puzzles)或者“尽力而为工作量证明(Best-Effort-Proof-of-Work)”的“相对”解决方案,所述数字签名表明区块形成装置的特别权限或者信任位置(Vertrauensstellung),所述经过适配的“工作量证明”可以肯定地在相应的时间片之内被提供。

尤其是,第二单元可以将币基(Coinbase)交易纳入到要形成的未经确认的区块中,这允许区块形成装置或者分配给区块形成装置的节点装置针对形成区块得到报酬。

通过分布式数据库的共识规则一方面规定证明值在待确认的区块中的存在而另一方面准许存在币基交易,一方面使区块的形成变得困难并且因此使对区块的操纵变得困难,而另一方面提出针对形成符合规则的区块的激励。以这种方式,可以有利地以极好的信任位置实施分布式数据库系统,而无需中央清算所。

作为对通过第二单元提供这样形成的未经确认的区块的反应,分布式数据库系统的节点装置可以例如根据分布式数据库系统的共识规则来检查所提供的未经确认的区块,并且可以将被检查的未经确认的区块作为最新的经确认的区块接纳到分布式数据库系统的交易账本中。以这种方式,可以确认包含在未经确认的区块中的未经确认的交易。由于以经过定时的方式由所建议的区块形成装置来提供未经确认的区块,所以以这种方式,通过分布式数据库系统,有利地以经过定时的方式,可以确认未经确认的交易,并且可以将未经确认的交易插入到分布式数据库系统中,所述分布式数据库系统包括所建议的区块形成装置。

时间源可以是区块形成装置和/或该区块形成装置分配给其的节点装置的本地时间源、如比方说芯片级原子钟(Chip Scale Atomic Clock),可以是分布式数据库系统的分布式时间源、如比方说分布式数据库系统的如NTP(网络时间协议(Network TimeProtocol))或PTP(精确时间协议(Precision Time Protocol))之类的时间同步协议,或者可以是对于区块形成装置和分布式数据库系统在外部的和与之远离的时间源、如比方说卫星导航系统(GNSS,如比方说GPS、伽利略(Galileo)、北斗(Beidou),Glonass)的定时器、DCF77时间发射器或者主机节点,其预先给定工业定时周期(如比方说IEEE 时间敏感网络(Time Sensitive Networking),同步Profinet或者存储器可编程的控制装置的程序执行(Programmabarbeitung)的时间帧)。从时间源接收到的定时周期可以是绝对的或者相对的定时周期。定时周期可以被理解为绝对的或者相对的时间参数(Zeitangaben)的序列。

可以重复地或周期性地接收定时周期。

相同的定时周期或者分别与区块形成装置的定时周期同步的定时周期可以被提供给分布式数据库系统的装置中的多个装置或者每个装置。因此,所建议的区块形成装置可以与分布式数据库系统的其他装置时间同步地根据分布式数据库系统的定时周期来运行。

定时周期可以是恒定的定时周期。也就是说,相应的时间片可以是等长的。

时间片的预先给定的长度可以通过定时周期来预先给定。例如,时间片可以对应于定时周期的两个时钟信号(或者所传送的时间参数)之间的时段。预先给定的长度也可以是在两个时钟信号或所传送的时间参数之间的时段的整数倍。

第三单元可以设立为,依据所确定的时间片来对第一单元和第二单元的运行进行定时。例如,所述第三单元可以在相应的时间片开始时起动第一单元的运行,在终止通过第一单元进行选择之后起动第二单元的运行,并且在第二单元的时间片结束之前的预先确定的时间传送如下信号:所述信号要求第二单元,终止形成未经确认的区块,并且在分布式数据库系统中提供到那时为止尽可能好地形成的未经确认的区块。

以这种方式,第一单元和第二单元可以设立为,在相应的时间片之内执行选择、形成和提供恰好一次。

这样的定时可以有利地能够实现使用分布式数据库系统用于存储测量和控制值,并且用于执行实施为智能合约的具有控制指令的程序代码,以控制具有实时要求的工业自动化设备。

应注意,概念“执行恰好一次”也可以理解为,在相应的时间片期间,要么不执行选择、形成和提供,要么执行选择、形成和提供恰好一次。换言之,只要开始了,在相应的时间片期间就可以终止选择、形成和提供。也可能不开始,比方说如果区块形成装置在给定的时间片内没有激活,则如此。

根据一个实施形式,第一单元设立为,在相应的时间片期间,选择所有在分布式数据库系统中提供的如下未经确认的交易作为待确认的交易:所述未经确认的交易与预先限定的条件相对应。

因此,所建议的区块形成装置可以有利地保障,在相应的时间片中,由分布式数据库系统的节点装置来确认所有所提供的与预先确定的条件相对应的未经确认的交易。

预先确定的条件可以内容是,要纳入所有所提供的未经确认的交易。

预先确定的条件可以内容是,要纳入所提供的未经确认的交易中的至少那些表征为对时间要求严格的交易。

预先确定的条件可以内容是,要纳入所提供的未经确认的交易中的至少如下那些交易:所述交易是具有测量值、控制值的交易和/或具有针对工业自动化系统的控制指令的智能合约。

预先确定的条件可以内容是,要确认所提供的未经确认的交易中的至少如下那些交易:所述交易针对它们的确认允许给区块形成装置的预先限定的最小报酬。

因此,可能有利地保障,在相应的时间片中,所有所提供的交易、所有对时间要求严格的或所有未经确认的具有高报酬的交易被纳入到所形成的区块中。

根据一个实施形式,所建议的区块形成装置具有用于接收激活信号的第四单元。第一单元和第二单元设立为,只有当第四单元在相应的时间片中接收到激活信号时,那么才在相应的时间片之内执行选择、形成和提供恰好一次。

激活信号可以由分布式数据库系统的调度装置来传送。

与此相应,可能的是,在分布式数据库系统中使用所建议的区块形成装置中的多于一个的区块形成装置。即使以预先给定的定时周期在所建议的区块形成装置中形成区块,这样也可以有利地通过如下方式来避免不可解决的竞争情形:调度装置在相应的时间片中利用激活信号来分别激活区块形成装置中的仅一个区块形成装置。在这种情况下,鉴于在分布式数据库系统中的多数共识的情况下的信任平衡,交替地使用多个区块形成装置可能是有利的。这样,可以交替地允许不同的区块形成装置得到比方说对于成功形成区块而悬赏的报酬,并且因此可以在分布式数据库系统中维持加密通证信贷(Kryptotoken-Guthaben)的平衡。这在如下情况下可以是有利的:比方说在使用权益证明作为证明值的情况下来形成区块的情况下,在节点装置之间分配加密通证对于网络的操纵安全性(Manipulationssicherheit)是重要的。

根据其他实施形式,第二单元设立为,将由该第二单元在相应的时间片之内可测定的最好的密码学工作量证明纳入到所形成的区块中。

换言之,基于尽力而为,建议了经修改的工作量证明(Proof-of-Work)。比方说,密码学谜题可能不是完全地、而是仅仅以尽可能好的方式被解决。例如,第二单元可以将自由选择的值或者一次性的随机数(Nonce)纳入到所形成的区块中,并且可以测定所述一次性的随机数来使得,整个所形成的区块的校验和包括一次性的随机数在内尽可能是极值的,如例如尽可能小。如果涉及密码校验和、如哈希值,则这种测定只能通过反复试验而是可能的。一旦除了要测定的一次性的随机数以外形成要形成的区块,就可以开始反复试验,并且所述反复试验可以在相应的时间片之内的预先给定的时间点结束。以这种方式,可以肯定地在相应的时间片之内提供在可供支配的时间之内尽可能好的工作量证明。

与此相应,有利地可能的是,在分布式数据库系统中同时使用所建议的区块形成装置中的多于一个的区块形成装置。即使在所建议的区块形成装置中以预先给定的定时周期形成区块,也可以有利地通过如下方式解决由此得到的竞争情形:例如分布式数据库系统的共识规则设置,分布式数据库系统的节点装置确认多个未经确认的区块中的包含最好的工作量证明的那些区块。

因此,即使根据所建议的区块形成装置以经过定时的方式进行区块的形成,那么也可以实现采矿(借助工作量证明形成区块)的优点。

根据其他实施形式,第二单元设立为,将标识相应的时间片的时间戳纳入到所形成的区块中。

与此相对应地,分布式数据库系统的共识规则可以设置,仅确认如下这种未经确认的区块:所述未经确认的区块包含与在确认时为当前的时间片匹配的时间戳。以这种方式,有利地可以摒弃延误的区块或者提早的(也许被操纵的)区块。

根据第二方面,建议了一种针对分布式数据库系统的节点装置,所述分布式数据库系统包括多个节点装置。节点装置具有:用于存储经确认的区块的链的第五单元,所述经确认的区块表示分布式数据库系统的交易账本的至少一个部段(Abschnitt);第六单元,用于确认来自多个在分布式数据库系统中在相应的时间片中提供的未经确认的区块中的恰好一个区块,使得经确认的区块附加到经确认的区块的链上,其中确认来自多个未经确认的区块中的恰好一个区块包括:检查未经确认的区块中的一个、多个或者所有区块,选择未经确认的区块中的成功通过检查的区块之一和将所选择的区块作为经确认的区块附加到经确认的区块的链上;和第三单元,用于从时间源接收定时周期和依据该定时周期确定预先给定的长度的时间片。第六单元设立为,在相应的时间片之内执行所述确认恰好一次。

只要合适,在描述所建议的区块形成装置时所描述的特征、定义和优点就相对应地适用于所建议的节点装置。

可以说,所建议的节点装置形成了对所建议的区块形成装置的补充的对应件。

所建议的节点装置可以有利地以在预先给定的定时周期来确认未经确认的区块。例如,所建议的节点装置可以利用同一定时周期确认由所建议的区块形成装置以经过定时的方式形成的未经确认的区块。由此,可以能够实现以经过定时的方式确认未经确认的交易。因此,所建议的节点装置可以给分布式数据库系统赋予如下资格:所述资格是针对用于控制具有实时要求的工业自动化设备的使用的资格,所述分布式数据库系统包括所建议的节点装置。

在第五单元中存储的经确认的区块的链可以被解释为交易账本的如下版本的本地副本:关于所述版本,在多个节点装置之间的共识占主导或随着时间而逐渐形成。共识在这种情况下可以通过如下方式来达成:在选择和确认恰好一个待确认的区块时,第六单元根据分布式数据库系统的所规定的共识规则来着手进行(verfaehrt)。同样,在形成未经确认的区块时,分布式数据库系统的区块形成装置(如所建议的区块形成装置)可以优选地按照同一所规定的共识规则来行着手进行。共识规则可以设立为使得,节点装置的符合规则的行为受奖励,而不符合规则的行为不是值得做的,或随着时间的推移自动地禁止表现为不符合规则的节点装置进一步参与共识建立。这样可以保障,构造共识来使得,在分布式数据库系统的节点装置中的多数节点装置中和优选地所有节点装置中存储有交易账本的相同的表示,并且使未经授权的操纵变得困难或者阻止未经授权的操纵。

第六单元可以设立为,根据共识规则来检查在相应的时间片期间在分布式数据库系统中提供的多个未经确认的区块,摒弃不满足共识规则的未经确认的区块,并且在剩余的未经确认的区块中间根据共识规则选择待确认的区块,而且将所选择的区块添加到经确认的区块的链上并且由此对所选择的区块进行确认。

因此,“确认来自多个未经确认的区块中的一个区块”可以被理解为:检查未经确认的区块中的一个、多个或者所有区块;选择成功通过检查的未经确认的区块之一;并且将所选择的区块附加到经确认的区块的链上。

“附加”既可以被理解为附加到经确认的区块的链中的最后被确认的区块上,又可以被理解为通过在另外的位置处附加来创建经确认的区块的链的副本或者复刻(Fork),所述在另外的位置处也就是说在比经确认的区块的链的经确认的区块中的最后的区块更早的区块处。尤其是,待附加的区块根据共识规则可以被附加到来自经确认的区块的链中的如下那个区块上:所述区块的校验和对应于在待附加的区块中所包含的拼接校验和。

共识规则可以预先给定,经确认的区块的链的副本或者复刻中的哪个副本或者复刻在这种情况下被认为是分布式数据库的交易账本的有效表示。例如,这些链中的最长的链可以被认为是有效表示。

在分布式数据库系统中提供的未经确认的交易可以由所建议的区块形成装置纳入到未经确认的区块中,所述未经确认的区块在分布式数据库系统中被提供。在分布式数据库系统中提供的未经确认的区块可以由节点装置中的相应的节点装置(如上文所描述的那样)来检查,并且通过附加到分布式数据库的交易账本(所述交易账本的相应的本地副本)而被确认。由此,可以确认在相应的区块中包含的交易。根据所建议的解决方案,根据预先给定的、优选地循环的定时周期,时间同步地既进行未经确认的区块的形成,又进行未经确认的区块的确认,并且因此进行未经确认的交易的确认。

尤其是,第六单元可以设立为,在相应的时间片中等待,直至终止通过分布式数据库系统的一个或者多个区块形成装置来形成和提供区块,并且于是选择和确认所形成的和所提供的未经确认的区块中的一个区块。

在所建议的定时中,相应的时间片可以细分成用于提供未经确认的交易的时间部段、用于形成未经确认的区块的部段、用于提供未经确认的部段和用于确认所提供的未经确认的区块的部段。对此替选地,可能交替地分别在时间片中形成和提供区块,并且在接着的时间片中选择和确认区块。

根据其他实施形式,第六单元设立为,依据至少一个标准选择用于确认的恰好一个区块。

如果在网络中设置有多个区块形成装置,则可设想的是,在相应的时间片期间提供多于一个的未经确认的区块。在这种竞争情形中,共识规则可以预先给定一个或者多个标准,按照所述标准要确认所提供的未经确认的区块。

在一个变型方案中,该标准内容是“在该区块中所包括的交易的数目和类型”。

例如,可以选择多个未经确认的区块中的具有大多数未经确认的交易的那个区块。因此,有利地可能负责分布式数据库系统的高的交易吞吐量。

例如,可以选择多个未经确认的区块中的具有确定类型的大多数交易的那个区块。因此,有利地可能使确定的交易(如比方说对时间要求严格的交易)按优先序排列。

在一个变型方案中,该标准内容是“由区块包括的密码学工作量证明的品质”。

例如,多个未经确认的区块中的如下区块可以被优选:该区块以较高的品质解开密码学谜题,例如具有最小的一次性的随机数值作为工作量证明的那个区块。密码学工作量证明的品质基本上可能是不可预测的或随机的。因此,有利地可能确保,在不同的时间片中优选如下区块:所述区块源于不同的节点装置或区块形成装置。只要利用区块的确认来设置针对已形成区块的节点装置的报酬,就可以以该方式在分布式数据库系统中确保加密通证信贷的平衡。

在一个变型方案中,该标准内容是“由该区块包括的相应的交易的品质和/或计算复杂性”。

相应的交易的计算复杂性尤其是可以涉及如下计算负荷:已形成区块的区块形成装置已施加所述计算负荷,以便检查交易的有效性。只要交易包含或者引用智能合约,计算负荷就可能是相当大的。因此,检查这种交易的区块形成装置可能在相应的时间片之内保留较少的计算容量,用于测定尽可能好的工作量证明。因此,如果仅仅应用标准“工作量证明的品质”,则可能会不太可能的是,由节点装置选择相关的区块来确认。然而此外,如果也应用标准“相应的交易的品质”,则可以补偿该效应,并且可以有利地阻止,在为了确认而选择时,未经确认的具有复杂交易的区块是不利的。

针对交易品质的其他例子比方说是加密通证的数量或数额(数额越大,交易的品质越高)、交易的类型(交易越是对时间要求严格的,该交易的品质越高)、交易中包含的数据量等等。

在一个变型方案中,该标准内容是“由区块包括的时间戳与相应的时间片的一致性”。

通过所述标准,有利地可以在分布式数据库系统的交易账本中的经确认的交易的序列与提供未经确认的交易的序列之间建立对应性。也就是说,可能避免,延误地纳入在时间上被延迟的区块,或者提早地确认具有将来的时间戳的区块(如比方说被操纵的区块)。分布式数据库系统的可靠性和实时能力因此可以被改进。

应注意的是,除了由区块包括的时间戳标明相应的时间片的情况之外,“一致性”也可以被理解为如下情况:由该区块包括的时间戳标明直接或者间接在相应的时间片之前的时间片。

在一个变型方案中,该标准内容是“已提供区块的区块形成装置是否是如下区块形成装置:针对所述区块形成装置,确定了在相应的时间片期间在分布式数据库系统中所传输的激活信号”。

根据该标准,有利地可能避免,未明确激活的(并且因而可能恶意行动的)区块形成装置将区块偷偷混入到分布式数据库系统中。

根据其他实施形式,第六单元设立为,依据如下标准选择用于确认的恰好一个区块:该区块是否包括所有在相应的时间片期间在分布式数据库系统中提供的如下未经确认的交易:所述未经确认的交易与预先限定的条件相对应。

上面在区块形成装置的实施形式中与“预先限定的条件”有关的描述相对应地适用。

如果这种标准是分布式数据库系统的共识规则的部分,则分布式数据库系统的每个区块形成装置都对如下内容有兴趣:将所有在相应的时间片中在分布式数据库系统中提供的与预先限定的条件相对应的未经确认的交易纳入到由该区块形成装置形成的未经确认的区块中,因为所述区块要不然可能不会被确认并且区块形成装置相对应地没有获得报酬。

因此,利用本标准可以有利地保障,在每个时间片中,所有在相关的时间片中提供的与预先限定的条件相对应的未经确认的交易在同一时间片期间由分布式数据库系统的区块形成装置纳入到未经确认的区块中,并且在同一时间片或接着的时间片期间,通过确认未经确认的区块而通过分布式数据库系统的节点装置来确认。

根据上面的变型方案和实施形式的用于选择区块以进行确认的标准是可任意组合的。

根据其他实施形式,所建议的节点装置具有所建议的区块形成装置。

换言之,不仅通过所建议的区块形成装置实现的经过定时的区块形成功能而且通过上文所描述的所建议的节点装置实现的经过定时的确认功能都可以联合在所建议的节点装置中。应理解的是,在这种情况下,针对包括区块形成装置的节点装置而言,节点装置的第三单元和集成的区块形成装置的第三单元可以是相同的。换言之,可以仅仅设置一个第三单元。

优选地,分布式数据库系统的节点装置中的一个节点装置(特别优选地每个节点装置)可以既以经过定时的方式形成未经确认的区块,又以经过定时的方式确认由另外的节点装置以经过定时的方式提供的未经确认的区块。

根据其他实施形式,建议了一种分布式数据库系统,所述分布式数据库系统包括多个所建议的节点装置。所建议的节点装置设立为,共同地管理分布式数据库系统的交易账本。节点装置中的至少一个节点装置包括所建议的区块形成装置。所述节点装置可根据分布式数据库系统的定时周期以时间同步的方式运行。

通过所建议的分布式数据库系统的节点装置可以以时间同步的方式运行,可能特别可靠地保障,未经确认的交易可以在得自定时周期的时间片之内被确认。

多个节点装置通过如下方式可以时间同步地是可运行的:要由相应的节点装置来接收的定时周期和分布式数据库系统的定时周期是同步的。对此替选地,相应的节点装置可能设立为,接收分布式数据库系统的同一定时周期。

因此,该要由相应的节点装置来接收的定时周期或者所述要由相应的节点装置来接收的定时周期与分布式数据库系统的定时周期是时间同步的。

分布式数据库系统的节点装置的时间同步的运行尤其是可以被理解为下列内容:

分布式数据库系统的节点装置的(第一至第三单元的)经过定时的区块形成功能的和(第五、第六和第三单元的)经过定时的确认功能的定时或相应的时间片优选地是同步的。该定时可以被理解为,使用相同的定时,或相应的时间片叠合,或者经过定时的区块形成功能的定时和经过定时的确认功能的定时或相应的时间片移位了固定的时间偏移。然而也可能的是,经过定时的区块形成功能的定时以独立于经过定时的确认功能的定时来定时的方式进行。可设想定时的其他变型方案。例如,经过定时的确认功能的定时周期可以通过划分经过定时的区块形成功能的定时周期形成。例如,通过经过定时的确认功能,可以分别在经过定时的区块形成功能的多个(例如两个或者四个)定时周期之后形成相应的区块。此外可设想的是,定时周期不是固定的,而是根据所提供的未经确认的交易的数量和/或类型,自适应地被适配。

尤其是,节点装置中的多于一个的节点装置可以如所建议的那样包括相应的区块形成装置。分布式数据库系统可以具有调度装置,所述调度装置设立为,在相应的时间片中向区块形成装置中的分别一个区块形成装置传送激活信号。

在这种情况下,调度装置可以设立为,根据预先给定的序列、随机地或者依据相应的节点装置的特性(如比方说一些由相应的节点装置保持的加密通证)来判定,在相应的时间片中向节点装置(区块形成装置)中的哪个节点装置(区块形成装置)传送激活信号。

根据其他实施形式,分布式数据库系统包括中央时间源,其中如下时间源是中央时间源:所述相应的节点装置的第三单元从所述时间源接收定时周期。

中央时间源可能是DCF77-时间发射器、GNSS定时器、NTP-/PTP-服务器或者主机节点等,所述主机节点预先给定工业定时周期。

通过使用中央时间源,可以简化相应的节点装置的结构,因为仅需要接收定时周期并且在节点装置的情况下,不需要本地定时器。

根据其他实施形式,建议了一种工业自动化系统,该工业自动化系统包括所建议的分布式数据库系统和根据定时周期可运行的多个自动化部件。分布式数据库系统可运行,用于调节和/或控制所述多个自动化部件。分布式数据库系统的定时周期与多个自动化部件的定时周期同步,或者与多个自动化部件的定时周期的整数倍同步。

针对自动化部件的例子是:传感器,所述传感器设立为,测量工业设备中的物理状态;执行器,所述执行器设立为,影响工业设备中的物理状态;控制单元,所述控制单元实施用于基于传感器的测量值确定执行器的控制值的控制逻辑;等等。

分布式数据库系统例如可能通过如下方式为了控制多个自动化部件而是可运行的:呈在分布式数据库系统的交易账本中被确认的智能合约形式来存放自动化系统的控制逻辑的部段。同样,由多个自动化部件供应的测量值和/或要向多个自动化部件传送的控制值可以以分布式数据库系统的交易账本中的交易的形式被确认。经此,有利地可以实现自动化系统的运行的透明性、防止操纵和可追溯性(Nachvollziehbarkeit)。通过所建议的数据库系统的经过定时的运行,所建议的数据库系统的经过定时的运行尤其是可以能够实现以经过定时的方式确认未经确认的交易并且由此以经过定时的方式执行智能合约,即使对自动化系统的控制逻辑提出高的实时要求,那么也可以实现基于区块链的分布式数据库系统的这些优点和其他优点。尤其是,通过使分布式数据库系统的定时周期与自动化系统的定时周期同步,可以通过分布式数据库系统以可追溯的方式执行并且以防止操纵的方式记录自动化系统的各个控制步骤。

在所建议的工业自动化系统和/或所建议的分布式数据库系统的一个变型方案中,可设想的是,分布式数据库系统存储多个交易账本,其中每个交易账本都通过经确认的区块的链来表示,其中来自多个链中的一个链表示主交易账本,而多个链中的其余链表示分布式数据库系统的相应的副交易账本。

表示副交易账本的链(“侧链”)可以利用如下时间片运行:所述时间片是用来运行表示主交易账本的链(“主链”)的时间片的整数因子分之一。

主链和侧链可以根据不同的共识规则运行。这样,在侧链中可能实施较低的密码学保护水平,然而侧链的运行可以利用较低的资源开销来实现。与此相对,在主链中可能实施高的密码学保护水平。

“链的运行”在这种情况下可以被理解为节点装置中的如下那些节点装置的运行:所述节点装置在其第五单元中存储相应的链。

以这种方式,有利地可以实现在这些链上的负荷分布,其中在侧链中确认较低重要性的交易,并且在主链中确认较高重要性的交易。

经由存放在主交易账本中的哈希值等,相应的副交易账本可以由副交易账本的所选择的区块以规律的区块间隔与主交易账本链接。由此,由主链供给的高保护水平可以至少部分地也扩展到侧链上。

相应的单元(例如第一至第六单元中的相应单元)可以以硬件技术和/或也可以以软件技术来实施。在硬件技术的实施方案中,相应的单元可以构造为设备或者构造为设备的部分,例如构造为计算机或者构造为微处理器或者构造为车辆的控制计算机。在软件技术的实施方案中,相应的单元可以构造为计算机程序产品,构造为功能,构造为例程,构造为程序代码的部分或者构造为可执行的对象。

根据第三方面,建议了一种针对包括多个节点装置的分布式数据库系统的区块形成方法。区块形成方法包括:从在分布式数据库系统中提供的多个未经确认的交易中选择多个待确认的交易;由所选择的多个未经确认的交易形成未经确认的区块,其中检查相应的所选择的未经确认的交易的有效性,并且在检查未通过的情况下摒弃相应的所选择的未经确认的交易,要不然相应的所选择的未经确认的交易被纳入到未经确认的区块中,并且在分布式数据库系统中提供未经确认的区块;和从时间源接收定时周期,而且依据该定时周期确定预先给定的长度的时间片。选择、形成和提供在这种情况下在相应的时间片之内进行恰好一次。

针对根据第一方面的所建议的区块形成装置所描述的实施形式和特征相对应地适用于根据第三方面的所建议的区块形成方法。

根据第四方面,建议了一种针对分布式数据库系统的区块确认方法,所述分布式数据库系统包括多个节点装置。区块确认方法包括:存储经确认的区块的链,所述经确认的区块表示分布式数据库的主账本;确认来自多个在分布式数据库系统中在相应的时间片中提供的未经确认的区块中的恰好一个区块,其中经确认的区块附加到经确认的区块的链上,其中确认来自多个未经确认的区块中的恰好一个区块包括:检查未经确认的区块中的一个、多个或者所有区块,选择未经确认的区块中的成功通过检查的区块之一和将所选择的区块作为经确认的区块附加到经确认的区块的链上;并且从时间源接收定时周期,和依据该定时周期确定预先给定的长度的时间片。确认在这种情况下在相应的时间片之内恰好进行一次。

针对根据第二方面的所建议的节点装置所描述的实施形式和特征相对应地适用于根据第四方面的所建议的区块确认方法。

此外,建议了一种计算机程序产品,所述计算机程序产品促使在受程序控制的装置上执行如上面所阐述的方法之一。

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

在下文阐述了基于区块链技术的分布式数据库系统的更详细的细节和其他变型方案,所建议的区块形成装置、所建议的节点装置和所建议的方法可应用于所述分布式数据库系统。

除非在下述的描述中另有说明,术语“执行”、“算出”、“以计算机辅助的方式”、“计算”、“查明”、“生成”、“配置”、“重建”等等优选地涉及如下行动和/或过程和/或处理步骤:所述行动和/或过程和/或处理步骤改变数据和/或产生数据和/或将数据变换成另外的数据,其中所述数据尤其是可以呈现为物理变量或者可以作为物理变量存在,例如呈现为电脉冲或者作为电脉冲存在。尤其是,表达“计算机”应尽可能宽泛地来解释,以便尤其是涵盖所有具有数据处理特性的电子装置。计算机因此可以例如是个人计算机(PersonalComputer)、服务器、存储器可编程的控制装置(SPS)、手持式计算机系统(Handheld-Computer-Systeme)、掌上电脑(Pocket-PC)装置、移动无线电装置和另外的可以以计算机辅助的方式处理数据的通信装置、处理器和另外的用于进行数据处理的电子装置。

与本发明有关地,“以计算机辅助的方式”可以被理解为例如方法的实施,在所述方法中,尤其是处理器执行该方法的至少一个方法步骤。

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

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

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

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

与本发明有关地,“分配”(尤其是在数据和/或信息方面)可以被理解为例如以计算机辅助的方式分配数据和/或信息。例如,为此借助存储地址或者唯一标识符(英语为:unique identifier(UID)),第二数据例如通过如下方式被分配给第一数据:第一数据与第二数据的存储地址或者唯一标识符一起共同地被存储在数据记录中。

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

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

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

与本发明有关地,“校验和”(例如数据块校验和、数据校验和、节点校验和、交易校验和、拼接校验和等等)可以被理解为例如密码校验和或者密码哈希(kryptographischerHash)或哈希值,这些密码校验和或者密码哈希或哈希值尤其是借助密码哈希函数经由数据记录和/或数据和/或交易中的一个或者多个交易和/或数据块的子区域(例如区块链的区块的区块头,或者分布式数据库系统的数据块的数据块头,或者数据块的交易中的仅仅部分)来形成或者算出。校验和尤其是可以是哈希树(例如默克尔树、帕特里夏树)的校验和/多个校验和或者哈希值/多个哈希值。此外,“校验和”尤其是也可以被理解为数字签名或者密码消息认证码(ein kryptographischer Nachrichtenauthentisierungscode)。借助校验和,例如可能在数据库系统的不同层级上实现针对交易和其中所存储的数据(记录)的密码保护/防止操纵。例如,如果要求高安全性,则例如在交易层级上产生和检验校验和。如果要求不太高的安全性,则例如在区块层级上(例如在整个数据块上或者仅在数据块的部分和/或交易的部分上)产生和检验校验和。

与本发明有关地,“数据块校验和”可以被理解为如下校验和:例如经由数据块的交易的部分或者所有交易来算出所述校验和。节点接着例如可以借助数据块校验和来检查/查明数据块的相对应的部分的完整性/真实性。附加地或者替选地,尤其是也经由该数据块的在前的数据块/前导(Vorgaenger)数据块的交易,可以已形成数据块校验和。该数据块校验和在此尤其是也可以借助哈希树(例如默克尔树[1]或者帕特里夏树)来实现,其中数据块校验和尤其是默克尔树或帕特里夏树或二叉哈希树的根校验和。尤其是,借助来自默克尔树或帕特里夏树的其他校验和,(例如在使用交易校验和的情况下)保护交易,其中尤其是这些其他校验和是默克尔树或帕特里夏树中的叶子。数据块校验和以此例如可以通过如下方式来保护交易:由这些其他校验和形成根校验和。数据块校验和尤其是可以针对数据块中的确定的数据块的交易来算出。尤其是,这种数据块校验和可以进入该确定的数据块的随后的数据块,以便将这些随后的数据块例如与其在前的数据块拼接,并且以此尤其是使分布式数据库系统的完整性是可检查的。经此,数据块校验和例如可以承担拼接校验和的功能,或者进入拼接校验和。数据块(例如新的数据块或者针对其已形成数据块校验和的数据块)的头部例如可以包括数据块校验和。

与本发明有关地,“交易校验和”可以被理解为如下校验和:尤其是经由数据块的交易形成所述校验和。附加地,例如可以加速针对相对应的数据块的数据块校验和的算出,因为为此例如已经算出的交易校验和可以立刻被用作例如默克尔树的叶子。

与本发明有关地,“拼接校验和”可以被理解为如下校验和:所述校验和尤其是说明或引用分布式数据库系统的相应的数据块或分布式数据库系统的在前的数据块,(在专业文献中尤其是常常称作“previous block hash(前一区块哈希)”)[1]。为此,尤其是针对相对应的在前的数据块,形成相对应的拼接校验和。作为拼接校验,例如可以使用数据块(那就是说分布式数据库系统的现有的数据块)的数据块校验和或者交易校验和,以便将新的数据块与分布式数据库系统的(现有的)数据块拼接。但是,例如也可能的是,经由在前的数据块的头部或者经由整个在前的数据块来形成校验和,并且该校验和被用作拼接校验和。这例如也可以针对多个或者所有在前的数据块来算出。例如也可实现的是,经由数据块和数据块校验和的头部来形成拼接校验和。然而,分布式数据库系统的相应的数据块优选地分别包括如下拼接校验和:对于该相应的数据块的在前的数据块(尤其是还更优选地直接在前的数据块)已算出所述拼接校验和,或所述拼接校验和涉及该相应的数据块的在前的数据块(尤其是还更优选地直接在前的数据块)。例如也可能的是,相对应的拼接校验和也仅仅经由相对应的数据块的部分(例如在前的数据块)来形成。经此,例如可以实现如下数据块:该数据块包括受完整性保护的部分和未受保护的部分。以此,例如已可以实现如下数据块:该数据块的受完整性保护的部分是不变的,而该数据块的未受保护的部分以后也仍然可以改变。受完整性保护在此尤其是要被理解为,借助校验和,可查明受完整性保护的数据的改变。

例如存储在数据块的交易中的数据尤其是可以以不同的方式来提供。代替数据、例如如测量数据、测量值、控制值或者对于资产的数据/所有关系之类的用户数据,数据块的交易例如可以仅包括针对这些数据的校验和。相对应的校验和在此可以以不同的方式来实现。这例如可以是:另外的数据库或者分布式数据库系统的(具有相对应的数据的)数据块的相对应的数据块校验和、具有(分布式数据库系统或者另外的数据库的)相对应的数据的数据块的交易校验和或者已经由所述数据形成的数据校验和。

附加地,相对应的交易还可以包括对存储位置的参照或者说明(例如文件服务器的地址和在该文件服务器上要在哪里找到相对应的数据的说明;或者包括所述数据的另外的分布式数据库的地址)。相对应的数据接着例如也可能会在分布式数据库系统的其他数据块的其他交易中被提供(例如如果相对应的数据和相关联的校验和包括在不同的数据块中则如此)。但是,例如也可设想的是,这些数据经由另外的通信信道(例如经由另外的数据库和/或密码学保护的(kryptographisch gesichert)通信信道)来提供。

例如,除了校验和之外,也可以将附加数据记录(例如对存储位置的参照或者说明)存放在相对应的交易中,所述附加数据记录尤其是说明如下存储位置:在所述存储位置处可以检索到所述数据。如下,这尤其是有利的,以便将区块链或者分布式数据库系统的数据大小保持得尽可能小。

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

与本发明有关地,“拼接分布式数据库系统的所述数据块/数据块”例如可以被理解为,数据块分别包括如下信息(例如拼接校验和):所述信息参照分布式数据库系统的一个或者多个另外的数据块或引用所述一个或者多个另外的数据块[1][4][5]。

与本发明有关地,“插入到分布式数据库系统中”等例如可以被理解为,向分布式数据库系统的一个或者多个节点传送尤其是一个或多个交易或者具有其交易的数据块。如果这些交易(例如通过所述一个/多个节点)例如被成功验证,则这些交易尤其是作为新的数据块与分布式数据库系统的至少一个现有的数据块拼接[1][4][5]。为此,相对应的交易例如被存储在新的数据块中。尤其是,该验证和/或拼接可以通过可信节点(例如挖矿节点(Mining Node)、区块链预言机(Blockketten-Orakel)或者区块链平台)进行。尤其是,区块链平台在此可以被理解为区块链即服务(英语为:Blockkette als Service),如这尤其是通过微软公司(Microsoft)或者IBM公司所建议的那样。尤其是,可信节点和/或节点可以分别将节点校验和(例如数字签名)寄存在数据块中(例如在由他们验证过的和产生的数据块中,所述数据块接着被拼接),以便尤其是能够实现数据块的创建者的可辨识性和/或能够实现节点的可辨识性。在此,节点校验和说明:哪个节点例如已将相对应的数据块与分布式数据库系统的至少一个另外的数据块拼接。

与本发明有关地,“交易”或“多个交易”可以被理解为例如智能合约[4][5]、数据结构或者交易数据记录,所述交易数据记录尤其是分别包括所述交易中的一个或者包括多个交易。与本发明有关地,“交易”或“多个交易”也可以被理解为例如区块链(英语为Blockchain)的数据块的交易的数据。交易尤其是可以包括例如实现智能合约的程序代码。例如,与本发明有关地,交易也可以被理解为控制交易和/或确认交易。替选地,交易例如可以是如下数据结构:所述数据结构存储数据(例如控制指令和/或合同数据和/或另外的数据、如视频数据、用户数据、测量数据等)。

尤其是,“将交易存储在数据块中”、“存储交易”等等要被理解为直接存储或者间接存储。直接存储在此例如可以被理解为,(分布式数据库系统的)相对应的数据块或者(分布式数据库系统的)相对应的交易包括相应的数据。间接存储在此例如可以被理解为,相对应的数据块或者相对应的交易包括针对相对应的数据的校验和,并且可选地包括针对相对应的数据的附加数据记录(例如对存储位置的参照或者说明),并且相对应的数据因此没有直接存储在数据块(或者交易)中,(那就是说代替于此仅存储针对这些数据的校验和)。尤其是,在将交易存储在数据块中时,可以例如验证校验和,正如这例如在“插入到分布式数据库系统中”部分所阐述的那样。

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

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

与本发明有关地,“工作量证明”或者“Proof-of-Work”可以被理解为例如解决计算密集型任务,所述任务尤其是要根据确定的交易的数据块内容/内容来解决[1][4][5]。例如,这种计算密集型任务也被称为密码学谜题。

与本发明有关地,“分布式数据库系统”(该分布式数据库系统例如也可以称为分布式数据库)可以被理解为例如分散分布式数据库(eine dezentral verteilteDatenbank)、区块链(英语为Blockchain)、分布式账本、分布式存储系统、基于分布式账本技术(DLT)的系统(DLTS,distributed ledger technology (DLT) based system)、防修正的数据库系统(ein revisionssicheres Datenbanksystem)、云(Cloud)、云服务(Cloud-Service)、云中的区块链或者点对点数据库。例如,也可以使用区块链或者DLTS的不同实施方案,如例如借助有向无环图(DAG,Directed Acylic Graph)、密码学谜题、哈希图或者所提到的实施变型方式的组合实施的区块链或者DLTS[6][7]。例如,也可以实施不同的共识规则或共识方法(英语为consensus algorithms(共识算法))。例如,这可以是借助密码学谜题、谣言算法(Gossip about Gossip)、虚拟投票(Virtual Voting)或者所提到的方法的组合的共识方法(例如,谣言算法与虚拟投票相组合)[6][7]。例如,如果使用区块链,则这样尤其是可以借助基于比特币的实现方案或者基于以太坊(Ethereum)的实现方案来实施该区块链[1][4][5]。“分布式数据库系统”例如也可以被理解为如下分布式数据库系统:在所述分布式数据库系统中,他的节点和/或装置和/或基础设施的至少一部分通过云来实现。例如,相对应的部件实现为云中的节点/装置(例如实现为虚拟机中的虚拟节点)。例如,这可以借助威睿(VM-Ware)、亚马逊网络服务(Amazon Web Services)或者微软公司的Azure来进行。由于所阐述的实施变型方案的高度灵活性,尤其是也可以将所提到的实施变型方案的子方面彼此组合,其方式是例如使用哈希图作为区块链,其中区块链本身例如也可以是无区块化的。

如果例如使用有向无环图(DAG)(例如,IOTA或者Tangle),则尤其是将该图的交易或者区块或者节点经由有向边彼此连接。这尤其是意味着,(所有)边(总是)有相同的方向,类似于这例如在时间的情况下。换言之,尤其是不可能的是,反向地(那就是说跟共同的相同方向相反)开始运行或跳转该图的交易或者区块或者节点。在此,无环尤其是意味着:在遍历该图时,不存在环。

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

例如,如果涉及公共分布式数据库系统,则这意味着:新的节点和/或装置能够加入分布式数据库系统或被分布式数据库系统接受,而无需权限证明或者无需证实或者无需注册信息或者无需凭证。尤其是,在这种情况下,节点和/或装置的运营商可以保持匿名。

如果分布式数据库系统例如是封闭的分布式数据库系统,则新的节点和/或装置例如需要有效的权限证明和/或有效的证实信息和/或有效的凭证和/或有效的注册信息,以便能够加入分布式数据库系统,或以便被分布式数据库系统接受。

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

与本发明有关地,尤其是视上下文和实现方案而定也可以被称为“环节”或者“区块”的“数据块”可以被理解为例如分布式数据库系统的数据块(例如,区块链或者点对点数据库),其尤其是实现为数据结构,并且优选地分别包括交易之一或者交易中的多个。在一个实施方案中,例如数据库(或者数据库系统)可以是基于DLT的系统(DLTS)或者区块链,并且数据块可以是区块链或者DLTS的区块。数据块可以包括例如对数据块的大小(以字节为单位的数据大小)的说明、数据块头(英语为Block-header(区块头))、交易计数器和一个或者多个交易[1]。数据块头可以包括例如版本、拼接校验和、数据块校验和、时间戳、工作量证明和一次性的随机数(一次性值(Einmalwert)、随机值或者用于工作量证明的计数器)[1][4][5]。例如,数据块也可以只是存储在分布式数据库系统中的总数据的确定的存储区或者地址区。以此,例如可以实现无区块化的(英语为blockless)分布式数据库系统、如例如物联网链(ITC,IoT Chain)、IOTA和字节雪球(Byteball)。在这种情况下,尤其是区块链的区块的功能和交易的功能彼此组合,使得例如交易本身保护(那就是说尤其是以受安全保护的方式存储)(分布式数据库系统的)交易的序列或者链。为此,例如利用拼接校验和可以将交易本身彼此拼接,其方式是优选地将一个或者多个交易的单独的校验和或者交易校验和用作如下拼接校验和:所述拼接校验和在将新的交易存储在分布式数据库系统中时被一同存储在相对应的新的交易中。在这种实施形式中,数据块例如也可以包括一个或者多个交易,其中在最简单的情况下,例如数据块对应于交易。

与本发明有关地,“一次性的随机数”可以被理解为例如密码学一次性的随机数(eine kryptographische Nonce)(针对“只用一次(used only once)”[2]或者“使用一次的数(number used once)”的缩写)。尤其是,一次性的随机数标明单个数或者字母组合,所述数或者字母组合优选地在相应的上下文(例如交易、数据传输)中被使用唯一一次。

与本发明有关地,“分布式数据库系统的(确定的)数据块的在前数据块”可以被理解为例如分布式数据库系统的尤其是直接在(确定的)数据块之前的数据块。替选地,“分布式数据库系统的(确定的)数据块的在前数据块”尤其是也可以被理解为分布式数据库系统的所有在确定的数据块之前的数据块。经此,尤其是仅经由直接在确定的数据块之前的数据块(或其交易),或者经由所有在第一数据块之前的数据块(或其交易),可以形成拼接校验和或者交易校验和。

与本发明有关地,“区块链节点”、“节点”、“分布式数据库系统的节点”、“节点装置”等可以被理解为例如装置(例如现场装置、移动电话)、计算机、智能电话、客户端(Client)或者用户,它们均为(利用)分布式数据库系统(例如,区块链)执行操作[1][4][5]。这种节点例如可以执行分布式数据库系统的交易或其数据块,或者借助新数据块将具有新交易的新数据块插入或拼接到分布式数据库系统中。尤其是,可以通过可信节点(例如挖矿节点)或者仅仅通过可信节点来进行该验证和/或拼接。例如,可信节点是如下节点:所述节点具有附加的安全措施(例如防火墙(Firewalls)、对所述节点的访问限制,诸如此类),以便阻止对所述节点的操纵。替选地或者附加地,例如在将新的数据块与分布式数据库系统拼接时,可信节点可以将节点校验和(例如数字签名或者证书)存储在新的数据块中。以此,尤其是可以提供如下证明:所述证明说明,相对应的数据块已由确定的节点来插入,或说明其起源。装置(例如相对应的装置)例如是技术系统和/或工业设备和/或自动化网络和/或生产设备的装置,这些装置尤其是也是分布式数据库系统的节点。在此,这些装置例如可以是现场装置或者物联网中的装置,所述现场装置或者物联网中的装置尤其是也是分布式数据库系统的节点。节点例如也可以包括至少一个处理器,以便例如执行其计算机实施的功能。

与本发明有关地,“区块链预言机”等例如可以被理解为例如具有安全模块的节点、装置或者计算机,所述安全模块例如借助软件保护机制(例如密码学方法)、机械保护装置(例如可闭锁的壳体)或者电保护装置实施(例如防篡改或者保护系统,该防篡改或者保护系统在不允许使用/处置(Behandlung)区块链预言机的情况下清除安全模块的数据)。安全模块在此可以包括例如密码学密钥,所述密码学密钥对于算出校验和(例如,交易校验和或者节点校验和)是必需的。

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

本发明的其他可能的实施方案也包括以前或者在下文关于实施例所描述的特征或者实施形式的未明确提到的组合。在此,本领域技术人员也将单个方面作为改进方案或者补充方案而追加至本发明的相应的基本形式。

本发明的其他有利的设计方案和方面是从属权利要求的主题,以及是本发明的在下文所描述的实施例的主题。此外,依据优选的实施形式,参照附上的图更详细地阐述本发明。

附图说明

图1示意性地图解说明了根据第一实施例的区块形成装置;

图2示出了根据第一实施例的区块形成方法的流程图;

图3示意性地图解说明了根据第二实施例的节点装置;

图4示出了根据第二实施例的区块确认方法的流程图;

图5示意性地图解说明了根据第一和第二实施例的改进方案的节点装置;

图6图解说明了根据第三实施例的分布式数据库系统;

图7图解说明了根据第三实施例的变型方案的分布式数据库系统的定时周期;

图8示意性地图解说明了根据实施例的未经确认的区块;

图9图解说明了根据第三实施例的变型方案的分布式数据库系统的交易账本;和

图10图解说明了根据第四实施例的分布式数据库系统。

在这些图中,除非另有说明,相同的或者功能相同的要素已配备有同一附图标记。

具体实施方式

根据第一实施例,图1示意性地图解说明了区块形成装置10,并且图2示出了区块形成方法的流程图。根据第一实施例的区块形成装置10和区块形成方法现在依据图1和图2来描述。

区块形成装置10具有第一单元1、第二单元2和第三单元3。在区块形成装置10所属的分布式数据库系统(未示出)中,提供有多个未经确认的交易41、42、43。因此,也给区块形成装置10提供有该数目的未经确认的交易41、42、43。

区块形成装置10设立为,由未经确认的交易41、42、43中的所选择的交易以经过定时的方式形成相应的未经确认的区块61,通过根据分布式数据库系统的共识规则纳入到分布式数据库系统的交易账本中,所述未经确认的区块61可以由分布式数据库系统(未示出)的节点装置(未示出)来确认。

特别地,第三单元3是时间接收器。在步骤S30中,第三单元3重复地或周期性地从时间源(未示出)接收定时周期。时间源可能是区块形成装置1的内部时间源,或者可能是外部时间源。定时周期可能是时间脉冲的序列或者时间参数的序列。基于接收到的定时周期,第三单元3确定预先给定的长度的时间片。

在所述时间片中的相应时间片期间,区块形成装置10的第一单元1和第二单元2完成下列步骤恰好一次:

在步骤S10中,第一单元1从所提供的未经确认的交易41、42、43中选择多个待确认的交易。

在步骤S20中,第二单元2由所选择的待确认的交易形成未经确认的区块61。

尤其是,第二单元2可以检查所选择的待确认的交易41、42、43的有效性,并且摒弃无效的交易。尤其是,第二单元2可以根据在分布式数据库系统中约定的共识规则来形成未经确认的区块61。尤其是,第二单元2可以将共识规则所要求的证明值(如例如工作量证明)插入到要形成的未经确认的区块61中。

第二单元2以被保证的方式(garantiert)终止在相应的时间片之内形成未经确认的区块61,并且在分布式数据库系统(未示出)中提供所形成的未经确认的区块61。例如,第二单元2可以向分布式数据库系统的至少一个其他的节点装置(未示出)传输所形成的未经确认的区块61。

区块形成装置10有利地能够实现,在每个时间片之内恰好形成一个未经确认的区块。

根据一个优选的改进方案,第一单元1在相应的时间片中选择所有在分布式数据库系统中提供的未经确认的交易41-43。与此相应,可能确保,在每个时间片之内,所有所提供的未经确认的交易被纳入到恰好一个未经确认的区块中。

根据其他优选的改进方案,第一单元1在相应的时间片中选择所有在分布式数据库系统中提供的如下未经确认的交易41-43:所述未经确认的交易41-43与预先确定的条件相对应。与此相应,可能确保,在每个时间片之内,至少所有那些所提供的与预先确定的条件相对应的未经确认的交易都被纳入到恰好一个未经确认的区块中。例如,选择所有未经确认的如下交易:所述交易标记为对时间要求严格的,所述交易标记为传感器值交易或者测量值交易或者控制指令智能合约,等等。

根据第二实施例,图3示意性地图解说明了节点装置20,并且图4示出了区块确认方法的流程图。参照图3和图4。

节点装置20具有第三单元3、第五单元5和第六单元6。在第五单元5中,存储有以前已确认的区块71、72的链,所述以前已确认的区块71、72的链表示分布式数据库系统(未示出)的交易账本。在节点装置20所属的分布式数据库系统(未示出)中,提供有多个未经确认的区块61、62。例如通过图1中的多个区块形成装置10进行提供。

节点装置20设立为,以经过定时的方式从在分布式数据库系统中提供的未经确认的区块61、62中选择待确认的区块,并且确认所选择的待确认的区块,使得经确认的区块73附加到经确认的区块71、72、73的链上。

特别地,第三单元3是时间接收器。在步骤S30中,第三单元3重复地或周期性地从时间源(未示出)接收定时周期。基于接收到的定时周期,第三单元3确定预先给定的长度的时间片。

在所述时间片中的相应的时间片期间,第六单元6完成下列步骤恰好一次:

在步骤S60中,第六单元6从未经确认的区块61、62中选择恰好一个区块,并且确认所选择的区块。在这种情况下,所选择的区块作为经确认的区块73被附加到以前所确认的区块71、72的链上,使得经确认的区块73附加到经确认的区块71、72、73的链上。

尤其是,根据分布式数据库的共识规则,第六单元6可以在相应时间片中提供的未经确认的区块61、62中间选择待确认的区块。

尤其是,第六单元6在这种情况下可以根据共识规则来检验在相应的时间片中提供的未经确认的区块61、62中的如下每个区块:所述区块可附加到以前所确认的区块71、72的链上。如果未经确认的区块61、62中的多于一个的区块被成功检验,则共识规则在这种情况下可以预先给定用于选择经过检验的未经确认的区块61、62之一的标准。

未经确认的区块61、62中的要被确认的那个区块由第六单元6被附加到以前所确认的区块71、72的链上,并且由此变成经确认的区块71、72、73的链的其他经确认的区块73。经此,尤其是待确认的区块的未经确认的交易变成经确认的区块73的在交易账本中被确认的交易。

第六单元6以被保证的方式在相应的时间片之内终止步骤S60。

节点装置20有利地能够实现,在每个时间片之内,恰好一个经确认的区块被附加到经确认的区块构成的链上。

图5示意性地图解说明了根据第一和第二实施例的改进方案的节点装置30。

节点装置30包括根据第一实施例的在图1中的区块形成装置10,并且根据第二实施例的节点装置(图3中的20)的元件。第三单元3在此仅设置一个,并且根据本改进方案,既对区块形成装置10的第一单元1和第二单元2的运行进行定时,又对节点装置30的第六单元6的运行进行定时。换言之,节点装置30尤其是既具有用于形成未经确认的区块的功能(例如挖矿功能),又具有用于确认未经确认的区块的功能,所述未经确认的区块由同一分布式数据库系统的不同于区块形成装置10的区块形成装置来提供。

图6图解说明了根据第三实施例的分布式数据库系统100。

分布式数据库系统100包括多个节点装置20、30、31、32,所述节点装置20、30、31、32借助网络101联网。节点装置20是根据第二实施例的节点装置20,所述节点装置仅具有用于确认未经确认的区块的功能。节点装置30、31和32是根据改进方案的节点装置,所述节点装置附加地包括相应的区块形成装置3010、3110、3210(图1中的区块形成装置10的实例)。

节点装置20、30、31、32中的每个节点装置都具有相应的第三单元203、303、313、323。节点装置20、30、31、32的其他单元对应于第一或第二实施例的单元,然而为了简便起见未示出。

节点装置20、30、31、32中的每个节点装置都利用其相应的第三单元203、303、313、323来接收定时周期。分别接收到的定时周期是同步的。

因此,分布式数据库系统100有利地时间同步地根据分布式数据库系统100的共同的定时周期来运行;在分别相同的时间片期间,相应的节点装置20、30、31、32的相应的第一、第二和第六单元同步地执行分别分配给这些单元的步骤S20、S30、S60。

图7图解说明了根据第三实施例的变型方案的分布式数据库系统100的定时周期。在返回参照图1、图3和图6的情况下,描述图7。

在时间点T0,节点装置20、30、31、32中的相应的节点装置的时间片开始。

时间片的第一时间部段在时间T0处开始。在第一时间部段期间,节点装置20、30、31、32中的每个节点装置都可以在分布式数据库系统100中提供未经确认的交易41、42、43。

例如,节点装置20可以与工业自动化系统的自动化部件连接,并且可以创建未经确认的交易,所述未经确认的交易表示在该时间片开始时测定的传感器值。节点装置32可以具有用户接口,并且例如可以提供未经确认的交易,所述未经确认的交易包括由用户编程的智能合约,所述智能合约具有针对工业自动化系统的控制指令。

分布式数据库系统100设计为使得确保了,每个所提供的未经确认的交易在时间片的时间点t1之前已及时到达所有节点装置20、30、31、32。

区块形成装置3010、3110、3210中的每个区块形成装置都接收到所提供的未经确认的交易41、42、43,并且选择多个待确认的交易。例如,可以选择至少所有对时间要求严格的未经确认的交易。未被选择的未经确认的交易41、42、43可以被存储,并且可以针对较晚的时间片被保持,或者可以被摒弃。

第一时间部段在时间点t1结束,在该第一时间部段期间,提供和选择未经确认的交易41、42、43。

在时间点t1,时间片的第二时间部段开始。节点装置20在第二时间部段期间保持没有行动。在第二时间部段期间,节点装置30、31、32分别由所选择的未经确认的交易41、42、43形成未经确认的区块60、61,如上面依据第一实施例所描述的那样。即使在例如根据区块链技术运行的分布式数据库中形成区块可能是耗时的过程,共识规则和分布式数据库系统100的节点装置20、30、31、32然而也设立为使得,直至时间点t2以被保证的方式终止形成未经确认的区块60、61,在时间点t2,第二时间部段结束。

在时间点t2,时间片的第三时间部段开始。在第三时间部段期间,区块形成装置3010、3110、3210在分布式数据库系统100中提供由所述区块形成装置3010、3110、3210分别形成的未经确认的区块61、62,并且节点装置20、30、31、32中的分别另外的节点装置接收到所提供的未经确认的区块61、62。所提供的未经确认的区块的提供和接收在时间点t3结束。在时间点t3,第三时间部段结束。

在时间点t3,时间片的第四时间部段开始。在第四部段期间,节点装置20、30、31、32分别确认在第三时间部段中提供的未经确认的区块60、62中的恰好一个区块,其中这些节点装置20、30、31、32将经确认的区块73附加到经确认的区块的链上,所述经确认的区块的链存储在相应的节点装置20、30、31、32的第五单元6中,如上面针对第二实施例所描述的那样。在时间点T0+ΔT,第四时间部段结束,并且该时间片也以此结束。

以这种方式,分布式数据库系统100以经过定时的方式和时间同步地运行,使得可以保障,在预先给定的时期ΔT(时间片的长度)之内,所提供的未经确认的交易41、42、43作为经确认的交易被接纳到相应的节点装置20、30、31、32的分布式数据库系统100的交易账本的表示中。

图8示意性地图解说明了根据实施例的未经确认的区块61的结构。应注意的是,未经确认的区块61的图解说明的结构相对应地也适用于相应的经确认的区块71、72、73(图3),并且因而不重新描述后者。依据图8并且在返回参考图1、图3和图6的情况下,进行描述。

未经确认的区块61例如是已由区块形成装置10(图1)形成的未经确认的区块61,并且如下地来建立:

未经确认的区块61包括多个未经确认的交易41、42、43以及哈希值611,所述哈希值611例如是默克尔根(Merkle-Root)(密码哈希树的根值),并且保护未经确认的交易41、42、43免遭事后操纵。

此外,只要分布式数据库系统100的共识规则设置这一点,未经确认的区块61就可以包括未经确认的币基交易40。币基交易40由区块形成装置10自己产生,并且区块形成装置10或包括该区块形成装置10的节点装置30(图5)可以允许针对形成区块的预先确定的报酬。

未经确认的区块61可选地此外包括时间戳612,所述时间戳612标识如下时间片:在所述时间片中,已形成未经确认的区块61。

未经确认的区块61包括拼接哈希值613,所述拼接哈希值613可以是分布式数据库系统100的交易账本的如下表示的最后的经确认的区块的密码哈希值,所述交易账本的表示对于该区块形成装置10是已知的。

此外,未经确认的区块61包括证明值614,所述证明值614根据一个例子是一次性的随机数值,所述一次性的随机数值呈现所谓的尽力而为工作量证明(Best-Effort-Proof-of-Work)。尤其是,在区块形成装置10已形成未经确认的区块61之后,区块形成装置10可以使用直至第二时间部段在第二时间点t2结束(图7)的剩余时间,以便通过反复试验确定一次性的随机数值来使得,整个未经确认的区块61的哈希值尽可能是极值的,如例如尽可能小。

以这种方式,区块形成装置10可以以可追溯的方式记录它对将该区块纳入到分布式数据库系统100的交易账本中的合法利益。工作量证明(也称为尽力而为工作量证明)可以肯定地在第二时间部段t2之内被提供。

依据未经确认的区块61,现在将更精确地描述分布式数据库系统100的共识规则。共识规则的在下面描述的标准可以以适当的方式被组合。在下面描述的标准可以由分布式数据库系统100的相应的节点装置20、30、31、32使用,以便在相应的时间片的从t3直至T0+ΔT的第四时间部段(图7)期间检查相应的未经确认的区块61、62,并且在所有成功通过检查的未经确认的区块61、62中间选择恰好一个待确认的区块。共识规则示例性地依据图3中的节点装置20和图8中的未经确认的区块61来描述。应理解的是,其他节点装置30、31、32根据同一共识规则工作。

尤其是,共识规则的一个标准内容是,默克尔根611必须对应于由未经确认的区块的未经确认的交易41、42、43建立的默克尔树的根值。以这种方式可能确保,未经确认的区块61在提供期间不曾未经授权地被修改。

尤其是,共识规则的一个标准内容是,拼接哈希值611必须是经确认的区块71、72、73的链的最后的或在前的区块的有效哈希值,所述经确认的区块71、72、73的链存储在节点装置20的第五单元5中。这样可能测定,未经确认的区块61是否和在哪个位置处可附加到经确认的区块71、72、73的链上,或者是否和在哪个位置处要摒弃未经确认的区块61。

尤其是,共识规则的一个标准内容是,未经确认的交易41、42、43中的每个交易都必须是有效交易。有效交易可以被理解为,相关的交易将当前状态变换成新的有效状态,所述当前状态通过分布式数据库系统100的交易账本的表示的经确认的交易的序列得到,所述交易账本的表示存储在第五单元5中。例如,当无错误地执行在交易中包括的或者被交易引用的智能合约时,未经确认的交易41、42、43中的一个交易那么可以被当作有效交易41、42、43。

尤其是,共识规则的一个标准可以内容是,未经确认的区块61的时间戳612标明与当前时间片一致的时间片。这样可能监督,分布式数据库系统100的定时是否无干扰地工作。

尤其是,共识规则的一个标准可以内容是,未经确认的区块61必须包括所有未经确认的交易41、42、43,所述未经确认的交易41、42、43在T0和t1之间的第一时间部段(图7)期间已被提供,并且与预先确定的条件相对应。换言之,节点装置20也可以接收到和保持在分布式网络100中在相应的时间片期间提供的未经确认的交易41、42、43,以便稍后在同一时间片期间可以检验,所有与该条件相对应的未确定的交易是否已正确地被纳入到未经确认的区块61中。预先确定的条件例如可以内容是,要纳入所有未经确认的交易40、41、42,所述所有未经确认的交易40、41、42标记为对时间要求严格的和/或涉及工业自动化系统的控制指令、测量值或者控制值。因此,可以保障分布式数据库系统100的实时能力。

上面提到的标准可以由相应的节点装置20、30、31、32应用,以便将不满足上面提到的标准中的至少一个标准的未经确认的区块61作为无效而摒弃。其他在下面提到的标准可以被使用,以便在多个有效的、被检查的未经确认的区块61、62中间选择被确认的那个区块。

尤其是,共识规则的一个标准可以内容是,选择如下那个未经确认的区块61、62:所述未经确认的区块61、62包括尽可能大数目的未经确认的交易41、42、43或确定的类型的未经确认的交易41、42、43。以这种方式,可以提出用于改进分布式数据库100的交易吞吐量和/或实时能力的激励。

尤其是,共识规则的一个标准可以内容是,选择具有最好的证明值614的那个未经确认的区块61、62。这样,比方说可以选择如下那个未经确认的区块61、62:所述未经确认的区块61、62的哈希值特别是极值的(如例如是最低的、最高的)或者具有尽可能大数目的前导二进制零或者前导二进制一,证明值614也涌入所述未经确认的区块61、62的哈希值中。以这种方式,有利地可以解决在多个未经确认的区块61、62之间的竞争情形,并且可提出针对分布式网络100的区块形成装置10的如下激励:提供尽可能好的尽力而为工作量证明。

前面所描述的标准尤其是可以修改为使得,除了证明值614的品质之外,也考虑由未经确认的区块61、62包括的未经确认的交易41、42、43的品质或计算复杂性。这样,即使未经确认的区块61与其他未经确认的区块62相比包含更少的价值高的证明值614(即使未经确认的区块61的哈希值与其他未经确认的区块62的哈希值相比更少是极值的),然而如果未经确认的区块61包括相对应更高数目的计算上复杂的未经确认的交易41、42、43,那么相对于其他未经确认的区块62也可以优选比方说一个未经确认的区块61。计算上复杂的未经确认的交易41、42、43可以被理解为如下交易:在形成未经确认的区块61的范围中,所述交易的检验在相关的区块形成装置10上生成高计算负荷,或占去相关的区块形成装置10的许多计算时间。以这种方式可能有利地防止,区块形成装置10变为不利,所述区块形成装置10将许多计算上复杂的交易41、42、43纳入到未经确认的区块61中,并且由于该未经确认的区块61,所述区块形成装置10在t1到t2之间的第二时间部段(图7)之内仅仅保持较少的用于在第二时间部段结束之前测定证明值614的计算时间。

图9图解说明了根据第三实施例的优选的变型方案的分布式数据库系统100的交易账本。

图9示出了经确认的区块71、72、73的链,如该链可存储在分布式数据库网络100(图6)的相应的节点装置20、30、31、32(图6)的第五单元(图3)中那样。经确认的区块71、72、73的链在此表示分布式数据库网络100(图6)的交易账本。在下面参考图9和图6。

经确认的区块71、72、73中的每个区块都包括:证明值714、724、734,拼接哈希值713、723、733,时间戳712、722、732,默克尔根711、721、731和相应的未经确认的交易50-53、54-56、57-59。所提到的元素对应于未经确认的区块61的相对应的元素,这些元素已依据图8被描述。

如在图9中所示,区块71、72、73经由拼接哈希值713、723、733拼接为使得,分别随后的区块72、73包括分别在前的区块71、72的拼接哈希值713、723、733。这样,可以保护区块链以防操纵。

此外,图9示出了时间轴,该时间轴标明相应的时间片的起始时间点T0、T0+ΔT、T0+2ΔT。经确认的区块71已在与时间点T0相关联的时间片中被形成和被确认。经确认的区块72已在从T0+ΔT起的时间片中被形成。经确认的区块73已在从T0+2ΔT起的时间片中被形成。与此相对应地,经确认的区块71的时间戳712包含值“T0”,时间戳722包含值“T0+ΔT”,并且时间戳732包含值“T0+2ΔT”。

如在图9中能看到的那样,在分布式数据库网络100中,以预先给定的时间间距ΔT分别将恰好一个经确认的区块附加到交易账本上。

图10图解说明了根据第四实施例的分布式数据库系统100。在返回参考图1、图3和图6的情况下进行对图10的描述。图10中所示的根据第四实施例的分布式数据库系统100对应于在图6中所示的根据第三实施例的分布式数据库系统100,并且不重新描述相同的元件。在下文,参照图10、图6、图3和图1仅深入研究第四实施例的不同之处。

根据第四实施例的分布式数据库系统100具有在网络101中提供的中央时间源7。相应的第三单元203、303、313、323设立为,从中央时间源7接收定时周期。时间源7可以是工业自动化系统的DCF77时间发射器、NTP或者PTP服务器或者定时器。以这种方式,节点装置20、30、31、32的相应的定时周期可以特别简单地被保持同步。

此外,根据第四实施例的分布式数据库系统100具有在网络101中提供的调度装置8。调度装置8以与第三单元303、313、323相同的方式从中央时间源7接收定时周期,并且基于该定时周期来确定预先给定的长度的相应的时间片。

除了相应的第一单元1和相应的第二单元2之外,相应的区块形成装置3010、3110、3210此外具有第四单元304、314、324。

在相应的时间片开始时,调度装置8向区块形成装置3010、3110、3210中的恰好一个区块形成装置的恰好一个第四单元304、314、324发送调度信号。调度装置8可以依次轮流地、随机地或者按照另外的调度选择恰好一个区块形成装置3010、3110、3210。

根据第四实施例的区块形成装置3010、3110、3210设立为使得,只有当相关的区块形成装置3010、3110、3210的第四单元304、314、324从调度装置8接收到激活信号时,这些区块形成装置3010、3110、3210的相应的第一单元1和第二单元2才在相应的时间片中执行依据第一实施例描述的步骤S10和S20(图2)。要不然,第一单元1和第二单元2在不曾接收到激活信号的相应的时间片中保持没有行动。

与此相应,有利地对于每个时间片仅仅形成恰好一个未经确认的区块61,在通过相应的节点装置20、30、31、32确认未经确认的区块61、62时,可以避免在多个未经确认的区块61、62之间的竞争情形,并且可以省去尽力而为工作量证明。替代于其地,例如权益证明可以被用作证明值,或者可以使用被许可的分类账。

为了提高安全性,在该情况下,相应的节点装置20、30、31、32可以应用共识规则的如下附加标准:只有当未经确认的区块61已由在相关的时间片中被激活的区块形成装置3010、3110、3210提供时,那么才可以成功地检查和确认未经确认的区块61。

尽管依据实施例已描述本发明,但是本发明可以进行多种修改。

为了简便起见,已仅描述基于区块链的分布式数据库系统的基本原理,所述分布式数据库系统具有交易账本和经过拼接的区块,所述经过拼接的区块分别包括多个交易。然而,区块的经过定时的形成和确认的在此公开的教导也可以应用于另外的分布式数据库系统和基于区块链的数据库系统的改进方案,如比方说应用于具有多个交易账本(如主账本和副账本)的分布式数据库系统,应用于另外的类型的拼接、如比方说有向图或者无区块化的交易链,等等。

在第三实施例的分布式数据库网络100中,可以设置有中央时间源7。在第四实施形式的分布式数据库网络100中,也可以不设置中央时间源7。

只要可以由区块形成装置10有保证地在相应的时间片的为此设置的时间部段之内产生证明值614,如尽力而为工作量证明、权益证明、被许可的分类账等之类的共识形成技术就可以任意组合。

依据图6已描述默克尔根,然而也可设想帕特里夏根和另外的类型的哈希值、哈希树和别的类型的密码学保护区块和/或各个交易免遭操纵。

依据图7已描述了时间片的可设想的细分,并且已描述了,所有节点装置20、30、31、32都以时间同步的方式被定时,使得相应的时间片在所有节点装置20、30、31、32上在相同时间开始。然而也可设想如下实施形式:在所述实施形式中,节点装置20、30、31、32的相应的定时周期以另外的方式时间同步和/或相应的时间片不同地细分。例如,不同的节点装置的定时周期彼此可能会偏移了预先给定的长度ΔT的分数;以该方式比方说可能会在没有各个节点装置20的没有行动阶段的情况下实现较高的并行化程度。

所建议的解决方案可以被理解为针对分布式数据库系统的区块形成装置和节点装置,它们分别具有用于从时间源接收定时周期和依据该定时周期确定预先给定的长度的时间片的单元,其中区块形成装置在相应的时间片之内从在数据库系统中提供的未经确认的交易中选择待确认的交易恰好一次,由所选择的未经确认的交易形成未经确认的区块并在数据库系统中提供未经确认的区块,并且节点装置存储经确认的区块的链,所述经确认的区块表示数据库系统的交易账本,而且在相应的时间片之内,恰好一次地确认来自在数据库系统中在时间片中提供的未经确认的区块中的恰好一个区块,以及将该区块附加到经确认的区块的链上。

特别有利地,所建议的解决方案可以应用于工业自动化系统,该工业自动化系统包括多个根据定时周期可运行的自动化部件。所建议的分布式数据库系统(如比方说根据所述实施例中的一个实施例的分布式数据库系统100)可以借助智能合约和接口装置等等设立来控制和/或调节所述多个自动化部件,所述智能合约实施控制逻辑,所述接口装置形成在分布式数据库系统的节点装置与自动化系统的自动化部件之间的接口。相应的接口装置可以设立来:促使将相应的自动化部件的测量值作为未经确认的交易提供给数据库系统100,或者促使将来自在分布式数据库系统100中被确认的交易的控制值提供给相应的自动化部件。在这种情况下,自动化系统的定时器可以作为分布式数据库系统的中央时间源(图10中的7)而被采用。因此,可以实现分布式数据库系统的如下定时周期:所述定时周期与多个自动化部件的定时周期同步,或者与多个自动化部件的定时周期的整数倍同步。因此,测量值和/或控制值有利地可能以相同的周期在分布式数据库系统中呈交易数据记录的形式而被确认,其中所述交易数据记录由自动化部件供应或要向自动化部件输出。因此,借助基于区块链技术的分布式数据库,可以实现工业自动化系统的实时控制。

参考文献

[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://github.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日)

[8]Blockchain Oracles

相关技术
  • 区块形成装置和区块形成方法、节点装置和区块确认方法
  • 一种区块链的矿池形成方法、装置、系统及可读存储介质
技术分类

06120112893723