TW202226802A - 分布式帳本系統 - Google Patents
分布式帳本系統 Download PDFInfo
- Publication number
- TW202226802A TW202226802A TW110141899A TW110141899A TW202226802A TW 202226802 A TW202226802 A TW 202226802A TW 110141899 A TW110141899 A TW 110141899A TW 110141899 A TW110141899 A TW 110141899A TW 202226802 A TW202226802 A TW 202226802A
- Authority
- TW
- Taiwan
- Prior art keywords
- distributed ledger
- peer
- node
- nodes
- external device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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/3213—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
尤其披露了一種由至少一個設備執行的方法,所述方法包括:從至少一個外部設備接收或促使接收連接建立消息,或向該至少一個外部設備傳輸或促使傳輸該連接建立消息;基於該連接建立消息獲得或促使獲得表示該外部設備的分散式標識符;獲得或促使獲得基於所獲得的分散式標識符的至少一部分而生成的至少一個散列值;基於涉及該對等網路的節點的至少一個子組的共識處理,將該至少一個散列值與該分散式標識符的至少一部分相關聯地存儲或促使存儲在包括該對等網路的分布式帳本系統的記憶體的安全化部分中。
Description
發明領域
本披露內容總體上涉及分布式帳本技術,並且具體地涉及使得能夠在分布式帳本系統與可以是獨立節點的節點之間進行交互操作的方法、設備和系統,這些節點可以是另一分布式帳本系統和/或區塊鏈系統的一部分。
發明背景
區塊鏈或類似區塊鏈的分布式帳本系統已在許多應用領域變得流行,包括以物流和/或倉庫流程為基礎的技術。例如,類似區塊鏈的分布式帳本系統(即,包括至少一個或多個區塊鏈機製(諸如共識機製)的分布式帳本系統)可以提供技術基礎,以實現分布式帳本系統內部或外部的實體之間的資料通信,並且同時能夠在分布式帳本系統內部實現高度的資料安全。
特別地,為了能夠保持分布式帳本系統內部的資料安全,需要特定的介面以實現分布式帳本系統與分布式帳本系統外部的一個或多個節點之間的通信。特別地,在分布式帳本系統外部的一個或多個外部節點被包括在另一分布式帳本和/或區塊鏈系統和/或非分布式帳本和/或非區塊鏈系統中的情況下,可能需要這種特定介面以實現這種外部節點與分布式帳本系統的節點之間的互操作性。
發明概要
本披露內容要達到的目標尤其是提供實現分布式帳本系統與至少一個節點之間的互操作性的方法和設備,該至少一個節點可以是獨立節點或是非分布式帳本系統、分布式帳本系統和/或區塊鏈系統的一部分。
根據本披露內容的第一示例性方面,披露了一種由至少一個設備執行的方法,所述方法包括:
- 從至少一個外部設備接收或促使接收連接建立消息,或向該至少一個外部設備傳輸或促使傳輸該連接建立消息;
- 基於該連接建立消息獲得或促使獲得表示該外部設備的分散式標識符;
- 獲得或促使獲得基於所獲得的分散式標識符的至少一部分而生成的至少一個散列值;
- 基於涉及該對等網路的節點的至少一個子組的共識處理,將至少一個散列值與該分散式標識符的至少一部分相關聯地存儲或促使存儲在包括該對等網路的分布式帳本系統的記憶體的安全化部分中。
根據本披露內容的第一方面的方法可以由至少一個設備執行,該至少一個設備是包括至少兩個節點的對等網路的至少一個節點的一部分或對應於該至少一個節點,其中,該對等網路的節點中的相應一個節點存儲分布式帳本的至少一部分。由此,該分布式帳本可以結合區塊鏈的一個或多個特點,例如,可以實施共識機制,以確保受制於該共識機制的資料僅在對等網路的至少一個子組節點之間達成共識的情況下才發生改變。
在示例性實施例中,分布式帳本包括表示一個或多個散列值、索引和/或散列索引的資料,與對應資料、特別是使用者資料或有效載荷資料相對應的相應的一個散列值、索引和/或散列索引。由此,在示例性實施例中,對應於相應散列值、索引和/或散列索引的資料本地地存儲在構成對等網路的節點的至少一個子組的一個或多個節點的、連接到該一個或多個節點的和/或該一個或多個節點可訪問的存儲裝置處。進一步地,在示例性實施例中,該一個或多個散列值、索引和/或散列索引由該分布式帳本保持為可用並受制於共識機制,該共識機制被配置為使得相應的散列值、索引和/或散列索引僅在對等網路的至少該子組的節點之間達成共識的情況下才可以發生改變或被刪除。
對於根據本披露內容的第一方面的方法,還披露了一種設備(並且隨後被稱為根據本披露內容的第一方面的設備),該設備被配置為執行和/或控制相應的方法,或者包括用於執行和/或控制相應方法的步驟的相應裝置。在這種情況下,可以控制方法的所有步驟,或者可以執行方法的所有步驟,或者可以控制一個或多個步驟並且可以執行一個或多個步驟。還可以由相同的單元執行和/或控制這些裝置中的一個或多個裝置。舉例來講,這些裝置中的一個或多個裝置可以由一個或多個處理器形成。
對於根據本披露內容的第一方面的方法,還披露了一種設備(例如,根據第一方面的至少一個設備)(並且隨後被稱為根據本披露內容的第一方面的至少一個設備),該設備包括至少一個處理器以及包含程式碼的至少一個記憶體,其中,該記憶體和該程式碼被配置為使用該至少一個處理器以使設備(例如,具有該處理器和該記憶體的設備)至少執行和/或控制相應的方法。在這種情況下,可以控制相應方法的所有步驟,或者可以執行相應方法的所有步驟,或者可以控制一個或多個步驟並且可以執行一個或多個步驟。
根據本披露內容的第一方面的至少一個設備可以對應於或包括至少一個固定或可擕式個人電腦、至少一個伺服器、至少一個伺服器系統和/或至少一個移動裝置,或被其包括。由此,在示例性實施例中,移動裝置對應於或包括智慧型電話、智慧手錶、智慧手環、平板電腦、筆記本電腦、智慧家居裝置、物聯網(IoT)裝置、醫療物聯網(IOMT)裝置和/或資料記錄器。根據第一方面的至少一個設備可以例如集成在物流服務提供公司的後端。
對於根據本披露內容的第一方面的方法,還披露了一種系統(並且隨後被稱為根據本披露內容的第一方面的系統),該系統包括至少一個設備(例如,根據第一方面的至少一個設備),該設備被配置為執行和/或控制相應的方法,或者具有用於執行和/或控制相應方法的步驟的裝置。在這種情況下,可以控制相應方法的所有步驟,或者可以執行相應方法的所有步驟,或者可以控制一個或多個步驟並且可以執行一個或多個步驟。
對於根據本披露內容的第一方面的方法,還披露了一種電腦程式(並且隨後被稱為根據本披露內容的第一方面的電腦程式),該電腦程式包括當該電腦程式在處理器上運行時使該處理器執行和/或控制相應方法的程式指令。在示例性實施例中,這種電腦程式可以對應於原始程式碼和/或裝置識別代碼,可以作為原始程式碼和/或裝置識別代碼的一部分,或者可以併入原始程式碼和/或裝置識別代碼中。在本說明書中,處理器旨在被理解為尤其意指控制單元、微處理器、諸如微控制器等微控制單元、數位訊號處理器(DSP)、專用積體電路(ASIC)或現場可編程閘陣列(FPGA)。
在這種情況下,可以控制方法的所有步驟(這在示例性實施例中可以被理解為是方法的條件步驟),或者可以執行方法的所有步驟,或者可以控制一個或多個步驟並且可以執行一個或多個步驟。舉例來講,電腦程式可以經由網路(諸如例如,互聯網、電話網絡或移動無線電網路和/或局域網)是可分佈的。在非限制性示例中,網路可以例如對應於無線網路、至少部分地採用基於射頻識別(RFID)和/或全球移動通信系統(GSM)的技術的網路、和/或配對服務網路。電腦程式可以至少部分地是處理器的軟體和/或固件。它可以同樣地至少部分地實施為硬體。舉例來講,電腦程式可以存儲在電腦可讀存儲介質上,例如,磁存儲介質、電存儲介質、電磁存儲介質、光存儲介質和/或其他類型的存儲介質。舉例來講,存儲介質可以是處理器的一部分,例如,處理器的(非易失性或易失性)程式記憶體或其一部分。舉例來講,存儲介質是實質性的,即有形的和/或非暫態的。
根據本披露內容的第二示例性方面,披露了一種分布式帳本系統,該分布式帳本系統包括:
- 對等網路的至少兩個節點,其中,該對等網路的節點中的相應一個節點存儲分布式帳本的至少一部分;
- 軟體發展套件和/或應用程式編程介面,該軟體發展套件和/或應用程式編程介面被配置用於使得能夠在該對等網路(的節點中的至少一個節點與外部設備之間傳送連接建立消息;
- 分散式標識符獲取器,該分散式標識符獲取器被配置用於基於該連接建立消息來獲得表示該外部設備的分散式標識符;
- 散列值獲取器,該散列值獲取器被配置用於獲得基於所獲得的分散式標識符的至少一部分而生成的至少一個散列值;
- 共識控制器,該共識控制器被配置用於基於涉及該對等網路的節點的至少一個子組的共識處理,控制將該至少一個散列值與該分散式標識符的至少一部分相關聯地存儲在該分布式帳本系統的記憶體的安全化部分中。
本披露內容的所有方面的示例性實施例可以具有以下描述的特性中的一個或多個(或例如全部)特性。
在示例性實施例中,該分布式帳本是至少可由該對等網路的一個或多個節點訪問的數位資料的集合,由此將新資料作為該分布式帳本的一部分進行的存儲、對該分布式帳本的現有資料和/或現有資料的修改的刪除受制於該對等網路的節點的至少一個子組之間的共識機制。該子組可以例如對應於在與要新存儲、刪除和/或修改的資料相關的應用處理中所涉及的節點組。在示例性實施例中,對等網路的相應節點包括存儲分布式帳本的至少一部分(在示例性實施例中為完整副本)的存儲裝置和/或連接到該存儲裝置。應注意的是,如在本文中使用的,該一個或多個節點可以被理解為對應於或包括至少一個節點和對應的支援硬體以及一個或多個對應的應用服務。在示例性實施例中,節點可以對應於資料記錄器、伺服器、伺服器系統或雲系統、圖像識別裝置、掃描器和/或銷售點(PoS)裝置,或被其包括。
在示例性實施例中,對等網路的節點對應於或包括固定或便攜式個人電腦、伺服器、伺服器系統和/或移動裝置。由此,在示例性實施例中,移動裝置對應於或包括智慧型電話、智慧手錶、智慧手環、平板電腦、筆記本電腦、智慧家居裝置、物聯網(IoT)裝置、醫療物聯網(IOMT)裝置、資料記錄器、銷售點(PoS)裝置、簽名和/或面部識別裝置。
因此,分布式帳本系統可以對應於多個節點,諸如安裝在公司(例如,物流提供公司)的相應設施處的多台電腦。分布式帳本可以涉及與對應的應用(諸如與特定貨物的裝運相關的應用)相關的資料。由此,與第一應用(諸如第一貨物裝運)相關的資料可以以表示裝運過程的各個階段的資料塊的形式存儲在第一裝運所涉及的節點的相應存儲裝置處。例如,第一資料塊可以包括與來自物流提供商的客戶端的裝運請求相關的資料,第二資料塊可以包括與物流提供商對客戶端的確認相關的資料,第三資料塊可以包括與當例如貨物被裝載到裝運車輛、船隻或飛機時的初始裝運階段相關的資料。
雖然這樣的資料可以例如本地地存儲在第一裝運過程中所涉及的節點的或連接到這些節點的相應存儲裝置上,但是分布式帳本系統在示例性實施例中被配置為將(例如,包括如本文進一步披露的索引器,該索引器被配置為將)至少一個相應的散列值和/或散列索引分配給對應的資料塊。由此,在示例性實施例中,針對與應用相關的第二資料塊生成的散列值是獨立於與應用相關的第一資料塊(例如,表示在由該第二資料塊表示的應用處理階段之前、特別是緊接在該階段之前的應用處理階段)而生成的。特別地,在示例性實施例中,與應用相關的第二資料塊不包括針對與應用相關的第一資料塊(例如,表示在由該第二資料塊表示的應用處理階段或事件觸發之前、特別是緊接在該階段或事件觸發之前的應用處理階段)生成的散列值。
為了使得分布式帳本系統的節點可以與分布式帳本系統外部的一個或多個節點執行應用處理(例如,裝運、交易或智慧合約的處理),分布式帳本系統外部的節點可以被登入。對應的登入過程可以由該外部節點發起,在這種情況下,分布式帳本系統的節點可以從該分布式帳本系統外部的所述節點接收連接建立消息,在示例性實施例中,所述節點是至少一個外部設備的示例。該登入過程可以類似地由分布式帳本系統內部的節點發起,在這種情況下,該節點可以將連接建立消息傳輸到至少一個外部設備。
在登入過程的下一階段中,分布式帳本系統的節點可以基於連接建立消息獲得表示外部設備的分散式標識符。由此,在示例性實施例中,分布式帳本系統的節點從分布式帳本系統的(軟體)模組(例如,從本文進一步披露的夥伴發現器)獲得該分散式標識符,該模組被配置用於基於該連接建立消息中包括的關於該外部設備的資訊、或從該外部設備接收到的另一消息來生成該分散式標識符。應注意的是,分散式標識符可以是現有的分散式標識符(例如,已經分配給外部設備的分散式標識符),或者可以是新分配給外部設備的分散式標識符。
進一步地,在替代示例性實施例中,分布式帳本系統的節點可以從外部設備獲得表示該外部設備的分散式標識符。為此,分布式帳本系統和/或分布式帳本系統的節點在示例性實施例中包括分散式標識符解析器應用程式編程介面(API),該分散式標識符解析器應用程式編程介面被配置用於解析與該外部設備相關聯並從該外部設備接收的分散式標識符,例如,將用於定義外部設備側的分散式標識符的相應格式轉換為用於定義分布式帳本系統側的分散式標識符的格式。應注意的是,在示例性實施例中,分散式標識符解析器API可以採用或可以基於諸如W3C標準的全球互聯網標準,和/或可以對應於或基於RESTful API。在外部設備屬於非分布式帳本系統(例如,非區塊鏈系統)的一部分的情況下,採用分散式標識符解析器API可能特別有用,該非分布式帳本系統包括多個節點,該多個節點被分配給針對該非分布式帳本系統而生成的相應分散式標識符。例如,該實施例可以適當地適用於外部設備是SAP HANA系統的一部分的情況。在這種情況下,在示例性實施例中,分布式帳本系統關於從外部設備獲得的分散式標識符起到主服務器(MoS)的作用。
特別地,基於分散式標識符,使得能夠在分布式帳本系統的節點與該分布式帳本系統外部的節點之間進行資料通信,這基本上可以獨立於外部設備所屬的系統的基礎技術。可以使得能夠在分布式帳本系統的節點與獨立節點、另一分布式帳本系統的節點、區塊鏈系統的節點、非分布式帳本系統的節點和/或非區塊鏈系統的節點之間進行資料通信。
基於所獲得的分散式標識符,分布式帳本系統的節點然後獲得基於所獲得的分散式標識符的至少一部分而生成的至少一個散列值。如上所提及的,在示例性實施例中,分布式帳本系統和/或分布式帳本系統的節點包括索引器,該索引器被配置為基於所獲得的分散式標識符的至少一部分來生成至少一個散列值。因此,分布式帳本系統的節點可以從在分布式帳本系統的節點處實施的索引器或從在分布式帳本系統的另一節點處實施的索引器獲得散列值。
然後,該至少一個散列值與分散式標識符的至少一部分相關聯地存儲在分布式帳本系統的記憶體的安全化部分中。由此,在示例性實施例中,該記憶體對應於或包括對等網路的節點的或連接到這些節點的相應存儲裝置,由此這些存儲設備可以分別存儲分布式帳本的至少一部分、特別是完整副本。在示例性實施例中,該記憶體進一步包括安全化部分,即受到特定安全保證的部分。由此,該安全化部分可以在對等網路的節點中的一個或多個節點的或連接到該一個或多個節點的專用存儲裝置上提供,可以分佈在對等網路的一個或多個節點的或連接到該一個或多個節點的相應存儲裝置上,或者可以包括在外部存儲裝置中(例如,包括在基於雲的存儲裝置中)。
在示例性實施例中,該安全化部分被配置用於提供對該安全化部分的基於身份的訪問,例如,該安全化部分僅向已識別出的用戶提供訪問。進一步地,在示例性實施例中,該安全化部分被配置用於對存儲的資料進行加密,例如,用於以編碼形式保持資料,使得只有被授權方才可以對編碼資料進行解碼以訪問原始資訊。雖然本披露內容的各方面不限於這一方面,但是在示例性實施例中,該安全化部分對應於或包括庫(Vault)、特別是HashiCorp庫。在示例性實施例中,庫可以對應於被配置用於以安全化方式存儲資料的硬體,例如,可以對應於被配置為存儲相應安全密鑰的硬體裝置的本地部署庫和/或基於雲的安全密鑰存儲庫。
在示例性實施例中,除了或替代對安全化部分的所述基於身份的訪問,其他可採用的訪問形式包括以下各項中的一項或多項:
- 基於節點身份的訪問,例如,基於節點可以發送和接收的資料類型;
- 基於節點身份的訪問,例如,基於節點的角色。
由此,在示例性實施例中,節點的角色可以對應於節點隸屬關係(例如,基於與特定實體(諸如一個人、一群人和/或一個公司)的隸屬關係),節點在實體中的級別(例如,節點是否屬於實體的供應鏈),基於節點的國家、節點的經濟領域、節點的站點(例如,MEA、EMEA、DXB)、用戶或用戶組級別(某個城市的會計團隊或使用該服務的單個會計師)的角色。
在示例性實施例中,分散式標識符與分散式標識符文檔相關聯。由此,在示例性實施例中,分散式標識符對應於或包括將由分散式標識符標識的主體(例如,外部設備)與分散式標識符文檔相關聯的統一資源定位符(URL)。在示例性實施例中,分散式標識符文檔保持關於或定義與分散式標識符相關聯的一個或多個公鑰、與分散式標識符相關聯的認證資訊(例如,一種或多種認證和/或驗證方法)、服務端點、和/或關於分散式標識符所標識的主體(例如,外部設備)的語義的資訊可用。服務端點可以實現與分散式標識符的主體(例如,與外部設備)相關聯的可信交互。服務端點可以例如對應於對等網路的任何一個或多個節點和/或對應於外部設備,並且可以通過它們的對應位址來標識,例如,通過它們的MAC位址來標識,例如在諸如智慧手錶或手持裝置等移動裝置的情況下通過國際移動設備標識(IMEI)來標識,或者在資料記錄器的情況下通過序列號來標識。在示例性實施例中,分散式標識符文檔可以進一步包括時間戳記(例如,用於審計歷史)和/或簽名(例如,用於完整性)。在示例性實施例中,分散式標識符文檔可以對應於或包括與分散式標識符相關聯的元資料。
因此,在示例性實施例中,分散式標識符是基於外部設備的屬性在分布式帳本系統處和/或在外部設備側生成的、並與分散式標識符文檔相關聯的標識符。儘管根據本文披露的各方面的分散式標識符不限於這一方面,但是在示例性實施例中,分散式標識符包括或對應於由萬維網聯盟W3C指定的DID。另外或可替代地,在示例性實施例中,分散式標識符對應於利用分配給相應端點的安全金鑰加密的數位孿生。
因此,在示例性實施例中,根據第一方面的方法進一步包括
- 基於至少一個對應服務端點的至少一個相應位址和/或基於包括在該分散式標識符文檔中的至少一個對應公鑰來獲得或促使獲得至少一個散列值。
在示例性實施例中,根據第一方面的方法進一步包括:
- 向該外部設備分配或促使分配至少一對公鑰和私鑰;
- 向該外部設備提供或促使提供該公鑰;以及
- 基於涉及該對等網路的節點的至少一個子組的共識處理,將至少該私鑰與該分散式標識符的至少一部分相關聯地存儲或促使存儲在該分布式帳本的記憶體的安全化部分中。
因此,分布式帳本系統的節點可以包括(軟體)模組(例如,本文進一步披露的夥伴發現器),該模組被配置為生成要分配給外部設備的一對公鑰和私鑰。由此,在示例性實施例中,公鑰和私鑰對應於非對稱密碼學和/或是基於非對稱密碼學而生成的。在示例性實施例中,金鑰是基於橢圓曲線數位簽章演算法(ECDSA)而生成的,該演算法可以使得能夠使用較小的金鑰,提供與基於非橢圓曲線密碼學的金鑰類似的安全級別。由此,在示例性實施例中,這些金鑰是基於SECP256K1和/或SECP156R1曲線而生成的。
在示例性實施例中,根據第一方面的方法進一步包括:
- 向該外部設備分配或促使分配定義該外部設備的存取權限和/或讀/寫許可的至少一個夥伴角色;
- 基於涉及對等網路的節點的至少一個子組的共識處理,將設置該至少一個夥伴角色的資訊與該分散式標識符的至少一部分相關聯地存儲或促使存儲在該分布式帳本系統的記憶體的安全化部分中。
因此,在示例性實施例中,在登入外部設備時,向外部設備分配夥伴角色,該夥伴角色定義例如可以與從外部設備傳輸到分布式帳本系統的消息相關聯的寫訪問許可。由此,在示例性實施例中,外部設備可以被分配有在外部設備與分布式帳本系統之間處理的一個或多個應用的一個或多個夥伴角色。
在示例性實施例中,根據第一方面的方法進一步包括:
- 將基於所獲得的分散式標識符的至少一部分而生成的該至少一個散列值特別地與該分散式標識符相關聯地提供或促使提供給該外部設備。
通過將基於所獲得的分散式標識符的至少一部分而生成的散列值傳送到外部設備,可以基於至少在分布式帳本系統側對從外部設備傳入的消息的散列驗證(散列配對)來保護外部設備與分布式帳本系統的節點之間的進一步資料通信。
在示例性實施例中,根據第一方面的方法進一步包括:
- 特別地基於該分散式標識符,在該外部設備與該對等網路的至少一個節點之間建立或促使建立基於數位孿生的機器對機器配對。
通過在外部設備登入時(以及在對等網路的節點與外部設備之間的進一步資料通信時)在外部設備與對等網路的至少一個節點之間建立基於數位孿生的機器對機器配對,在金鑰配對機制和散列配對機制之外還建立了進一步的安全層。
在示例性實施例中,根據第一方面的方法進一步包括:
- 從該外部設備獲得或促使獲得與應用相關的消息;
- 生成或促使生成消息令牌;以及
- 回應於接收到的與該應用相關的消息,向該外部設備提供或促使提供該消息令牌。
如所提及的,一旦外部設備被登入,外部設備和分布式帳本系統(其一個或多個節點)就可以執行與相應應用相關的處理,諸如資料通信。由此,在示例性實施例中,應用包括與貨物裝運、一般交易和/或智慧合約相關的應用。由此,在示例性實施例中,與應用相關的消息包括用於開始外部設備與分布式帳本系統之間的應用處理的請求,例如,貨物裝運請求、預訂請求等。在示例性實施例中,與應用相關的消息可以進一步包括對在分布式帳本系統與外部設備之間處理的應用的狀態的請求。
在示例性實施例中,基於在與該應用相關的消息中包括的資訊來生成消息令牌。
在示例性實施例中,消息令牌表示在分布式帳本系統與外部設備之間處理的應用的狀態。由此,在示例性實施例中,消息令牌可以包括或涉及在分布式帳本系統與外部設備之間處理的應用的數位身份。
在示例性實施例中,消息令牌包括資訊,基於該資訊,使得外部設備能夠訪問關於在外部設備與分布式帳本系統之間處理的應用的狀態的狀態資訊。例如,消息令牌可以包括鏈接,基於該鏈接,外部設備可以訪問保持關於該應用狀態的所述資訊可用的互聯網位址/頁面,然後可以例如經由連接到外部設備的顯示器將該資訊顯示給外部設備的使用者。
在示例性實施例中,該消息令牌包括快速回應(QR)碼,該快速回應碼被配置用於使得該外部設備能夠訪問關於在該外部設備與該對等網路的節點之間處理的應用的狀態的狀態資訊。該QR碼可以例如對應於加鹽QR碼,並且在示例性實施例中可以包括基於所獲得的分散式標識符的至少一部分而生成的散列值。以這種方式,可以安全地驗證該QR碼來自外部設備側的分布式帳本系統,以防止在對應QR被非法實體使用時可能導致的欺詐。
在示例性實施例中,該分布式帳本包括散列索引和/或散列值的集合,其中,相應的散列索引和/或散列值獨立於該分布式帳本與在該對等網路的一個或多個節點的或連接到該一個或多個節點的存儲裝置處存儲的對應資料塊和/或資料塊的對應部分相關聯。如所提及的,對等網路的一個或多個節點可以包括或連接到相應的本地存儲裝置,用於存儲與其中涉及該一個或多個節點的應用相關的資料。為了提供資料安全性、共識和不變性,基於相應資料塊生成的散列值被存儲為分布式帳本的一部分。由此,對存儲為分布式帳本的一部分的相應散列值和/或散列索引的改變、刪除或替換受制於涉及在相應應用處理中所涉及到的至少該一個或多個節點的共識處理。
例如,如果裝運過程涉及分布式帳本系統的三個節點,則與裝運處理的各個階段相關的資料可以以表示該裝運過程的各個階段的資料塊的形式存儲在該裝運過程中涉及的這三個節點中的各個節點的或連接到各個節點的相應存儲裝置處。與相應資料塊(以及相應階段)相關(例如,基於相應資料塊生成)的散列值和/或散列索引被存儲為分布式帳本的一部分,使得對相應散列值和/或散列索引的刪除、替換和/或改變受制於在裝運過程中所涉及到的至少該三個節點之間的共識處理。應注意的是,在這種情況下,該共識處理可能僅限於所涉及的這三個節點。以這種方式,一方面提供了靈活性(因為後續可以修改資料),同時所需的共識處理提供了足夠程度的安全性和不變性。
在示例性實施例中,根據第一方面的方法由該分布式帳本系統執行。
由此,在示例性實施例中,該分布式帳本系統包括索引器(例如,軟體模組),該索引器被配置為通過獨立於不同的資料塊和/或不同的子塊而基於該分布式帳本的相應資料塊和/或基於該分布式帳本的相應子塊應用散列函數,將對應的散列值至少分配該給該資料塊和/或子塊的一部分。進一步地,在示例性實施例中,與一組資料塊相關聯的散列索引和/或散列值之間的相應關係被存儲為可由該索引器訪問和/或管理。
因此,與例如資料塊通過包括基於在前資料塊生成的散列值而與該在前資料塊相關的傳統區塊鏈相反,例如,經由單獨的負責實體(即,索引器)來保持與本文所披露的分布式帳本系統的分布式帳本相關存儲的資料塊之間的時間關係和/或內容相關關係,以使得能夠在維持足夠程度的安全性和不變性的同時實現特定的靈活性。
在示例性實施例中,該外部設備對應於移動裝置或包括在移動裝置中,該移動裝置包括:
- 瘦客戶端,該瘦客戶端使得該移動裝置能夠執行該分布式帳本系統的節點的功能。
換句話說,在示例性實施例中,移動裝置由該瘦客戶端使能以用作分布式帳本系統的節點,並且因此可以被配置用於執行對應的功能,諸如特別地為散列值的生成。因此,在示例性實施例中,該瘦客戶端包括索引器,該索引器使得移動裝置能夠被配置用於基於從分布式帳本系統的節點獲得的分散式標識符的至少一部分來生成散列值。雖然移動裝置因此被使能以將散列值和/或索引存儲或促使存儲為分布式帳本的一部分,但是移動裝置可以被配置用於將與在移動裝置和該分布式帳本系統之間處理的應用相關的對應資料塊存儲在諸如雲存儲裝置等外部存儲裝置中。
將理解的是,在本章節中本披露內容僅通過示例而非限制性的方式呈現。
通過以下結合附圖考慮的詳細描述,本披露內容的其他特徵將變得顯而易見。然而,將理解的是,附圖僅被設計用於圖示的目的而不是作為對本披露內容的限制的定義,應針對其作出對所附申請專利範圍的引用。應當進一步理解的是,附圖並不是按比例繪製的並且它們僅旨在從概念上圖示本文所描述的結構和過程。
具體實施方式
以下描述用於加深對本披露內容的理解,並且應被理解為補充如本說明書的上述發明內容章節中提供的本披露內容的示例實施例的描述,並與該描述一起閱讀。
圖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包括被實施為API 152的一部分的分散式標識符解析器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可以使用SDK 151向節點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(外部設備的示例)通信時使用消息攝取API 152.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中從消息攝取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中。由此,在示例性實施例中,對應的資料塊存儲在移動裝置可訪問的雲存儲設備中。
圖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中任一項所述的方法。
將以所涉及的部件被操作地耦接的方式理解所描述的實施例中的任何呈現的連接。因此,這些連接可以是與任何數目的中間元件或中間元件的組合的直接或間接連接,並且在部件之間可能僅有功能性關係。
將理解的是,所有呈現的實施例僅是示例性的,並且針對特定示例性實施例呈現的任何特徵可以與本披露內容的任何方面本身或結合針對同一個或另一個特定示例性實施例呈現的任何特徵和/或結合未提及的任何其他特徵一起使用。將進一步理解的是,針對特定類別的示例實施例所呈現的任何特徵還可以以任何其他類別的示例實施例中的對應方式使用。
100:網路
101:第一節點
101.4,102.4,103.4,104.4:存儲裝置
101.6:通信介面
102:第二節點
103:第三節點
104:第四節點
104.1:處理器
104.2:工作記憶體
104.3:程式記憶體
104.4:資料記憶體
104.5:使用者介面
104.6:通信介面
104.7:預處理器
104.8:應用處理器
104.9:後處理器
110:記憶體
111,112,113,114:資料塊
120:控制器
121:索引器
122:共識控制器
123:夥伴發現器
140:安全化部分
150:專用介面
151:軟體發展套件(SDK)
152:應用程式編程介面(API)
152.1:消息攝取API
152.2:分散式標識符解析器API
190:夥伴節點
200,300,400,500,600:流程圖
201,203,205,207,301,303,305,401,403,501,503,505,507,601,603,605,607,609:步驟
410:夥伴節點
1000,1100:分布式帳本系統
1110,1120,1130,1140:層
1200,1300:系統
1400:節點
1450:資料存儲裝置
#1,#2,#3,#4:對應散列索引
圖1A是分布式帳本系統的示意性高級框圖;
圖1B是專用介面的示意性高級框圖;
圖1C是應用程式編程介面的示意性高級框圖;
圖2是展示了根據本披露內容的第一方面的示例性實施例的示例性流程圖;
圖3是展示了可以作為圖2的方法的一部分執行的方法的步驟的示例性實施例的示例性流程圖;
圖4是展示了可以作為圖2的方法和/或圖3的方法的一部分執行的方法的步驟的示例性實施例的示例性流程圖;
圖5是展示了消息攝取過程的示例性實施例的示例性流程圖;
圖6是展示了在對等網路的節點與夥伴節點之間的資料通信的示例性實施例的示例性流程圖;
圖7是根據第一方面的至少一個設備的示例性實施例的框圖;
圖8展示了示例性資料塊和對應的散列索引;以及
圖9示出了與分布式帳本系統通信的示例性節點和/或節點系統。
100:網路
101:第一節點
102:第二節點
103:第三節點
104:第四節點
110:記憶體
111,112,113,114:資料塊
120:控制器
121:索引器
122:共識控制器
123:夥伴發現器
140:安全化部分
150:專用介面
190:夥伴節點
1000:分布式帳本系統
#1,#2,#3,#4:對應散列索引
Claims (16)
- 一種由至少一個設備執行的方法,其中,該至少一個設備是包括至少兩個節點的對等網路的至少一個節點的一部分或對應於該至少一個節點,其中,該對等網路的節點中的相應一個節點存儲分布式帳本的至少一部分;該方法包括: 從至少一個外部設備接收或促使接收連接建立消息,或向該至少一個外部設備傳輸或促使傳輸該連接建立消息; 基於該連接建立消息獲得或促使獲得表示該外部設備的分散式標識符; 獲得或促使獲得基於所獲得的分散式標識符的至少一部分而生成的至少一個散列值; 基於涉及該對等網路的節點的至少一個子組的共識處理,將該至少一個散列值與該分散式標識符的至少一部分相關聯地存儲或促使存儲在包括該對等網路的分布式帳本系統的記憶體的安全化部分中。
- 如請求項1所述的方法,其中,所述分散式標識符與分散式標識符文檔相關聯,該方法進一步包括: 基於至少一個對應服務端點的至少一個相應位址和/或基於包括在該分散式標識符文檔中的至少一個對應公鑰來獲得或促使獲得該至少一個散列值。
- 如請求項1或2中任一項所述的方法,進一步包括: 向該外部設備分配或促使分配至少一對公鑰和私鑰; 向該外部設備提供或促使提供該公鑰;以及 基於涉及該對等網路的節點的至少一個子組的共識處理,將至少該私鑰與該分散式標識符的至少一部分相關聯地存儲或促使存儲在該分布式帳本的記憶體的安全化部分中。
- 如請求項1至3中任一項所述的方法,進一步包括: 向該外部設備分配或促使分配定義該外部設備的存取權限和/或讀/寫許可的至少一個夥伴角色; 基於涉及對等網路的節點的至少一個子組的共識處理,將設置該至少一個夥伴角色的資訊與該分散式標識符的至少一部分相關聯地存儲或促使存儲(403)在該分布式帳本系統的記憶體的安全化部分中。
- 如請求項1至4中任一項所述的方法,進一步包括: 將基於所獲得的分散式標識符的至少一部分而生成的該至少一個散列值特別地與該分散式標識符相關聯地提供或促使提供給該外部設備。
- 如請求項1至5中任一項所述的方法,進一步包括: 特別地基於該分散式標識符,在該外部設備與該對等網路的至少一個節點之間建立或促使建立基於數位孿生的機器對機器配對。
- 如請求項1至6中任一項所述的方法,進一步包括: 從該外部設備獲得或促使獲得與應用相關的消息; 生成或促使生成消息令牌;以及 回應於接收到的與該應用相關的消息,向該外部設備提供或促使提供(508)該消息令牌。
- 如請求項7所述的方法,其中,該消息令牌包括快速回應(QR)碼,該快速回應碼被配置用於使得該外部設備能夠訪問關於在該外部設備(190)與該對等網路的節點之間處理的應用的狀態的狀態資訊。
- 如請求項8所述的方法,其中,該QR碼包括基於所獲得的分散式標識符的至少一部分而生成的該散列值。
- 如請求項1至9中任一項所述的方法,其中,該分布式帳本包括散列索引和/或散列值的集合,其中,相應的散列索引和/或散列值獨立於該分布式帳本與在該對等網路的一個或多個節點的或連接到該一個或多個節點的存儲裝置處存儲的對應資料塊和/或資料塊的對應部分相關聯。
- 如請求項1至10中任一項所述的方法,其中,該方法由該分布式帳本系統執行。
- 如請求項11所述的方法,其中,該分布式帳本系統包括索引器,該索引器被配置為通過獨立於不同的資料塊和/或不同的子塊而基於該分布式帳本的相應資料塊和/或基於該分布式帳本的相應子塊應用散列函數,將對應的散列值至少分配給該資料塊和/或子塊的一部分。
- 如請求項12所述的方法,其中,與一組資料塊相關聯的散列索引和/或散列值之間的相應關係被存儲為可由該索引器訪問和/或管理。
- 一種分布式帳本系統,包括: 對等網路的至少兩個節點,其中,該對等網路的節點中的相應一個節點存儲分布式帳本的至少一部分; 軟體發展套件和/或應用程式編程介面,該軟體發展套件和/或應用程式編程介面被配置用於使得能夠在該對等網路的節點中的至少一個節點與外部設備之間傳送連接建立消息; 分散式標識符獲取器,該分散式標識符獲取器被配置用於基於該連接建立消息來獲得表示該外部設備的分散式標識符; 散列值獲取器,該散列值獲取器被配置用於獲得基於所獲得的分散式標識符的至少一部分而生成的至少一個散列值; 共識控制器,該共識控制器被配置用於基於涉及該對等網路的節點的至少一個子組的共識處理,控制將該至少一個散列值與該分散式標識符的至少一部分相關聯地存儲在該分布式帳本系統的記憶體的安全化部分中。
- 如請求項14所述的分布式帳本系統,進一步包括該外部設備;其中,該外部設備對應於移動裝置或包括在移動裝置中,該移動裝置包括: 瘦客戶端,該瘦客戶端使得該移動裝置能夠執行該分布式帳本系統的節點的功能。
- 一種設備,包括至少一個處理器以及包含程式碼的至少一個記憶體,其中,該記憶體和該程式碼被配置為使用該至少一個處理器以使設備至少執行和/或控制如請求項1至13中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20206873.0A EP4002786B1 (en) | 2020-11-11 | 2020-11-11 | Distributed ledger system |
EP20206873.0 | 2020-11-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202226802A true TW202226802A (zh) | 2022-07-01 |
Family
ID=73343874
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110141899A TW202226802A (zh) | 2020-11-11 | 2021-11-10 | 分布式帳本系統 |
TW111134738A TW202314542A (zh) | 2020-11-11 | 2022-09-14 | 分布式帳本系統 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111134738A TW202314542A (zh) | 2020-11-11 | 2022-09-14 | 分布式帳本系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220150072A1 (zh) |
EP (1) | EP4002786B1 (zh) |
CN (1) | CN114547636A (zh) |
CA (1) | CA3136977A1 (zh) |
TW (2) | TW202226802A (zh) |
WO (1) | WO2022100892A1 (zh) |
Families Citing this family (5)
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 |
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 | 北京微芯感知科技有限公司 | 一种多链多身份的分布式数字身份管理方法 |
CN115499175B (zh) * | 2022-08-31 | 2023-08-15 | 临沂大学 | 一种基于私钥存储的数字产品授权方法及系统 |
CN116737810A (zh) * | 2023-05-06 | 2023-09-12 | 清华大学 | 一种用于分布式时序数据库的共识服务接口 |
Family Cites Families (9)
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 |
SG11201803010UA (en) * | 2015-10-14 | 2018-05-30 | Cambridge Blockchain Llc | Systems and methods for managing digital identities |
EP3971750A1 (fr) * | 2016-12-06 | 2022-03-23 | Enrico Maim | Procédés et entités notamment transactionnels mettant en jeu des dispositifs sécurisés |
US10541818B2 (en) * | 2017-04-19 | 2020-01-21 | International Business Machines Corporation | Decentralized biometric signing of digital contracts |
JP7053677B2 (ja) * | 2017-06-07 | 2022-04-12 | エヌチェーン ホールディングス リミテッド | ブロックチェーン・ネットワークにおいてトランザクションを管理するためのコンピュータ実装システム及び方法 |
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 |
US20230216947A1 (en) * | 2021-12-31 | 2023-07-06 | Avila Technology, LLC | Method and System to Implement Secure Real Time Communications (SRTC) Between WebRTC and the Internet of Things (IoT) |
-
2020
- 2020-11-11 EP EP20206873.0A patent/EP4002786B1/en active Active
-
2021
- 2021-04-23 WO PCT/EP2021/060694 patent/WO2022100892A1/en active Application Filing
- 2021-08-03 CN CN202110885332.2A patent/CN114547636A/zh active Pending
- 2021-10-29 CA CA3136977A patent/CA3136977A1/en active Pending
- 2021-11-08 US US17/520,914 patent/US20220150072A1/en active Pending
- 2021-11-10 TW TW110141899A patent/TW202226802A/zh unknown
-
2022
- 2022-09-14 TW TW111134738A patent/TW202314542A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20220150072A1 (en) | 2022-05-12 |
CA3136977A1 (en) | 2022-05-11 |
EP4002786B1 (en) | 2023-06-21 |
WO2022100892A1 (en) | 2022-05-19 |
CN114547636A (zh) | 2022-05-27 |
TW202314542A (zh) | 2023-04-01 |
EP4002786A1 (en) | 2022-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7436568B2 (ja) | ブロックチェーンにより実現される方法及びシステム | |
EP3788522B1 (en) | System and method for mapping decentralized identifiers to real-world entities | |
US11038670B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11025435B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11159526B2 (en) | System and method for decentralized-identifier authentication | |
EP3721603B1 (en) | System and method for creating decentralized identifiers | |
TW202226802A (zh) | 分布式帳本系統 | |
WO2019033116A1 (en) | SYSTEMS AND METHODS FOR RIGHTS CONTROL OF NETWORK CONNECTED DEVICES OR IOT DEVICES USING INFORMATION STORED IN A DISTRIBUTED REGISTER | |
JP2023500259A (ja) | ブロックチェーントランザクションを使用した通信プロトコル | |
US11367065B1 (en) | Distributed ledger system for electronic transactions | |
CN110445840B (zh) | 一种基于区块链技术的文件存储和读取的方法 | |
US20230275773A1 (en) | Distributed ledger system | |
JP2023500258A (ja) | ブロックチェーントランザクションを使用する要求および応答プロトコル | |
CN115086337B (zh) | 文件处理方法、装置、存储介质以及电子设备 | |
Nandini | Efficient-way of Data Storage on Decentralized Cloud using Blockchain Technology |