CN114547636A - 分布式账本*** - Google Patents

分布式账本*** Download PDF

Info

Publication number
CN114547636A
CN114547636A CN202110885332.2A CN202110885332A CN114547636A CN 114547636 A CN114547636 A CN 114547636A CN 202110885332 A CN202110885332 A CN 202110885332A CN 114547636 A CN114547636 A CN 114547636A
Authority
CN
China
Prior art keywords
distributed ledger
peer
node
nodes
decentralized identifier
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
CN202110885332.2A
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
Application filed by Deutsche Post AG filed Critical Deutsche Post AG
Publication of CN114547636A publication Critical patent/CN114547636A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

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

Description

分布式账本***
技术领域
本披露内容总体上涉及分布式账本技术,并且具体地涉及使得能够在分布式账本***与可以是独立节点的节点之间进行互操作的方法、设备和***,这些节点可以是另一分布式账本***和/或区块链***的一部分。
背景技术
区块链或类似区块链的分布式账本***已在许多应用领域变得流行,包括以物流和/或仓库流程为基础的技术。例如,类似区块链的分布式账本***(即,包括至少一个或多个区块链机制(诸如共识机制)的分布式账本***)可以提供技术基础,以实现分布式账本***内部或外部的实体之间的数据通信,并且同时能够在分布式账本***内部实现高度的数据安全。
特别地,为了能够保持分布式账本***内部的数据安全,需要特定的接口以实现分布式账本***与分布式账本***外部的一个或多个节点之间的通信。特别地,在分布式账本***外部的一个或多个外部节点被包括在另一分布式账本和/或区块链***和/或非分布式账本和/或非区块链***中的情况下,可能需要这种特定接口以实现这种外部节点与分布式账本***的节点之间的互操作性。
发明内容
本披露内容要达到的目标尤其是提供实现分布式账本***与至少一个节点之间的互操作性的方法和设备,该至少一个节点可以是独立节点或是非分布式账本***、分布式账本***和/或区块链***的一部分。
根据本披露内容的第一示例性方面,披露了一种由至少一个设备执行的方法,所述方法包括:
-从至少一个外部设备接收或促使接收连接建立消息,或向该至少一个外部设备传输或促使传输该连接建立消息;
-基于该连接建立消息获得或促使获得表示该外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及该对等网络的节点的至少一个子组的共识处理,将至少一个散列值与该分散式标识符的至少一部分相关联地存储或促使存储在包括该对等网络的分布式账本***的存储器的安全化部分中。
根据本披露内容的第一方面的方法可以由至少一个设备执行,该至少一个设备是包括至少两个节点的对等网络的至少一个节点的一部分或对应于该至少一个节点,其中,该对等网络的节点中的相应一个节点存储分布式账本的至少一部分。由此,该分布式账本可以结合区块链的一个或多个特点,例如,可以实施共识机制,以确保受制于该共识机制的数据仅在对等网络的至少一个子组节点之间达成共识的情况下才发生改变。
在示例性实施例中,分布式账本包括表示一个或多个散列值、索引和/或散列索引的数据,与对应数据、特别是用户数据或有效载荷数据相对应的相应的一个散列值、索引和/或散列索引。由此,在示例性实施例中,对应于相应散列值、索引和/或散列索引的数据本地地存储在构成对等网络的节点的至少一个子组的一个或多个节点的、连接到该一个或多个节点的和/或该一个或多个节点可访问的存储装置处。进一步地,在示例性实施例中,该一个或多个散列值、索引和/或散列索引由该分布式账本保持为可用并受制于共识机制,该共识机制被配置为使得相应的散列值、索引和/或散列索引仅在对等网络的至少该子组的节点之间达成共识的情况下才可以发生改变或被删除。
对于根据本披露内容的第一方面的方法,还披露了一种设备(并且随后被称为根据本披露内容的第一方面的设备),该设备被配置为执行和/或控制相应的方法,或者包括用于执行和/或控制相应方法的步骤的相应装置。在这种情况下,可以控制方法的所有步骤,或者可以执行方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。还可以由相同的单元执行和/或控制这些装置中的一个或多个装置。举例来讲,这些装置中的一个或多个装置可以由一个或多个处理器形成。
对于根据本披露内容的第一方面的方法,还披露了一种设备(例如,根据第一方面的至少一个设备)(并且随后被称为根据本披露内容的第一方面的至少一个设备),该设备包括至少一个处理器以及包含程序代码的至少一个存储器,其中,该存储器和该程序代码被配置为使用该至少一个处理器以使设备(例如,具有该处理器和该存储器的设备)至少执行和/或控制相应的方法。在这种情况下,可以控制相应方法的所有步骤,或者可以执行相应方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。
根据本披露内容的第一方面的至少一个设备可以对应于或包括至少一个固定或便携式个人计算机、至少一个服务器、至少一个服务器***和/或至少一个移动装置,或被其包括。由此,在示例性实施例中,移动装置对应于或包括智能电话、智能手表、智能手环、平板计算机、笔记本计算机、智能家居装置、物联网(IoT)装置、医疗物联网(IOMT)装置和/或数据记录器。根据第一方面的至少一个设备可以例如集成在物流服务提供公司的后端。
对于根据本披露内容的第一方面的方法,还披露了一种***(并且随后被称为根据本披露内容的第一方面的***),该***包括至少一个设备(例如,根据第一方面的至少一个设备),该设备被配置为执行和/或控制相应的方法,或者具有用于执行和/或控制相应方法的步骤的装置。在这种情况下,可以控制相应方法的所有步骤,或者可以执行相应方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。
对于根据本披露内容的第一方面的方法,还披露了一种计算机程序(并且随后被称为根据本披露内容的第一方面的计算机程序),该计算机程序包括当该计算机程序在处理器上运行时使该处理器执行和/或控制相应方法的程序指令。在示例性实施例中,这种计算机程序可以对应于源代码和/或装置识别代码,可以作为源代码和/或装置识别代码的一部分,或者可以并入源代码和/或装置识别代码中。在本说明书中,处理器旨在被理解为尤其意指控制单元、微处理器、诸如微控制器等微控制单元、数字信号处理器(DSP)、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
在这种情况下,可以控制方法的所有步骤(这在示例性实施例中可以被理解为是方法的条件步骤),或者可以执行方法的所有步骤,或者可以控制一个或多个步骤并且可以执行一个或多个步骤。举例来讲,计算机程序可以经由网络(诸如例如,互联网、电话网络或移动无线电网络和/或局域网)是可分布的。在非限制性示例中,网络可以例如对应于无线网络、至少部分地采用基于射频识别(RFID)和/或全球移动通信***(GSM)的技术的网络、和/或配对服务网络。计算机程序可以至少部分地是处理器的软件和/或固件。它可以同样地至少部分地实施为硬件。举例来讲,计算机程序可以存储在计算机可读存储介质上,例如,磁存储介质、电存储介质、电磁存储介质、光存储介质和/或其他类型的存储介质。举例来讲,存储介质可以是处理器的一部分,例如,处理器的(非易失性或易失性)程序存储器或其一部分。举例来讲,存储介质是实质性的,即有形的和/或非暂态的。
根据本披露内容的第二示例性方面,披露了一种分布式账本***,该分布式账本***包括:
-对等网络的至少两个节点,其中,该对等网络的节点中的相应一个节点存储分布式账本的至少一部分;
-软件开发套件和/或应用程序编程接口,该软件开发套件和/或应用程序编程接口被配置用于使得能够在该对等网络(的节点中的至少一个节点与外部设备之间传送连接建立消息;
-分散式标识符获取器,该分散式标识符获取器被配置用于基于该连接建立消息来获得表示该外部设备的分散式标识符;
-散列值获取器,该散列值获取器被配置用于获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-共识控制器,该共识控制器被配置用于基于涉及该对等网络的节点的至少一个子组的共识处理,控制将该至少一个散列值与该分散式标识符的至少一部分相关联地存储在该分布式账本***的存储器的安全化部分中。
本披露内容的所有方面的示例性实施例可以具有以下描述的特性中的一个或多个(或例如全部)特性。
在示例性实施例中,该分布式账本是至少可由该对等网络的一个或多个节点访问的数字数据的集合,由此将新数据作为该分布式账本的一部分进行的存储、对该分布式账本的现有数据和/或现有数据的修改的删除受制于该对等网络的节点的至少一个子组之间的共识机制。该子组可以例如对应于在与要新存储、删除和/或修改的数据相关的应用处理中所涉及的节点组。在示例性实施例中,对等网络的相应节点包括存储分布式账本的至少一部分(在示例性实施例中为完整副本)的存储装置和/或连接到该存储装置。应注意的是,如在本文中使用的,该一个或多个节点可以被理解为对应于或包括至少一个节点和对应的支持硬件以及一个或多个对应的应用服务。在示例性实施例中,节点可以对应于数据记录器、服务器、服务器***或云***、图像识别装置、扫描器和/或销售点(PoS)装置,或被其包括。
在示例性实施例中,对等网络的节点对应于或包括固定或便携式个人计算机、服务器、服务器***和/或移动装置。由此,在示例性实施例中,移动装置对应于或包括智能电话、智能手表、智能手环、平板计算机、笔记本计算机、智能家居装置、物联网(IoT)装置、医疗物联网(IOMT)装置、数据记录器、销售点(PoS)装置、签名和/或面部识别装置。
因此,分布式账本***可以对应于多个节点,诸如安装在公司(例如,物流提供公司)的相应设施处的多台计算机。分布式账本可以涉及与对应的应用(诸如与特定货物的装运相关的应用)相关的数据。由此,与第一应用(诸如第一货物装运)相关的数据可以以表示装运过程的各个阶段的数据块的形式存储在第一装运所涉及的节点的相应存储装置处。例如,第一数据块可以包括与来自物流提供商的客户端的装运请求相关的数据,第二数据块可以包括与物流提供商对客户端的确认相关的数据,第三数据块可以包括与当例如货物被装载到装运车辆、船只或飞机时的初始装运阶段相关的数据。
虽然这样的数据可以例如本地地存储在第一装运过程中所涉及的节点的或连接到这些节点的相应存储装置上,但是分布式账本***在示例性实施例中被配置为将(例如,包括如本文进一步披露的索引器,该索引器被配置为将)至少一个相应的散列值和/或散列索引分配给对应的数据块。由此,在示例性实施例中,针对与应用相关的第二数据块生成的散列值是独立于与应用相关的第一数据块(例如,表示在由该第二数据块表示的应用处理阶段之前、特别是紧接在该阶段之前的应用处理阶段)而生成的。特别地,在示例性实施例中,与应用相关的第二数据块不包括针对与应用相关的第一数据块(例如,表示在由该第二数据块表示的应用处理阶段或事件触发之前、特别是紧接在该阶段或事件触发之前的应用处理阶段)生成的散列值。
为了使得分布式账本***的节点可以与分布式账本***外部的一个或多个节点执行应用处理(例如,装运、交易或智能合约的处理),分布式账本***外部的节点可以被登入。对应的登入过程可以由该外部节点发起,在这种情况下,分布式账本***的节点可以从该分布式账本***外部的所述节点接收连接建立消息,在示例性实施例中,所述节点是至少一个外部设备的示例。该登入过程可以类似地由分布式账本***内部的节点发起,在这种情况下,该节点可以将连接建立消息传输到至少一个外部设备。
在登入过程的下一阶段中,分布式账本***的节点可以基于连接建立消息获得表示外部设备的分散式标识符。由此,在示例性实施例中,分布式账本***的节点从分布式账本***的(软件)模块(例如,从本文进一步披露的伙伴发现器)获得该分散式标识符,该模块被配置用于基于该连接建立消息中包括的关于该外部设备的信息、或从该外部设备接收到的另一消息来生成该分散式标识符。应注意的是,分散式标识符可以是现有的分散式标识符(例如,已经分配给外部设备的分散式标识符),或者可以是新分配给外部设备的分散式标识符。
进一步地,在替代示例性实施例中,分布式账本***的节点可以从外部设备获得表示该外部设备的分散式标识符。为此,分布式账本***和/或分布式账本***的节点在示例性实施例中包括分散式标识符解析器应用程序编程接口(API),该分散式标识符解析器应用程序编程接口被配置用于解析与该外部设备相关联并从该外部设备接收的分散式标识符,例如,将用于定义外部设备侧的分散式标识符的相应格式转换为用于定义分布式账本***侧的分散式标识符的格式。应注意的是,在示例性实施例中,分散式标识符解析器API可以采用或可以基于诸如W3C标准的全球互联网标准,和/或可以对应于或基于RESTfulAPI。在外部设备属于非分布式账本***(例如,非区块链***)的一部分的情况下,采用分散式标识符解析器API可能特别有用,该非分布式账本***包括多个节点,该多个节点被分配给针对该非分布式账本***而生成的相应分散式标识符。例如,该实施例可以适当地适用于外部设备是SAP HANA***的一部分的情况。在这种情况下,在示例性实施例中,分布式账本***关于从外部设备获得的分散式标识符起到主服务器(MoS)的作用。
特别地,基于分散式标识符,使得能够在分布式账本***的节点与该分布式账本***外部的节点之间进行数据通信,这基本上可以独立于外部设备所属的***的基础技术。可以使得能够在分布式账本***的节点与独立节点、另一分布式账本***的节点、区块链***的节点、非分布式账本***的节点和/或非区块链***的节点之间进行数据通信。
基于所获得的分散式标识符,分布式账本***的节点然后获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值。如上所提及的,在示例性实施例中,分布式账本***和/或分布式账本***的节点包括索引器,该索引器被配置为基于所获得的分散式标识符的至少一部分来生成至少一个散列值。因此,分布式账本***的节点可以从在分布式账本***的节点处实施的索引器或从在分布式账本***的另一节点处实施的索引器获得散列值。
然后,该至少一个散列值与分散式标识符的至少一部分相关联地存储在分布式账本***的存储器的安全化部分中。由此,在示例性实施例中,该存储器对应于或包括对等网络的节点的或连接到这些节点的相应存储装置,由此这些存储设备可以分别存储分布式账本的至少一部分、特别是完整副本。在示例性实施例中,该存储器进一步包括安全化部分,即受到特定安全保证的部分。由此,该安全化部分可以在对等网络的节点中的一个或多个节点的或连接到该一个或多个节点的专用存储装置上提供,可以分布在对等网络的一个或多个节点的或连接到该一个或多个节点的相应存储装置上,或者可以包括在外部存储装置中(例如,包括在基于云的存储装置中)。
在示例性实施例中,该安全化部分被配置用于提供对该安全化部分的基于身份的访问,例如,该安全化部分仅向已识别出的用户提供访问。进一步地,在示例性实施例中,该安全化部分被配置用于对存储的数据进行加密,例如,用于以编码形式保持数据,使得只有被授权方才可以对编码数据进行解码以访问原始信息。虽然本披露内容的各方面不限于这一方面,但是在示例性实施例中,该安全化部分对应于或包括库(Vault)、特别是HashiCorp库。在示例性实施例中,库可以对应于被配置用于以安全化方式存储数据的硬件,例如,可以对应于被配置为存储相应安全密钥的硬件装置的本地部署库和/或基于云的安全密钥存储库。
在示例性实施例中,除了或替代对安全化部分的所述基于身份的访问,其他可采用的访问形式包括以下各项中的一项或多项:
-基于节点身份的访问,例如,基于节点可以发送和接收的数据类型;
-基于节点身份的访问,例如,基于节点的角色。
由此,在示例性实施例中,节点的角色可以对应于节点隶属关系(例如,基于与特定实体(诸如一个人、一群人和/或一个公司)的隶属关系),节点在实体中的级别(例如,节点是否属于实体的供应链),基于节点的国家、节点的经济领域、节点的站点(例如,MEA、EMEA、DXB)、用户或用户组级别(某个城市的会计团队或使用该服务的单个会计师)的角色。
在示例性实施例中,分散式标识符与分散式标识符文档相关联。由此,在示例性实施例中,分散式标识符对应于或包括将由分散式标识符标识的主体(例如,外部设备)与分散式标识符文档相关联的统一资源定位符(URL)。在示例性实施例中,分散式标识符文档保持关于或定义与分散式标识符相关联的一个或多个公钥、与分散式标识符相关联的认证信息(例如,一种或多种认证和/或验证方法)、服务端点、和/或关于分散式标识符所标识的主体(例如,外部设备)的语义的信息可用。服务端点可以实现与分散式标识符的主体(例如,与外部设备)相关联的可信交互。服务端点可以例如对应于对等网络的任何一个或多个节点和/或对应于外部设备,并且可以通过它们的对应地址来标识,例如,通过它们的MAC地址来标识,例如在诸如智能手表或手持装置等移动装置的情况下通过国际移动设备标识(IMEI)来标识,或者在数据记录器的情况下通过序列号来标识。在示例性实施例中,分散式标识符文档可以进一步包括时间戳(例如,用于审计历史)和/或签名(例如,用于完整性)。在示例性实施例中,分散式标识符文档可以对应于或包括与分散式标识符相关联的元数据。
因此,在示例性实施例中,分散式标识符是基于外部设备的属性在分布式账本***处和/或在外部设备侧生成的、并与分散式标识符文档相关联的标识符。尽管根据本文披露的各方面的分散式标识符不限于这一方面,但是在示例性实施例中,分散式标识符包括或对应于由万维网联盟W3C指定的DID。另外或可替代地,在示例性实施例中,分散式标识符对应于利用分配给相应端点的安全密钥加密的数字孪生。
因此,在示例性实施例中,根据第一方面的方法进一步包括
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在该分散式标识符文档中的至少一个对应公钥来获得或促使获得至少一个散列值。
在示例性实施例中,根据第一方面的方法进一步包括:
-向该外部设备分配或促使分配至少一对公钥和私钥;
-向该外部设备提供或促使提供该公钥;以及
-基于涉及该对等网络的节点的至少一个子组的共识处理,将至少该私钥与该分散式标识符的至少一部分相关联地存储或促使存储在该分布式账本的存储器的安全化部分中。
因此,分布式账本***的节点可以包括(软件)模块(例如,本文进一步披露的伙伴发现器),该模块被配置为生成要分配给外部设备的一对公钥和私钥。由此,在示例性实施例中,公钥和私钥对应于非对称密码学和/或是基于非对称密码学而生成的。在示例性实施例中,密钥是基于椭圆曲线数字签名算法(ECDSA)而生成的,该算法可以使得能够使用较小的密钥,提供与基于非椭圆曲线密码学的密钥类似的安全级别。由此,在示例性实施例中,这些密钥是基于SECP256K1和/或SECP156R1曲线而生成的。
在示例性实施例中,根据第一方面的方法进一步包括:
-向该外部设备分配或促使分配定义该外部设备的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络的节点的至少一个子组的共识处理,将设置该至少一个伙伴角色的信息与该分散式标识符的至少一部分相关联地存储或促使存储在该分布式账本***的存储器的安全化部分中。
因此,在示例性实施例中,在登入外部设备时,向外部设备分配伙伴角色,该伙伴角色定义例如可以与从外部设备传输到分布式账本***的消息相关联的写访问许可。由此,在示例性实施例中,外部设备可以被分配有在外部设备与分布式账本***之间处理的一个或多个应用的一个或多个伙伴角色。
在示例性实施例中,根据第一方面的方法进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的该至少一个散列值特别地与该分散式标识符相关联地提供或促使提供给该外部设备。
通过将基于所获得的分散式标识符的至少一部分而生成的散列值传送到外部设备,可以基于至少在分布式账本***侧对从外部设备传入的消息的散列验证(散列配对)来保护外部设备与分布式账本***的节点之间的进一步数据通信。
在示例性实施例中,根据第一方面的方法进一步包括:
-特别地基于该分散式标识符,在该外部设备与该对等网络的至少一个节点之间建立或促使建立基于数字孪生的机器对机器配对。
通过在外部设备登入时(以及在对等网络的节点与外部设备之间的进一步数据通信时)在外部设备与对等网络的至少一个节点之间建立基于数字孪生的机器对机器配对,在密钥配对机制和散列配对机制之外还建立了进一步的安全层。
在示例性实施例中,根据第一方面的方法进一步包括:
-从该外部设备获得或促使获得与应用相关的消息;
-生成或促使生成消息令牌;以及
-响应于接收到的与该应用相关的消息,向该外部设备提供或促使提供该消息令牌。
如所提及的,一旦外部设备被登入,外部设备和分布式账本***(其一个或多个节点)就可以执行与相应应用相关的处理,诸如数据通信。由此,在示例性实施例中,应用包括与货物装运、一般交易和/或智能合约相关的应用。由此,在示例性实施例中,与应用相关的消息包括用于开始外部设备与分布式账本***之间的应用处理的请求,例如,货物装运请求、预订请求等。在示例性实施例中,与应用相关的消息可以进一步包括对在分布式账本***与外部设备之间处理的应用的状态的请求。
在示例性实施例中,基于在与该应用相关的消息中包括的信息来生成消息令牌。
在示例性实施例中,消息令牌表示在分布式账本***与外部设备之间处理的应用的状态。由此,在示例性实施例中,消息令牌可以包括或涉及在分布式账本***与外部设备之间处理的应用的数字身份。
在示例性实施例中,消息令牌包括信息,基于该信息,使得外部设备能够访问关于在外部设备与分布式账本***之间处理的应用的状态的状态信息。例如,消息令牌可以包括链接,基于该链接,外部设备可以访问保持关于该应用状态的所述信息可用的互联网地址/页面,然后可以例如经由连接到外部设备的显示器将该信息显示给外部设备的用户。
在示例性实施例中,该消息令牌包括快速响应(QR)码,该快速响应码被配置用于使得该外部设备能够访问关于在该外部设备与该对等网络的节点之间处理的应用的状态的状态信息。该QR码可以例如对应于加盐QR码,并且在示例性实施例中可以包括基于所获得的分散式标识符的至少一部分而生成的散列值。以这种方式,可以安全地验证该QR码来自外部设备侧的分布式账本***,以防止在对应QR被非法实体使用时可能导致的欺诈。
在示例性实施例中,该分布式账本包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于该分布式账本与在该对等网络的一个或多个节点的或连接到该一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。如所提及的,对等网络的一个或多个节点可以包括或连接到相应的本地存储装置,用于存储与其中涉及该一个或多个节点的应用相关的数据。为了提供数据安全性、共识和不变性,基于相应数据块生成的散列值被存储为分布式账本的一部分。由此,对存储为分布式账本的一部分的相应散列值和/或散列索引的改变、删除或替换受制于涉及在相应应用处理中所涉及到的至少该一个或多个节点的共识处理。
例如,如果装运过程涉及分布式账本***的三个节点,则与装运处理的各个阶段相关的数据可以以表示该装运过程的各个阶段的数据块的形式存储在该装运过程中涉及的这三个节点中的各个节点的或连接到各个节点的相应存储装置处。与相应数据块(以及相应阶段)相关(例如,基于相应数据块生成)的散列值和/或散列索引被存储为分布式账本的一部分,使得对相应散列值和/或散列索引的删除、替换和/或改变受制于在装运过程中所涉及到的至少该三个节点之间的共识处理。应注意的是,在这种情况下,该共识处理可能仅限于所涉及的这三个节点。以这种方式,一方面提供了灵活性(因为后续可以修改数据),同时所需的共识处理提供了足够程度的安全性和不变性。
在示例性实施例中,根据第一方面的方法由该分布式账本***执行。
由此,在示例性实施例中,该分布式账本***包括索引器(例如,软件模块),该索引器被配置为通过独立于不同的数据块和/或不同的子块而基于该分布式账本的相应数据块和/或基于该分布式账本的相应子块应用散列函数,将对应的散列值至少分配该给该数据块和/或子块的一部分。进一步地,在示例性实施例中,与一组数据块相关联的散列索引和/或散列值之间的相应关系被存储为可由该索引器访问和/或管理。
因此,与例如数据块通过包括基于在前数据块生成的散列值而与该在前数据块相关的传统区块链相反,例如,经由单独的负责实体(即,索引器)来保持与本文所披露的分布式账本***的分布式账本相关存储的数据块之间的时间关系和/或内容相关关系,以使得能够在维持足够程度的安全性和不变性的同时实现特定的灵活性。
在示例性实施例中,该外部设备对应于移动装置或包括在移动装置中,该移动装置包括:
-瘦客户端,该瘦客户端使得该移动装置能够执行该分布式账本***的节点的功能。
换句话说,在示例性实施例中,移动装置由该瘦客户端使能以用作分布式账本***的节点,并且因此可以被配置用于执行对应的功能,诸如特别地为散列值的生成。因此,在示例性实施例中,该瘦客户端包括索引器,该索引器使得移动装置能够被配置用于基于从分布式账本***的节点获得的分散式标识符的至少一部分来生成散列值。虽然移动装置因此被使能以将散列值和/或索引存储或促使存储为分布式账本的一部分,但是移动装置可以被配置用于将与在移动装置和该分布式账本***之间处理的应用相关的对应数据块存储在诸如云存储装置等外部存储装置中。
将理解的是,在本章节中本披露内容仅通过示例而非限制性的方式呈现。
通过以下结合附图考虑的详细描述,本披露内容的其他特征将变得显而易见。然而,将理解的是,附图仅被设计用于图示的目的而不是作为对本披露内容的限制的定义,应针对其作出对所附权利要求的引用。应当进一步理解的是,附图并不是按比例绘制的并且它们仅旨在从概念上图示本文所描述的结构和过程。
附图说明
图1A是分布式账本***的示意性高级框图;
图1B是专用接口的示意性高级框图;
图1C是应用程序编程接口的示意性高级框图;
图2是展示了根据本披露内容的第一方面的示例性实施例的示例性流程图;
图3是展示了可以作为图2的方法的一部分执行的方法的步骤的示例性实施例的示例性流程图;
图4是展示了可以作为图2的方法和/或图3的方法的一部分执行的方法的步骤的示例性实施例的示例性流程图;
图5是展示了消息摄取过程的示例性实施例的示例性流程图;
图6是展示了在对等网络的节点与伙伴节点之间的数据通信的示例性实施例的示例性流程图;
图7是根据第一方面的至少一个设备的示例性实施例的框图;
图8展示了示例性数据块和对应的散列索引;以及
图9示出了与分布式账本***通信的示例性节点和/或节点***。
具体实施方式
以下描述用于加深对本披露内容的理解,并且应被理解为补充如本说明书的上述发明内容章节中提供的本披露内容的示例实施例的描述,并与该描述一起阅读。
图1A是分布式账本***1000(例如,分布式账本数据库***)的示意性高级框图。根据本文披露的示例性实施例,分布式账本是由形成或连接到具有节点(诸如固定或便携式个人计算机、服务器、服务器***和/或移动装置)的对等网络的一个或多个节点可访问的数字数据的集合。图1A示出了由第一节点101、第二节点102、第三节点103和第四节点104形成的示例性对等网络100。如由相应虚线所指示的,对等网络100不限于附图中示例性展示的节点,而是可以包括更多或更少的节点。
在示例性实施例中,分布式账本存储在存储器110上,该存储器的至少各部分可以分布在对等网络100的节点中的一些或全部节点之间。由此,分布式账本的至少相应部分可以冗余地存储在对等网络100的节点中的几个或全部节点上。换句话说,在示例性实施例中,对等网络100的相应节点被配置为存储分布式账本的至少一部分、特别是完整副本。为此,在示例性实施例中,对等网络100的相应节点包括包含用于存储分布式账本的所述至少一部分的存储器110的至少一部分的存储装置和/或连接到该存储装置。在示例性实施例中,分布式账本包括表示一个或多个散列值、索引和/或散列索引的数据,与对应数据、特别是用户数据或有效载荷数据相对应的相应的一个散列值、索引和/或散列索引。由此,在示例性实施例中,对应于相应散列值、索引和/或散列索引的数据本地地存储在形成对等网络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的一个或多个节点处实施。
如图1A中示例性展示的,在示例性实施例中,索引器121、共识控制器122和伙伴发现器123被实施为控制器120的相应模块,该控制器在示例性实施例中对应于作为被配置用于至少控制索引器121、共识控制器122和伙伴发现器123的功能的可执行代码而实施的软件模块和/或功能,控制器120在对等网络100的一个或多个节点处实施。
返回参考存储器110,在示例性实施例中,数据块111、112、113、114可以特别地表示交易、装运和/或智能合约。由此,在示例性实施例中,相应的数据块表示交易、装运和/或智能合约的阶段。可以作为对等网络100的节点中的一个或多个节点与伙伴节点之间的通信结果生成相应的数据块。例如,可以例如基于图1A所示的伙伴节点190与对等网络100的节点104之间经由专用接口150进行的通信来生成相应的数据块。如图1B所展示的,专用接口150在示例性实施例中包括软件开发套件(SDK)151和/或应用程序编程接口(API)152。在示例性实施例中,API 152包括一个或多个内容可寻址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进一步通信时被提及。由此,即使在分布式账本***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。
在步骤503中,消息摄取API 152.1促使存储(多个)消息内容和/或(多个)消息附件。为此,消息摄取API 152.1可以促使将(多个)消息内容和/或(多个)消息附件存储在例如节点104的本地存储装置中,即,独立于存储器110。可替代地或另外,消息摄取API 152.1可以促使基于例如涉及共识控制器122的共识处理将(多个)消息内容和/或(多个)消息附件存储在存储器110的一部分中。
在步骤504中,消息摄取API 152.1促使基于消息内容生成至少一个散列值和/或基于消息附件(例如,基于与索引器121的通信)生成至少一个散列值。作为步骤504的一部分,消息摄取API 152.1可以进一步促使基于例如涉及共识控制器122的共识处理将在步骤504中生成的(多个)散列值存储在存储器110的一部分中。
在步骤507中,消息摄取API 152.1生成或促使生成消息令牌,并且在步骤508中,消息摄取API 152.1响应于在步骤501中接收到的消息而向伙伴节点190(外部设备的示例)提供或促使提供该消息令牌。例如,在示例性实施例中,该消息令牌包括信息,基于该信息,伙伴节点190可以访问关于在伙伴节点190与对等网络100的节点104之间处理的应用的状态的状态信息。例如,该消息令牌可以包括链接,基于该链接,伙伴节点190可以访问保持关于该应用状态的所述信息可用的互联网地址/页面。进一步地,在示例性实施例中,该消息令牌包括快速响应(QR)码(特别是加盐QR码),该快速响应码被配置用于使得伙伴节点190能够访问该状态信息。例如,伙伴节点190可以类似地通过参考QR码来访问互联网地址/页面,该互联网地址/页面保持要由伙伴节点190访问的状态信息可用。该QR码可以进一步包括基于伙伴节点190的分散式标识符和/或基于节点104的分散式标识符而生成的散列值,该散列值可以使得伙伴节点104能够对该QR码进行验证。基于此,该状态信息可以例如经由伙伴节点190的和/或连接到该伙伴节点的显示器显示给伙伴节点190的用户。
在步骤509中,消息摄取API 152.1将在步骤501中接收到的消息提供给预处理器,该预处理器在示例性实施例中在对等网络的一个或多个节点处、特别是在节点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是图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之间处理的应用相关的应用程序数据)可用。节点104可以包括数据存储器104.4和/或可以连接到数据存储器104.4。数据存储器104可以形成图1A所示的存储器110的一部分。换句话说,在示例性实施例中,节点104包括存储分布式账本的至少一部分、特别是完整副本的数据存储器104.4。应注意的是,图1A的对等网络100的各个节点101、102和103(以及未在图1A中示出的对等网络100的潜在其他节点)可以分别包括存储分布式账本的至少一部分、特别是完整副本的对应数据存储器。应注意的是,可能不需要对等网络100的相应节点存储分布式账本的完整副本。在示例性实施例中,对等网络的节点的子组可以存储分布式账本的相应部分,该相应部分可以与由属于该子组的对等网络100的相应节点处理的一个或多个应用相关。
如图8中示例性展示的,图1A所示的数据块111、112、113、114可以对应于由图1A所示的对等网络100的节点101和104处理的应用处理(例如,事务)。由于只有对等网络100的节点101和104参与该事务,因此对应的数据块111、112、113、114可以存储在例如被节点101和104包括或连接到这些节点的相应本地存储装置(数据存储器)101.4和104.4上。进一步地,如图7中示例性指示的,对应于相应数据块的相应散列值和/或标识相应散列值的散列索引#1、#2、#3、#4被存储在被对等网络100的至少一些节点(在示例性实施例中为该对等网络的全部节点)包括或连接到这些节点的相应存储装置101.4、102.4、103.4和104.4上,在示例性实施例中从而形成分布式账本。换句话说,在示例性实施例中,该分布式账本包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于该分布式账本与在该对等网络的一个或多个节点的或连接到该一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。
返回参考图7,处理器104.1进一步控制被配置为接收和/或发送信息的一个或多个通信接口101.6。例如,节点104可以被配置为与对等网络100的节点101、102、103中的任一个节点和/或与图1A的伙伴节点190通信。该通信可以例如基于(例如,部分地)有线连接和/或(例如,部分地)无线连接。
处理器104.1进一步控制被配置为向节点104的用户呈现信息和/或从这样的用户接收信息的用户接口104.5。用户接口104.5可以例如是用户借此可以控制固定或便携式个人计算机、服务器、服务器***和/或移动装置的用户接口。
节点104的部件104.2至104.6可以例如借助于一条或多条串行和/或并行总线与处理器104.1连接。
如图7进一步所示,处理器104.1可以进一步包括预处理器104.7、应用处理器104.8和后处理器104.9,该预处理器被配置为在图5的步骤509中从消息摄取API152.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中。由此,在示例性实施例中,对应的数据块存储在移动装置可访问的云存储设备中。
图9示出了基于本文披露的各方面和实施例能够在其与分布式账本***1000之间进行通信的示例性节点和/或节点***。图9示意性地展示了分布式账本***1000,该分布式账本***被示意性地展示为具有各个层1110、1120、1130和1140,这些层使得能够在分布式账本***1000与不同节点和/或节点***之间进行数据通信。这些不同的层示意性地展示了由分布式账本***1000实施的多协议区块链层。特别地,该多协议区块链层在示例性实施例中实施以太坊、Quorum、Corda和多链协议。分布式账本***1000的特定构造/设计允许根据需要与例如基于智能合约的其他分布式账本网络进行通信。分布式账本***1000的特定构造/设计进一步允许与不基于分布式账本技术(DLT)的网络进行通信。
如本文进一步披露的分散式标识符(特别是DID)使得非DLT端点与分布式账本***1000之间的通信能够可靠地安全化。虽然分散式标识符(例如,DID)可以是公共地址,但是分布式账本***1000的存储器110的安全化部分140(例如,HashiCorb库)中可以基于分散式标识符、特别是DID来存储散列值,并因此确保可以与非DLT伙伴(例如,伙伴节点190)共享公钥。
图9进一步示出了另一分布式账本***1100,该分布式账本***在结构和协议上可以对应于分布式账本***1000,并且可以例如针对与分布式账本***1000的所有者不同的所有者进行部署。***1200可以例如对应于Hyperledger Fabric(HLF)***,***1300可以例如对应于非区块链***(例如,对应于软件即服务(SAAS)***、平台即服务(PAAS)***和/或基础设施即服务(SAAS)***),并且节点1400可以对应于可以将数据存储在基于云的数据存储装置1450中的移动装置。
如图9所示,分布式账本***1000的端点可以基于不同的方法来访问。分布式账本***1000可以由诸如与分布式账本***1000共享结构和协议的分布式账本***1100等***来访问,或者由诸如HLF***1200等不同的分布式账本***来访问。如果访问分布式账本***1000的端点(和/或对应的节点)是HLF端点(节点),则在分布式账本***1000处激活HLF协议。如果访问分布式账本***1000的端点是Quorum或Corda端点,则分别激活Quorum协议或Corda协议。
如果访问分布式账本***1000的端点和/或节点是非DLT端点/节点,诸如***1300的节点,则对应的节点(例如,连接到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来实施节点,选择连接到云服务(诸如图9所示的云***1450)以进行本地数据存储。用户在这样的小程序上的动作(例如,预订动作)将被自动传送到分布式账本***1000。
还披露了以下示例实施例:
实施例1
一种方法,包括:
-从至少一个外部设备接收或促使接收连接建立消息,或向该至少一个外部设备传输或促使传输该连接建立消息;
-基于该连接建立消息获得或促使获得表示该外部设备的分散式标识符;
-获得或促使获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及该对等网络的节点的至少一个子组的共识处理,将该至少一个散列值与该分散式标识符的至少一部分相关联地存储或促使存储在包括该对等网络的分布式账本***的存储器的安全化部分中。
实施例2
根据实施例1所述的方法,该方法由至少一个设备执行,其中,该至少一个设备是包括至少两个节点的对等网络的至少一个节点的一部分或对应于该至少一个节点,其中,该对等网络的节点中的相应一个节点存储分布式账本的至少一部分。
实施例3
根据实施例1或2中任一项所述的方法,其中,该分散式标识符与分散式标识符文档相关联,该方法进一步包括:
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在该分散式标识符文档中的至少一个对应公钥来获得或促使获得该至少一个散列值。
实施例4
根据实施例1至3中任一项所述的方法,进一步包括:
-向该外部设备分配或促使分配至少一对公钥和私钥;
-向该外部设备提供或促使提供该公钥;以及
-基于涉及该对等网络的节点的至少一个子组的共识处理,将至少该私钥与该分散式标识符的至少一部分相关联地存储或促使存储在该分布式账本的存储器的安全化部分中。
实施例5
根据实施例1至4中任一项所述的方法,进一步包括:
-向该外部设备分配或促使分配定义该外部设备的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络的节点的至少一个子组的共识处理,将设置该至少一个伙伴角色的信息与该分散式标识符的至少一部分相关联地存储或促使存储在该分布式账本***的存储器的安全化部分中。
实施例6
根据实施例1至5中任一项所述的方法,进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的该至少一个散列值特别地与该分散式标识符相关联地提供或促使提供给该外部设备。
实施例7
根据实施例1至6中任一项所述的方法,进一步包括:
-特别地基于该分散式标识符,在该外部设备与该对等网络的至少一个节点之间建立或促使建立基于数字孪生的机器对机器配对。
实施例8
根据实施例1至7中任一项所述的方法,进一步包括:
-从该外部设备获得或促使获得与应用相关的消息;
-生成或促使生成消息令牌;以及
-响应于接收到的与该应用相关的消息,向该外部设备提供或促使提供该消息令牌。
实施例9
根据实施例8所述的方法,其中,该消息令牌包括快速响应(QR)码,该快速响应码被配置用于使得该外部设备能够访问关于在该外部设备与该对等网络的节点之间处理的应用的状态的状态信息。
实施例10
根据实施例9所述的方法,其中,该QR码包括基于所获得的分散式标识符的至少一部分而生成的该散列值。
实施例11
根据实施例1至10中任一项所述的方法,该分布式账本包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于该分布式账本与在该对等网络的一个或多个节点的或连接到该一个或多个节点的存储装置处存储的对应数据块和/或数据块的对应部分相关联。
实施例12
根据实施例1至11中任一项所述的方法,其中,该方法由该分布式账本***执行。
实施例13
根据实施例12所述的方法,其中,该分布式账本***包括索引器,该索引器被配置为通过独立于不同的数据块和/或不同的子块而基于该分布式账本的相应数据块和/或基于该分布式账本的相应子块应用散列函数,将对应的散列值至少分配该给该数据块和/或子块的一部分。
实施例14
根据实施例13所述的方法,其中,与一组数据块相关联的散列索引和/或散列值之间的相应关系被存储为可由该索引器访问和/或管理。
实施例15
一种分布式账本***,包括:
-对等网络的至少两个节点,其中,该对等网络的节点中的相应一个节点存储分布式账本的至少一部分;
-软件开发套件和/或应用程序编程接口,该软件开发套件和/或应用程序编程接口被配置用于使得能够在该对等网络(的节点中的至少一个节点与外部设备之间传送连接建立消息;
-分散式标识符获取器,该分散式标识符获取器被配置用于基于该连接建立消息来获得表示该外部设备的分散式标识符;
-散列值获取器,该散列值获取器被配置用于获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-共识控制器,该共识控制器被配置用于基于涉及该对等网络的节点的至少一个子组的共识处理,控制将该至少一个散列值与该分散式标识符的至少一部分相关联地存储在该分布式账本***的存储器的安全化部分中。
实施例16
根据实施例15所述的分布式账本***,进一步包括伙伴节点;其中,该外部设备对应于移动装置或包括在移动装置中,该移动装置包括:
-瘦客户端,该瘦客户端使得该移动装置能够执行该分布式账本***的节点的功能。
实施例17
一种设备,包括至少一个处理器以及包含程序代码的至少一个存储器,其中,该存储器和该程序代码被配置为使用该至少一个处理器以使设备至少执行和/或控制如实施例1至14中任一项所述的方法。
实施例18
一种设备,包括用于执行根据实施例1至14中任一项所述的方法的装置。
实施例19
一种存储计算机程序代码的有形计算机可读介质,该计算机程序代码在由处理器执行时使设备执行和/或控制根据实施例1至14中任一项所述的方法。
将以所涉及的部件***作地耦接的方式理解所描述的实施例中的任何呈现的连接。因此,这些连接可以是与任何数目的中间元件或中间元件的组合的直接或间接连接,并且在部件之间可能仅有功能性关系。
将理解的是,所有呈现的实施例仅是示例性的,并且针对特定示例性实施例呈现的任何特征可以与本披露内容的任何方面本身或结合针对同一个或另一个特定示例性实施例呈现的任何特征和/或结合未提及的任何其他特征一起使用。将进一步理解的是,针对特定类别的示例实施例所呈现的任何特征还可以以任何其他类别的示例实施例中的对应方式使用。

Claims (15)

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)中的相应一个节点存储分布式账本的至少一部分;该方法包括:
-从至少一个外部设备(104)接收或促使接收(201)连接建立消息,或向该至少一个外部设备(190)传输或促使传输该连接建立消息;
-基于该连接建立消息,获得或促使获得(203)表示该外部设备的分散式标识符;
-获得或促使获得(205)基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-基于涉及该对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将该至少一个散列值与该分散式标识符的至少一部分相关联地存储或促使存储(207)在包括该对等网络(100)的分布式账本***(1000)的存储器(110)的安全化部分(140)中,其中,所述分散式标识符与分散式标识符文档相关联,该方法进一步包括:
-基于至少一个对应服务端点的至少一个相应地址和/或基于包括在该分散式标识符文档中的至少一个对应公钥来获得或促使获得该至少一个散列值。
2.根据权利要求1所述的方法,进一步包括:
-向该外部设备(190)分配或促使分配(301)至少一对公钥和私钥;
-向该外部设备(190)提供或促使提供(303)该公钥;以及
-基于涉及该对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,将至少该私钥与该分散式标识符的至少一部分相关联地存储或促使存储(305)在该分布式账本的存储器(110)的安全化部分(140)中。
3.根据权利要求1至2中任一项所述的方法,进一步包括:
-向该外部设备(190)分配或促使分配(401)定义该外部设备(190)的访问权限和/或读/写许可的至少一个伙伴角色;
-基于涉及对等网络的节点的至少一个子组的共识处理,将设置该至少一个伙伴角色的信息与该分散式标识符的至少一部分相关联地存储或促使存储(403)在该分布式账本***的存储器的安全化部分中。
4.根据权利要求1至3中任一项所述的方法,进一步包括:
-将基于所获得的分散式标识符的至少一部分而生成的该至少一个散列值特别地与该分散式标识符相关联地提供或促使提供给该外部设备(190)。
5.根据权利要求1至4中任一项所述的方法,进一步包括:
-特别地基于该分散式标识符,在该外部设备(190)与该对等网络(100)的至少一个节点(101,102,103,104)之间建立或促使建立基于数字孪生的机器对机器配对。
6.根据权利要求1至5中任一项所述的方法,进一步包括:
-从该外部设备(190)获得或促使获得(501)与应用相关的消息;
-生成或促使生成(507)消息令牌;以及
-响应于接收到的与该应用相关的消息,向该外部设备提供或促使提供(508)该消息令牌。
7.根据权利要求6所述的方法,其中,该消息令牌包括快速响应(QR)码,该快速响应码被配置用于使得该外部设备(190)能够访问关于在该外部设备(190)与该对等网络(100)的节点(104)之间处理的应用的状态的状态信息。
8.根据权利要求7所述的方法,其中,该QR码包括基于所获得的分散式标识符的至少一部分而生成的该散列值。
9.根据权利要求1至8中任一项所述的方法,其中,该分布式账本包括散列索引和/或散列值的集合,其中,相应的散列索引和/或散列值独立于该分布式账本与在该对等网络(100)的一个或多个节点(101,102,103,104)的或连接到该一个或多个节点的存储装置(101.4,102.4,103.4,104.4)处存储的对应数据块和/或数据块的对应部分相关联。
10.根据权利要求1至9中任一项所述的方法,其中,该方法由该分布式账本***(1000)执行。
11.根据权利要求10所述的方法,其中,该分布式账本***(1000)包括索引器(121),该索引器被配置为通过独立于不同的数据块和/或不同的子块而基于该分布式账本的相应数据块和/或基于该分布式账本的相应子块应用散列函数,将对应的散列值至少分配该给该数据块和/或子块的一部分。
12.根据权利要求11所述的方法,其中,与一组数据块相关联的散列索引和/或散列值之间的相应关系被存储为可由该索引器(121)访问和/或管理。
13.一种分布式账本***(1000),包括:
-对等网络(100)的至少两个节点(101,102,103,104),其中,该对等网络(100)的节点(101,102,103,104)中的相应一个节点存储分布式账本的至少一部分;
-软件开发套件(151)和/或应用程序编程接口(152),该软件开发套件和/或应用程序编程接口被配置用于使得能够在该对等网络(100)的节点中的至少一个节点与外部设备(190)之间传送连接建立消息;
-分散式标识符获取器(123),该分散式标识符获取器被配置用于基于该连接建立消息来获得表示该外部设备(190)的分散式标识符,其中,所述分散式标识符与分散式标识符文档相关联;
-散列值获取器,该散列值获取器被配置用于基于至少一个对应服务端点的至少一个相应地址和/或基于包括在该分散式标识符文档中的至少一个对应公钥来获得基于所获得的分散式标识符的至少一部分而生成的至少一个散列值;
-共识控制器(122),该共识控制器被配置用于基于涉及该对等网络(100)的节点(101,102,103,104)的至少一个子组的共识处理,控制将该至少一个散列值与该分散式标识符的至少一部分相关联地存储在该分布式账本***(1000)的存储器(110)的安全化部分(140)中。
14.根据权利要求13所述的分布式账本***(1000),进一步包括该外部设备(190);其中,该外部设备(190)对应于移动装置或包括在移动装置中,该移动装置包括:
-瘦客户端,该瘦客户端使得该移动装置能够执行该分布式账本***(1000)的节点的功能。
15.一种设备,包括至少一个处理器以及包含程序代码的至少一个存储器,其中,该存储器和该程序代码被配置为使用该至少一个处理器以使设备至少执行和/或控制如权利要求1至12中任一项所述的方法。
CN202110885332.2A 2020-11-11 2021-08-03 分布式账本*** Pending CN114547636A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20206873.0 2020-11-11
EP20206873.0A EP4002786B1 (en) 2020-11-11 2020-11-11 Distributed ledger system

Publications (1)

Publication Number Publication Date
CN114547636A true CN114547636A (zh) 2022-05-27

Family

ID=73343874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110885332.2A Pending CN114547636A (zh) 2020-11-11 2021-08-03 分布式账本***

Country Status (6)

Country Link
US (1) US12010241B2 (zh)
EP (1) EP4002786B1 (zh)
CN (1) CN114547636A (zh)
CA (1) CA3136977A1 (zh)
TW (1) TW202226802A (zh)
WO (1) WO2022100892A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499175A (zh) * 2022-08-31 2022-12-20 临沂大学 一种基于私钥存储的数字产品授权方法及***

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210314293A1 (en) * 2020-04-02 2021-10-07 Hewlett Packard Enterprise Development Lp Method and system for using tunnel extensible authentication protocol (teap) for self-sovereign identity based authentication
EP4002786B1 (en) * 2020-11-11 2023-06-21 Deutsche Post AG Distributed ledger system
US11811865B2 (en) * 2021-04-08 2023-11-07 International Business Machines Corporation Blockchain declarative descriptor for cross-network communication
CN114928455B (zh) * 2022-07-18 2022-11-04 北京微芯感知科技有限公司 一种多链多身份的分布式数字身份管理方法
US12010037B1 (en) * 2023-03-20 2024-06-11 Oracle International Corporation Digital twin for distributing decentralized compute resources
CN116737810B (zh) * 2023-05-06 2024-06-25 清华大学 一种用于分布式时序数据库的共识服务接口

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
CN108701276B (zh) * 2015-10-14 2022-04-12 剑桥区块链有限责任公司 用于管理数字身份的***和方法
CN110073356B (zh) * 2016-12-06 2023-12-15 E·马伊姆 使用安全装置的尤其是具有交易性质的方法和实体
US10541818B2 (en) * 2017-04-19 2020-01-21 International Business Machines Corporation Decentralized biometric signing of digital contracts
EP4350560A3 (en) * 2017-06-07 2024-06-19 nChain Licensing AG Computer-implemented system and method for managing transactions over a blockchain network
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
US10805069B1 (en) * 2019-11-12 2020-10-13 Xage Security, Inc. Multi-layer ledgers for multi-party secure data governance
US11151229B1 (en) * 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology
EP4002786B1 (en) * 2020-11-11 2023-06-21 Deutsche Post AG Distributed ledger system
US12003660B2 (en) * 2021-12-31 2024-06-04 Avila Technology, LLC Method and system to implement secure real time communications (SRTC) between WebRTC and the internet of things (IoT)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499175A (zh) * 2022-08-31 2022-12-20 临沂大学 一种基于私钥存储的数字产品授权方法及***
CN115499175B (zh) * 2022-08-31 2023-08-15 临沂大学 一种基于私钥存储的数字产品授权方法及***

Also Published As

Publication number Publication date
TW202314542A (zh) 2023-04-01
WO2022100892A1 (en) 2022-05-19
EP4002786B1 (en) 2023-06-21
CA3136977A1 (en) 2022-05-11
US12010241B2 (en) 2024-06-11
TW202226802A (zh) 2022-07-01
EP4002786A1 (en) 2022-05-25
US20220150072A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
US10708060B2 (en) System and method for blockchain-based notification
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
EP4002786B1 (en) Distributed ledger system
WO2021000419A1 (en) System and method for blockchain-based cross-entity authentication
WO2019033116A1 (en) SYSTEMS AND METHODS FOR RIGHTS CONTROL OF NETWORK CONNECTED DEVICES OR IOT DEVICES USING INFORMATION STORED IN A DISTRIBUTED REGISTER
US20230275773A1 (en) Distributed ledger system
TWI844105B (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

TA01 Transfer of patent application right