CN116458115A - 分布式账本系统 - Google Patents

分布式账本系统 Download PDF

Info

Publication number
CN116458115A
CN116458115A CN202180076186.7A CN202180076186A CN116458115A CN 116458115 A CN116458115 A CN 116458115A CN 202180076186 A CN202180076186 A CN 202180076186A CN 116458115 A CN116458115 A CN 116458115A
Authority
CN
China
Prior art keywords
peer
node
information
distributed ledger
causing
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
Application number
CN202180076186.7A
Other languages
English (en)
Inventor
贝乔伊·雅各布
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEJOY Jacob
Original Assignee
Deutsche Post AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from PCT/EP2021/060694 external-priority patent/WO2022100892A1/en
Application filed by Deutsche Post AG filed Critical Deutsche Post AG
Priority claimed from PCT/EP2021/076084 external-priority patent/WO2022100914A1/en
Publication of CN116458115A publication Critical patent/CN116458115A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

尤其披露了一种由至少一个设备执行的方法,所述方法包括:从至少一个外部设备接收或促使接收连接建立消息,或向该至少一个外部设备传输或促使传输该连接建立消息;基于该连接建立消息获得或促使获得表示该外部设备的分散式标识符;获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;基于涉及对等网络的节点的至少一个子组的共识处理,将该至少一个散列值与该分散式标识符的至少一部分相关联地存储或促使存储在包括该对等网络的分布式账本系统的存储器的安全化部分中。

Description

分布式账本系统
技术领域
本披露内容总体上涉及分布式账本技术,并且特别地涉及使得一方面能够在分布式账本系统与可以作为独立式节点的、可以作为另一分布式账本系统和/或区块链系统的一部分的节点之间进行互操作,并且另一方面能够在维持高度的数据安全性的同时灵活管理所存储的数据的方法、设备和系统。另外,本披露内容涉及一种促进智能合约处理的分布式账本技术。
背景技术
区块链或类似区块链的分布式账本系统已在许多应用领域变得流行,包括以物流和/或仓库流程为基础的技术。例如,类似区块链的分布式账本系统(即,包括至少一个或多个区块链机制(诸如共识机制)的分布式账本系统)可以提供技术基础,以实现分布式账本系统内部或外部的实体之间的数据通信,并且同时能够在分布式账本系统内部实现高度的数据安全。
特别地,为了能够保持分布式账本系统内部的数据安全,需要特定的接口以实现分布式账本系统与分布式账本系统外部的一个或多个节点之间的通信。特别地,在分布式账本系统外部的一个或多个外部节点被包括在另一分布式账本和/或区块链系统和/或非分布式账本和/或非区块链系统中的情况下,可能需要这种特定接口以实现这种外部节点与分布式账本系统的节点之间的互操作性。
另外,虽然诸如区块链系统等分布式账本系统可以实现高度的数据安全性,但用户可能无法更改先前存储的数据。例如,在传统区块链系统(其中用于记录例如某一交易的数据的数据块包括先前数据块的密码散列)的情况下,数据块不能在不更改所有后续块的情况下进行回溯性更改。一方面,这种架构提供的高度的安全性另一方面又导致较低程度的灵活性。特别地,在例如某一交易需要用户的个人数据并因此需要将其包含在数据块中的情况下,实际上以后可能无法移除此类个人数据,例如,当交易完成之后不再需要个人数据时。
区块链技术特别适合为智能合约的处理提供高度安全的基础。例如,由区块链系统托管的智能合约可以实现某些产品的客户、这些产品的供应商之间以及管理产品从供应商到客户的装运的物流公司之间的交易。例如,特别地,通过使用现有的智能合约可以适当地加速诸如产品的订购和发货等过程。然而,同样期望的是,加速进一步的过程,特别是在这种产品的装运中所涉及的过程。然而,对于产品装运、特别是产品的跨境装运中所涉及的许多过程,采用现有的智能合约是困难的,这类装运过程由于其法规不断发生各种变化,因此通常需要人工交互。
发明内容
本披露内容要达到的目标尤其是提供一方面实现分布式账本系统与至少一个节点之间的互操作性的方法和设备,该至少一个节点可以是独立节点或是非分布式账本系统、分布式账本系统和/或区块链系统的一部分。另一方面,本披露内容的另一个目的是提供使得分布式账本系统在保持高度的数据安全性和完整性的同时在数据管理方面具有更高程度的灵活性的方法和设备。另外,本披露内容解决的进一步目的是提供能够实现允许过程加速、特别是产品装运中所涉及的过程加速的技术方案的方法和设备。
根据本披露内容的第一示例性方面,披露了一种由至少一个设备执行的方法,所述方法包括:
-从至少一个外部设备接收或促使接收连接建立消息,或向该至少一个外部设备传输或促使传输该连接建立消息;
-基于该连接建立消息获得或促使获得表示该外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及该对等网络的节点的至少一个子组的共识处理,将至少一个散列值与该分散式标识符的至少一部分相关联地存储或促使存储在包括该对等网络的分布式账本系统的存储器的安全化部分中。
根据本披露内容的第一方面的方法可以由至少一个设备执行,该至少一个设备是包括至少两个节点的对等网络的至少一个节点的一部分或对应于该至少一个节点,其中,该对等网络的节点中的相应节点存储分布式账本的至少一部分。由此,该分布式账本可以结合区块链的一个或多个特点,例如,可以实施共识机制,以确保须经历该共识机制的数据仅在对等网络的至少一个子组节点之间达成共识的情况下才发生改变。
根据本披露内容的第二示例性方面,披露了一种由至少一个设备执行的方法,所述方法包括:
-存储或促使存储至少一个数据块,该存储包括:
-将该至少一个数据块的第一数据部分和第二数据部分存储或促使存储在分配给该至少一个节点的数据存储器部分中,其中,该第一数据部分被存储为不变数据;
该方法进一步包括:
-促使将第一散列信息与该第一数据部分相关联地存储为该分布式账本的一部分;
-促使将第二散列信息与该第二数据部分相关联地存储为该分布式账本的一部分;
-获得或促使获得与该至少一个数据块相关的修改请求信息;
-基于该修改请求信息并基于在该对等网络的至少一组节点中的至少一个节点处执行的共识处理,促使删除与该第二数据部分相关联的第二散列信息和/或促使将新的第二散列信息与该至少一个数据块的新的第二数据部分相关联地存储为该分布式账本的一部分。
根据本披露内容的第二方面的方法可以由至少一个设备执行,该至少一个设备是包括形成分布式账本系统的至少一部分的至少两个节点的对等网络的至少一个节点的一部分或对应于该至少一个节点,其中,相应节点至少将分布式账本的对应一部分存储在分配给该相应节点的分布式账本存储器部分中。由此,该分布式账本系统可以结合区块链的一个或多个特点,例如,可以实施共识机制,以确保须经历该共识机制的数据仅在对等网络的至少一个子组节点之间达成共识的情况下才发生改变。
根据本披露内容的第三示例性方面,披露了一种由至少一个设备执行的方法,所述方法包括:
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定该触发信息的该至少一个元素是否对应于该智能合约的现有触发条件,其中,现有触发条件适于引起基于该智能合约要执行的对应交易;
-如果确定该触发信息的至少一个元素与该智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于该智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
根据本披露内容的第三方面的方法可以由至少一个设备执行,该至少一个设备是包括形成分布式账本系统的至少一部分的至少两个节点的对等网络的至少一个节点的一部分或对应于该至少一个节点,其中,相应节点至少将分布式账本的对应一部分存储在分配给该相应节点的分布式账本存储器部分中。由此,该分布式账本系统可以结合区块链的一个或多个特点,例如,可以实施共识机制,以确保须经历该共识机制的数据仅在对等网络的至少一个子组节点之间达成共识的情况下才发生改变。
在示例性实施例中,分布式账本包括表示一个或多个散列值、索引和/或散列索引的数据,与对应数据、特别是用户数据或有效载荷数据相对应的相应的一个散列值、索引和/或散列索引。由此,在示例性实施例中,对应于相应散列值、索引和/或散列索引的数据本地地存储在构成对等网络的节点的至少一个子组的一个或多个节点的、连接到该一个或多个节点的和/或该一个或多个节点可访问的存储装置处。进一步地,在示例性实施例中,该一个或多个散列值、索引和/或散列索引由该分布式账本保持为可用并须经历共识机制,该共识机制被配置为使得相应的散列值、索引和/或散列索引仅在对等网络的节点子组中的至少各节点之间达成共识的情况下才可以发生改变或被删除。应注意的是,共识可以由节点子组中的一个或多个节点表达,即,单个节点也可以表达对添加新数据块和/或更改/删除现有数据块的共识。
对于根据本披露内容的第一方面、第二方面和/或第三方面的方法,还披露了一种设备(并且随后将其称为分别根据本披露内容的第一方面、第二方面和/或第三方面的设备),该设备被配置为执行和/或控制相应的方法,或者包括用于执行和/或控制相应方法的步骤的相应装置。在这种情况下,可以控制方法的所有步骤,或者可以执行方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。还可以由相同的单元执行和/或控制这些装置中的一个或多个装置。举例来讲,这些装置中的一个或多个装置可以由一个或多个处理器形成。
对于根据本披露内容的第一方面、第二方面和/或第三方面的方法,还披露了一种设备(例如,分别根据第一方面、第二方面和/或第三方面的至少一个设备)(并且随后将其称为根据本披露内容的第一方面、第二方面和/或第三方面的至少一个设备),该设备包括至少一个处理器以及包括计算机程序代码的至少一个存储器,该至少一个存储器和该计算机程序代码被配置为使用该至少一个处理器以使设备(例如,该设备)至少执行和/或控制根据本披露内容的第一方面、第二方面和/或第三方面的方法。在这种情况下,可以控制相应方法的所有步骤,或者可以执行相应方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。
根据本披露内容的第一方面、第二方面和/或第三方面的至少一个设备可以对应于或包括至少一个固定或便携式个人计算机、至少一个服务器、至少一个服务器系统和/或至少一个移动装置,或被其包括。由此,在示例性实施例中,移动装置对应于或包括智能电话、智能手表、智能手环、平板计算机、笔记本计算机、智能家居装置、物联网(IoT)装置、医疗物联网(IOMT)装置和/或数据记录器。根据第一方面、第二方面和/或第三方面的至少一个设备可以例如集成在物流服务提供公司的后端。
对于根据本披露内容的第一方面、第二方面和/或第三方面的方法,还披露了一种系统(并且随后被称为分别根据本披露内容的第一方面、第二方面和/或第三方面的系统),该系统包括至少一个设备(例如,根据第一方面、第二方面和/或第三方面的至少一个设备),该设备被配置为执行和/或控制相应的方法,或者具有用于执行和/或控制相应方法的步骤的装置。在这种情况下,可以控制相应方法的所有步骤,或者可以执行相应方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。
对于根据本披露内容的第一方面、第二方面和/或第三方面的方法,还披露了一种计算机程序(并且随后被称为根据本披露内容的第一方面、第二方面和/或第三方面的计算机程序),该计算机程序包括当该计算机程序在处理器上运行时使该处理器执行和/或控制相应方法的程序指令。在示例性实施例中,这种计算机程序可以对应于源代码和/或装置识别代码,可以作为源代码和/或装置识别代码的一部分,或者可以并入源代码和/或装置识别代码中。在本说明书中,处理器旨在被理解为尤其意指控制单元、微处理器、诸如微控制器等微控制单元、数字信号处理器(DSP)、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
在这种情况下,可以控制方法的所有步骤(这在示例性实施例中可以被理解为是方法的条件步骤),或者可以执行方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。举例来讲,计算机程序可以经由网络(诸如例如,互联网、电话网络或移动无线电网络和/或局域网)是可分布的。在非限制性示例中,网络可以例如对应于无线网络、至少部分地采用基于射频识别(RFID)和/或全球移动通信系统(GSM)的技术的网络、和/或配对服务网络。计算机程序可以至少部分地是处理器的软件和/或固件。计算机程序可以同样地至少部分地实施为硬件。举例来讲,计算机程序可以存储在计算机可读存储介质上,例如,磁存储介质、电存储介质、电磁存储介质、光存储介质和/或其他类型的存储介质。举例来讲,存储介质可以是处理器的一部分,例如,处理器的(非易失性或易失性)程序存储器或其一部分。举例来讲,存储介质是实质性的,即有形的和/或非暂态的。
根据本披露内容的第四示例性方面,披露了一种分布式账本系统,该分布式账本系统包括:
-对等网络的至少两个节点,其中,该对等网络的节点中的相应节点存储分布式账本的至少一部分;
-软件开发套件和/或应用程序编程接口,该软件开发套件和/或应用程序编程接口被配置用于使得能够在该对等网络的节点中的至少一个节点与外部设备之间传送连接建立消息;
-分散式标识符获取器,该分散式标识符获取器被配置用于基于该连接建立消息来获得表示该外部设备的分散式标识符;
-散列值获取器,该散列值获取器被配置用于获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-共识控制器,该共识控制器被配置用于基于涉及该对等网络的节点的至少一个子组的共识处理,控制将该至少一个散列值与该分散式标识符的至少一部分相关联地存储在该分布式账本系统的存储器的安全化部分中。
根据本披露内容的第五示例性方面,披露了一种分布式账本系统,该系统包括:具有节点的对等网络,其中,相应节点被配置为至少将分布式账本的对应一部分存储在分配给该相应节点的分布式账本存储器部分中;该系统包括至少一个设备,该至少一个设备是该对等网络的至少一个节点的一部分或对应于该至少一个节点并且被配置为:
-将至少一个数据块的第一数据部分和第二数据部分存储或促使存储在分配给该至少一个节点的数据存储器部分中,其中,该第一数据部分被存储为不变数据;
-促使将第一散列信息与该第一数据部分相关联地存储为该分布式账本的一部分;
-促使将第二散列信息与该第二数据部分相关联地存储为该分布式账本的一部分;
-获得或促使获得与该至少一个数据块相关的修改请求信息;
-基于该修改请求信息并基于在该对等网络的节点子组中的至少一个节点处执行的共识处理,促使删除与该第二数据部分相关联的第二散列信息和/或促使将新的第二散列信息与该至少一个数据块的新的第二数据部分相关联地存储为该分布式账本的一部分。
根据本披露内容的第六示例性方面,披露了一种分布式账本系统,该系统包括:具有节点的对等网络,其中,相应节点被配置为至少存储分布式账本的对应一部分;该系统包括至少一个设备,该至少一个设备是该对等网络的至少一个节点的一部分或对应于该至少一个节点并且被配置为:
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定该触发信息的该至少一个元素是否对应于该智能合约的现有触发条件,其中,现有触发条件适于引起基于该智能合约要执行的对应交易;
-如果确定该触发信息的至少一个元素与该智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于该智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
本披露内容的所有方面的示例性实施例可以具有以下描述的特性中的一个或多个(或例如全部)特性。
在示例性实施例中,该分布式账本是至少可由该对等网络的一个或多个节点访问的数字数据的集合,由此将新数据作为该分布式账本的一部分进行的存储、对该分布式账本的现有数据和/或现有数据的修正的删除须经历该对等网络的节点的至少一个子组之间的共识机制。该子组可以例如对应于在与要新存储、删除和/或修正的数据相关的应用处理中所涉及的节点组。在示例性实施例中,对等网络的相应节点包括存储分布式账本的至少一部分(在示例性实施例中为完整副本)的存储装置和/或连接到该存储装置。应注意的是,如在本文中使用的,该一个或多个节点可以被理解为对应于或包括至少一个节点和对应的支持硬件以及一个或多个对应的应用服务。
在示例性实施例中,对等网络的节点对应于或包括固定或便携式个人计算机、服务器、服务器系统或云系统和/或移动装置。由此,在示例性实施例中,移动装置对应于或包括智能电话、智能手表、智能手环、平板计算机、笔记本计算机、智能家居装置、物联网(IoT)装置、医疗物联网(IOMT)装置、数据记录器、图像识别装置、扫描仪、销售点(PoS)装置、签名和/或面部识别装置。
因此,分布式账本系统可以对应于多个节点,诸如安装在公司(例如,物流提供公司)的相应设施处的多台计算机。分布式账本可以对应于与对应的应用(诸如与货物的装运相关的应用)相关的数据。由此,与第一应用(诸如第一货物装运)相关的数据可以以表示装运过程的各个阶段的数据块的形式存储在第一装运所涉及的节点的相应存储装置处。例如,第一数据块可以包括与来自物流提供商的客户端的装运请求相关的数据,第二数据块可以包括与物流提供商对客户端的确认相关的数据,第三数据块可以包括与当例如货物被装载到装运车辆、船只或飞机时的初始装运阶段相关的数据。
虽然这样的数据可以例如本地地存储在第一装运过程中所涉及的节点的或连接到这些节点的相应存储装置上,但是分布式账本系统在示例性实施例中被配置为将(例如,包括如本文进一步披露的索引器,该索引器被配置为将)至少一个相应的散列值和/或散列索引分配给对应的数据块。由此,在示例性实施例中,针对与应用相关的第二数据块生成的散列值是独立于与应用相关的第一数据块(例如,表示在由该第二数据块表示的应用处理阶段之前、特别是紧接在该阶段之前的应用处理阶段)而生成的。特别地,在示例性实施例中,与应用相关的第二数据块不包括针对与应用相关的第一数据块(例如,表示在由该第二数据块表示的应用处理阶段或事件触发之前、特别是紧接在该阶段或事件触发之前的应用处理阶段)生成的散列值。应注意的是,在本披露内容的上下文中,应用可以特别地与装运、交易和/或智能合约的处理相对应或相关。
为了使得分布式账本系统的节点能够与分布式账本系统外部的一个或多个节点执行应用处理(例如,装运、交易或智能合约的处理),分布式账本系统外部的节点可以被登入。对应的登入过程可以由该外部节点发起,在这种情况下,分布式账本系统的节点可以从该分布式账本系统外部的所述节点接收连接建立消息,在示例性实施例中,所述节点是至少一个外部设备的示例。该登入过程可以类似地由分布式账本系统内部的节点发起,在这种情况下,该节点可以将连接建立消息传输到至少一个外部设备。
在登入过程的下一阶段中,分布式账本系统的节点可以基于连接建立消息获得表示外部设备的分散式标识符。由此,在示例性实施例中,分布式账本系统的节点从分布式账本系统的(软件)模块(例如,从本文进一步披露的伙伴发现器)获得该分散式标识符,该模块被配置用于基于该连接建立消息中包括的关于该外部设备的信息、或从该外部设备接收到的另一消息来生成该分散式标识符。应注意的是,分散式标识符可以是现有的分散式标识符(例如,已经分配给外部设备的分散式标识符),或者可以是新分配给外部设备的分散式标识符。
进一步地,在替代示例性实施例中,分布式账本系统的节点可以从外部设备获得表示该外部设备的分散式标识符。为此,分布式账本系统和/或分布式账本系统的节点在示例性实施例中包括分散式标识符解析器应用程序编程接口(API),其被配置用于解析与外部设备相关联并从外部设备接收的分散式标识符。例如,分散式标识符解析器API可以将用于在外部设备侧定义分散式标识符的相应格式转换成用于在分布式账本系统侧定义分散式标识符的格式。应注意的是,在示例性实施例中,分散式标识符解析器API可以采用或可以基于诸如W3C标准的全球互联网标准,和/或可以对应于或基于RESTful API。在外部设备属于非分布式账本系统(例如,非区块链系统)的一部分的情况下,采用分散式标识符解析器API可能特别有用,该非分布式账本系统包括多个节点,该多个节点被分配给针对该非分布式账本系统而生成的相应分散式标识符。例如,该实施例可以适当地适用于外部设备是SAP HANA系统的一部分的情况。在这种情况下,在示例性实施例中,分布式账本系统关于从外部设备获得的分散式标识符起到主服务器(MoS)的作用。
特别地,基于分散式标识符,使得能够在分布式账本系统的节点与该分布式账本系统外部的节点之间进行数据通信,这基本上可以独立于外部设备所属的系统的基础技术。可以使得能够在分布式账本系统的节点与独立节点、另一分布式账本系统的节点、区块链系统的节点、非分布式账本系统的节点和/或非区块链系统的节点之间进行数据通信。
基于所获得的分散式标识符,分布式账本系统的节点然后获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值。如所提到的,在示例性实施例中,分布式账本系统和/或分布式账本系统的节点包括索引器,该索引器被配置为基于所获得的分散式标识符的至少一部分来生成至少一个散列值。因此,分布式账本系统的节点可以从在分布式账本系统的节点处实施的索引器或从在分布式账本系统的另一节点处实施的索引器获得散列值。
然后,该至少一个散列值与分散式标识符的至少一部分相关联地存储在分布式账本系统的存储器的安全化部分中。由此,在示例性实施例中,该分布式账本系统的存储器对应于或包括对等网络的一个或多个节点的或连接到该一个或多个节点的一个或多个相应存储装置,由此该一个或多个存储装置可以分别存储分布式账本的至少一部分、特别是完整副本。在示例性实施例中,该存储器进一步包括安全化部分,即受到特定安全保证的部分。由此,该安全化部分可以在对等网络的节点中的一个或多个节点的或连接到该一个或多个节点的专用存储装置上提供,可以分布在对等网络的一个或多个节点的或连接到该一个或多个节点的相应存储装置上,或者可以包括在外部存储装置中(例如,包括在基于云的存储装置中)。
在示例性实施例中,该安全化部分被配置用于提供对该安全化部分的基于身份的访问,例如,该安全化部分仅向已识别出的用户提供访问。进一步地,在示例性实施例中,该安全化部分被配置用于对存储的数据进行加密,例如,用于以编码形式保持数据,使得只有被授权方才可以对编码数据进行解码以访问原始信息。虽然本披露内容的各方面不限于这一方面,但是在示例性实施例中,该安全化部分对应于或包括库(Vault)、特别是HashiCorp库。在示例性实施例中,库可以对应于被配置用于以安全化方式存储数据的硬件,例如,可以对应于被配置为存储相应安全密钥的硬件装置的本地部署库和/或基于云的安全密钥存储库。
在示例性实施例中,除了或替代对安全化部分的所述基于身份的访问,其他可采用的访问形式包括以下各项中的一项或多项:
-基于节点身份的访问,例如,基于节点可以发送和接收的数据类型;
-基于节点身份的访问,例如,基于节点的角色。
由此,在示例性实施例中,节点的角色可以对应于节点隶属关系(例如,基于与特定实体(诸如一个人、一群人和/或一个公司)的隶属关系),节点在实体中的级别(例如,节点是否属于实体的供应链),基于节点的国家、节点的经济领域、节点的站点(例如,MEA、EMEA、DXB)、用户或用户组级别(某个城市的会计团队或使用该服务的单个会计师)的角色。
在示例性实施例中,分散式标识符与分散式标识符文档相关联。由此,在示例性实施例中,分散式标识符对应于或包括将由分散式标识符标识的主体(例如,外部设备)与分散式标识符文档相关联的统一资源定位符(URL)。在示例性实施例中,分散式标识符文档保持关于或定义与分散式标识符相关联的一个或多个公钥、与分散式标识符相关联的认证信息(例如,一种或多种认证和/或验证方法)、服务端点、和/或关于分散式标识符所标识的主体(例如,外部设备)的语义的信息可用。服务端点可以实现与分散式标识符的主体(例如,与外部设备)相关联的可信交互。服务端点可以例如对应于对等网络的任何一个或多个节点和/或对应于外部设备,并且可以通过它们的对应地址来标识,例如,通过它们的MAC地址来标识,例如在诸如智能手表或手持装置等移动装置的情况下通过国际移动设备标识(IMEI)来标识,或者在数据记录器的情况下通过序列号来标识。在示例性实施例中,分散式标识符文档可以进一步包括时间戳(例如,用于审计历史)和/或签名(例如,用于完整性)。在示例性实施例中,分散式标识符文档可以对应于或包括与分散式标识符相关联的元数据。
因此,在示例性实施例中,分散式标识符是基于外部设备的属性在分布式账本系统处和/或在外部设备侧生成的、并与分散式标识符文档相关联的标识符。尽管根据本文披露的各方面的分散式标识符不限于这一方面,但是在示例性实施例中,分散式标识符包括或对应于由万维网联盟W3C指定的DID。另外或可替代地,在示例性实施例中,分散式标识符对应于利用分配给相应端点的安全密钥加密的数字孪生。
因此,在示例性实施例中,根据第一方面的方法进一步包括
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在该分散式标识符文档中的至少一个对应公钥来获得或促使获得至少一个散列值。
在示例性实施例中,根据第一方面的方法进一步包括:
-向该外部设备分配或促使分配至少一对公钥和私钥;
-将该公钥提供或促使提供给该外部设备;以及
-基于涉及该对等网络的节点的至少一个子组的共识处理,至少将该私钥与该分散式标识符的至少一部分相关联地存储或促使存储在该分布式账本的存储器的安全化部分中。
因此,分布式账本系统的节点可以包括(软件)模块(例如,本文进一步披露的伙伴发现器),该模块被配置为生成要分配(并提供)给外部设备的一对公钥和私钥(密钥配对)。由此,在示例性实施例中,公钥和私钥对应于非对称密码学和/或是基于非对称密码学而生成的。在示例性实施例中,密钥是基于椭圆曲线数字签名算法(ECDSA)而生成的,该算法可以使得能够使用较小的密钥,提供与基于非椭圆曲线密码学的密钥类似的安全级别。由此,在示例性实施例中,这些密钥是基于SECP256K1和/或SECP156R1曲线而生成的。
在示例性实施例中,根据第一方面的方法进一步包括:
-向该外部设备分配或促使分配定义该外部设备的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络的节点的至少一个子组的共识处理,将设置该至少一个伙伴角色的信息与该分散式标识符的至少一部分相关联地存储或促使存储在该分布式账本系统的存储器的安全化部分中。
因此,在示例性实施例中,在登入外部设备时,向外部设备分配伙伴角色,该伙伴角色定义例如可以与从外部设备传输到分布式账本系统的消息相关联的写访问许可。由此,在示例性实施例中,外部设备可以被分配有在外部设备与分布式账本系统之间处理的一个或多个应用的一个或多个伙伴角色。
根据第一方面的方法进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的该至少一个散列值特别地与该分散式标识符相关联地提供或促使提供给该外部设备。
通过将基于所获得的分散式标识符的至少一部分而生成的散列值传送到外部设备,可以基于至少在分布式账本系统侧对从外部设备传入的消息的散列验证(散列配对)来保护外部设备与分布式账本系统的节点之间的进一步数据通信。
在示例性实施例中,根据第一方面的方法进一步包括:
-特别地基于该分散式标识符,在该外部设备与该对等网络的至少一个节点之间建立或促使建立基于数字孪生的机器对机器配对。
通过在外部设备登入时(以及在对等网络的节点与外部设备之间的进一步数据通信时)在外部设备与对等网络的至少一个节点之间建立基于数字孪生的机器对机器配对,在密钥配对机制和散列配对机制之外还建立了进一步的安全层。
如上文所披露的,根据第二方面,提供了由至少一个设备执行的另一种方法,在示例性实施例中,该至少一个设备对应于执行根据第一方面的方法的至少一个设备。根据第二方面的方法包括存储或促使存储至少一个数据块。由此,如以上所解释的,在示例性实施例中,数据块包括与应用处理的相应阶段相关(在示例性实施例中,与应用处理的相应时间点相关)的数字数据。在例如对应于装运的应用处理的情况下,数据块可以对应于订购货物的阶段或货物装载到装运承运人的阶段,或者进一步对应于装运处理的不同阶段。在示例性实施例中,应用对应于(例如,货物的)装运、交易(例如,金融交易)和/或智能合约的处理。
进一步地,根据第二方面,存储包括将至少一个数据块的第一数据部分和第二数据部分存储或促使存储在分配给至少一个节点的数据存储器部分中,其中,该第一数据部分被存储为不变数据。在示例性实施例中,该第二数据部分被存储为可变数据。换言之,在示例性实施例中,存储的数据块至少包括第一数据部分和第二数据部分,由此该第一数据部分包括不变(不可改变的)数据。在示例性实施例中,该第二数据部分包括可变(可改变的)数据。
因此,第一数据部分可以用于存储在稍后阶段不会改变的数据,例如,与应用相关的数据。例如,在装运的情况下,当数据块对应于特定货物的装运订单时,例如,所订购货物的数量和/或类型可以存储为对应数据块的第一数据部分的一部分。第二数据部分可以用于存储在稍后阶段可能需要改变的数据或用于存储在稍后阶段可能必须限制访问的数据。例如,在装运处理的后一示例中,第二数据部分可以用于存储订购者的个人数据(例如,个人可识别信息PII)。换言之,在示例性实施例中,至少一个数据块的第二数据部分包括个人数据,特别是与个人数据相关的数据(例如,个人可识别信息PII数据)。
如本文进一步披露的,分布式账本存储在分布式账本系统的存储器中,该存储器对应于或包括对等网络的一个或多个节点的或连接到该一个或多个节点的一个或多个相应存储装置。对等网络的节点中的相应节点因此将分布式账本的至少一部分存储在分配给该相应节点的分布式账本存储器部分中,由此该分布式账本存储器部分对应于相应节点的、被相应节点包括的、或连接到相应节点的存储器和/或存储装置,或被其包括。由此,存储器和/或存储装置可以经由有线连接和/或无线连接而连接到节点,并且可以对应于节点的内部存储装置和/或外部存储装置和/或可以对应于用于节点的在一个或多个互联网服务器处保持可用的存储器部分,例如,可以对应于分配给节点的云存储设备。换言之,分配给相应节点的分布式账本存储器部分在示例性实施例中是相应节点的和/或连接到相应节点的分布式账本存储器部分。
同样,分配给至少一个节点的数据存储器部分在示例性实施例中是至少一个节点的和/或连接到至少一个节点的数据存储器部分。进一步地,由此,数据存储器部分可以经由有线连接和/或无线连接而连接到至少一个节点,并且可以对应于至少一个节点的内部存储装置和/或外部存储装置和/或可以对应于用于至少一个节点的在一个或多个互联网服务器处保持可用的存储器部分,例如,可以对应于分配给至少一个节点的云存储设备。在示例性实施例中,数据存储器部分是由至少一个节点包括的和/或连接到至少一个节点的存储器部分,并且不同于分配给至少一个节点的分布式账本存储器部分。
在示例性实施例中,分布式账本系统包括相应的分布式账本存储器部分和相应的数据存储器部分,相应的分布式账本存储器部分被分配给对等网络的至少两个节点中的对应一个节点,相应的数据存储器部分被分配给对等网络的至少两个节点中的对应一个节点。由此,相应的分布式账本存储器部分在逻辑上与相应的数据存储器部分分离,和/或对应于与包括相应数据存储器部分的硬件部件不同的硬件部件的至少一部分。例如,分布式账本可以例如存储在对等网络的第一组节点(例如,全部节点)的分布式账本存储器部分上,而与应用相关的数据块可以存储在仅参与应用处理的节点的数据存储器部分上。因此,分布式账本存储器部分与数据存储器部分的分离能够以分散的方式实现灵活存储分布式账本的数据,并且实现高度的数据安全性(例如,由于在大量节点之间执行共识处理),而与应用相关的数据可能仅需要存储在节点的子组中,从而实现存储资源的高效利用。
根据第二方面,该方法进一步包括促使将第一散列信息与第一数据部分相关联地存储为分布式账本的一部分,在示例性实施例中存储在分配给相应节点的分布式账本存储器部分中。该方法进一步包括促使将第二散列信息与第二数据部分相关联地存储为分布式账本的一部分,在示例性实施例中存储在分配给相应节点的分布式账本存储器部分中。
因此,与应用相关的数据块(其第一数据部分和第二数据部分,即,应用数据和例如个人信息)可以存储在分配给参与应用处理的节点的一个或多个数据存储器部分中,而对应于数据块的散列信息(在示例性实施例中,以分散的方式)被存储为分布式账本的一部分(存储在对等网络的节点的分布式账本存储器部分中)。因此,与例如其中数据块包括在前数据块的密码证明的传统区块链系统相反,根据本披露内容的各方面,散列信息存储在与对应数据部分分离的分布式账本中。如本文进一步披露的,散列信息与对应的数据块相关联地存储,其中,该关联在示例性实施例中通过由分布式账本系统的索引器保持可用的关系信息来实现。通过这种方式,可以将通过将散列信息存储在分布式账本中而实现的数据安全性与参与应用处理的节点处的高效存储使用相结合,该散列信息的存储可能受制于对等网络的一个或多个或全部节点之间的共识处理。
如将在下文中描述的,根据本文披露的各方面所披露的特定架构提供了一种技术方案,用于特别地实施“被遗忘权利”,即,与参与由分布式账本系统处理的应用的个体相关的个人数据在不再需要时不可再访问的权利。应注意的是,该技术方案不限于个人数据,而且如果需要,还可以限制对不同数据的访问。
根据第二方面,该方法进一步包括获得或促使获得与至少一个数据块相关的修改请求信息。在示例性实施例中,获得与至少一个数据块相关的修改请求信息包括:
-接收或促使接收修改或删除数据块的至少部分数据、特别是第二数据部分的数据的请求。
例如,在完成作为其一部分存储数据块的应用处理之后,修改请求信息可以作为来自应用处理中所涉及的节点的消息的一部分或对应于该消息而被接收。该信息可以作为例如来自对等网络的节点或来自对等网络外部的已登入节点的消息的一部分或以该消息的形式被接收。例如,在完成货物装运之后,如本文进一步披露的卡车司机可以发送消息,请求从存储的与装运处理相关的数据中移除其联系信息。
根据第二方面,该方法进一步包括基于修改请求信息并基于在对等网络的至少一组节点中的至少一个节点处执行的共识处理,促使删除与第二数据部分相关联的第二散列信息或促使将新的第二散列信息与至少一个数据块的新的第二数据部分相关联地存储为分布式账本的一部分。
由此,在示例性实施例中,至少一个数据块是至少两个数据块的序列的一部分,其中,相应的数据块包括表示应用处理的对应阶段(例如,在某个时间点)的数据并且与能够访问相应数据块的对应散列信息相关联,其中,各项散列信息形成表示应用处理的对应阶段的序列。换言之,在示例性实施例中,通过促使将第二散列信息作为分布式账本的一部分与第二数据部分相关联地存储,第二数据部分作为表示应用处理的至少两个数据块的序列的一部分变得可访问。
如果其中的至少一个节点明示同意,例如,接收到包括修改请求信息的消息的节点,则删除先前的第二散列信息或将其替换为新的第二散列信息。例如,在所述各项散列信息(例如,散列索引)的序列中(其中,相应的一项散列信息与所述数据块序列的对应数据块相关联),与请求所涉及的数据块的第二数据部分相关联的散列索引被删除或替换为与该数据块的新的第二数据部分相关联的新的第二散列索引。通过这样从各项散列信息的序列中移除与修改请求信息涉及的数据块的第二部分相关联的这项散列信息,对应的第二数据部分有效地从表示应用处理的各阶段的数据块序列中移除并且因此可能被“遗忘”并且可能不可再访问。换言之,在示例性实施例中,通过促使删除新的第二散列信息或将其作为分布式账本的一部分与至少一个数据块的新的第二数据部分相关联地存储,第二数据部分作为表示应用处理的至少两个数据块的序列的一部分变得不可访问。
通过这种方式,提供的技术手段使得最初存储的与应用相关的数据例如在应用完成并且可能不再需要该数据之后变得不可访问。特别地,该技术手段使得分布式账本系统能够遵守GDPR,因为特别是个人数据,如果不再需要,则可能使其变得不可访问。与例如由传统区块链系统存储的数据块相反,根据本文所披露的各方面的数据块的结构及其与散列信息的关联因此能够增强灵活性以使得部分数据块在应用(诸如装运、交易和/或智能合约的处理)的处理的上下文中不可访问。在GDPR的背景下,该技术手段因此实现了“遗忘权”。
在示例性实施例中,“基于在对等网络的至少一组节点中的至少一个节点处执行的共识处理”应理解为“如果对等网络的至少一组节点中的至少一个节点明示同意”。如所提到的,例如,如果接收到包括修改请求信息的消息的节点明示同意,可能就足够了。同样,替代性地,对等网络的多于一个或全部节点(例如,对等网络的在应用处理中所涉及的节点)明示同意可能是必要的。在示例性实施例中,执行共识处理的对等网络的这组节点特别地是基于传输包括修改请求信息的消息的节点的伙伴角色和/或基于与传输包括修改请求信息的消息的节点相关联的分散式标识符来定义的。在示例性实施例中,传输包括修改请求信息的消息的节点的伙伴角色被设置在与分散式标识符相关联的分散式标识符文档中,该分散式标识符与传输包括修改请求信息的消息的节点相关联。
应注意的是,修改请求信息可以通过共识处理来确认,该共识处理涉及对等网络的在应用处理中所涉及的一个、多个或全部节点和/或涉及对等网络的一个、多个或全部节点。虽然修改请求的确认可以同时确认从分布式账本中删除和/或向分布式账本添加一项或多项散列信息和/或替换一项或多项散列信息,但是在示例性实施例中,删除第二散列信息和/或将新的第二散列信息存储为分布式的一部分是基于涉及对等网络的一个或多个或全部节点的单独共识处理。
如上文所披露的,第一数据部分被存储为不变数据,并且因此无论是第二散列信息被删除或者是新的第二散列信息与新的第二数据部分一起存储,都保持不变。通过这种方式,在应用的上下文中保持可用的必要数据受到保护,以后不会被修正。同时,虽然删除第二散列信息而不删除相关联的第二数据部分、或者除了先前存储的第二数据部分以及与先前存储的第二数据部分相关联的仅被替换为新的第二散列信息的先前第二散列信息之外(例如,对于某些类型的数据)还生成新的第二数据部分(例如,对应于先前存储的第二数据部分,其中移除了诸如个人数据等数据)可能就足够了,但仍可能需要删除或修正所存储的第二数据部分。
因此,在示例性实施例中,根据第二方面的方法进一步包括以下各项中的至少一项:
-基于修改请求信息,将第二数据部分的至少部分数据替换或促使替换为修正后的数据;
-基于修改请求信息,删除或促使删除第二数据部分的至少部分数据。
因此,在示例性实施例中,该方法包括:如果修改请求信息涉及第二数据部分并且如果对等网络的至少一组节点中的至少一个节点明示同意,则将第二数据部分的至少部分数据替换或促使替换为修改后的数据或者删除或促使删除第二数据部分的至少部分数据。通过这种方式,可以将第二数据部分中存储的部分数据替换为新数据(例如,可以将个人的联系信息替换为当前的联系信息),将第二数据部分中存储的部分数据移除(例如,将与个体相关的个人信息移除,而其他信息保留在第二数据部分中)或者将第二数据部分完全移除。在仅替换或删除第二数据部分的一部分的情况下,可以存储新的第二散列信息以替换先前的第二散列信息,而在删除整个第二数据部分的情况下,可以删除与其相关联的第二散列信息,而不进行替换。因此,在示例性实施例中,第二数据部分被存储为可变数据。
在示例性实施例中,促使将第一散列信息与第一数据部分相关联地存储为分布式账本的一部分包括:
-促使分布式账本系统的索引器基于第一数据部分获得第一散列值作为第一散列信息的至少一部分;并且
其中,促使将第二散列信息与第二数据部分相关联地存储为分布式账本的一部分包括:
-促使分布式账本系统的索引器基于第二数据部分获得第二散列值作为第二散列信息的至少一部分。
由此,索引器在示例性实施例中是如上文在第一方面的上下文中披露的索引器。在示例性实施例中,索引器对应于作为可执行代码在对等网络的至少一个节点和/或一个或多个其他节点处被实施并被配置用于控制索引器的功能的(软件)模块和/或功能。在示例性实施例中,索引器在对等网络的一个或多个节点处实施。索引器在示例性实施例中被配置为通过基于相应的数据块和/或基于子块并独立于在相应数据块和/或子块之前或之后生成的数据块和/或子块而应用散列函数来将散列值分配给该数据块和/或该子块。特别地,在示例性实施例中,促使分布式账本系统的索引器获得第一散列值包括促使索引器将散列函数应用于第一数据部分的至少一部分。进一步地,在示例性实施例中,促使分布式账本系统的索引器获得第二散列值包括促使索引器将散列函数应用于第二数据部分的至少一部分。
在示例性实施例中,该方法进一步包括:
-促使索引器将第一关系信息存储为可由索引器访问和/或管理并促使索引器将第二关系信息存储为可由索引器访问和/或管理,该第一关系信息将第一散列值与第一数据部分相关联,该第二关系信息将第二散列值与第二数据部分相关联。
换言之,在示例性实施例中,将相应散列值(和/或散列索引)与对应的数据部分相关联的关系信息保持为与对应的数据块分开可用。在示例性实施例中,第一关系信息和第二关系信息与数据块分开存储。因此,与例如其中在前数据块的散列信息被存储为后续数据块的一部分的传统区块链系统相反,提供了增强程度的灵活性,从而允许上述散列信息的删除或替换。
换言之,在示例性实施例中,该方法进一步包括:如果与第二数据部分相关联的第二散列信息被删除,则:
-促使删除将第二散列信息与第二数据部分相关并由索引器保持可用的关系信息;以及
如果促使将新的第二散列信息与至少一个数据块的新的第二数据部分相关联地存储为分布式账本的一部分,则:
-促使将使第二散列信息与第二数据部分相关并由索引器保持可用的关系信息替换为使新的第二散列信息与新的第二数据部分相关并由索引器保持可用的关系信息。
进一步地,如果数据块序列和/或相关联的各项散列信息的序列与应用相关,则索引器保持对应的关系信息可用。换言之,在示例性实施例中,索引器保持将至少两个数据块的序列和/或分别与至少两个数据块相关联的至少两项散列信息的序列定义为属于与特定应用(例如,装运、交易和/或智能合约的处理)相对应的一组数据块和/或散列信息的分组信息可用。因此,与例如传统区块链系统相反,分布式账本系统经由与数据块分离的实体(经由索引器)提供相应组的数据块和/或散列信息之间的依赖关系,这有助于增强上述在管理分布式账本系统的数据方面的灵活性。
与存储新的第二散列信息的情况相类似,在示例性实施例中,促使删除第二散列信息包括:
-促使分布式账本系统的索引器删除被存储为可由索引器访问和/或管理并将第二数据部分与第二散列信息相关的关系信息。
在示例性实施例中,分布式账本包括至少两项散列信息,其中,相应一项散列信息与一个数据块相关联,其中,相应数据块包括表示涉及对等网络的至少两个节点的一组(一个或多个)节点的应用(例如,装运、交易和/或智能合约的处理)的处理的对应阶段的数据,其中,包括表示应用处理的对应阶段的数据的相应数据块存储在分配给这组节点中的对应节点的存储器部分的至少一个数据存储器部分中。
由此,在示例性实施例中,包括表示应用处理的对应阶段的数据的相应数据块独立于分布式账本而存储。为此,在示例性实施例中,相应的数据块在逻辑上与分布式账本分离地存储。进一步地,在示例性实施例中,分布式账本以分散的方式存储,其中,对等网络的相应节点将分布式账本的至少一部分存储在分配给该相应节点的分布式账本存储器部分中。
在示例性实施例中,根据第一方面或第二方面的方法进一步包括:
-从外部设备或从该对等网络的节点获得或促使获得与应用相关的消息;
-生成或促使生成消息令牌;以及
-响应于接收到的与该应用相关的消息,将该消息令牌提供或促使提供给该外部设备。
由此,外部设备在示例性实施例中对应于如在第一方面的上下文中披露的外部设备(例如,本文进一步披露的伙伴节点)。例如,一旦外部设备被登入,外部设备和分布式账本系统(其一个或多个节点)就可以执行应用的处理。同样,可以从对等网络的节点接收与应用相关的消息。由此,在示例性实施例中,应用包括与货物装运、一般交易和/或智能合约的处理相关的应用。由此,在示例性实施例中,与应用相关的消息包括用于开始外部设备或对等网络的节点与分布式账本系统(其一个或多个节点)之间的应用处理的请求,例如,货物装运请求、预订请求等。在示例性实施例中,与应用相关的消息可以进一步包括对在分布式账本系统与外部设备或对等网络的节点之间处理的应用的状态的请求。
在示例性实施例中,基于在与该应用相关的消息中包括的信息来生成消息令牌。
在示例性实施例中,消息令牌表示在分布式账本系统与外部设备之间处理的应用的状态。由此,在示例性实施例中,消息令牌可以包括或涉及在分布式账本系统与外部设备之间处理的应用的数字身份。
在示例性实施例中,消息令牌包括信息,基于该信息,使得外部设备能够访问关于在外部设备与分布式账本系统之间处理的应用的状态的状态信息。例如,消息令牌可以包括链接,基于该链接,外部设备可以访问保持关于该应用状态的所述信息可用的互联网地址/页面,然后可以例如经由连接到外部设备的显示器将该信息显示给外部设备的用户。
在示例性实施例中,该消息令牌包括快速响应(QR)码,该快速响应码被配置用于使得该外部设备能够访问关于在该外部设备与该对等网络的节点之间处理的应用的状态的状态信息。该QR码可以例如对应于加盐QR码,并且在示例性实施例中包括基于所获得的分散式标识符的至少一部分而生成的散列值。以这种方式,可以安全地验证该QR码来自外部设备侧的分布式账本系统,以防止在对应QR码被非法实体使用时可能导致的欺诈。
在示例性实施例中,该分布式账本包括散列索引和/或散列值(表示散列索引和/或散列值的数据)的集合,其中,相应的散列索引和/或散列值(表示相应的散列索引和/或散列值的数据)独立于该分布式账本与在该对等网络的一个或多个节点的或连接到该一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。由此,数据块在示例性实施例中表示应用(例如,装运、交易和/或智能合约的处理)的数据(有效载荷数据)的至少一部分。数据块的数据可以例如对应于与应用在某个时间点(例如,在开始时间点、在中间时间点、或在应用完成之后的某个时间点)的内容和/或参与者相关的数据(数据的至少一部分)。如上文所提到的,对等网络的一个或多个节点可以包括或连接到相应的本地存储装置,用于存储与其中涉及该一个或多个节点的应用相关的数据。为了提供数据安全性、共识和不变性,基于相应数据块生成的散列值被存储为分布式账本的一部分。由此,在示例性实施例中,对存储为分布式账本的一部分的相应散列值和/或散列索引的改变、删除或替换须经历涉及在应用处理中所涉及到的至少一个或多个节点、特别是对等网络的全部节点的共识处理。
例如,如果装运过程涉及分布式账本系统的三个节点,则与装运处理的各个阶段相关的数据可以以表示该装运过程的各个阶段的数据块的形式存储在该装运过程中涉及的这三个节点中的各个节点的或连接到各个节点的相应存储装置处。与相应数据块(以及相应阶段)相关(例如,基于相应数据块生成)的散列值和/或散列索引被存储为分布式账本的一部分,使得对相应散列值和/或散列索引的删除、替换和/或改变须经历在装运过程中所涉及到的这三个节点中的至少一个节点和/或对等网络的节点中的一个、多个或全部节点之间的共识处理。应注意的是,在这种情况下,该共识处理可能仅限于所涉及的这三个节点。以这种方式,一方面提供了灵活性(因为后续可以限制访问数据和/或修正数据),同时所需的共识处理提供了足够程度的安全性和不变性。
在示例性实施例中,根据第一方面的方法和/或根据第二方面的方法由该分布式账本系统执行。换言之,在示例性实施例中,根据第一方面的方法和/或根据第二方面的方法由对等网络的一个或多个节点执行。
由此,在示例性实施例中,该分布式账本系统包括索引器(例如,在至少一个节点处实施的软件模块或功能),该索引器被配置为通过独立于不同的数据块和/或不同的子块而基于该分布式账本的相应数据块和/或基于该分布式账本的相应子块应用散列函数,将对应的散列信息(例如,第一散列信息和第二散列信息,例如,对应的散列值)至少分配给该数据块和/或该子块的一部分(至少分别分配给第一数据部分和第二数据部分)。进一步地,在示例性实施例中,与一组数据块相关联的散列索引和/或散列值之间的相应关系被存储为可由该索引器访问和/或管理。
因此,与例如数据块通过包括基于在前数据块生成的散列值而与该在前数据块相关的传统区块链相反,例如,经由单独的负责实体(即,索引器)来保持与本文所披露的分布式账本系统的分布式账本相关存储的数据块之间的时间关系和/或内容相关关系,(例如,在该至少一个节点和/或对等网络的一个或多个其他节点处实施的软件模块或功能)以使得能够在维持足够程度的安全性和不变性的同时实现特定的灵活性。
应注意的是,虽然本披露内容不限于这方面,但是根据第二方面的方法可以在例如对等网络的至少一个节点与外部设备之间执行。因此,在示例性实施例中,获得或促使获得与至少一个数据块相关的修改请求信息包括从外部设备接收该修改请求信息。进一步地,存储或促使存储至少一个数据块的步骤在示例性实施例中包括存储或促使存储与由分布式账本系统和外部设备处理的应用相关的至少一个数据块。
因此,根据第二方面的方法在示例性实施例中可以在分布式账本系统与登入的外部设备之间进行。因此,在示例性实施例中,根据第二方面的方法包括特别地在存储或促使存储至少一个数据块的步骤之前执行的以下步骤:
-从至少一个外部设备接收或促使接收连接建立消息,或向该至少一个外部设备传输或促使传输该连接建立消息;
-基于该连接建立消息获得或促使获得表示该外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及对等网络的节点的至少一个子组的共识处理,将该至少一个散列值与该分散式标识符的至少一部分相关联地存储或促使存储在包括该对等网络的分布式账本系统的存储器的安全化部分中。
在示例性实施例中,该外部设备对应于移动装置或包括在移动装置中,该移动装置包括:
-瘦客户端,该瘦客户端使得该移动装置能够执行该分布式账本系统的节点的功能。
换言之,在示例性实施例中,移动装置由该瘦客户端使能以用作分布式账本系统的节点,并且因此可以被配置用于执行对应的功能,诸如特别地为散列值的生成。因此,在示例性实施例中,该瘦客户端包括索引器,该索引器使得移动装置能够被配置用于基于从分布式账本系统的节点获得的分散式标识符的至少一部分来生成散列值。虽然移动装置因此被使能以将散列值和/或索引存储或促使存储为分布式账本的一部分,但是移动装置可以被配置用于将与在移动装置和该分布式账本系统之间处理的应用相关的对应数据块存储在诸如云存储设备等外部存储设备中。
如上文所披露的,根据第三方面,提供了由至少一个设备执行的另一种方法,在示例性实施例中,该至少一个设备对应于执行根据第一方面的方法的至少一个设备和/或对应于执行根据第二方面的方法的至少一个设备。还如上文所披露的,特别地,在客户从供应商处购买产品的上下文中,基于区块链的智能合约可以实现一种特别高效且安全的方式,例如,用于执行诸如订购某些产品、诸如开具对应的发货单等交易或用于执行对应的支付交易。除了可以用于实施这种交易的现有基于智能合约的解决方案之外,本披露内容提供了一种将智能合约与机器学习和/或人工智能相结合的新型处理,以作为用于实现更高效地处理交易(例如,可能涉及将产品从供应商装运到客户的交易)的技术方案。在下文中,基于非限制性示例描述了该处理,根据该非限制性示例,根据第三方面的方法被用于实现对产品或货物(例如,危险品)进行分类的特别高效的方式。尽管该示例适合于展示根据第三方面的方法的应用及其优点,但应注意的是,根据第三方面的方法同样可以适当地适用于不同的应用,例如,适用于与产品订购、发货和/或产品支付相关的交易的上下文。
转向更具体的示例,当产品例如从一个国家的原产地装运到另一个国家的目的地时,通常会使用标签,例如,将其提供在诸如运输箱等运输单元的表面上,以便对装运所需的产品信息进行编码。这样的信息包括例如产品的原产地和目的地的信息(例如,地址),或者包括例如关于产品的潜在危险成分的信息,诸如产品中可燃成分或有毒成分的含量。例如,所谓的危险品基于产品的可能产生风险的特定化学特性分为相应的类别和若干子类别。类别可以例如对应于爆炸物、气体、易燃液体、易燃固体等的类别。这种信息可以转换为对应的代码,基于这些代码可以安全地运输对应的产品。例如,国际海运危险货物规则(IMDG规则)被海事安全委员视为船舶安全运输或水运危险货物或危险材料的国际准则。产品装运中所涉及的其他代码是海关当局在评估关税和税收时用于识别产品的代码。示例为HS(协调制度)码。
因此,虽然存在产品可能所属的类别系统(例如,基于相应的物理特性和/或化学特性),并且这些系统一方面允许安全运输,另一方面允许海关当局处理产品,但实际的产品归类或分类过程可能具有挑战性。一方面,新开发的产品可能之前没有被分类,因此必须将新产品分配到对应的类别和/或可能必须将对应的代码分配给新产品。另一方面,由于代码和/或类别的改变(例如,基于产品的原产地、目的地或中间地的法律法规不断发生变化),现有产品(其可能已经分配到一个类别或之前可能已经分配了对应的代码)的类别和/或对应的代码可能会发生改变。
因此,产品归类和/或将代码和/或对应标签分配给要装运的产品的过程通常是由人执行的手动过程。例如,诸如拣货员等例如在供应商的站点处准备产品以将产品装运给可能在不同国家的客户的人通常需要基于由供应商提供的关于产品的信息为产品手动分配运输标签,以便对装运所需的信息进行编码。例如,允许在运输箱内放置的产品数量可能取决于产品的酒精含量(例如,一种消毒剂的酒精含量)以及产品目的地国家的对应法律法规、产品原产地国家的对应法律法规、和/或产品在到达其目的地的途中经过的国家的对应法律法规。在这种情况下,分配正确的运输标签的过程必须手动执行,因为例如由于法律规定经常变化,不存在允许对应自动分配的数据库。因此,特别地,对一种或多种产品进行归类和/或将运输代码/标签分配给一种或多种产品的过程通常只能以低效且通常不精确的方式进行。
为解决这种缺点,本披露内容的第三方面提供了一种由至少一个设备执行的方法,其中,该至少一个设备是包括形成分布式账本系统的至少一部分的至少两个节点的对等网络的至少一个节点的一部分或对应于该至少一个节点,其中,该对等网络的节点中的相应节点存储分布式账本的至少一部分。
由此,在示例性实施例中,该至少一个设备是如本文进一步披露的根据第一方面和/或第二方面的至少一个设备。
根据第三方面,该方法包括获得或促使获得与智能合约相关的触发信息的至少一个元素。由此,在示例性实施例中,触发信息是与产品相关的信息。如本文进一步更详细披露的,触发信息可能涉及与要装运的产品相关的信息,例如,涉及与产品相关的危险品信息。例如,触发信息可能涉及定义要装运的产品的酒精含量的信息,该信息例如与定义产品的目的地国家的信息结合起来可以得出可以被包含在对应运输箱中的产品的最大实体数量。
在示例性实施例中,智能合约对应于或包括适于自动执行至少一个对应交易的计算机程序或交易协议。如本文进一步披露的,在示例性实施例中,交易包括将产品分配到对应的产品类别和/或基于触发信息的至少一个元素生成装运、运输和/或标签信息。在示例性实施例中,智能合约被存储为分布式账本的一部分。
在示例性实施例中,触发信息的至少一个元素是使用可以对应于、包括或者可以连接到至少一个设备的移动装置获得的。例如,移动装置可以对应于例如由拣货员使用以扫描初始标签的智能电话和/或扫描装置,该初始标签例如由供应商在要装运的一个或多个产品上提供并对包括触发信息的至少一个元素的产品信息(例如,电子产品信息EPI)进行编码。替代性地或另外,在示例性实施例中,触发信息的至少一个元素是使用计算机装置获得的,该计算机装置诸如是个人计算机或移动装置,诸如智能电话、膝上型计算机或平板计算机,其用于输入(例如,使用键盘或触摸屏手动输入)包括触发信息的至少一个元素的产品信息(例如,电子产品信息EPI)。在示例性实施例中,触发信息的至少一个元素是基于电子产品信息EPI获得的。
进一步地,在示例性实施例中,触发信息的至少一个元素是经由有线网络连接或无线网络连接获得的。由此,在示例性实施例中,无线连接可以对应于无线通信网络中的通信路径或链路,特别是无线局域网(WLAN)或蜂窝网络中的通信路径或链路。由此,例如,WLAN是由IEEE 802.11系列的标准规定的,并且蜂窝网络可以例如是移动电话网络,如由3GPP开发的2G/3G/4G/5G/6G蜂窝通信网络。特别地,无线连接可以包括装置到装置(D2D)通信路径(例如,涉及车辆、移动装置、路侧单元(RSU)或IOT装置)。进一步地,在示例性实施例中,有线连接可以对应于采用有线通信技术的有线通信网络中的通信路径或链路,并且可以对应于电话网络连接、互联网连接、光纤连接和/或电磁波导连接。
例如,在示例性实施例中,触发信息是特别地在对等网络的(例如,对应于或包括至少一个设备的)节点处从如本文中关于本披露内容的第一方面披露的至少一个外部设备获得的。换言之,在示例性实施例中,触发信息是从至少一个外部设备(例如,不形成对等网络的一部分的设备)、特别地从本文中关于本披露内容的第一方面披露的外部设备或从对等网络的至少一个节点接收的。
进一步地,根据第三方面的方法对应于确定触发信息的至少一个元素是否对应于智能合约的现有触发条件的步骤。由此,现有触发条件是适于引起基于智能合约要执行的对应交易的条件。例如,触发条件可以对应于触发信息的一个或多个元素的组合(例如,特定酒精含量与特定目的地国家的组合)。然后,这种现有触发条件可能促使执行交易,在本非限制性示例的上下文中,该交易可以对应于将要装运的产品分配到特定类别,在此基础上,可以基于对应的智能合约自动生成对应的装运、运输和/或标签信息。
相应地,在示例性实施例中,如果确定触发信息的至少一个元素对应于智能合约的现有触发条件,则该方法包括促使执行与现有触发条件相对应的交易的步骤。例如,基于酒精含量和目的地国家的特定已知组合,交易可以对应于将对应的产品分配到相应的类别,根据该类别可以例如确定该产品的特定最大数量的实体可以放在运输箱中。同样,交易可以使得确定装运、运输和/或标签信息,根据这些信息,产品将使用特定运输方式进行装运,例如,产品是经由航空运输、水路运输还是陆路运输进行装运。
进一步地,根据第三方面,如果确定触发信息的至少一个元素与智能合约的现有触发条件不对应,则该方法包括通过使用实施训练模型的软件模块来确定或促使确定基于智能合约要执行的交易。由此,在示例性实施例中,实施训练模型的软件模块对应于或包括人工神经网络。根据第三方面,该方法然后包括执行或促使执行所确定的要执行的交易。换言之,对等网络的节点可以自己执行交易,或者可以促使不同的节点或所连接的设备执行交易。同样,节点(例如,节点的处理器)所包括的根据第三方面的至少一个设备可以促使该节点、不同的节点和/或连接到该节点的设备执行交易。
在示例性实施例中,实施训练模型的软件模块对应于软件程序和/或软件模块和/或软件功能,该软件程序和/或软件模块和/或软件功能被实施为被配置用于控制和/或促使执行与现有触发条件相对应的交易和/或用于控制和/或促使执行所确定的交易的可执行代码。由此,在示例性实施例中,实施训练模型的软件模块被存储为分布式账本的一部分。
因此,根据第三方面的方法有利地将智能合约的使用与机器学习和/或人工智能的使用相结合。在产品装运的本示例中,由此可以以更高效且可能以更精确的方式执行查找待装运产品的类别和/或确定对应的装运、运输和/或标签信息的过程。
特别地,根据第三方面,可以以高效且特别是自动化方式实施对要装运的新产品进行归类和/或将装运、运输和/或标签信息分配给产品(尚未分配装运、运输和/或标签信息的新产品,或者已经分配了装运、运输和/或标签信息、但例如由于适用法律法规的变化而无法再使用的现有产品)的过程。
因此,在示例性实施例中,促使执行所确定的交易或促使执行与现有触发条件相对应的交易包括将与触发信息的相应至少一个元素相对应的产品分配到产品类别和/或基于所获得的触发信息的至少一个元素生成装运、运输和/或标签信息。
在示例性实施例中,软件模块实施基于至少一个现有触发条件、结合与该至少一个现有触发条件相对应的交易而训练的模型。例如,可以基于过去基于相应触发条件而执行的交易的历史来训练该模型。通过这种方式,甚至未知的产品也可以以自动、高效且高精度的方式进行归类和/或分类。
例如,用于训练软件模块的数据可以包括表示具有对应产品信息和对应类别和/或装运、运输和/或标签信息的各种不同产品示例的数据。在简化示例中,用于训练的训练数据可以包括表示带有第一酒精含量、第一目的地国家和对应的第一装运、运输或标签信息的第一种产品的第一训练数据。用于训练的训练数据可以进一步包括表示带有第二酒精含量、第二目的地国家和对应的第二装运、运输或标签信息的第二种产品的第二训练数据。基于此,如果输入了与未知产品相关的产品数据,则实施训练模型的软件模块则决定第三装运、运输或标签信息,由此该第三装运、运输或标签信息可以对应于第一装运、运输或标签信息或对应于第二装运、运输或标签信息。在本示例中,实际上,模型是在与具有对应产品信息和已知交易的大量产品相关的数据上训练的。
在示例性实施例中,该触发信息的至少一个元素对应于或涉及以下各项中的至少一项:
-要装运的至少一种产品的原产地和/或目的地;
-要装运的至少一种产品的至少一种运输模式;
-要装运的至少一种产品的数量,特别是每运输单元要装运的至少一种产品的数量;
-基于原产地和/或目的地的管辖区的至少一种运输限制;
-产品的类型和/或类别;
-与至少一种产品相关的危险品信息;
-与寄件人、托运人和/或收件人相关的信息;
-与至少一种产品的原产地、至少一个中间地点和/或目的地相关的国家信息。
在示例性实施例中,根据第三方面的至少一个设备可以对应于由物流服务提供商提供的托管分布式账本的对等网络的节点,该物流服务提供商例如负责管理要装运的至少一个产品从原产地到目的地的运输。如所提到的,为了装运产品,特别是为了产品的跨境装运,通常使用运输标签来编码促进装运的信息(在本文中称为装运、运输或标签信息)。例如,当这种产品到达诸如中间机场等中间地点时,可以自动地或由机场人员扫描标签以得出所述装运、运输或标签信息,例如,以确定运输的下一阶段,例如,以确定用于进一步运输产品的下一个运输实体,诸如卡车或火车。如本文进一步披露的,这种装运、运输或标签信息可以基于已知的触发信息(其至少一个元素)在智能合约的交易中自动生成。替代性地,如果输入的触发条件是未知的(如果确定所获得的触发信息的至少一个元素与智能合约的现有触发条件不对应),则通过使用实施训练模型的软件模块来确定基于智能合约要执行的对应交易。
由此,在示例性实施例中,触发信息的元素可以对应于:运输模式(例如,经由航空、水路或陆路的运输);要装运的至少一种产品的数量、特别是每运输单元要装运的至少一种产品的数量(例如,每运输箱的产品件数);基于原产地和/或目的地的管辖区的至少一种运输限制(例如,至少一种产品是否属于危险品类别的限制);产品的类型和/或类别;与至少一种产品相关的危险品信息;与寄件人、托运人和/或收件人相关的信息(例如,对应的地址和/或其他个人或公共标识信息);与至少一种产品的原产地、至少一个中间地点(例如,中间机场、港口、仓库、边境)和/或目的地相关的国家信息。
在示例性实施例中,执行与现有触发条件相对应的交易和/或执行所确定的交易是基于在对等网络的至少一组节点中的至少一个节点处和/或在至少一个外部设备处执行的共识处理进行的。换言之,在示例性实施例中,只有当对等网络的至少一个节点和/或至少一个外部设备对交易明示同意的情况下,才会执行与现有触发条件相对应的交易和/或所确定的交易。
由此,在示例性实施例中,“基于在对等网络的至少一组节点中的至少一个节点处和/或在外部设备处执行的共识处理”在本文披露的所有方面的上下文中在示例性实施例中将被理解为包括由对等网络的至少一个节点和/或由至少一个外部设备表达共识的步骤。在本文披露的所有方面的示例性实施例中,由对等网络的至少一个节点和/或由至少一个外部设备表达共识的步骤包括在根据第一方面、第二方面或第三方面的至少一个设备处获得表示由对等网络的至少一个节点和/或由至少一个外部设备表达的共识的信息。由此,对等网络的节点可以对应于对等网络的对应于或包括根据第一方面、第二方面和/或第三方面的至少一个设备的节点,对应于对等网络的另一节点。因此,节点子组中的一个或多个节点(即,也为单个节点)和/或至少一个外部设备可以表达共识。
后一实施例使得:只有当对等网络的至少一个节点和/或至少一个外部设备对交易明示同意的情况下,才会执行与现有触发条件相对应的交易和/或所确定的交易,这特别地可以增强对应处理的安全性。
在示例性实施例中,执行与现有触发条件相对应的交易或执行所确定的交易包括以下各项中的至少一项:
-生成或促使生成交易信息;
-特别地向至少一个外部设备传输或促使传输交易信息。
由此,在示例性实施例中,交易信息对应于所述装运、运输和/或标签信息。换言之,在本示例性实施例中,交易信息对应于基于其可以生成传输标签的信息。在示例性实施例中,交易信息例如被传输到随后可以生成对应的传输标签的设备。例如,拣货员可以扫描编码所述EPI的初始标签以获得对应的触发信息,该触发信息的至少一个元素然后被传输到根据第三方面的至少一个设备。基于所披露的处理,在本示例性实施例中,至少一个设备然后将对应的交易信息(例如,标签信息)传输或促使传输到用于扫描的设备,该设备可以进一步被配置用于基于接收到的标签信息打印运输标签。在示例性实施例中,交易信息被传输到至少一个外部设备,该至少一个外部设备可以例如对应于例如作为供应商处的节点被提供的计算机装置,该计算机装置可能已经如本文在第一方面的上下文中披露的那样被登入。
因此,在示例性实施例中,交易信息包括用于为要装运的至少一种产品生成至少一种运输标签的标签信息。
如上文所提到的,在示例性实施例中,触发信息是从至少一个外部设备或从对等网络的至少一个节点接收的。
因此,在示例性实施例中,该方法包括从至少一个外部设备或从对等网络的节点接收触发信息;其中,从至少一个外部设备或从对等网络的节点接收触发信息包括:
-从至少一个外部设备或从对等网络的节点接收或促使接收消息;以及
-基于以下各项中的至少一项,从接收到的消息中得出或促使得出触发信息:
-与接收到的消息相关的消息散列信息;
-至少一个外部设备的分散式标识符;
-与接收到的消息相关的至少一个可验证凭证。
由此,消息散列信息在示例性实施例中对应于为(例如,基于)对应消息创建的散列信息,例如,消息散列值。由此,本文中结合第二方面披露的第一散列信息和第二散列信息在本披露内容的所有方面的示例性实施例中可以对应于从属于消息散列信息的散列信息。消息散列信息可以有利地用于识别机器级别上的对应消息,并且可以在对等网络的节点和/或至少一个设备内共享,例如,在可能参与将一个或多个产品从原产地装运到目的地的过程的节点的至少一个子组内共享。
在进一步示例性实施例中,可以基于从至少一个外部设备或从对等网络的节点接收到的更大消息来得出触发信息。特别地,在消息大小超过350KB(千字节)的情况下,现有技术的区块链网络通常需要将对应的消息分割成更小的部分,这在某些情况下可能会影响对应数据的不变性。相反,本披露内容使得基于更大的消息(例如,基于更大的海运承运人的装载清单)也能够得出触发信息,而不必将这种消息分割成更小的部分。
因此,在示例性实施例中,该方法包括从至少一个外部设备或从对等网络的节点接收触发信息,并且其中,从至少一个外部设备或从对等网络的节点接收触发信息包括:
-从至少一个外部设备或从对等网络的节点接收或促使接收消息;以及
-将表示整个消息的数据存储或促使存储在分配给至少一个节点的数据存储器中;
-促使将消息散列信息与接收到的整个消息相关联地存储为分布式账本的一部分;以及
-基于以下各项中的至少一项,从接收到的消息中得出或促使得出触发信息:
-与接收到的消息相关的消息散列信息;
-至少一个外部设备的分散式标识符;
-与接收到的消息相关的至少一个可验证凭证。
如所提到的,在示例性实施例中,接收到的消息的文件大小超过350KB。
因此,可以接收具有更大文件大小的消息,并且可以基于用于封装消息的可验证凭证(例如,基于VC-IN)、基于消息发送者(例如,至少一个外部设备或对等网络的节点)的ID、基于消息发送者(例如,至少一个外部设备或对等网络的节点)的分散式标识符(DID)、基于消息类型和/或基于消息的时间戳来生成消息散列信息。
然后可以将消息完全存储在分配给至少一个节点的数据存储器中,即,存储在可由至少一个节点访问的数据存储器中。例如,在示例性实施例中,分配给至少一个节点的存储器可以对应于由至少一个节点包括的或(例如,直接)连接到该至少一个节点的硬件存储器,或者对应于可由至少一个节点访问的云存储设备。
分布式账本系统在示例性实施例中可以包括在除实施分布式层系统的功能(诸如共识机制)的协议层之外提供的应用层实施的软件应用,该软件应用被配置为访问消息的全部内容并且被配置为使得通过用户应用能够访问整个文件(例如,在用户的移动装置处实施,使得用户能够查看例如海运承运人的所述装载清单)。换言之,在示例性实施例中,该方法进一步包括:
-使用应用层软件应用访问或促使访问接收到的消息的全部内容,并且使得通过用户应用访问接收到的消息。
在示例性实施例中,至少一个外部设备的分散式标识符如本文中结合本披露内容的第一方面进一步披露的。换言之,在示例性实施例中,如本文进一步披露的,至少一个设备被登入到对等网络。因此,在示例性实施例中,该方法包括:
-从至少一个外部设备接收或促使接收连接建立消息,或向至少一个外部设备传输或促使传输连接建立消息;
-基于该连接建立消息获得或促使获得表示该外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及对等网络的节点的至少一个子组和/或至少一个外部设备的共识处理,将至少一个散列值与分散式标识符的至少一部分相关联地存储或促使存储在包括对等网络的分布式账本系统的存储器的安全化部分中。
由此,在示例性实施例中,该触发信息的至少一个元素被包括在该连接建立消息中。换言之,在示例性实施例中,在将包括触发信息的消息传输到对等网络的对应于或包括根据第三方面的至少一个设备的节点时,至少一个外部设备被登入。
进一步地,在所述示例性实施例中,触发信息可以替代地从接收到的消息得出,或者另外基于与接收到的消息相关的至少一个可验证凭证得出。例如,接收到的消息的发送者(例如,至少一个外部设备)可以基于或通过签署由发送者的(例如,至少一个外部设备的)对应私钥添加到消息中的可验证凭证来创建“VC输出”。然后,可以使用对应的公钥在接收者侧(例如,由对等网络的对应于或包括根据第三方面的至少一个设备的节点)对可验证凭证进行编码。可以生成一对私钥和公钥,并且可以在至少一个外部设备登入时共享公钥。由此,可验证凭证在示例性实施例中至少包括识别消息的发送者(例如,至少一个外部设备)的信息。在示例性实施例中,可验证凭证对应于如由万维网联盟W3C指定的可验证凭证。
应注意的是,特别地,可验证凭证的使用使得不属于对等网络的一部分的节点(例如,至少一个外部设备)能够在如本文进一步披露的共识处理的上下文中明示同意。例如,在示例性实施例中,传输到至少一个设备的交易信息可以由外部设备使用可以类似地基于消息散列、所述分散式标识符和/或可验证凭证中的至少一种的消息来进行回应。换言之,在示例性实施例中,该方法进一步包括:
-接收或促使接收回应从该至少一个外部设备接收到该交易信息的回应信息,由此该回应信息是至少基于以下各项之一接收的:消息散列信息、标识该至少一个外部设备的分散式标识符、和/或对应于或包括该至少一个设备的至少一个节点。
作为响应,在示例性实施例中,该方法可以进一步包括:
-向至少一个外部设备传输或促使传输确认回应信息的确认信息,该确认信息包括快速响应QR码,该快速响应QR码被配置用于使得该外部设备能够访问基于所获得的触发信息而生成的交易信息。由此,该QR码可以例如对应于加盐QR码,并且在示例性实施例中包括基于用于传送确认信息和/或回应信息的分散式标识符的至少一部分而生成的散列值。以这种方式,可以安全地验证该QR码来自外部设备侧的分布式账本系统,以防止在对应QR码被非法实体使用时可能导致的欺诈。确认信息允许接收者(例如,已扫描对EPI编码的初始标签的拣货员)验证交易信息,例如,基于触发信息得出的(例如,基于EPI得出的)装运信息。
因此,触发信息是基于所述消息散列、至少一个外部设备的所述分散式标识符和/或与接收到的消息相关的至少一个可验证凭证从接收到的消息中得出的。由此,消息散列可以使得能够在机器级别上识别和使用消息。分散式标识符可以有利地使得能够对传送对应消息的各方(例如,至少一个外部设备和/或对等网络的对应于或包括根据第三方面的至少一个设备的节点)进行正确且安全的识别。可验证凭证可以有利地封装该消息,从而提供进一步的安全性。特别地,消息散列、分散式标识符和可验证凭证的组合被证明独特且有利地实现了一种特别安全且高效的消息传送方式。
在示例性实施例中,合约散列信息与智能合约和/或与对应的一个或多个现有触发条件相关联地存储为分布式账本的一部分。由此,在示例性实施例中,合约散列信息是如关于本披露内容的第二方面所披露的第二散列信息的进一步示例。因此,在示例性实施例中,智能合约和/或对应的一个或多个现有触发条件至少被存储为至少一个合约数据块的一部分,其中,合约散列信息与该至少一个合约数据块相关联地存储为分布式账本的一部分。由此,应注意的是,合约数据块在示例性实施例中被存储在分配给对等网络的对应于或包括根据第三方面的至少一个设备的至少一个节点的数据存储器部分中。由此,在示例性实施例中,合约数据块在示例性实施例中被存储在分配给与分布式账本分离的至少一个节点的数据存储器部分中。
如以上所解释的,根据第三方面的方法有利地使得能够基于被确定为与智能合约的现有触发条件不对应的触发信息的至少一个元素来处理交易。在这种情况下,实施训练模型的软件模块有利地能够确定基于智能合约并基于触发信息的所述至少一个元素要执行的交易。在示例性实施例中,生成与触发信息的所述至少一个元素相对应的新触发条件。在示例性实施例中,然后存储新触发条件,使得随后如果再次获得触发信息的至少一个元素,则无需调用实施训练模型的软件模块。
因此,在示例性实施例中,该方法进一步包括:
-将与所获得的触发信息的至少一个元素相对应的新触发条件与该智能合约和/或该一个或多个现有触发条件相关联地至少存储或促使存储为新的合约数据块的一部分。
在该示例性实施例中,类似于关于本披露内容的第二方面所披露的创建新的第二数据部分,根据本示例性实施例的方法包括:
-基于在该对等网络的至少一组节点中的至少一个节点处和/或在该至少一个外部设备处执行的共识处理,促使将新的合约散列信息与该新触发条件、该智能合约和/或该一个或多个现有触发条件相关联地存储为该分布式账本的一部分。
在示例性实施例中,新的合约散列信息然后被用于指代或识别已经更新为新触发条件的智能合约。因此,虽然智能合约和/或一个或多个现有触发条件与作为分布式账本的一部分的散列信息相关联地存储,并且虽然以这种方式提供了特定程度的数据安全性,但本披露内容使得能够灵活地更新智能合约并因此将智能合约调整为新触发条件和/或修正后的触发条件。
因此,在示例性实施例中,该智能合约、该对应的一个或多个现有触发条件和该新触发条件至少被存储为至少一个新的合约数据块的一部分,其中,该新的合约散列信息与该至少一个新的合约数据块相关联地存储为该分布式账本的一部分。
进一步地,在示例性实施例中,关系信息被保持为可由该分布式账本系统的索引器访问和/或管理,该关系信息将该至少一个合约数据块与该合约散列信息相关联,其中,将该新的合约散列信息与该新触发条件、该智能合约和/或该一个或多个现有触发条件相关联地存储包括:
-促使该分布式账本系统的索引器将使该至少一个合约数据块与该合约散列信息相关联的关系信息替换为使该新的合约散列信息与该新触发条件、该智能合约和/或该一个或多个现有触发条件相关联的新关系信息。
由此,索引器对应于如本文关于本披露内容的第一方面和第二方面进一步披露的索引器。因此,在示例性实施例中,该索引器对应于作为可执行代码在该对等网络的至少一个节点和/或一个或多个其他节点处被实施并被配置用于控制该索引器的功能的(软件)模块和/或功能。
将理解的是,在本章节中本披露内容仅通过示例而非限制性的方式呈现。
通过以下结合附图考虑的详细描述,本披露内容的其他特征将变得显而易见。然而,将理解的是,附图仅被设计用于图示的目的而不是作为对本披露内容的限制的定义,应针对其作出对所附权利要求的引用。应当进一步理解的是,附图并不是按比例绘制的并且它们仅旨在从概念上图示本文所描述的结构和过程。
附图说明
图1A是分布式账本系统的示意性高级框图;
图1B是专用接口的示意性高级框图;
图1C是应用程序编程接口的示意性高级框图;
图2是展示了根据本披露内容的第一方面的示例性实施例的示例性流程图;
图3是展示了可以作为图2的方法的一部分执行的方法的步骤的示例性实施例的示例性流程图;
图4是展示了可以作为图2的方法和/或图3的方法的一部分执行的方法的步骤的示例性实施例的示例性流程图;
图5是展示了消息摄取过程的示例性实施例的示例性流程图;
图6是展示了在对等网络的节点与伙伴节点之间的数据通信的示例性实施例的示例性流程图;
图7是展示了根据本披露内容的第二方面的示例性实施例的示例性流程图;
图8是展示了应用的示例性实施例处理的示例性流程图;
图9A示意性地展示了分配给节点的数据存储器;
图9B示意性地展示了数据块和对应的散列信息;
图9C示意性地展示了数据块、对应的散列信息以及索引器;
图9D示意性地展示了数据块和对应的散列信息;
图9E示意性地展示了数据块、对应的散列信息以及索引器;
图10是展示了根据本披露内容的第三方面的示例性实施例的示例性流程图;
图11是展示了更新智能合约的触发的示例性实施例的示例性流程图;
图12示意性地展示了合约数据块和对应的合约散列信息;
图13是根据第一方面的至少一个设备的示例性实施例的框图;
图14展示了示例性数据块和对应的散列索引;以及
图15示出了与分布式账本系统通信的示例性节点和/或节点系统。
具体实施方式
以下描述用于加深对本披露内容的理解,并且应被理解为补充如本说明书的上述发明内容章节中提供的本披露内容的示例实施例的描述,并与该描述一起阅读。
图1A是分布式账本系统1000(例如,分布式账本数据库系统)的示意性高级框图。根据本文披露的示例性实施例,分布式账本是由形成或连接到具有节点(诸如固定或便携式个人计算机、服务器、服务器系统和/或移动装置)的对等网络的一个或多个节点可访问的数字数据的集合。图1A示出了由第一节点101、第二节点102、第三节点103和第四节点104形成的示例性对等网络100。如由相应虚线所指示的,对等网络100不限于附图中示例性展示的节点,而是可以包括更多或更少的节点。
在示例性实施例中,分布式账本使用存储器110进行存储,该存储器的至少各部分可以分布在对等网络100的节点中的一些或全部节点之间。由此,分布式账本的至少相应部分可以冗余地存储在对等网络100的节点中的几个或全部节点上。换言之,在示例性实施例中,对等网络100的相应节点被配置为存储分布式账本的至少一部分、特别是完整副本。为此,在示例性实施例中,对等网络100的相应节点包括包含用于存储分布式账本的所述至少一部分的存储器110的至少一部分的存储装置和/或连接到该存储装置。通过连接到存储装置,对等网络100的相应节点可以直接连接到这种存储装置(例如,经由USB或类似的电缆连接),或者可以经由无线连接或有线连接而连接到该存储装置(例如,在该存储装置作为云存储设备被提供的情况下)。由此,如上文所提到的,如本文所提及的无线连接可以对应于无线通信网络中的通信路径或链路,特别是无线局域网(WLAN)或蜂窝网络中的通信路径或链路。由此,例如,WLAN是由IEEE 802.11系列的标准规定的,并且蜂窝网络可以例如是移动电话网络,如由3GPP开发的2G/3G/4G/5G/6G蜂窝通信网络。如本文所使用的,特别地,无线连接可以包括装置到装置(D2D)通信路径(例如,涉及车辆、移动装置、路侧单元(RSU)或IOT装置)。进一步地,如本文所使用的,有线连接可以对应于采用有线通信技术的有线通信网络中的通信路径或链路,并且可以对应于电话网络连接、互联网连接、光纤连接和/或电磁波导连接。
在示例性实施例中,分布式账本包括表示一个或多个散列值、索引和/或散列索引的数据,与对应数据、特别是用户数据或有效载荷数据相对应的相应的一个散列值、索引和/或散列索引。由此,在示例性实施例中,对应于相应散列值、索引和/或散列索引的数据本地地存储在形成对等网络100的节点的一个子组的一个或多个节点的存储装置处。
如图1A中示例性展示的,分布式账本被存储为包括多个数据块111、112、113、114或与之相关联地存储。如由图1A中的虚线所指示的,应注意的是,分布式账本的数据块的数量不限于如示例性展示的四个,而是可以小于或大于四个。由此,如图1A所示,由对应散列索引#1、#2、#3、#4标识的相应散列值被分配给数据块111、112、113、114中的对应一个数据块。为此,为了实现相应数据块与对应的散列信息之间的分配关系,在示例性实施例中,分布式账本系统1000包括索引器121,该索引器被配置为至少为分布式账本的一个相应数据块的一部分分配一个对应的散列值。应注意的是,可以为一个数据块分配多于一个散列值。例如,一个数据块可以被分成两个或更多个子块或数据部分(例如,一个数据块可以包括如本文进一步披露的第一数据部分和第二数据部分),并且可以为一个对应的子块或数据部分分配一个相应的散列值。
在示例性实施例中,索引器121被配置为通过基于相应的数据块和/或基于子块或数据部分应用散列函数来将散列值分配给该数据块和/或该子块或数据部分。例如,索引器121可以基于和/或通过使用包括在数据块和/或子块或数据部分中的数据来应用散列函数。在示例性实施例中,索引器121对应于作为被配置用于控制索引器121的功能的可执行代码而实施的软件模块和/或功能。在示例性实施例中,索引器121在对等网络100的一个或多个节点处实施。进一步地,在示例性实施例中,索引器121被配置为通过基于相应的数据块和/或基于子块或数据部分并独立于在相应数据块和/或子块或数据部分之前或之后生成的数据块和/或子块或数据部分而应用散列函数来将散列值分配给该数据块和/或该子块或数据部分。
由此,在示例性实施例中,与一组数据块(例如,属于同一应用的一组数据块)相关联的散列索引之间的相应关系(其可以由本文进一步披露的分组信息表示)被保持存储为可由索引器121访问和管理。因此,与传统的区块链相反,分布式账本系统1000经由索引器121提供各组数据块之间的依赖性。由此,分布式账本系统1000被提供有增强程度的灵活性(因为可以修正、删除或替换数据块和/或相应的子块或数据部分),同时在索引器121处保持数据块和/或相应的子块或数据部分之间的相应关系。进一步地,虽然对散列信息和/或数据块的删除、替换和/或修正可能因此是可能的,但是在示例性实施例中,这种删除、替换和/或修正须经历基于共识控制器122的共识机制,使得由分布式账本系统1000提供的安全性程度类似于通过传统区块链技术所提供的安全性程度。虽然共识机制可能特别地允许将某些数据存储为不变数据,但是同一机制可能允许将不同的数据存储为可变数据。
如图1A进一步所示,分布式账本系统1000在示例性实施例中进一步包括伙伴发现器123,该伙伴发现器在示例性实施例中是作为被配置用于保持一个或多个伙伴节点的伙伴信息可用的可执行代码而实施的软件模块和/或功能,由此伙伴节点可以是对等网络100的节点中的一个节点或者是不属于分布式账本系统1000的一部分的节点。在示例性实施例中,伙伴发现器123对应于作为被配置用于控制伙伴发现器123的功能的可执行代码而实施的软件模块和/或功能。在示例性实施例中,伙伴发现器123在对等网络100的一个或多个节点处实施。在示例性实施例中,伙伴发现器123是基于应用程序编程接口(API)的(软件)模块,该模块被配置用于维护(例如,存储)注册表,该注册表包括与一个或多个伙伴节点相关的信息和/或与对等网络的一个或多个节点和/或与一个或多个伙伴节点相关的一个或多个应用相关的信息。在示例性实施例中,伙伴发现器123是(软件)模块,该模块被配置用于基于从对等网络100的节点中的一个或多个节点接收到的和/或从伙伴节点(例如,从专用接口)接收到的与伙伴节点相关的对应信息来生成表示(例如,标识)伙伴节点的分散式标识符。例如,图1A示出了经由专用接口150与对等网络100的节点104通信的伙伴节点190(至少一个外部设备的示例)。在示例性实施例中,专用接口150包括软件开发套件(SDK)151和/或应用程序编程接口(API)152。应注意的是,伙伴发现器123因此可以对应于分散式标识符获取器的示例性实施例。在示例性实施例中,伙伴发现器123进一步被配置用于生成要分配给伙伴节点190的一对公钥和私钥,和/或用于分配设置和/或定义伙伴节点的伙伴角色的信息和/或保持该信息可用,该伙伴角色定义伙伴节点的访问权限和/或读/写许可。
在示例性实施例中,分布式账本系统1000进一步包括作为被配置用于控制区块链的相应功能和/或操作的可执行代码而实施的一个或多个另外的软件模块和/或功能。特别地,在示例性实施例中,分布式账本系统1000进一步包括所述共识控制器122,该共识控制器在示例性实施例中是作为可执行代码实施的软件模块和/或功能,该可执行代码被配置用于实施共识机制,特别是用于确保仅在对等网络100的至少一些节点之间或其全部节点之间达成共识的情况下才将新的数据块添加到分布式账本中和/或对现有数据块进行更改和/或将其从分布式账本中移除。进一步地,在示例性实施例中,共识控制器122被配置用于基于涉及对等网络的节点的至少一个子组的共识处理,控制将至少一个散列值与分散式标识符的至少一部分相关联地存储在分布式账本系统1000的存储器110的安全化部分140中。在示例性实施例中,共识控制器122在对等网络100的一个或多个节点处实施。应注意的是,可以实施共识机制,使得节点子组中的一个或多个节点和/或伙伴节点190可以表达对添加新数据块和/或更改/删除现有数据块的共识,即,该实施可以使得单个节点可以表达共识。
图1进一步示出了AI(人工智能)模块125(实施训练模型的软件模块的示例),如本文结合第三方面进一步披露的,该AI模块被配置用于在确定由至少一个设备获得的触发信息元素与智能合约的现有触发条件不对应的情况下确定基于智能合约要执行的交易。在示例性实施例中,AI模块125对应于作为被配置用于控制AI模块125的功能的可执行代码而实施的软件模块和/或功能。在示例性实施例中,AI模块125在对等网络100的一个或多个节点处实施。
如图1A中示例性展示的,在示例性实施例中,索引器121、共识控制器122、伙伴发现器123和AI模块125被实施为控制器120的相应模块,该控制器在示例性实施例中对应于作为被配置用于至少控制索引器121、共识控制器122、伙伴发现器123和AI模块125的功能的可执行代码而实施的软件模块和/或功能,控制器120在对等网络100的一个或多个节点处实施。
返回参考存储器110,在示例性实施例中,数据块111、112、113、114可以特别地表示交易、装运和/或智能合约的至少一个阶段(例如,交易)。由此,在示例性实施例中,相应的数据块表示交易、智能合约或装运的至少一个阶段。可以作为对等网络100的节点中的一个或多个节点与伙伴节点190(例如,至少一个外部设备)之间的通信结果生成相应的数据块。例如,可以例如基于图1A所示的伙伴节点190与对等网络100的节点104之间经由专用接口150进行的通信来生成相应的数据块。如图1B所展示的,专用接口150在示例性实施例中包括软件开发套件(SDK)151和/或应用程序编程接口(API)152。在示例性实施例中,API152包括一个或多个内容可寻址API。换言之,API 152可以包括或对应于针对相应功能提供的多个相应API。例如,如图1C所示,在示例性实施例中,分布式账本系统1000包括被实施为API 152的一部分的消息摄取API 152.1。在示例性实施例中,消息摄取API 152.1被配置用于利用交互标识符(例如,消息令牌)来响应来自伙伴节点190的传入消息,例如,与在伙伴节点190与分布式账本系统1000之间处理的应用相关的传入消息,该交互标识符可以由伙伴节点190使用以查询与所述应用相关的处理状态和细节。
如图1C进一步所示,在示例性实施例中,分布式账本系统1000包括被实施为API152的一部分的分散式标识符解析器API 152.2。在示例性实施例中,分散式标识符解析器API 152.2被配置用于解析与伙伴节点190相关联并从该伙伴节点接收的分散式标识符。在伙伴节点190属于非分布式账本系统(例如,非区块链系统)的一部分的情况下,分散式标识符解析器API 152.2特别有用,该非分布式账本系统包括多个节点,该多个节点被分配给针对该非分布式账本系统而生成的相应分散式标识符。在这种情况下,分布式账本系统1000可以关于分散式标识符接管主服务器(MoS)的角色。
在分布式账本系统1000与伙伴节点190之间已经执行登入过程之后,伙伴节点190可以与对等网络100的节点中的任何一个或多个节点通信。图2是展示了根据本披露内容的第一方面的示例性实施例的示例性流程图200。流程图200可以被理解为展示登入伙伴节点190的示例性登入过程。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190(外部设备的示例)通信时执行流程图200的步骤。应注意的是,流程图200的步骤同样可以由对等网络100的节点中的任何一个或多个节点来执行。由此,节点104和/或其对应的处理器可以对应于根据本文披露的第一方面的至少一个设备的示例。进一步地,流程图200的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。
在步骤201中,节点104从伙伴节点190(该至少一个外部设备的示例)接收(和/或例如节点104的所述处理器使节点104接收)连接建立消息。可替代地,节点104可以向伙伴节点190传输(和/或例如节点104的所述处理器使节点104传输)连接建立消息。
例如,在示例性实施例中,分布式账本系统1000被配置用于(即,包括在对等网络100的节点中的一个或多个节点处作为可执行代码被实施并被配置用于进行控制的软件模块和/或功能)向伙伴节点190提供至少一个软件开发套件(SDK),例如,图1B中示例性展示的SDK 151,该软件开发套件使得伙伴节点190能够在与分布式账本系统1000通信时执行各种操作。基于SDK 151,在示例性实施例中使得伙伴节点190和/或分布式账本系统1000能够管理分布式账本系统1000与伙伴节点190之间的多个交互。例如,伙伴节点190可以使用SDK151向节点104发送创建分散式标识符的请求。进一步地,SDK 151可以包括与分散式标识符相关的一个或多个库,使得SDK 151能够基于分散式标识符执行认证功能或与分布式账本系统1000进行交互。
返回参考图2,在步骤203中,节点104基于连接建立消息获得表示伙伴节点190的分散式标识符。由此,在示例性实施例中,分散式标识符在分布式账本系统1000处生成,在示例性实施例中由伙伴发现器123生成。可替代地或另外,分散式标识符可以通过从伙伴节点190接收分散式标识符而获得。后一种情况可以适用于例如伙伴节点190本身是非分布式账本系统(例如,非区块链网络)的节点的情况,该非分布式账本系统包括被配置用于基于分散式标识符进行相互通信的节点。这种系统的示例可以例如对应于SAP HANA系统。在这种情况下,分布式账本系统可以接管主服务器(MoS)的角色。
与通常关于集中式注册表、身份提供者和证书颁发机构而定义的传统标识符和/或身份相反,在示例性实施例中,分散式标识符由对应的控制器(例如,在分布式账本系统1000的情况下由伙伴发现器123)生成,其定义分散式标识符所标识的内容。如所提到的,虽然可以经由接口150从伙伴节点190接收分散式标识符,但是也可以从伙伴节点190接收标识伙伴节点190的分散式标识符。在这种情况下,例如,伙伴节点190所属的分布式账本系统可以包括已经生成分散式标识符的控制器。
在示例性实施例中,分散式标识符(由伙伴发现器123生成或经由接口150接收)与分散式标识符文档相关联地定义。由此,在示例性实施例中,分散式标识符对应于或包括将由分散式标识符标识的主体(例如,伙伴节点190)与分散式标识符文档相关联的统一资源定位符(URL)。在示例性实施例中,分散式标识符文档保持关于或定义与分散式标识符相关联的一个或多个公钥、与分散式标识符相关联的认证信息(例如,一种或多种认证和/或验证方法)、服务端点、和/或关于分散式标识符所标识的主体(例如,伙伴节点190)的语义的信息可用。服务端点可以实现与分散式标识符的主体(例如,与伙伴节点190)相关联的可信交互。服务端点可以例如对应于对等网络100的任何一个或多个节点和/或对应于伙伴节点190,并且可以通过它们的对应地址(例如,通过它们的MAC地址)来标识。应注意的是,在示例性实施例中,由分散式标识符密钥保持可用的一个或多个安全密钥基于盐或以盐的形式生成,由此盐可以被理解为例如对应于用作用于创建相应安全密钥和/或散列值的函数的附加输入的随机数据。在示例性实施例中,分散式标识符文档可以进一步包括时间戳(例如,用于审计历史)和/或签名(例如,用于完整性)。在示例性实施例中,分散式标识符文档可以对应于或包括与例如存储在存储器110处的分散式标识符相关联的元数据。
结果,在示例性实施例中,分散式标识符是在分布式账本系统1000处和/或在伙伴节点190侧基于伙伴节点190的属性(提供给伙伴节点190以用于访问在分布式账本系统1000处保持的数据的公钥、伙伴节点190的服务端点、和/或要由伙伴节点190与分布式账本系统1000执行的应用、和/或关于伙伴节点190的语义)而生成并与分散式标识符文档相关联的标识符。尽管根据本文披露的各方面的分散式标识符不限于这一方面,但是在示例性实施例中,分散式标识符包括或对应于由万维网联盟W3C指定的DID。
如所提到的,API 152包括图1C所示的分散式标识符解析器API 152.2,该分散式标识符解析器被配置用于解析与伙伴节点190相关联并从该伙伴节点接收的分散式标识符。特别地,在伙伴节点190属于另一分布式账本系统(例如,区块链系统)的一部分的情况下,分散式标识符可以与在该另一分布式账本系统处定义的分散式标识符方案相关。在这种情况下,分散式标识符解析器API 152.2被配置用于解析从伙伴节点190接收的分散式标识符。特别地,在示例性实施例中,分散式标识符解析器API 152.2被配置用于解析从Hyperledger Fabric区块链平台、从Corda DLT、从多链区块链、和/或从Quorum区块链平台接收的分散式标识符。
返回参考图2,在步骤205中,节点104获得基于在步骤203中获得的分散式标识符的至少一部分而生成的至少一个散列值。例如,在示例性实施例中,分布式账本系统1000的索引器121被配置为基于在步骤203中获得的分散式标识符的至少一部分来生成散列值,例如,通过向分散式标识符的至少一部分应用散列函数。索引器121因此可以对应于散列值获取器的示例性实施例。特别地,可以基于分散式标识符文档中提及的分散式标识符的任一部分来获得散列值。特别地,在示例性实施例中,节点104获得基于一个或多个服务端点的相应地址(例如,MAC地址)和/或包括在与分散式标识符相关联的分散式标识符文档中的一个或多个公钥而生成的至少一个散列值。由此,在示例性实施例中,服务端点包括节点104的地址(例如,MAC地址)和伙伴节点190的地址(例如,MAC地址)中的至少一者。特别地,在示例性实施例中,分布式账本系统1000的索引器121被配置为基于一个或多个服务端点和/或包括在与分散式标识符相关联的分散式标识符文档中的一个或多个公钥来生成散列值。如所提到的,索引器121(也可以被称为分布式账本系统1000的散列发生器)可以被实施为对等网络100的节点中的任何一个或多个节点的软件模块。因此,节点104可以在索引器121在节点104处被实施的情况下直接获得该至少一个散列值,和/或在索引器121在对等网络100的任何一个或多个其他节点处实施的情况下间接获得该至少一个散列值。在后一种情况下,该至少一个散列值可以存储在由节点104与对等网络100的该一个或多个其他节点共享的存储器110的一部分中,使得节点104可访问(并因此获得)该至少一个散列值。
换言之,如图2中进一步展示的,在步骤207中,节点104可以基于涉及对等网络100的节点的至少一个子组的共识处理,将该至少一个散列值或可以促使对等网络100的节点中的任何一个或多个节点将该至少一个散列值与分散式标识符的至少一部分相关联地(在示例性实施例中与分散式标识符的分散式标识符文档的至少一部分和/或该分散式标识符文档相关联地)存储在分布式账本系统1000的存储器110的安全化部分140中。应注意的是,在步骤207中,散列值与分散式标识符两者可以相关联地存储在安全化部分140中。在示例性实施例中,共识处理可以进一步涉及伙伴节点190。
例如,在对等网络100的节点中的一个或多个或全部节点处和/或在节点190处以共识控制器122的形式实施的共识处理可以例如由节点104基于与伙伴节点190的通信而发起,以获得参与共识处理的一个或多个节点之间的共识,即,该至少一个散列值可以存储在存储器110的安全化部分140处。由此,在示例性实施例中,共识处理可以限制于对等网络100的节点的子组。在示例性实施例中,共识处理限于对等网络100的节点的子组与伙伴节点190。对等网络100的节点子组可以例如对应于在与伙伴节点190进行应用处理时所涉及的一组节点(例如,图1A中所示的节点101、102、103和104),对于该组节点,与伙伴节点190一起执行或已经执行登入过程。
在示例性实施例中,存储器110的安全化部分140对应于存储器的专用部分,该专用部分对应于或包括在对等网络100的节点中的一个、多个或全部节点处提供的和/或连接到该一个、多个或全部节点的相应专用存储空间,和/或对应于连接到对等网络100的节点中的一个、多个或全部节点和/或可由该一个、多个或全部节点访问的云存储设备。在示例性实施例中,存储器110的安全化部分140被配置用于提供对安全化部分140的基于身份的访问,例如,安全化部分140仅向已识别出的用户提供访问。进一步地,在示例性实施例中,存储器110的安全化部分140被配置用于对存储的数据进行加密,例如,用于以编码形式保持数据,使得只有被授权方才可以对编码数据进行解码以访问原始信息。虽然本披露内容的各方面不限于这一方面,但是在示例性实施例中,存储器110的安全化部分140对应于或包括库,特别是分配给分布式账本的特定库、HashiCorp库、本地部署库和/或基于云的安全密钥存储库。
进一步地,在示例性实施例中,节点104被配置为将基于所获得的分散式标识符的至少一部分而生成的该至少一个散列值特别地与该分散式标识符相关联地提供给伙伴节点190。如本文进一步披露的,该至少一个散列值(可以特别地包括基于伙伴节点190的端点信息(例如,MAC地址)而生成的散列值)可以使得附加装置能够在伙伴节点190登入之后与伙伴节点190通信时验证伙伴节点190的身份,并且因此可以提供附加的安全级别。
应注意的是,在示例性实施例中,提供给伙伴节点190的SDK 151可以使得伙伴节点190和分布式账本系统1000能够在示例性实施例中进一步基于分散式标识符建立基于数字孪生的机器对机器配对。例如,如此建立的机器配对可以使得能够向伙伴节点190提供分布式账本系统1000的至少一部分、特别是对等网络100的一个或多个节点(例如,节点104)的数字孪生。
图3是展示了可以作为参考图2展示的流程图200的方法的一部分来执行的方法的步骤的示例性实施例的示例性流程图300。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190(外部设备的示例)通信时执行流程图300的步骤。应注意的是,流程图300的步骤同样可以由对等网络100的节点中的任何一个或多个节点来执行。由此,节点104和/或其对应的处理器可以对应于根据本文披露的第一方面的至少一个设备的示例。进一步地,流程图300的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。
如所示的,在步骤301中,向伙伴节点190分配至少一对公钥和私钥。为此目的,例如,伙伴发现器123可以生成一对公钥和私钥以分配给伙伴节点190,其中,如本文所提及的公钥和私钥对应于非对称密码学和/或是基于非对称密码学而生成的。在示例性实施例中,密钥是基于椭圆曲线数字签名算法(ECDSA)而生成的,该算法可以使得能够使用较小的密钥,提供与基于非椭圆曲线密码学的密钥类似的安全级别。由此,在示例性实施例中,这些密钥是基于SECP256K1和/或SECP156R1曲线而生成的。应注意的是,在示例性实施例中,步骤301作为根据流程图200的方法的步骤执行,并且可以在步骤203之前、之后或结合该步骤执行。
进一步地,在步骤303中,节点104将公钥提供给伙伴节点190,并且在步骤305中,基于涉及对等网络100的节点的至少一个子组的共识处理,至少将该私钥与分散式标识符的至少一部分相关联地存储在分布式账本系统1000的存储器101的安全化部分140中。因此,至少对该私钥的存储可以基于如在用于存储至少一个散列值的步骤207的情况下所描述的共识处理来执行。在示例性实施例中,除了私钥之外,还将公钥存储在分布式账本系统1000的存储器101的安全化部分140中。特别地,在示例性实施例中,私钥和/或公钥被添加到分配给存储在安全化部分140中的分散式标识符的分散式标识符文档中。
图4是展示了可以作为参考图2所展示的流程图200和/或参考图3所展示的流程图300的方法的一部分来执行的方法的步骤的示例性实施例的示例性流程图400。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190(外部设备的示例)通信时执行流程图400的步骤。应注意的是,流程图400的步骤同样可以由对等网络100的节点中的任何一个或多个节点来执行。由此,节点104和/或其对应的处理器可以对应于根据本文披露的第一方面的至少一个设备的示例。进一步地,流程图400的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。
如所示的,在步骤401中,向伙伴节点190分配定义伙伴节点190的访问权限和/或读/写许可的至少一个伙伴角色。因此,在该示例性实施例中,在登入伙伴节点190时,向伙伴节点190分配伙伴角色,该伙伴角色定义例如可以与从伙伴节点190传输到分布式账本系统1000的消息相关联的写访问许可。应注意的是,伙伴节点190可以具有可以针对在伙伴节点190与分布式账本系统1000之间处理的一个或多个应用而设置的一个或多个伙伴角色。
在步骤403中,基于涉及对等网络100的节点的至少一个子组的共识处理,将设置该至少一个伙伴角色的信息(例如,与该至少一个伙伴角色相对应的数据)与分散式标识符的至少一部分相关联地存储在分布式账本系统1000的存储器110的安全化部分140中。对设置该至少一个伙伴角色的信息的存储可以基于如在用于存储至少一个散列值的步骤207的情况下所描述的共识处理来执行。特别地,在示例性实施例中,设置该至少一个伙伴角色的信息(例如,与该至少一个伙伴角色相对应的数据)被添加到分配给存储在安全化部分140中的分散式标识符的分散式标识符文档中。
因此,在示例性实施例中,在分布式账本系统1000与伙伴节点190之间执行的登入过程涉及以下操作中的一项或多项:向伙伴节点190提供SDK 151;在分布式账本系统1000处获得伙伴节点190的至少一个分散式标识符;获得用于对分布式账本系统1000之间的通信进行加密的至少一对私钥和公钥,并至少将该私钥与分散式标识符相关联地存储在分布式账本系统1000的存储器110的安全化部分140中;以及向伙伴节点190分配伙伴角色。
应注意的是,通过将该至少一个散列值与分散式标识符的至少一部分、私钥和/或公钥、和/或设置分配给伙伴节点190的伙伴角色(例如,关于该伙伴角色)的信息相关联地存储在分布式账本系统1000的存储器110的安全化部分140中,使得该信息在示例性实施例中作为伙伴信息可由伙伴发现器123获得。因此,在伙伴节点登入之后,这种伙伴信息对等网络100的全部节点或至少是对等网络100的节点(例如,与伙伴节点190一起进行的应用处理中所涉及的节点)的子组是可用的,并且可以在与伙伴节点190进一步通信时被提及。由此,即使在分布式账本系统1000的节点与该分布式账本系统外部的实体通信的这种情况下,也能够为对应的通信启用特定的安全性。基于分散式标识符,因此能够针对对等网络100的伙伴节点与分布式账本系统外部的实体之间的通信实现通信的安全化,而不管这种伙伴节点本身是否是分布式账本系统、区块链系统的一部分,还是独立于这种系统的实体。
图5是展示了消息摄取过程的示例性实施例的示例性流程图500,通过该消息摄取过程,分布式账本系统1000可以消费来自伙伴节点(例如,来自伙伴节点190)的消息。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190(外部设备的示例)通信时使用消息摄取API152.1(其可以在节点104处和/或在对等通信网络的节点102、103、104中的任一个或多个节点处实施)执行流程图500的步骤。应注意的是,流程图500的步骤同样可以由对等网络100的节点中的任何一个或多个节点来执行。进一步地,流程图500的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。应注意的是,流程图500的方法可以在根据图2的方法的登入过程已经执行之后执行。
如图5所示,在步骤501中,节点104从伙伴节点190(外部设备的示例)获得(或者节点104的处理器使节点104获得)与应用相关的消息。在示例性实施例中,这种消息可以对应于例如分布式账本系统1000的至少一部分的所有者的客户通知该所有者关于订单(例如,订购货物装运)情况的消息。应注意的是,在示例性实施例中,伙伴节点190可以被配置用于使用HTTPS(安全超文本传输协议)协议将该消息发送到对等网络100的节点104。这种消息可以进一步对应于如关于本披露内容的第三方面所披露的消息,例如,包括触发信息的至少一个元素的消息。例如,外部设备190可以对应于、包括或连接到拣货员的扫描装置(例如,为此目的而提供的真正扫描装置或为此目的而配置的移动设备),例如,扫描要装运的一个或多个产品的初始标签并对对应的电子产品信息进行编码,在此基础上,可以例如在外部设备190处得出触发信息的至少一个元素,并且然后可以将该至少一个元素提供给例如节点104,以获得如本文进一步披露的触发信息的所述至少一个元素。
在步骤503中,消息摄取API 152.1促使存储(多个)消息内容和/或(多个)消息附件。为此,消息摄取API 152.1可以促使将(多个)消息内容和/或(多个)消息附件存储在例如节点104的本地存储设备中,即,独立于存储器110。可替代地或另外,消息摄取API 152.1可以促使基于例如涉及共识控制器122的共识处理将(多个)消息内容和/或(多个)消息附件存储在存储器110的一部分中。
在步骤505中,消息摄取API 152.1促使基于消息内容生成至少一个散列值和/或基于消息附件(例如,基于与索引器121的通信)生成至少一个散列值(消息散列信息的示例)。作为步骤505的一部分,消息摄取API 152.1可以进一步促使基于例如涉及共识控制器122的共识处理将在步骤505中生成的(多个)散列值存储在存储器110的一部分中。
在步骤506中,消息摄取API 152.1生成或促使生成消息令牌,并且在步骤507中,消息摄取API 152.1响应于在步骤501中接收到的消息而向伙伴节点190(外部设备的示例)提供或促使提供该消息令牌。例如,在示例性实施例中,该消息令牌包括信息,基于该信息,伙伴节点190可以访问关于在伙伴节点190与对等网络100的节点104之间处理的应用的状态的状态信息。例如,该消息令牌可以包括链接,基于该链接,伙伴节点190可以访问保持关于该应用状态的所述信息可用的互联网地址/页面。进一步地,在示例性实施例中,该消息令牌包括快速响应(QR)码(特别是加盐QR码),该快速响应码被配置用于使得伙伴节点190能够访问该状态信息。例如,伙伴节点190可以类似地通过参考QR码来访问互联网地址/页面,该互联网地址/页面保持要由伙伴节点190访问的状态信息可用。该QR码可以进一步包括基于伙伴节点190的分散式标识符和/或基于节点104的分散式标识符而生成的散列值,该散列值可以使得伙伴节点104能够对该QR码进行验证。基于此,该状态信息可以例如经由伙伴节点190的和/或连接到该伙伴节点的显示器显示给伙伴节点190的用户。
应注意的是,在步骤502中,在步骤501中接收到的消息可以提供给预处理器104.7(本文进一步描述的),该预处理器在示例性实施例中在对等网络的一个或多个节点处、特别是在节点104处被实施。
图6是展示了在伙伴节点190的登入完成之后在对等网络100的节点104与伙伴节点190之间进行的数据通信的示例性实施例的示例性流程图600。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190(外部设备的示例)通信时执行流程图600的步骤。
如所示的,在步骤601中,节点104发送包括关于在与伙伴节点190通信时处理的应用的更新阶段的信息的消息,该消息包括包含该信息的消息令牌。为此,节点104可以(例如,使用在节点104处实施并在本文进一步描述的后处理器104.9)基于伙伴节点190的分散式标识符从伙伴发现器123取得与伙伴节点190相关的端点(例如,MAC地址)。节点104可以进一步将关于应用处理的更新阶段的信息(例如,关于发货单的信息)作为消息有效载荷与可验证凭证进行组合,并且可以利用该节点的私钥对该可验证凭证进行签名。然后,节点104可以将与带签名的可验证凭证组合的消息发布到伙伴节点190的端点。
由此,在示例性实施例中,该消息被发布到伙伴节点190的端点所采用的形式是或包括例如由通过节点104的私钥签名的可验证凭证来保护的QR码,特别是加盐QR码。该QR码可以包括链接,基于该链接,伙伴节点190可以访问保持关于应用处理的更新阶段的所述信息可用的互联网地址/页面。该QR码可以进一步包括基于伙伴节点190的分散式标识符和/或基于节点104的分散式标识符而生成的散列值,该散列值可以使得伙伴节点104能够对该QR码进行验证。因此,更新后的状态可以例如经由伙伴节点190的或连接到该伙伴节点的显示器对伙伴节点190的用户可见。
在步骤603中,节点104从伙伴节点190接收响应消息,该响应消息包括例如用于验证应用状态、例如用于核准发货单的响应信息。进而,在步骤605中,节点104验证该响应消息。例如,基于该响应消息中提及或包括的伙伴节点190的分散式标识符,在节点104与伙伴节点190之间建立数字孪生配对,即,机器对机器配对。进一步地,节点104验证密钥配对,例如,验证该响应消息中包括或提及的公钥与在图3的步骤301中分配给伙伴节点190并存储在分布式账本系统1000的存储器110的安全化部分140中的公钥相匹配。
除了密钥配对之外,在示例性实施例中,节点104被配置为确认接收到的消息中包括或提及的散列值与基于所获得的分散式标识符的至少一部分而生成的散列值相匹配。由于该散列值是在示例性实施例中特别基于伙伴节点190的分散式标识符的分散式标识符文档中提及的端点信息而生成的,因此这种散列值确认使得能够确保节点104从其接收响应消息的节点实际上对应于服从登入过程的节点190。
作为第三安全级别,节点104确认以响应消息中的对应信息的形式包括的或响应消息中提及的伙伴角色。通过确认伙伴角色对应于在登入过程中分配给伙伴节点190的伙伴角色,并且该伙伴角色允许伙伴节点发送响应消息(例如,用于核准发货单),提供了附加的安全级别,这可以帮助防止分布式账本系统1000(例如,经由节点104)消费欺诈性消息。
进一步地,如图6所示,在步骤607中,如果响应消息通过验证,例如,如果在节点104与伙伴节点190之间成功地建立了数字孪生机器对机器配对,如果成功地建立了存储在安全化部分140中并包括在响应消息中或由响应消息提及的密钥配对,并且如果确认包括在响应消息中或由响应消息提及的散列值对应于在伙伴节点190登入时基于所获得的分散式标识符的至少一部分而生成的散列值,则节点104更新与保存在节点104的存储设备中的应用相关的数据和/或与保存在存储器110中的数据相关的对应散列值和/或散列索引。
因此,在步骤603中从伙伴节点190接收到的响应消息可以例如对应于对在步骤601中发送的消息中已经提及的发货单的核准,使得可以相应地更新与对应的应用相关的数据和/或可以相应地更新对应的散列值。以这种方式,基于对等网络100的节点104与外部伙伴节点190之间的所述通信,建立共识机制,该共识机制有利地实现分布式账本系统1000与例如伙伴节点190可能属于的另一分布式账本系统之间的互操作性。
进一步地,返回参考图6,在步骤609中,节点104向伙伴节点190发送包括关于应用处理的新更新阶段(例如,“发货单被核准”)的信息的消息,该消息包括包含该信息的已更新消息令牌。
如在该消息令牌在步骤601中被发送到伙伴节点190的情况,该消息被发布到伙伴节点190的端点可以采用的形式是或包括例如由通过节点104的私钥签名的可验证凭证来保护的QR码,特别是加盐QR码。该QR码可以包括链接,基于该链接,伙伴节点190可以访问保持关于应用处理的新更新阶段(“发货单被核准”)的所述信息可用的互联网地址/页面。该QR码可以进一步包括基于伙伴节点190的分散式标识符和/或基于节点104的分散式标识符而生成的散列值,该散列值可以使得伙伴节点104能够对该QR码进行验证。因此,更新后的状态可以例如经由伙伴节点190的或连接到该伙伴节点的显示器对伙伴节点190的用户可见。
同时,节点104(例如,本文进一步提及的节点104的后处理器)可以例如在节点104的本地存储设备处存储指示处理成功的信息。由此,节点104可以生成和/或更新可验证凭证,该可验证凭证可以包括例如节点104的分散式标识符、伙伴节点190的分散式标识符、包括凭证语句和密码学证明的有效载荷,这些可以确保可验证凭证的完整性。特别地,后处理器可以通过附带消息的可验证凭证(VC)Id并通过将VC存储到节点104的本地存储设备来创建或更新该可验证凭证。
以这种方式,可以建立在对等网络100的(分布式账本系统1000的)节点104与外部节点190之间处理的数据的不变性。
图7是展示了根据本披露内容的第二方面的示例性实施例的示例性流程图700。流程图700可以被理解为展示将数据(例如,与应用相关的有效载荷数据)与对应的散列信息相关联地存储并至少限制在稍后的时间点对存储在第二数据部分中的数据进行访问的示例性方法。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190通信时执行流程图700的步骤。应注意的是,流程图700的步骤同样可以由分布式账本系统1000、例如由对等网络100的节点中的任何一个或多个节点来执行。由此,节点104和/或其对应的处理器可以对应于根据本文披露的第二方面的至少一个设备的示例。进一步地,流程图700的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。
在步骤710中,节点104存储(和/或例如节点104的所述处理器使节点104存储)至少一个数据块。数据块在示例性实施例中包含与应用(诸如装运、交易、和/或智能合约的处理)的处理阶段相关的数据。
步骤710包括或可以对应于将至少一个数据块的第一数据部分和第二数据部分存储或促使存储在分配给至少一个节点(节点104)的数据存储器部分中的步骤711,其中,该第一数据部分被存储为不变数据。因此,第一数据部分可以用于存储与应用相关的数据,例如,在装运的情况下,该数据诸如是要装运的货物的数量或类型等。第二数据部分可以用于存储可以限制或阻止访问的、或者在例如应用的处理完成时不再需要的情况下可以删除的数据,例如,第二数据部分可以用于存储应用的处理中所涉及的个体的个人数据。
在步骤720中,节点104促使将第一散列信息与第一数据部分相关联地存储为分布式账本的一部分。在步骤730中,节点104促使将第二散列信息与第二数据部分相关联地存储为分布式账本的一部分。在示例性实施例中,第一散列信息和第二散列信息包括或对应于第一散列值和第二散列值和/或与第一散列值和第二散列值相对应的第一散列索引和第二散列索引。散列信息可以用于与同其相关联的相应数据部分相关,并且因此可以实现对这些相应数据部分的访问。
在步骤740中,节点104获得与至少一个数据块相关的修改请求信息。例如,节点104可以从对等网络的节点或从诸如伙伴节点190等外部设备接收包括修改请求信息的消息。在示例性实施例中,修改请求信息对应于修改数据块的一部分(特别地,第二部分)的请求和/或限制对数据块的一部分(特别地,第二部分)的访问的请求。由此,修改数据块的一部分的请求和/或限制对数据块的一部分的访问的请求在示例性实施例中对应于移除某些数据的请求。例如,如果应用的处理中所涉及的个体请求在应用处理完成之后移除他或她的个人数据,则该请求可能会导致对个人数据的访问受到限制和/或导致移除个人数据。
在步骤750中,节点104基于修改请求信息并基于在对等网络的至少一组节点中的至少一个节点处执行的共识处理,促使删除与第二数据部分相关联的第二散列信息或促使将新的第二散列信息与至少一个数据块的新的第二数据部分相关联地存储为分布式账本的一部分。例如,在示例性实施例中,如果修改请求信息涉及第二数据部分,例如,对应于存储在第二数据部分中的数据,则节点104使第二散列信息被删除或使新的第二散列信息与新的第二数据部分相关联。进一步地,在示例性实施例中,如果在应用处理中涉及的对等网络的至少一个节点和/或(例如,通过接收对应的消息)获得修改请求信息的节点明示同意,则节点104使第二散列信息被删除或使新的第二散列信息与新的第二数据部分相关联。
图8是展示了涉及对等网络100的节点103和104以及伙伴节点190的应用的处理的示例性实施例的示例性流程图800。因此,在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点103和104以及伙伴节点190执行流程图800的步骤。由此,流程图800示例性地将装运指代为示例应用,其中,货物由托运人发送,其中,装运过程由货运代理组织并由诸如卡车司机等承运人执行。在示例中,节点104执行货运代理的动作,节点103执行托运人的动作,并且节点190执行承运人的动作。流程图800的方法将参考图9A至图9D来进行说明。
由此,图9A示例性地展示了分配给节点104的数据存储器104.4(例如,由节点104包括或连接到节点104),该数据存储器包括用于存储分布式账本的至少一部分的分布式账本存储器部分104.4A(其可以构成图1A中披露的存储器110的一部分)以及用于存储与涉及节点104的应用处理相关的数据(例如,有效载荷数据)的数据存储器104.4B。具有对应的分布式账本存储器部分103.4A和数据存储器部分103.4B的对应数据存储器103.4同样被分配给节点103(图中未示出)。
转回到图8,在步骤811中,节点104从节点103接收预订请求,通过该预订请求,例如订购一定数量和类型的货物的装运。如图9B所示,生成表示装运过程的预订阶段并包含表示预订请求的数据的对应数据块411,并将其存储在分配给节点103和104的数据存储器部分处。如进一步所示,数据块411与散列信息311(例如,散列索引和/或散列值)相关联地存储,由此散列信息311是与由节点103、104和190进行的装运应用相关的各项散列信息311至317的序列310的创世散列,其相应阶段的数据被存储在数据块序列400中的对应数据块中。该创世散列信息一方面可以用作对数据块411的提及,并且另一方面可以用作对整个应用(装运过程)的提及。图9B所示的箭头示例性地展示了被存储为可由将数据块与对应的散列信息(例如,将数据块411与对应的散列信息311)相关联的索引器121访问和管理的关系信息,由此进一步的分组信息被存储为可由将各项散列信息311至317和/或数据块411至417与装运应用相关的索引器121访问和/或管理。应注意的是,关系信息和/或与应用相关的分组信息可以存储在分配给在应用处理中所涉及的对等网络100的一个或多个节点的数据存储器处,和/或由对等网络100的一个或多个其他节点存储,以便可由索引器121访问和/或管理。
在步骤812中,节点104接受预订请求并在步骤813中将对应的信息传输到节点103,从而确认预订请求。如图9B所示,根据应用处理的阶段812和813生成对应的数据块412、413与对应的散列信息312、313。
在步骤814中,节点104分配承运人(对应于节点190)以用于从托运人(对应于节点103)处运输货物。例如,在步骤814中,分配可能涉及负责从托运人处运输货物的诸如卡车司机等个体,使得分配可能涉及存储该个体的个人信息,诸如联系信息。
如图9C所示,相应的数据块、特别是数据块414包括可能特别地包含非个人数据的第一数据部分414.1以及可能特别地包含个人数据的第二数据部分414.2。相应地,对应的散列信息314包括分别与第一数据部分414.1和第二数据部分414.2相关联的第一散列信息314.1和第二散列信息314.2,由此对应的关系信息被存储为可由索引器121访问和/或管理。
因此,在步骤814中,与运输相关的数据(诸如与运输时间、运输路线或支付信息相关的信息)在第一数据部分414.1中被存储为不变数据。进一步地,与卡车司机相关的个人信息存储在第二数据部分414.2中。这种个人数据可以包括例如卡车司机的联系信息。
在步骤815中,节点104接收运输完成信息,例如,接收来自卡车司机的告知货物成功交付的消息。进一步地,在步骤816中,节点104接收修改请求信息,例如,接收来自卡车司机的消息,卡车司机通过该消息请求移除他或她的个人数据,例如,他或她的联系信息。应注意的是,本披露内容不限于移除个人数据。进一步的示例性请求可以对应于修正个人数据和/或修正和/或删除可能被要求改变和/或删除的不同数据。
在步骤817中,节点104例如在已确认该请求与存储在第二数据部分中的数据相关和/或从被授权提供修改请求信息的节点接收到该修改请求信息之后明示同意。节点104可以例如基于如包括在与节点的分散式标识符相关联的分散式标识符文档中的节点的角色来确认节点的授权。在本示例中,节点104确认该请求与存储在数据块414的第二部分414.2中的卡车司机的个人数据相关并且卡车司机被授权发送对应的请求。
相应地,在步骤819中,节点104促使删除与第二数据部分414.2相关联的第二散列信息314.2。通过这种方式,第二数据部分414.2相对于与数据块序列400相对应的装运应用变得不可访问。在另一示例中,如果在步骤816中获得的修改信息与修正信息的请求相关,例如,与例如用新的电话号码来更新联系信息的请求相关,则节点104可以基于修改请求信息并基于在对等网络的至少一组节点中的至少一个节点处执行的共识处理,促使将新的第二散列信息与至少一个数据块的新的第二数据部分相关联地存储为分布式账本的一部分。后一示例在图9D和图9E中进行示意性展示。图9D展示了图9B的摘录,并且图9E示例性地展示了将第二数据部分414.2修正为424.2以及使用新的第二散列信息324.2来代替先前的关于图9C的第二散列信息314.2。如图9D和图9E所示,在对存储在第二数据部分414.1中的数据的修改请求作出反应时,生成新的第二数据部分424.2以取代第二数据部分414.2,而第一数据部分414.1(存储为不变数据)保持不变。相应地,将第二散列信息424.2与新的第二数据部分324.2相关联地存储,而先前的第一散列信息314.1保持不变。如图9E所展示的,索引器121(例如,被存储为可由索引器121访问和/或管理的关系信息和/或分组信息)被相应地更新,使得经修改的数据块424(包括未经修改的第一数据部分414.1和经修改的第二数据部分424.2)作为数据块序列400的一部分而不是先前的数据块414经由经修改的散列信息324(包括未经修改的第一散列信息314.1和新的第二散列信息324.2)变得可访问。
因此,特别地,作为索引器121的结果,可以将存储在第二数据部分中的数据修改和/或删除,使得可以防止/限制对作为数据块序列的一部分的数据的访问,和/或使得新数据作为数据块序列的一部分变得可访问,而作为第一数据块的一部分存储的数据保持不变。通过这种方式,可以增强根据需要管理数据的灵活性,特别地可以遵守GDPR。同时,对于可能需要存储为不变的数据,可以维持其高度的安全性。
图10是展示了根据本披露内容的第三方面的示例性实施例的示例性流程图1010。流程图1010可以被理解为展示在确定所获得的与智能合约相关的触发信息与智能合约的现有触发条件不对应的情况下通过使用实施训练模型的软件模块来确定要由智能合约执行的交易的示例性方法。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104在与如上文关于图1A所披露的伙伴节点190通信时执行流程图1010的步骤。例如,节点104可以对应于由负责管理要装运的一个或多个产品的装运的物流服务提供商提供的对等网络的节点,而伙伴节点190可以在提供要装运的产品和例如对应的电子产品信息(EPI)的供应商侧提供,基于这些信息可以获得触发信息的至少一个对应元素。由此,EPI可以通过例如使用连接到伙伴节点190的键盘等进行手动输入来提供,或者EPI可以通过使用专用扫描装置或为此目的配置的移动装置扫描编码EPI的标签来提供。
应注意的是,该示例是作为说明性示例提供的,以便于理解根据第三方面的披露内容。进一步应注意的是,该示例不应被认为是限制性的,因为根据第三方面的披露内容可以适当地在不同的场景中实施,例如,在物流背景下实施,例如,在诸如机场、港口或仓库等运输节点处实施,其中,例如根据第三方面,基于智能合约执行的交易可以对应于基于在要装运的产品的标签上提供的信息来确定对要装运的产品要执行的进一步动作(例如,装载到运输单元上)。进一步地,根据第三方面的披露内容可以更普遍地适用于智能合约,实施训练模型的软件模块也可以用于例如在处理发货单、付款等的情况下确定正确的交易。
转回到图10,应注意的是,流程图1010的步骤同样可以由分布式账本系统1000、例如由对等网络100的节点中的任何一个或多个节点来执行。由此,节点104和/或其对应的处理器可以对应于根据本文披露的第三方面的至少一个设备的示例。进一步地,流程图1010的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。
在步骤1011中,节点104获得(和/或例如节点104的所述处理器促使节点104获得)与智能合约相关的触发信息的至少一个元素。如本文进一步披露的,在示例性实施例中,触发信息的至少一个元素对应于以下各项中的至少一项或与之相关:要装运的至少一种产品的原产地和/或目的地;要装运的至少一种产品的至少一种运输模式;要装运的至少一种产品的数量、特别是每运输单元要装运的至少一种产品的数量;基于原产地和/或目的地的管辖区的至少一种运输限制;产品的类型和/或类别;与至少一种产品相关的危险品信息;与寄件人、托运人和/或收件人相关的信息;与至少一种产品的原产地、至少一个中间地点和/或目的地相关的国家信息。
在步骤1012中,节点104确定(和/或例如节点104的所述处理器促使节点104确定)触发信息的至少一个元素是否对应于智能合约的现有触发条件,由此现有触发条件适于引起基于智能合约要执行的对应交易。
触发信息可以对应于现有触发条件。例如,如果至少一种产品对应于一种消毒剂并且例如通过飞机要装运到美国,则一定的酒精含量结合该目的地及运输模式可以产生单个运输箱内可以装入的消毒剂的对应最大单位数量。因此,定义这种(已知的)酒精含量、目的地和运输模式组合的触发信息可以对应于现有触发条件。如果因此确定触发信息的至少一个元素对应于智能合约的所述现有触发条件,则根据第三方面的方法在示例性实施例中包括执行或促使执行与现有触发条件相对应的交易的步骤。例如,基于已知的目的地、运输模式和酒精含量的组合,可以生成对应的装运、运输或标签信息,这些信息可以用于打印例如要贴附在用于运输消毒剂的运输箱表面的对应运输标签。
然而,如果获得的触发信息与现有触发条件不对应,则传统的智能合约将无法确定要执行的交易,这样,例如由操作员进行手动输入将成为必要。根据本披露内容的第三方面,这一缺点通过提供一种技术方案得到解决,该技术方案使得智能合约即使在获得的触发条件是未知的情况下也能够(自动)确定要执行的交易。因此,实现了对智能合约的更高效且可靠的处理。
因此,如果确定触发信息的至少一个元素与智能合约的现有触发条件不对应,则在步骤1013中,节点104通过使用实施训练模型的所述软件模块125来确定(和/或例如节点104的所述处理器促使节点104确定)基于智能合约要执行的交易。如本文进一步披露的,在示例性实施例中,软件模块实施基于至少一个现有触发条件、结合与该至少一个现有触发条件相对应的交易而训练的模型。例如,可以基于过去基于相应触发条件而执行的交易的历史来训练该模型。通过这种方式,甚至未知的产品也可以以自动、高效且高精度的方式进行归类和/或分类。
相应地,在步骤1014中,节点104然后执行(和/或例如节点104的所述处理器促使节点104执行)所确定的交易。特别地,根据第三方面,因此可以在本示例中以高效且特别是自动化方式实施对要装运的新产品进行归类和/或将装运、运输和/或标签信息分配给产品(尚未分配装运、运输和/或标签信息的新产品,或者已经分配了装运、运输和/或标签信息、但例如由于适用法律法规的变化而无法再使用的现有产品)的过程。
图11是展示了根据本披露内容的第三方面的示例性实施例的示例性流程图1100。流程图1100可以被理解为展示确定在分布式账本系统1000的上下文中将智能合约更新为新触发条件的示例性方法,其中,新触发条件对应于在最初确定所获得的触发信息的至少一个元素与现有触发条件不对应的情况下通过使用实施训练模型的软件模块而确定的交易。在不限制本发明的范围的情况下,在下文中假定,如上文关于图1A所披露的对等网络100的节点104执行流程图1100的步骤。应注意的是,流程图1100的步骤同样可以由分布式账本系统1000、例如由对等网络100的节点中的任何一个或多个节点来执行。由此,节点104和/或其对应的处理器可以对应于根据本文披露的第三方面的至少一个设备的示例。进一步地,流程图1100的方法可以由分布式账本系统1000来执行,例如,由对等网络100的一个或多个节点来执行和/或由本文披露的分布式账本系统1000的模块中的任一个模块来执行。应注意的是,图11的步骤顺序不应理解为对本披露内容进行限制。例如,步骤1120可以在步骤1110之前执行,并且步骤1140可以提前于步骤1130而执行。
流程图1100的方法还将参考图12来进行说明。与图9A类似,图12示出了分配给节点104的数据存储器104.4(例如,由节点104包括或连接到节点104),该数据存储器包括用于存储分布式账本的至少一部分的分布式账本存储器部分104.4A(其可以构成图1A中披露的存储器110的一部分)以及用于存储与由节点104处理的应用相关的数据(例如,有效载荷数据)的数据存储器104.4B。应注意的是,可以为对等网络100的其他节点(例如,图1A中所示的节点101、102、103)提供对应的分布式账本存储器部分和数据存储器部分(图中未示出)。由此,分布式账本存储器部分104.4A和数据存储器部分104.4B对应于如本文在第二方面的上下文中披露的分布式账本存储器部分104.4A和数据存储器部分104.4B。
转回到图11,在步骤1110中,节点104(或其一个或多个处理器)将合约散列信息与智能合约和/或与对应的一个或多个现有触发条件相关联地存储为分布式账本的一部分,或促使分布式账本系统的不同实体(例如,对等网络100的不同节点和/或索引器121)将其相关联地存储为分布式账本的一部分。由此,合约散列信息可以被理解为提供与关于本披露内容的第二方面所披露的第二散列信息类似的功能和/或效果。
进一步地,在步骤1120中,节点104(或其一个或多个处理器)将智能合约和/或对应的一个或多个现有触发条件至少存储为至少一个合约数据块的一部分,或促使分布式账本系统的不同实体(例如,对等网络100的不同节点和/或索引器121)将其至少存储为至少一个合约数据块的一部分。
如图12所示,合约散列信息344在示例性实施例中作为分布式账本的一部分被存储在分布式账本存储器部分104.4A中,而表示智能合约的数据和表示示例性触发条件A、B、C(现有触发条件的示例)的数据被存储在数据存储器部分104.4B中的数据块444(至少一个合约数据块)的相应数据部分444.1和444.2中。由此,如图12中使用虚线箭头所指示的,合约散列信息与智能合约/现有触发条件的关联在所示的示例性实施例中是通过如同样关于本披露内容的第二方面所披露的索引器121来实现的。由此,在示例性实施例中,(如由虚线箭头示意性指示的)关系信息被保持为可由分布式账本系统1000的索引器121访问和/或管理,该关系信息将至少一个合约数据块444与合约散列信息344相关联。
进一步地,如图11所示,在步骤1130中,节点104(或其一个或多个处理器)将与所获得的触发信息的至少一个元素相对应的新触发条件与智能合约和/或一个或多个现有触发条件相关联地至少存储为新的合约数据块的一部分,或促使分布式账本系统的不同实体(例如,对等网络100的不同节点和/或索引器121)将其相关联地至少存储为新的合约数据块的一部分。由此,如上文所披露的,如果确定所获得的触发信息的至少一个元素与现有触发条件不对应,则新触发条件是适于促使执行通过使用实施训练模型的软件模块确定的交易的触发条件。
如图12所展示的,新触发条件(指示为触发条件“D”)与现有触发条件A、B、C存储在新的合约数据块454的数据部分454.2中,并且智能合约存储在新的合约数据块454的数据部分454.1中。应注意的是,与存储在数据部分444.1中的对应数据相比,存储在数据部分454.1中的表示表智能合约本身的数据可能已经被更新,以允许基于新触发条件D要执行的交易。
进一步参考图11,在步骤1140中,节点104(或其一个或多个处理器)基于在对等网络的至少一组节点中的至少一个节点处和/或在至少一个外部设备处执行的共识处理,将新的合约散列信息与新触发条件、智能合约和/或一个或多个现有触发条件相关联地存储为分布式账本的一部分,或促使分布式账本系统的不同实体(例如,对等网络100的不同节点和/或索引器121)将其相关联地存储为分布式账本的一部分。因此,如图12所示,新的合约散列信息354在示例性实施例中作为分布式账本的一部分存储在分布式账本存储器部分104.4A中。
如图11中进一步展示的,在步骤中,节点104(或其一个或多个处理器)促使(可能与另一实体(诸如对等网络的一个或多个其他节点)通信)分布式账本系统的索引器将使至少一个合约数据块444与合约散列信息344相关联的关系信息替换为使新的合约散列信息354与新触发条件、智能合约和/或包括在新的合约数据块454中的一个或多个现有触发条件相关联的新的关系信息(如由图12中所示的实线箭头所指示的)。
因此,与如本文所披露的第二方面的情况类似,特别地,作为索引器121的结果,可以修改存储在数据部分中的数据,使得可以根据不断变化或增加的触发条件来灵活地更新由分布式账本系统1000托管的智能合约。结合AI模块125,分布式账本系统1000因此提供了一种有利的解决方案,该方案一方面可以灵活地适应这种不断变化的条件,但另一方面其提供有如可以通过共识处理来确保的数据安全性和完整性,基于此,新的合约散列信息被存储为分布式账本的一部分。
图13是图1A的作为根据第一方面、第二方面和/或第三方面的至少一个设备的示例的节点104的框图。
节点104包括处理器104.1。处理器104.1可以表示单个处理器或者两个或更多个处理器,其例如经由总线例如至少部分地耦接。处理器104.1可以使用工作存储器104.2和程序存储器104.3来执行存储在程序存储器104.3中的程序代码(例如,程序代码当在处理器104.1上执行时使节点104执行不同方法的实施例)。存储器104.2和104.3中的一些或全部也可以包括在处理器104.1中。存储器104.2和104.3中的一者或两者可以固定地连接到处理器104.1或至少部分地可从处理器104.1移除。程序存储器104.3可以例如是非易失性存储器。仅举几个例子,程序存储器可以例如是:闪存;ROM、PROM、EPROM和EEPROM存储器中的任何一个;或硬盘。程序存储器104.3还可以包括用于处理器104.1的操作系统。主存储器104.2可以例如是易失性存储器。仅举几个非限制性示例,工作存储器可以例如是RAM或DRAM存储器。在执行操作系统和/或程序时,主存储器可以例如用作用于处理器104.1的工作存储器。
数据存储器104.4可以被配置为保持数据(诸如与例如在节点104与伙伴节点190之间处理的应用相关的(数据存储器104B中的)应用数据)可用。数据存储器104.4可以进一步被配置为保持表示一个或多个智能合约的数据和/或表示一个或多个对应的触发条件的数据可用。由此,表示智能合约的数据在本披露内容的上下文中可以对应于表示例如实施智能合约的规则的软件代码和/或促使智能合约引起基于对应的触发条件执行交易的软件代码的数据。
节点104可以包括数据存储器104.4和/或可以连接到数据存储器104.4。数据存储器104可以形成图1A所示的存储器110的一部分。换言之,在示例性实施例中,节点104包括(在分布式账本存储器部分104.4A中)存储分布式账本的至少一部分、特别是完整副本的数据存储器104.4。应注意的是,图1A的对等网络100的各个节点101、102和103(以及未在图1A中示出的对等网络100的潜在其他节点)可以分别包括存储分布式账本的至少一部分、特别是完整副本的对应数据存储器。应注意的是,可能不需要对等网络100的相应节点存储分布式账本的完整副本。在示例性实施例中,对等网络的节点的子组可以存储分布式账本的相应部分,该相应部分可以与由属于该子组的对等网络100的相应节点处理的一个或多个应用相关。
如图14中示例性展示的,并且如在图9a至图9e的上下文中详细讨论的,图1A中所示的数据块111、112、113、114可以对应于由图1A所示的对等网络100的节点101和104处理的应用处理(例如,交易)。由于只有对等网络100的节点101和104参与该交易,因此对应的数据块111、112、113、114可以存储在例如被节点101和104包括或连接到这些节点的相应本地存储装置(相应数据存储器的数据存储器部分)101.4和104.4上。进一步地,如图14中示例性指示的,对应于相应数据块的相应散列值和/或标识相应散列值的散列索引#1、#2、#3、#4被存储在被对等网络100的至少一些节点(在示例性实施例中为该对等网络的全部节点)包括或连接到这些节点的相应存储装置101.4、102.4、103.4和104.4上(的相应分布式账本存储器部分中),在示例性实施例中从而形成分布式账本。换言之,在示例性实施例中,该分布式账本包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于该分布式账本与在该对等网络的一个或多个节点的或连接到该一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。
返回参考图13,处理器104.1进一步控制被配置为接收和/或发送信息的一个或多个通信接口104.6。例如,节点104可以被配置为与对等网络100的节点101、102、103中的任一个节点和/或与图1A的伙伴节点190通信。该通信可以例如基于(例如,部分地)有线连接和/或(例如,部分地)无线连接。
处理器104.1进一步控制被配置为向节点104的用户呈现信息和/或从这样的用户接收信息的用户接口104.5。用户接口104.5可以例如是用户借此可以控制固定或便携式个人计算机、服务器、服务器系统和/或移动装置的用户接口。
节点104的部件104.2至104.6可以例如借助于一条或多条串行和/或并行总线与处理器104.1连接。
如图13进一步所示,处理器104.1可以进一步包括预处理器104.7、应用处理器104.8和后处理器104.9,该预处理器被配置为在图5的步骤502中从消息摄取API 152.1接收与应用相关的消息。处理器104.1可以包括采用相应的功能和/或结构单元形式的预处理器104.7、应用处理器104.8和后处理器104.9中的任一者。预处理器104.7、应用处理器104.8和后处理器104.9中的任一者都可以进一步以被实施为可执行代码的相应软件模块和/或功能的形式被实施,该可执行代码被配置用于在对等网络100的一个或多个节点处实施相应的功能。
因此,在已经接收到与在伙伴节点190与对等网络100的节点104之间处理的应用相关的消息之后,预处理器104.7特别地被配置为从接收到的消息的有效载荷中提取分散式标识符,并基于提取出的分散式标识符从伙伴发现器123取得伙伴信息以验证存在于消息有效载荷中的伙伴信息。预处理器104.7进一步被配置为基于提取的分散式标识符(即,定义伙伴节点190的访问权限和/或读/写许可的信息)来获得伙伴节点190的伙伴角色。
在已经从伙伴发现器123取得并验证伙伴信息之后,预处理器104.7然后将消息传递到应用处理器104.8。在示例性实施例中,应用处理器104.8可以是基于要在伙伴节点190与对等网络100的节点104之间处理的一个或多个应用而定制的定制模块。基于在接收到的消息中提及的特定应用,应用处理器104.8处理该消息,并且在处理成功之后将该消息传递到后处理器104.9以供进一步处理。
后处理器被配置为从伙伴发现器123取得伙伴节点190的地址(例如,伙伴响应服务地址)。后处理器进一步被配置为例如在节点104的本地存储设备(例如,数据存储器104.4)处存储指示消息处理成功的信息。例如,在示例性实施例中,后处理器被配置用于生成和/或更新可验证凭证,该可验证凭证可以包括例如对等网络100的节点104的分散式标识符、伙伴节点190的分散式标识符、包括凭证语句和密码学证明的有效载荷,这些可以确保可验证凭证(VC)的完整性。特别地,后处理器可以通过附带消息的VC Id并通过将VC存储到节点104的本地存储设备来创建或更新可验证凭证。
为了通知伙伴节点190关于在步骤201中接收到的消息和/或从伙伴节点190接收到的不同消息所涉及的应用状态,后处理器104.9基于伙伴节点190的分散式标识符从伙伴发现器123取得与伙伴节点190相关的端点。然后,后处理器104.9可以将响应消息有效载荷与可验证凭证进行组合,并且可以用节点104的私钥对可验证凭证进行签名。然后,后处理器104.9可以将与带签名的可验证凭证组合的消息发布到伙伴节点190的端点。
在本文第一方面的上下文中披露的伙伴节点410的登入处理(其可以包括:向伙伴节点410部署SDK以实现分布式账本系统1000的节点104与分布式账本系统外部的伙伴节点190之间的应用处理;基于伙伴节点104的分散式标识符在节点104与伙伴节点190之间进行基于数字孪生的机器对机器配对;在节点104与伙伴节点190之间建立公钥和私钥,这些密钥被保护在分布式账本系统1000的存储器110的安全化部分140中;至少基于伙伴节点190的分散式标识符的一部分建立散列值;以及向伙伴节点190分配伙伴角色)使得能够在分布式账本系统1000的节点与不包括在分布式账本系统1000中的节点(特别是与不同分布式账本系统的节点部分)之间进行数据通信。
虽然与分布式账本系统通信的节点(诸如伙伴节点190)可以特别地对应于固定或便携式个人计算机、服务器和/或服务器系统,但是在示例性实施例中,伙伴节点190(作为外部设备的示例)对应于移动装置或是移动装置的一部分。在这种情况下,SDK 151对应于针对移动装置设计的客户端SDK。在示例性实施例中,移动装置包括对应于分布式账本系统1000的节点的瘦客户端,其中,瘦客户端特别地包括索引器121和/或伙伴发现器123。
换言之,与伙伴节点仍然作为其自身系统(诸如非分布式账本系统)的节点的情况相比,在示例性实施例中,瘦客户端使得移动装置能够成为分布式账本系统1000的节点。例如,在示例性实施例中,瘦客户端使得移动装置能够被配置用于生成散列值和/或散列索引,以便与对应的数据块相关联地存储在分布式账本系统1000的存储器110中。由此,在示例性实施例中,对应的数据块存储在移动装置可访问的云存储设备中。
图15示出了基于本文披露的各方面和实施例能够在其与分布式账本系统1000之间进行通信的示例性节点和/或节点系统。图15示意性地展示了分布式账本系统1000,该分布式账本系统被示意性地展示为具有各个层1000.1、1000.2、1000.3和1000.4,这些层使得能够在分布式账本系统1000与不同节点和/或节点系统之间进行数据通信。这些不同的层示意性地展示了由分布式账本系统1000实施的多协议区块链层。特别地,该多协议区块链层在示例性实施例中实施以太坊、Quorum、Corda和多链协议。分布式账本系统1000的特定构造/设计允许根据需要与例如基于智能合约的其他分布式账本网络进行通信。分布式账本系统1000的特定构造/设计进一步允许与不基于分布式账本技术(DLT)的网络进行通信。
如本文进一步披露的分散式标识符(特别是DID)使得非DLT端点与分布式账本系统1000之间的通信能够可靠地安全化。虽然分散式标识符(例如,DID)可以是公共地址,但是分布式账本系统1000的存储器110的安全化部分140(例如,HashiCorb库)中可以基于分散式标识符、特别是DID来存储散列值,并因此确保可以与非DLT伙伴(例如,伙伴节点190)共享公钥。
图12进一步示出了另一分布式账本系统1000A,该分布式账本系统在结构和协议上可以对应于分布式账本系统1000,并且可以例如针对与分布式账本系统1000的所有者不同的所有者进行部署。系统1000B可以例如对应于Hyperledger Fabric(HLF)系统,系统1000C可以例如对应于非区块链系统(例如,对应于软件即服务(SAAS)系统、平台即服务(PAAS)系统和/或基础设施即服务(SAAS)系统),并且节点1000D可以对应于可以将数据存储在基于云的数据存储设备1100D中的移动装置。
如图15所示,分布式账本系统1000的端点可以基于不同的方法来访问。分布式账本系统1000可以由诸如与分布式账本系统1000共享结构和协议的分布式账本系统1000A等系统来访问,或者由诸如HLF系统1000B等不同的分布式账本系统来访问。如果访问分布式账本系统1000的端点(和/或对应的节点)是HLF端点(节点),则在分布式账本系统1000处激活HLF协议。如果访问分布式账本系统1000的端点是Quorum或Corda端点,则分别激活Quorum协议或Corda协议。
如果访问分布式账本系统1000的端点和/或节点是非DLT端点/节点,诸如系统1000C的节点,则对应的节点(例如,连接到SAP HANA系统的节点)可以经由互联网(例如,HTTPS)连接和/或本地部署连接而连接到分布式账本系统1000。在这种情况下,节点可以具有专用的分散式标识符,例如,特定的DID。在这种情况下,分布式账本系统1000接管主服务器(MoS)的角色。在这种情况下,使得去往/来自分布式账本系统1000的相应消息(其可以由非DLT系统和/或非区块链系统访问,例如,由SAP HANA访问)可基于分散式标识符(例如,基于DID的访问、使用特定QR码的加密散列值共享和/或用于对等的对等数据服务(PDS))来访问,以验证不变性。在分布式账本系统中可以使数据不变,而非DLT系统和/或非区块链系统(例如,SAP HANA系统)则起到数据发送者或接收者的角色。相应数据的任何变化都被传送到非DLT系统和/或非区块链系统(例如,SAP HANA系统),该非DLT系统和/或非区块链系统(例如,SAP HANA系统)被要求在可以在分布式账本系统处创建对应数据块之前提供共识。
在示例性实施例中,分布式账本系统可以特别地与在移动装置上提供的应用(例如,小程序/Android)通信。为此,小程序/Android可以基于该小程序/Android和/或移动装置的分散式标识符与分布式账本系统1000的应用层通信。分布式账本系统可以托管散列值和应用数据以确认不变性。可替代地或另外,小程序/Android被配置为节点,该节点被配置为与分布式账本系统1000交互以实现数据通信和不变性。例如,用户可以下载对应的小程序/Android来实施节点,选择连接到云服务(诸如图15所示的云系统1450)以进行本地数据存储。用户在这样的小程序上的动作(例如,预订动作)将被自动传送到分布式账本系统1000。
还披露了以下示例实施例:
实施例1
一种由至少一个设备(101,101.1,102,103,104)执行的方法,其中,所述至少一个设备(101,101.1,102,103,104)是包括至少两个节点(101,102,103,104)的对等网络(100)的至少一个节点(101,102,103,104)的一部分或对应于所述至少一个节点,其中,所述对等网络(100)的节点(101,102,103,104)中的相应节点存储分布式账本的至少一部分;所述方法包括:
-从至少一个外部设备(190)接收(201)或促使接收连接建立消息,或向所述至少一个外部设备(190)传输或促使传输所述连接建立消息;
-基于所述连接建立消息获得(203)或促使获得表示所述外部设备(190)的分散式标识符;
-获得(205)或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将所述至少一个散列值与所述分散式标识符的至少一部分相关联地存储(207)或促使存储在包括所述对等网络(100)的分布式账本系统(1000)的存储器(110)的安全化部分(140)中,所述方法进一步包括:
-向所述外部设备(190)分配(401)或促使分配定义所述外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将设置所述至少一个伙伴角色的信息与所述分散式标识符的至少一部分相关联地存储(403)或促使存储在所述分布式账本系统(1000)的存储器的安全化部分中。
实施例2
根据实施例1所述的方法,其中,所述分散式标识符与分散式标识符文档相关联,所述方法进一步包括:
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在所述分散式标识符文档中的至少一个对应公钥来获得或促使获得所述至少一个散列值。
实施例3
根据实施例1或2中任一项所述的方法,进一步包括:
-向所述外部设备(190)分配或促使分配至少一对公钥和私钥;
-将所述公钥提供或促使提供给所述外部设备(190);以及
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,至少将所述私钥与所述分散式标识符的至少一部分相关联地存储或促使存储在所述分布式账本的所述存储器的所述安全化部分中。
实施例4
根据实施例1至3中任一项所述的方法,进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的所述至少一个散列值特别地与所述分散式标识符相关联地提供或促使提供给所述外部设备(190)。
实施例5
根据实施例1至4中任一项所述的方法,进一步包括:
-特别地基于所述分散式标识符,在所述外部设备(190)与所述对等网络(100)的至少一个节点(101,102,103,104)之间建立或促使建立基于数字孪生的机器对机器配对。
实施例6
根据实施例1至5中任一项所述的方法,进一步包括
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定所述触发信息的所述至少一个元素是否对应于所述智能合约的现有触发条件,其中,现有触发条件适于引起基于所述智能合约要执行的对应交易;
-如果确定所述触发信息的至少一个元素与所述智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于所述智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
实施例7
一种由至少一个设备执行的方法,其中,所述至少一个设备是包括形成分布式账本系统的至少一部分的至少两个节点的对等网络的至少一个节点的一部分或对应于所述至少一个节点,其中,所述对等网络的节点中的相应节点存储分布式账本的至少一部分;所述方法包括:
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定所述触发信息的所述至少一个元素是否对应于所述智能合约的现有触发条件,其中,现有触发条件适于引起基于所述智能合约要执行的对应交易;
-如果确定所述触发信息的至少一个元素与所述智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于所述智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
实施例8
根据实施例6或7中任一项所述的方法,其中,所述软件模块实施基于至少一个现有触发条件、结合与所述至少一个现有触发条件相对应的交易而训练的模型。
实施例9
根据实施例6至8中任一项所述的方法,其中,所述触发信息的至少一个元素对应于以下各项中的至少一项:
-要装运的至少一种产品的原产地和/或目的地;
-所述要装运的至少一种产品的至少一种运输模式;
-所述要装运的至少一种产品的数量,特别是每运输单元所述要装运的至少一种产品的数量;
-基于所述原产地和/或所述目的地的管辖区的至少一种运输限制;
-产品的类型和/或类别;
-与所述至少一种产品相关的危险品信息;
-与寄件人、托运人和/或收件人相关的信息;
-与所述至少一种产品的所述原产地、至少一个中间地点和/或所述目的地相关的国家信息。
实施例10
根据实施例6至9中任一项所述的方法,其中,所述触发信息是从至少一个外部设备或从所述对等网络的至少一个节点接收的。
实施例11
根据实施例6至10中任一项所述的方法,其中,执行与所述现有触发条件相对应的交易和/或执行所确定的交易是基于在所述对等网络的至少一组节点中的至少一个节点处和/或在所述至少一个外部设备处执行的共识处理进行的。
实施例12
根据实施例6至11中任一项所述的方法,其中,执行与所述现有触发条件相对应的交易或执行所确定的交易包括以下各项中的至少一项:
-生成或促使生成交易信息;
-特别地向所述外部设备传输或促使传输交易信息。
实施例13
根据实施例6至12中任一项所述的方法,进一步包括:
-接收或促使接收回应从所述至少一个外部设备接收到所述交易信息的回应信息,其中,所述回应信息是至少基于以下各项之一接收的:消息散列信息、标识所述至少一个外部设备的分散式标识符、和/或对应于或包括所述至少一个设备的所述至少一个节点。
实施例14
根据实施例13所述的方法,进一步包括:
-向至少一个外部设备传输或促使传输确认回应信息的确认信息,所述确认信息包括快速响应QR码,所述快速响应QR码被配置用于使得所述外部设备能够访问基于所获得的触发信息而生成的交易信息。
实施例15
根据实施例12至14中任一项所述的方法,其中,所述交易信息包括用于为所述要装运的至少一种产品生成至少一种运输标签的装运、运输或标签信息。
实施例16
根据实施例15所述的方法,进一步包括以下各项中的至少一项:
-生成或促使生成、特别是自动生成所述运输标签;
-传输或促使传输用于生成所述至少一种运输标签的所述标签信息。
实施例17
根据实施例6至16中任一项所述的方法,其中,实施所述训练模型的软件模块被存储为所述分布式账本的一部分。
实施例18
根据实施例6至17中任一项所述的方法,其中,所述智能合约被存储为所述分布式账本的一部分。
实施例19
根据实施例6至18中任一项所述的方法,其中,所述方法包括从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息,并且其中,从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息包括:
-从所述至少一个外部设备或从所述对等网络的所述节点接收或促使接收消息;以及
-基于以下各项中的至少一项,从接收到的消息中得出或促使得出触发信息:
-与接收到的消息相关的消息散列信息;
-至少一个外部设备的分散式标识符;
-与接收到的消息相关的至少一个可验证凭证。
实施例20
根据实施例6至19中任一项所述的方法,其中,所述方法包括从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息,并且其中,从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息包括:
-从所述至少一个外部设备或从所述对等网络的所述节点接收或促使接收消息;以及
-将表示整个消息的数据存储或促使存储在分配给所述至少一个节点的数据存储器中;
-促使将消息散列信息与接收到的整个消息相关联地存储为所述分布式账本的一部分;以及
-基于以下各项中的至少一项,从接收到的消息中得出或促使得出触发信息:
-与接收到的消息相关的消息散列信息;
-至少一个外部设备的分散式标识符;
-与接收到的消息相关的至少一个可验证凭证。
实施例21
根据实施例20所述的方法,其中,所述接收到的消息的文件大小超过350KB。
实施例22
根据实施例6至21中任一项所述的方法,进一步包括:
-从所述至少一个外部设备接收或促使接收连接建立消息,或向所述至少一个外部设备传输或促使传输所述连接建立消息;
-基于所述连接建立消息获得或促使获得表示所述外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及所述对等网络的节点的至少一个子组和/或所述至少一个外部设备的共识处理,将所述至少一个散列值与所述分散式标识符的至少一部分相关联地存储或促使存储在包括所述对等网络的分布式账本系统的存储器的安全化部分中。
实施例23
根据实施例6至22中任一项所述的方法,其中,合约散列信息与所述智能合约和/或与对应的一个或多个现有触发条件相关联地存储为所述分布式账本的一部分。
实施例24
根据实施例23所述的方法,其中,所述智能合约和/或对应的一个或多个现有触发条件至少被存储为至少一个合约数据块的一部分,其中,所述合约散列信息与所述至少一个合约数据块相关联地存储为所述分布式账本的一部分。
实施例25
根据实施例23至24中任一项所述的方法,进一步包括:
-将与所获得的触发信息的至少一个元素相对应的新触发条件与所述智能合约和/或所述一个或多个现有触发条件相关联地至少存储或促使存储为新的合约数据块的一部分;以及
-基于在所述对等网络的至少一组节点中的至少一个节点处和/或在所述至少一个外部设备处执行的共识处理,将新的合约散列信息与所述新触发条件、所述智能合约和/或所述一个或多个现有触发条件相关联地存储或促使存储为所述分布式账本的一部分。
实施例26
根据实施例23至25中任一项所述的方法,其中,所述智能合约、所述对应的一个或多个现有触发条件和所述新触发条件至少被存储为至少一个新的合约数据块的一部分,其中,所述新的合约散列信息与所述至少一个新的合约数据块相关联地存储为所述分布式账本的一部分。
实施例27
根据实施例23至26中任一项所述的方法,其中,关系信息被保持为可由所述分布式账本系统的索引器访问和/或管理,所述关系信息将所述至少一个合约数据块与所述合约散列信息相关联,其中,将所述新的合约散列信息与所述新触发条件、所述智能合约和/或所述一个或多个现有触发条件相关联地存储包括:
-促使所述分布式账本系统的索引器将使所述至少一个合约数据块与所述合约散列信息相关联的关系信息替换为使所述新的合约散列信息与所述新触发条件、所述智能合约和/或所述一个或多个现有触发条件相关联的新关系信息。
实施例28
根据实施例6至27中任一项所述的方法,进一步包括:
-如果确定所述触发信息的至少一个元素对应于所述智能合约的现有触发条件,则:
-执行或促使执行与所述现有触发条件相对应的交易。
实施例29
根据实施例27至28中任一项所述的方法,其中,所述索引器(121)对应于作为可执行代码在所述对等网络的至少一个节点(101,102,103,104)和/或一个或多个其他节点(101,102,103,104)处被实施并被配置用于控制所述索引器(121)的功能的模块和/或功能。
实施例30
根据实施例1至29中任一项所述的方法,其中,所述分布式账本对应于或包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于所述分布式账本与在所述对等网络(100)的一个或多个节点(101,102,103,104)的或连接到所述一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。
实施例31
根据实施例1至30中任一项所述的方法,其中,所述方法由所述分布式账本系统(1000)执行。
实施例32
根据实施例27至31中任一项所述的方法,其中,所述分布式账本系统(1000)包括所述索引器(121),所述索引器被配置为通过独立于不同的数据块和/或不同的子块而基于所述分布式账本的相应数据块和/或基于所述分布式账本的相应子块应用散列函数,将对应的散列信息至少分配给所述数据块和/或所述子块的一部分。
实施例33
根据实施例27至32中任一项所述的方法,其中,与一组数据块相关联的散列索引和/或散列值之间的相应关系被存储为可由所述索引器(121)访问和/或管理。
实施例34
根据实施例1至33中任一项所述的方法,其中,所述分散式标识符与分散式标识符文档相关联,所述方法进一步包括:
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在所述分散式标识符文档中的至少一个对应公钥来获得或促使获得所述至少一个散列值。
实施例35
根据实施例1至34中任一项所述的方法,进一步包括:
-向所述外部设备(190)分配或促使分配至少一对公钥和私钥;
-将所述公钥提供或促使提供给所述外部设备(190);以及
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,至少将所述私钥与所述分散式标识符的至少一部分相关联地存储或促使存储在所述分布式账本的所述存储器的所述安全化部分中。
实施例36
根据实施例1至35中任一项所述的方法,进一步包括:
-向所述外部设备(190)分配或促使分配定义所述外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将设置所述至少一个伙伴角色的信息与所述分散式标识符的至少一部分相关联地存储或促使存储在所述分布式账本系统(1000)的所述存储器的所述安全化部分中。
实施例37
根据实施例36所述的方法,其中,执行所述共识处理的所述对等网络(100)的这组节点(101,102,103,104)特别地是基于传输包括修改请求信息的消息的节点(101,102,103,104)的伙伴角色和/或基于与传输包括所述修改请求信息的所述消息的所述节点(101,102,103,104)相关联的分散式标识符来定义的。
实施例38
根据实施例7至37中任一项所述的方法,进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的所述至少一个散列值特别地与所述分散式标识符相关联地提供或促使提供给所述外部设备(190)。
实施例39
根据实施例7至39中任一项所述的方法,进一步包括:
-特别地基于所述分散式标识符,在所述外部设备(190)与所述对等网络(100)的至少一个节点(101,102,103,104)之间建立或促使建立基于数字孪生的机器对机器配对。
实施例40
一种分布式账本系统(1000),包括:
-对等网络(100)的至少两个节点(101,102,103,104),其中,所述对等网络(100)的节点(101,102,103,104)中的相应节点存储分布式账本的至少一部分;
-软件开发套件和/或应用程序编程接口,所述软件开发套件和/或应用程序编程接口被配置用于使得能够在所述对等网络(100)的节点(101,102,103,104)中的至少一个节点与外部设备(190)之间传送连接建立消息;
-分散式标识符获取器,所述分散式标识符获取器被配置用于基于所述连接建立消息来获得表示所述外部设备(190)的分散式标识符;
-散列值获取器,所述散列值获取器被配置用于获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-共识控制器,所述共识控制器被配置用于基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,控制将所述至少一个散列值与所述分散式标识符的至少一部分相关联地存储在所述分布式账本系统(1000)的存储器的安全化部分中;其中,所述对等网络(100)的至少两个节点(101,102,103,104)中的一个节点(104)被配置用于向所述外部设备(190)提供基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-伙伴发现器(123),所述伙伴发现器被配置用于向所述外部设备(190)分配(401)或促使分配定义所述外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-所述伙伴发现器(123)进一步被配置用于基于涉及对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将设置所述至少一个伙伴角色的信息与所述分散式标识符的至少一部分相关联地存储(403)或促使存储在所述分布式账本系统(1000)的所述存储器的所述安全化部分中。
实施例41
根据实施例40所述的分布式账本系统(1000),进一步包括所述外部设备(190);其中,所述外部设备(190)对应于移动装置或包括在移动装置中,所述移动装置包括:
-瘦客户端,所述瘦客户端使得所述移动装置能够执行所述分布式账本系统(1000)的节点的功能。
实施例42
一种分布式账本系统,包括具有节点的对等网络,其中,相应节点被配置为至少存储分布式账本的对应一部分;所述系统包括至少一个设备,所述至少一个设备是所述对等网络的至少一个节点的一部分或对应于所述至少一个节点并且被配置为:
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定所述触发信息的所述至少一个元素是否对应于所述智能合约的现有触发条件,其中,现有触发条件适于引起基于所述智能合约要执行的对应交易;
-如果确定所述触发信息的至少一个元素与所述智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于所述智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
实施例43
根据实施例42所述的分布式账本系统,进一步包括实施所述训练模型的所述软件模块。
实施例44
一种设备,包括用于执行根据实施例1至6中任一项所述的方法的装置。
实施例45
一种设备,包括用于执行根据实施例7至39中任一项所述的方法的装置。
实施例46
一种设备,包括至少一个处理器以及包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器以使所述设备执行根据实施例1至6中任一项所述的方法的步骤。
实施例47
根据实施例46所述的设备,其中,所述设备是包括至少两个节点(101,102,103,104)的对等网络(100)的至少一个节点的一部分或对应于所述至少一个节点,其中,所述对等网络(100)的节点(101,102,103,104)中的相应节点存储分布式账本的至少一部分。
实施例48
一种设备,包括至少一个处理器以及包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器以使所述设备执行根据实施例7至39中任一项所述的方法的步骤。
实施例49
根据实施例48所述的设备,其中,所述至少一个设备是包括形成分布式账本系统(1000)的至少一部分的至少两个节点(101,102,103,104)的对等网络(100)的至少一个节点的一部分或对应于所述至少一个节点,其中,相应节点至少将分布式账本的对应一部分存储在分配给所述相应节点的分布式账本存储器部分中。
实施例50
一种计算机程序代码,所述计算机程序代码在由处理器执行时使设备执行根据实施例1至6中任一项所述的方法。
实施例51
一种计算机程序代码,所述计算机程序代码在由处理器执行时使设备执行根据实施例7至38中任一项所述的方法。
实施例52
一种非暂态计算机可读存储介质,其中存储有计算机程序代码,所述计算机程序代码在由处理器执行时使至少一个设备执行根据实施例1至6中任一项所述的方法的步骤。
实施例53
一种非暂态计算机可读存储介质,其中存储有计算机程序代码,所述计算机程序代码在由处理器执行时使至少一个设备执行根据实施例7至38中任一项所述的方法的步骤。
将以所涉及的部件被操作地耦接的方式理解所描述的实施例中的任何呈现的连接。因此,这些连接可以是与任何数目的中间元件或中间元件的组合的直接或间接连接,并且在部件之间可能仅有功能性关系。
将理解的是,所有呈现的实施例仅是示例性的,并且针对特定示例性实施例呈现的任何特征可以与本披露内容的任何方面本身或结合针对同一个或另一个特定示例性实施例呈现的任何特征和/或结合未提到的任何其他特征一起使用。将进一步理解的是,针对特定类别的示例实施例所呈现的任何特征还可以以任何其他类别的示例实施例中的对应方式使用。

Claims (53)

1.一种由至少一个设备(101,101.1,102,103,104)执行的方法,其中,所述至少一个设备(101,101.1,102,103,104)是包括至少两个节点(101,102,103,104)的对等网络(100)的至少一个节点(101,102,103,104)的一部分或对应于所述至少一个节点,其中,所述对等网络(100)的节点(101,102,103,104)中的相应节点存储分布式账本的至少一部分;所述方法包括:
-从至少一个外部设备(190)接收(201)或促使接收连接建立消息,或向所述至少一个外部设备(190)传输或促使传输所述连接建立消息;
-基于所述连接建立消息,获得(203)或促使获得表示所述外部设备(190)的分散式标识符;
-获得(205)或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将所述至少一个散列值与所述分散式标识符的至少一部分相关联地存储(207)或促使存储在包括所述对等网络(100)的分布式账本系统(1000)的存储器(110)的安全化部分(140)中,所述方法进一步包括:
-向所述外部设备(190)分配(401)或促使分配定义所述外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将设置所述至少一个伙伴角色的信息与所述分散式标识符的至少一部分相关联地存储(403)或促使存储在所述分布式账本系统(1000)的所述存储器的所述安全化部分中。
2.根据权利要求1所述的方法,其中,所述分散式标识符与分散式标识符文档相关联,所述方法进一步包括:
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在所述分散式标识符文档中的至少一个对应公钥,来获得或促使获得所述至少一个散列值。
3.根据权利要求1或2中任一项所述的方法,进一步包括:
-向所述外部设备(190)分配或促使分配至少一对公钥和私钥;
-将所述公钥提供或促使提供给所述外部设备(190);以及
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,至少将所述私钥与所述分散式标识符的至少一部分相关联地存储或促使存储在所述分布式账本的所述存储器的所述安全化部分中。
4.根据权利要求1至3中任一项所述的方法,进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的所述至少一个散列值特别地与所述分散式标识符相关联地提供或促使提供给所述外部设备(190)。
5.根据权利要求1至4中任一项所述的方法,进一步包括:
-特别地基于所述分散式标识符,在所述外部设备(190)与所述对等网络(100)的至少一个节点(101,102,103,104)之间建立或促使建立基于数字孪生的机器对机器配对。
6.根据权利要求1至5中任一项所述的方法,进一步包括
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定所述触发信息的所述至少一个元素是否对应于所述智能合约的现有触发条件,其中,现有触发条件适于引起基于所述智能合约要执行的对应交易;
-如果确定所述触发信息的至少一个元素与所述智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于所述智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
7.一种由至少一个设备执行的方法,其中,所述至少一个设备是包括形成分布式账本系统的至少一部分的至少两个节点的对等网络的至少一个节点的一部分或对应于所述至少一个节点,其中,所述对等网络的节点中的相应节点存储分布式账本的至少一部分;所述方法包括:
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定所述触发信息的所述至少一个元素是否对应于所述智能合约的现有触发条件,其中,现有触发条件适于引起基于所述智能合约要执行的对应交易;
-如果确定所述触发信息的至少一个元素与所述智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于所述智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
8.根据权利要求6或7中任一项所述的方法,其中,所述软件模块实施基于至少一个现有触发条件、结合与所述至少一个现有触发条件相对应的交易而训练的模型。
9.根据权利要求6至8中任一项所述的方法,其中,所述触发信息的至少一个元素对应于以下各项中的至少一项:
-要装运的至少一种产品的原产地和/或目的地;
-所述要装运的至少一种产品的至少一种运输模式;
-所述要装运的至少一种产品的数量,特别是每运输单元所述要装运的至少一种产品的数量;
-基于所述原产地和/或所述目的地的管辖区的至少一种运输限制;
-产品的类型和/或类别;
-与所述至少一种产品相关的危险品信息;
-与寄件人、托运人和/或收件人相关的信息;
-与所述至少一种产品的所述原产地、至少一个中间地点和/或所述目的地相关的国家信息。
10.根据权利要求6至9中任一项所述的方法,其中,所述触发信息是从至少一个外部设备或从所述对等网络的至少一个节点接收的。
11.根据权利要求6至10中任一项所述的方法,其中,执行与所述现有触发条件相对应的交易和/或执行所确定的交易是基于在所述对等网络的至少一组节点中的至少一个节点处和/或在所述至少一个外部设备处执行的共识处理进行的。
12.根据权利要求6至11中任一项所述的方法,其中,执行与所述现有触发条件相对应的交易或执行所确定的交易包括以下各项中的至少一项:
-生成或促使生成交易信息;
-特别地向所述外部设备传输或促使传输交易信息。
13.根据权利要求6至12中任一项所述的方法,进一步包括:
-接收或促使接收回应从所述至少一个外部设备接收到所述交易信息的回应信息,其中,所述回应信息是至少基于以下各项之一接收的:消息散列信息、标识所述至少一个外部设备的分散式标识符、和/或对应于或包括所述至少一个设备的所述至少一个节点。
14.根据权利要求13所述的方法,进一步包括:
-向所述至少一个外部设备传输或促使传输确认所述回应信息的确认信息,所述确认信息包括快速响应QR码,所述快速响应QR码被配置用于使得所述外部设备能够访问基于所获得的触发信息而生成的所述交易信息。
15.根据权利要求12至14中任一项所述的方法,其中,所述交易信息包括用于为所述要装运的至少一种产品生成至少一种运输标签的装运、运输或标签信息。
16.根据权利要求15所述的方法,进一步包括以下各项中的至少一项:
-生成或促使生成、特别是自动生成所述运输标签;
-传输或促使传输用于生成所述至少一种运输标签的所述标签信息。
17.根据权利要求6至16中任一项所述的方法,其中,实施所述训练模型的所述软件模块被存储为所述分布式账本的一部分。
18.根据权利要求6至17中任一项所述的方法,其中,所述智能合约被存储为所述分布式账本的一部分。
19.根据权利要求6至18中任一项所述的方法,其中,所述方法包括从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息,并且其中,从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息包括:
-从所述至少一个外部设备或从所述对等网络的所述节点接收或促使接收消息;以及
-基于以下各项中的至少一项,从接收到的消息中得出或促使得出所述触发信息:
-与所述接收到的消息相关的消息散列信息;
-所述至少一个外部设备的分散式标识符;
-与所述接收到的消息相关的至少一个可验证凭证。
20.根据权利要求6至19中任一项所述的方法,其中,所述方法包括从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息,并且其中,从所述至少一个外部设备或从所述对等网络的节点接收所述触发信息包括:
-从所述至少一个外部设备或从所述对等网络的所述节点接收或促使接收消息;以及
-将表示整个消息的数据存储或促使存储在分配给所述至少一个节点的数据存储器中;
-促使将消息散列信息与接收到的整个消息相关联地存储为所述分布式账本的一部分;以及
-基于以下各项中的至少一项,从接收到的消息中得出或促使得出所述触发信息:
-与所述接收到的消息相关的消息散列信息;
-所述至少一个外部设备的分散式标识符;
-与所述接收到的消息相关的至少一个可验证凭证。
21.根据权利要求20所述的方法,其中,所述接收到的消息的文件大小超过350KB。
22.根据权利要求6至21中任一项所述的方法,进一步包括:
-从所述至少一个外部设备接收或促使接收连接建立消息,或向所述至少一个外部设备传输或促使传输所述连接建立消息;
-基于所述连接建立消息,获得或促使获得表示所述外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及所述对等网络的节点的至少一个子组和/或所述至少一个外部设备的共识处理,将所述至少一个散列值与所述分散式标识符的至少一部分相关联地存储或促使存储在包括所述对等网络的分布式账本系统的存储器的安全化部分中。
23.根据权利要求6至22中任一项所述的方法,其中,合约散列信息与所述智能合约和/或与对应的一个或多个现有触发条件相关联地存储为所述分布式账本的一部分。
24.根据权利要求23所述的方法,其中,所述智能合约和/或对应的一个或多个现有触发条件至少被存储为至少一个合约数据块的一部分,其中,所述合约散列信息与所述至少一个合约数据块相关联地存储为所述分布式账本的一部分。
25.根据权利要求23至24中任一项所述的方法,进一步包括:
-将与所获得的触发信息的至少一个元素相对应的新触发条件与所述智能合约和/或所述一个或多个现有触发条件相关联地至少存储或促使存储为新的合约数据块的一部分;以及
-基于在所述对等网络的至少一组节点中的至少一个节点处和/或在所述至少一个外部设备处执行的共识处理,将新的合约散列信息与所述新触发条件、所述智能合约和/或所述一个或多个现有触发条件相关联地存储或促使存储为所述分布式账本的一部分。
26.根据权利要求23至25中任一项所述的方法,其中,所述智能合约、所述对应的一个或多个现有触发条件和所述新触发条件至少被存储为至少一个新的合约数据块的一部分,其中,所述新的合约散列信息与所述至少一个新的合约数据块相关联地存储为所述分布式账本的一部分。
27.根据权利要求23至26中任一项所述的方法,其中,关系信息被保持为可由所述分布式账本系统的索引器访问和/或管理,所述关系信息将所述至少一个合约数据块与所述合约散列信息相关联,其中,将所述新的合约散列信息与所述新触发条件、所述智能合约和/或所述一个或多个现有触发条件相关联地存储包括:
-促使所述分布式账本系统的所述索引器将使所述至少一个合约数据块与所述合约散列信息相关联的所述关系信息替换为使所述新的合约散列信息与所述新触发条件、所述智能合约和/或所述一个或多个现有触发条件相关联的新关系信息。
28.根据权利要求6至27中任一项所述的方法,进一步包括:
-如果确定所述触发信息的至少一个元素对应于所述智能合约的现有触发条件,则:
-执行或促使执行与所述现有触发条件相对应的交易。
29.根据权利要求27至28中任一项所述的方法,其中,所述索引器(121)对应于模块和/或功能,所述模块和/或功能作为可执行代码在所述对等网络的所述至少一个节点(101,102,103,104)和/或一个或多个其他节点(101,102,103,104)处被实施并被配置用于控制所述索引器(121)的功能。
30.根据权利要求1至29中任一项所述的方法,其中,所述分布式账本对应于或包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于所述分布式账本与在所述对等网络(100)的一个或多个节点(101,102,103,104)的或连接到所述一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。
31.根据权利要求1至30中任一项所述的方法,其中,所述方法由所述分布式账本系统(1000)执行。
32.根据权利要求27至31中任一项所述的方法,其中,所述分布式账本系统(1000)包括所述索引器(121),所述索引器被配置为通过独立于不同的数据块和/或不同的子块而基于所述分布式账本的相应数据块和/或基于所述分布式账本的相应子块应用散列函数,将对应的散列信息至少分配给所述数据块和/或所述子块的一部分。
33.根据权利要求27至32中任一项所述的方法,其中,与一组数据块相关联的散列索引和/或散列值之间的相应关系被存储为可由所述索引器(121)访问和/或管理。
34.根据权利要求1至33中任一项所述的方法,其中,所述分散式标识符与分散式标识符文档相关联,所述方法进一步包括:
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在所述分散式标识符文档中的至少一个对应公钥,来获得或促使获得所述至少一个散列值。
35.根据权利要求1至34中任一项所述的方法,进一步包括:
-向所述外部设备(190)分配或促使分配至少一对公钥和私钥;
-将所述公钥提供或促使提供给所述外部设备(190);以及
-基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,至少将所述私钥与所述分散式标识符的至少一部分相关联地存储或促使存储在所述分布式账本的所述存储器的所述安全化部分中。
36.根据权利要求1至35中任一项所述的方法,进一步包括:
-向所述外部设备(190)分配或促使分配定义所述外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将设置所述至少一个伙伴角色的信息与所述分散式标识符的至少一部分相关联地存储或促使存储在所述分布式账本系统(1000)的所述存储器的所述安全化部分中。
37.根据权利要求36所述的方法,其中,特别地基于传输包括修改请求信息的消息的节点(101,102,103,104)的伙伴角色和/或基于与传输包括所述修改请求信息的所述消息的所述节点(101,102,103,104)相关联的分散式标识符,来定义执行所述共识处理的所述对等网络(100)的所述组节点(101,102,103,104)。
38.根据权利要求1至37中任一项所述的方法,进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的所述至少一个散列值特别地与所述分散式标识符相关联地提供或促使提供给所述外部设备(190)。
39.根据权利要求1至38中任一项所述的方法,进一步包括:
-特别地基于所述分散式标识符,在所述外部设备(190)与所述对等网络(100)的至少一个节点(101,102,103,104)之间建立或促使建立基于数字孪生的机器对机器配对。
40.一种分布式账本系统(1000),包括:
-对等网络(100)的至少两个节点(101,102,103,104),其中,所述对等网络(100)的节点(101,102,103,104)中的相应节点存储分布式账本的至少一部分;
-软件开发套件和/或应用程序编程接口,所述软件开发套件和/或应用程序编程接口被配置用于使得能够在所述对等网络(100)的节点(101,102,103,104)中的至少一个节点与外部设备(190)之间传送连接建立消息;
-分散式标识符获取器,所述分散式标识符获取器被配置用于基于所述连接建立消息来获得表示所述外部设备(190)的分散式标识符;
-散列值获取器,所述散列值获取器被配置用于获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-共识控制器,所述共识控制器被配置用于基于涉及所述对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,控制将所述至少一个散列值与所述分散式标识符的至少一部分相关联地存储在所述分布式账本系统(1000)的存储器的安全化部分中;
-伙伴发现器(123),所述伙伴发现器被配置用于向所述外部设备(190)分配(401)或促使分配定义所述外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-所述伙伴发现器(123)进一步被配置用于基于涉及对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将设置所述至少一个伙伴角色的信息与所述分散式标识符的至少一部分相关联地存储(403)或促使存储在所述分布式账本系统(1000)的所述存储器的所述安全化部分中。
41.根据权利要求40所述的分布式账本系统(1000),进一步包括所述外部设备(190);其中,所述外部设备(190)对应于移动装置或包括在移动装置中,所述移动装置包括:
-瘦客户端,所述瘦客户端使得所述移动装置能够执行所述分布式账本系统(1000)的节点的功能。
42.一种分布式账本系统,包括具有节点的对等网络,其中,相应节点被配置为至少存储分布式账本的对应一部分;所述系统包括至少一个设备,所述至少一个设备是所述对等网络的至少一个节点的一部分或对应于所述至少一个节点并且被配置为:
-获得或促使获得与智能合约相关的触发信息的至少一个元素;
-确定或促使确定所述触发信息的所述至少一个元素是否对应于所述智能合约的现有触发条件,其中,现有触发条件适于引起基于所述智能合约要执行的对应交易;
-如果确定所述触发信息的至少一个元素与所述智能合约的现有触发条件不对应,则:
-通过使用实施训练模型的软件模块来确定或促使确定基于所述智能合约要执行的交易;以及
-执行或促使执行所确定的交易。
43.根据权利要求42所述的分布式账本系统,进一步包括实施所述训练模型的所述软件模块。
44.一种设备,包括用于执行根据权利要求1至6中任一项所述的方法的装置。
45.一种设备,包括用于执行根据权利要求7至39中任一项所述的方法的装置。
46.一种设备,包括至少一个处理器以及包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器以使所述设备执行根据权利要求1至6中任一项所述的方法的步骤。
47.根据权利要求46所述的设备,其中,所述设备是包括至少两个节点(101,102,103,104)的对等网络(100)的至少一个节点的一部分或对应于所述至少一个节点,其中,所述对等网络(100)的节点(101,102,103,104)中的相应节点存储分布式账本的至少一部分。
48.一种设备,包括至少一个处理器以及包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器以使所述设备执行根据权利要求7至39中任一项所述的方法的步骤。
49.根据权利要求48所述的设备,其中,所述至少一个设备是包括形成分布式账本系统(1000)的至少一部分的至少两个节点(101,102,103,104)的对等网络(100)的至少一个节点的一部分或对应于所述至少一个节点,其中,相应节点至少将分布式账本的对应一部分存储在分配给所述相应节点的分布式账本存储器部分中。
50.一种计算机程序代码,所述计算机程序代码在由处理器执行时使设备执行根据权利要求1至6中任一项所述的方法。
51.一种计算机程序代码,所述计算机程序代码在由处理器执行时使设备执行根据权利要求7至38中任一项所述的方法。
52.一种非暂态计算机可读存储介质,其中存储有计算机程序代码,所述计算机程序代码在由处理器执行时使至少一个设备执行根据权利要求1至6中任一项所述的方法的步骤。
53.一种非暂态计算机可读存储介质,其中存储有计算机程序代码,所述计算机程序代码在由处理器执行时使至少一个设备执行根据权利要求7至38中任一项所述的方法的步骤。
CN202180076186.7A 2020-11-11 2021-09-22 分布式账本系统 Pending CN116458115A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP20206873.0 2020-11-11
PCT/EP2021/060694 WO2022100892A1 (en) 2020-11-11 2021-04-23 Distributed ledger system
EPPCT/EP2021/060694 2021-04-23
PCT/EP2021/076084 WO2022100914A1 (en) 2020-11-11 2021-09-22 Distributed ledger system

Publications (1)

Publication Number Publication Date
CN116458115A true CN116458115A (zh) 2023-07-18

Family

ID=87126013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180076186.7A Pending CN116458115A (zh) 2020-11-11 2021-09-22 分布式账本系统

Country Status (1)

Country Link
CN (1) CN116458115A (zh)

Similar Documents

Publication Publication Date Title
US20230360036A1 (en) Blockchain-implemented method and system for access control on remote internet-enabled resources
US10938548B2 (en) Blockchain object deployment and synchronization across blockchains
AU2017222471B2 (en) A method and system for securing computer software using a distributed hash table and a blockchain
US9641342B2 (en) Tracking unitization occurring in a supply chain
US10824977B2 (en) Systems and/or methods for securing and automating process management systems using distributed sensors and distributed ledger of digital transactions
US10635722B2 (en) Method of distributed management of electronic documents of title (EDT) and system thereof
US20160164884A1 (en) Cryptographic verification of provenance in a supply chain
WO2022100892A1 (en) Distributed ledger system
US20230274273A1 (en) Distributed ledger system
Khan et al. Secure transactions management using blockchain as a service software for the internet of things
Scheid et al. BUNKER: a Blockchain-based trUsted VNF pacKagE Repository
CN117616410A (zh) 计算机分片环境中的多方计算
Yiu Decentralizing supply chain anti-counterfeiting systems using blockchain technology
Saadiah Consortium blockchain for military supply chain
CN116458115A (zh) 分布式账本系统
US12010241B2 (en) Distributed ledger system
Deshmukh et al. Monitoring Logistics Through Blockchain
Abdelhamid et al. Redefining Governmental Services Through Blockchain and Smart Contracts.
CN117575788A (zh) 交易处理方法、装置、设备及介质
JP2022088032A (ja) 作業管理方法、情報処理端末、及びプログラム
CN117408804A (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
TA01 Transfer of patent application right

Effective date of registration: 20240507

Address after: Bonn, Germany

Applicant after: BEJOY Jacob

Country or region after: India

Address before: Bonn, Germany

Applicant before: DEUTSCHE POST AG

Country or region before: Germany