TWI706662B - 用於鏈接資料的方法與裝置 - Google Patents

用於鏈接資料的方法與裝置 Download PDF

Info

Publication number
TWI706662B
TWI706662B TW108114389A TW108114389A TWI706662B TW I706662 B TWI706662 B TW I706662B TW 108114389 A TW108114389 A TW 108114389A TW 108114389 A TW108114389 A TW 108114389A TW I706662 B TWI706662 B TW I706662B
Authority
TW
Taiwan
Prior art keywords
hash value
data
link
data set
root hash
Prior art date
Application number
TW108114389A
Other languages
English (en)
Other versions
TW202040963A (zh
Inventor
黃冠寰
Original Assignee
國際信任機器股份有限公司
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 國際信任機器股份有限公司 filed Critical 國際信任機器股份有限公司
Priority to TW108114389A priority Critical patent/TWI706662B/zh
Priority to CN201910676897.2A priority patent/CN111858580A/zh
Priority to US16/655,594 priority patent/US11329828B2/en
Priority to JP2020076044A priority patent/JP7075084B2/ja
Priority to EP20171058.9A priority patent/EP3731455B1/en
Application granted granted Critical
Publication of TWI706662B publication Critical patent/TWI706662B/zh
Publication of TW202040963A publication Critical patent/TW202040963A/zh
Priority to US17/714,460 priority patent/US11876909B2/en
Priority to JP2022074710A priority patent/JP7279904B2/ja

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
    • 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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種用於處理鏈接資料的方法與裝置。此方法包括:自安全協定裝置接收多個根雜湊值,根據該些根雜湊值產生鏈接資料串,以及傳送特定根雜湊值至安全協定裝置,以供安全協定裝置驗證儲存於鏈下的資料庫中的多個二元樹的正確性。

Description

用於鏈接資料的方法與裝置
本發明是關於一種驗證系統,且特別是關於一種可與區塊鏈協作並用於鏈接資料的方法與裝置。
在現有技術中,區塊鏈(blockchain)採取分散式架構來達到去中心化的目的,全世界的終端電腦可藉由區塊鏈而產生連接,任一終端電腦所傳送到區塊鏈上的資料,可透過特定的運算方式而分佈在區塊鏈上的其他終端電腦中。由於這些資料是存在於區塊鏈上的大量終端電腦中,因此資料的正確性可透過區塊鏈的大量終端電腦互相驗證,這使得區塊鏈資料難以被變造或竄改。
在傳統的終端電腦對中心伺服器的架構中,當一台終端電腦要將資料上傳到伺服器或是由伺服器下載資料,此作業只牽涉到終端電腦、中心伺服器與兩者間的網路伺服器等有限裝置的運作,以時下的網路速度與電腦計算能力來說,此作業可以執行得極為快速。但在區塊鏈的架構中,當一台終端電腦要將資料上傳到區塊鏈或是由區塊鏈下載資料時,基於區塊鏈的特性,此作業會牽涉到區塊鏈上其他大量的終端電腦(如礦工)的驗證程序,從而導致龐大的網路傳輸需求及運算量,因此相對耗時,且運算成本(如礦工費用)居高不下。
一般來說,區塊鏈是採用二元樹(binary tree)或稱模克樹(Merkle tree)的樹狀資料結構,所有資料會經過雜湊運算而產生雜湊值(hash value)。所述二元樹包括頂層的樹根(root)與底層的多個葉節點(leaf node),每一筆資料的雜湊值會被儲存在葉節點,而所有葉節點的雜湊值會經過逐層運算而最終產生位於樹根的根雜湊值(root hash)。所有的二元樹會儲存在區塊鏈上的各個終端電腦中,若要驗證某一二元樹的某一筆資料的正確性,可藉由比對此二元樹在各終端電腦上的根雜湊值,來驗證此二元樹與其資料的正確性。
基於現有區塊鏈,當大量讀取區塊鏈上的資料時,會造成區塊鏈上的終端電腦的負荷,且效率不彰。此外,若大量讀取資料的動作被區塊鏈上的終端電腦當成惡意行為,輕則此次的讀取要求被區塊鏈上的終端電腦阻擋,造成資料無法讀取,重則發出讀取要求的網路位址被區塊鏈上的終端電腦列入黑名單,從此無法再由此終端電腦存取區塊鏈。
有鑑於此,本發明提出一種用於鏈接資料的驗證系統、方法與裝置,其目的是在解決大量讀取區塊鏈上的資料時所導致效率不彰的問題,且解決大量讀取時造成區塊鏈的網路傳輸需求與運算負荷過大的問題。
本發明一實施例提出一種由區塊鏈裝置執行的方法,當中包括:自安全協定裝置接收多個根雜湊值,根據該些根雜湊值產生鏈接資料串,其中鏈接資料串包括多個以串列方式鏈接的資料集合,各資料集合分別包括各根雜湊值與對應的鏈接雜湊值,該些資料集合的最前者的鏈接雜 湊值為雜湊化初始鏈接值而產生,而在最前的資料集合之後的各資料集合的鏈接雜湊值為雜湊化前一資料集合而產生。此方法更包括:傳送特定根雜湊值至安全協定裝置,以供安全協定裝置驗證儲存於鏈下的資料庫中的多個二元樹的正確性;其中,特定根雜湊值為鏈接資料串的資料區段中的最後一筆的資料集合的根雜湊值,而資料區段對應於提供至安全協定裝置的讀取指令所指示的資料讀取範圍。
本發明一實施例提出一種區塊鏈裝置,其包括記憶體以及處理器。處理器耦接記憶體,並用以自安全協定裝置接收多個根雜湊值,以及根據該些根雜湊值產生鏈接資料串,其中鏈接資料串包括多個以串列方式鏈接的資料集合,各資料集合分別包括各根雜湊值與對應的鏈接雜湊值,該些資料集合的最前者的鏈接雜湊值為雜湊化初始鏈接值而產生,而在最前的資料集合之後的各資料集合的鏈接雜湊值為雜湊化前一資料集合而產生。處理器更用以傳送特定根雜湊值至安全協定裝置,以供安全協定裝置驗證儲存於鏈下的資料庫中的多個二元樹的正確性;其中,特定根雜湊值為鏈接資料串的資料區段中的最後一筆的資料集合的根雜湊值,而資料區段對應於提供至安全協定裝置的讀取指令所指示的資料讀取範圍。
本發明一實施例提出一種驗證系統,其適用於與區塊鏈協作並用於鏈接資料。驗證系統包括安全協定裝置、區塊鏈裝置與資料庫裝置。安全協定裝置接收多個紀錄資料並根據雜湊函數整合該些紀錄資料為多個二元樹,各二元樹包括樹根與多個葉節點,各樹根儲存有根雜湊值,且各紀錄資料的雜湊值分別儲存於各葉節點。區塊鏈裝置位於區塊鏈且通訊連接安全協定裝置,安全協定裝置傳送該些二元樹的該些根雜湊值至區 塊鏈裝置。區塊鏈裝置包括至少一鏈接資料串,鏈接資料串包括多個以串列方式鏈接的資料集合,各資料集合分別包括各根雜湊值與對應的鏈接雜湊值,每一資料集合的鏈接雜湊值關聯於前一資料集合的根雜湊值與鏈接雜湊值,且該些資料集合最前者的鏈接雜湊值關聯於初始鏈接值。資料庫裝置在無涉於區塊鏈的鏈下通訊連接安全協定裝置,安全協定裝置儲存該些二元樹與初始鏈接值於資料庫裝置。
本發明一實施例提出一種驗證方法,其適用於與區塊鏈協作。驗證方法包括:在無涉於區塊鏈的鏈下接收多個紀錄資料;根據雜湊函數整合該些紀錄資料為多個二元樹,其中,各二元樹包括樹根與多個葉節點,各樹根儲存有根雜湊值,且各紀錄資料的雜湊值分別儲存於各葉節點;傳送該些二元樹的該些根雜湊值至區塊鏈,其中,區塊鏈上設置有至少一鏈接資料串,鏈接資料串包括多個以串列方式鏈接的資料集合,各資料集合分別包括各根雜湊值與對應的鏈接雜湊值,每一資料集合的鏈接雜湊值關聯於前一資料集合的根雜湊值與鏈接雜湊值,且該些資料集合最前者的鏈接雜湊值關聯於初始鏈接值;以及,在無涉於區塊鏈的鏈下儲存該些二元樹與初始鏈接值。
綜上所述,根據本發明實施例的驗證系統與方法,在需要大量讀取二元樹的根雜湊值時,可透過鏈下資料庫裝置中讀取這些根雜湊值,並以區塊鏈上的鏈接資料串的資料集合在後者的鏈接雜湊值來驗證由鏈下讀取的根雜湊值的正確性,從而在維持資料的可信任度的前提下,減輕區塊鏈的網路傳輸需求與運算負荷。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其 內容足以使任何熟悉相關技術者暸解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技術者可輕易地理解本發明相關之目的及優點。
10、10a、10b:驗證系統
100:安全協定裝置
110:二元樹處理單元
120:驗證單元
130:讀取單元
140:鏈接處理單元
150:識別編號單元
160:定位搜尋單元
170:切片單元
180:識別序號單元
200:資料庫裝置
300:區塊鏈裝置
310:智能合約
311:鏈接處理單元
312:累計序號單元
400:終端裝置
410:紀錄資料產生單元
420:識別資料產生單元
430:切片驗證單元
440:識別編號單元
AS:累計序號
BT:二元樹
BTS:二元樹的切片
CDS:鏈接資料串
CH:鏈接雜湊值
CH0:初始鏈接值
DS:資料集合
H:高度值
ID:識別資料
IN:識別編號
IS:識別序號
LN:葉節點
MN:中間節點
OC:鏈下
BC:區塊鏈
R:樹根
RD:紀錄資料
RDH:紀錄資料的雜湊值
RH:根雜湊值
RR:讀取要求
SEC:資料區段
S101:在鏈下自多個終端裝置接收多個紀錄資料
S103:根據雜湊函數整合紀錄資料為二元樹
S105:傳送二元樹的根雜湊值至區塊鏈
S107:產生鏈接資料串
S109:在鏈下儲存二元樹與初始鏈接值
S111:當接收驗證要求,比對區塊鏈上的根雜湊值與在鏈下儲存的二元樹的根雜湊值
S113:當接收讀取要求,讀取區塊鏈上的資料集合在後者的根雜湊值並讀取在鏈下儲存的資料集合在前者的一或多個根雜湊值
S115:以區塊鏈上的在後的資料集合的鏈接雜湊值驗證在鏈下儲存的在前的一或多個根雜湊值的正確性
S201:在鏈下自多個終端裝置接收多個紀錄資料與多個識別資料
S203:當接收識別資料之後,根據各識別資料產生分別對應於各葉節點的多個識別編號
S205:根據雜湊函數整合紀錄資料為二元樹
S207:根據各識別編號儲存各紀錄資料的雜湊值至對應的各葉節點
S209:傳送二元樹的根雜湊值與識別序號至區塊鏈
S211:切割二元樹為多個切片
S213:在鏈下回傳各切片至對應的各終端裝置
S215:驗證不正確,對應的終端裝置傳送抗議訊息至區塊鏈
S217:驗證正確,終端裝置無需傳送抗議訊息至區塊鏈
S219:依序產生累計序號
S221:產生鏈接資料串
S223:在鏈下儲存二元樹、初始鏈接值、識別序號與累計序號
S225:當接收驗證要求,比對區塊鏈上的根雜湊值與在鏈下儲存的二元樹的根雜湊值
S227:當接收搜尋要求,根據識別編號定位在鏈下儲存的二元樹的葉節點
S229:當接收讀取要求,讀取區塊鏈上的資料集合在後者的根雜湊值並讀取在鏈下儲存的資料集合在前者的一或多個根雜湊值
S231:以區塊鏈上的在後的資料集合的鏈接雜湊值驗證在鏈下儲存的在前的一或多個根雜湊值的正確性
圖1所示為本發明一實施例的驗證系統的方塊示意圖;圖2所示為本發明一實施例的二元樹的示意圖;圖3所示為本發明一實施例的鏈接資料串的示意圖一;圖3a所示為本發明一實施例的鏈接資料串的示意圖二;圖4所示為本發明另一實施例的驗證系統的方塊示意圖;圖5所示為本發明又一實施例的驗證系統的方塊示意圖;圖6所示為本發明一實施例的二元樹的切片的示意圖;圖7所示為本發明另一實施例的鏈接資料串的示意圖;圖8所示為本發明一實施例的驗證方法的流程圖;以及圖9所示為本發明另一實施例的驗證方法的流程圖。
請參照圖1,圖1為本發明一實施例的驗證系統10的方塊示意圖。在本實施例中,驗證系統10適用於與區塊鏈BC協作,區塊鏈BC可包括公有區塊鏈、私有區塊鏈或其組合。驗證系統10用以在鏈下(off chain)OC,亦即透過鏈下通道(off-chain channel),通訊連接多個終端裝置400,並在區塊鏈BC與鏈下OC間進行協作,且各終端裝置400可產生至少一筆紀錄資料RD。所述鏈下OC是指獨立於區塊鏈BC之外的路 徑,即無涉於區塊鏈BC的路徑;所述在鏈下OC通訊連接是指在獨立於區塊鏈BC之外的路徑具有通訊連接關係,即透過無涉於區塊鏈BC的路徑建立通訊連接。例如,兩裝置在鏈下OC通訊連接,意味這兩裝置之間可透過網路直接連接並互相傳送訊號而無涉於區塊鏈BC。終端裝置400例如是桌上型電腦、筆記型電腦或各種感測器,紀錄資料RD例如是桌上型電腦或筆記型電腦產生的檔案或交易資訊或是感測器所感測的數值資訊,但不限於此。
如圖1所示,在本實施例中,驗證系統10包括安全協定裝置100、資料庫裝置200與區塊鏈裝置300。安全協定裝置100是在無涉於區塊鏈BC的鏈下OC通訊連接資料庫裝置200,且安全協定裝置100通訊連接位於區塊鏈BC上的區塊鏈裝置300。資料庫裝置200例如是獨立於區塊鏈BC之外的資料儲存伺服器,區塊鏈裝置300例如是連接區塊鏈BC的複數電腦的集合,但不限於此。在本實施例中,安全協定裝置100是兼具區塊鏈BC與鏈下OC的通訊能力的伺服器。舉例來說,安全協定裝置100是位於鏈下OC與區塊鏈BC之間的中介者,其可作為終端裝置400與資料庫裝置200以及區塊鏈裝置300之間的橋樑,容後詳述。
請再參照圖2,圖2所示為本發明一實施例的二元樹BT的示意圖。如圖1與圖2所示,在本實施例中,各終端裝置400產生紀錄資料RD後,各終端裝置400會在鏈下OC傳送紀錄資料RD至安全協定裝置100。安全協定裝置100在鏈下OC接收各終端裝置400的該些紀錄資料RD之後,安全協定裝置100會根據雜湊函數整合該些紀錄資料RD為至少一二元樹BT。
如圖2所示,在本實施例中,二元樹BT包括樹根R、多個中間節點MN與多個葉節點LN,以二元樹BT的樹狀資料結構來看,樹根R位於頂層、葉節點LN位於底層、而中間節點MN分佈於頂層與底層之間的一或多層。每兩個相鄰的葉節點LN在往上一層會合而為一個中間節點MN,每一層中的每兩個相鄰的中間節點MN在更往上一層又會合而為一個中間節點MN,而位於最上層的兩個中間節點MN會合而為樹根R。每一葉節點LN分別儲存各紀錄資料RD的雜湊值RDH,而每一中間節點MN的雜湊值與樹根R中的根雜湊值RH則關聯於各紀錄資料RD的雜湊值RDH。
舉例來說,安全協定裝置100可採用SHA-256的雜湊函數將各筆紀錄資料RD雜湊化而產生對應的雜湊值RDH,且安全協定裝置100會將各紀錄資料RD的雜湊值RDH分別儲存於各葉節點LN。並且,每一組兩個相鄰的葉節點LN中所儲存的兩筆雜湊值會被連接後再被雜湊化而儲存於上一層的中間節點MN,每一層中的每一組兩個相鄰的中間節點MN所儲存的兩筆雜湊值也會被連接後再被雜湊化而儲存於更上一層的中間節點MN,以此類推。在本實施例中,所述兩筆雜湊值被連接後再被雜湊化的實現方式,可以是將此兩筆雜湊值先連接為一串編碼後再對此串編碼進行雜湊化,但不限於此。舉例來說,第一筆雜湊值是「xxx」,第二筆雜湊值是「ooo」,此兩筆雜湊值會先被連接為「xxxooo」的一串編碼,而此串編碼「xxxooo」會再被雜湊化而產生雜湊值。最後,位於最上層的兩個中間節點MN所儲存的兩筆雜湊值會被連接後再被雜湊化而產生根雜湊值RH。換言之,二元樹BT包括儲存於各葉節點LN中的紀錄資料RD的雜湊值RDH與儲存於樹根R的根雜湊值RH,並且,紀錄資料RD是不可 竄改的,這是因為只要二元樹BT中任一筆紀錄資料RD遭到竄改,此筆紀錄資料RD的雜湊值RDH會產生變化,而只要任一葉節點LN的紀錄資料RD的雜湊值RDH產生變化,則二元樹BT的根雜湊值RH也會對應變化。藉由判斷根雜湊值RH是否產生變化,即可驗證此二元樹BT對應的紀錄資料RD的正確性。在不同的實施例中,單一個葉節點LN亦可儲存兩筆以上的紀錄資料RD的雜湊值RDH,在此情況下,此葉節點LN中所儲存的雜湊值RDH為兩筆以上的紀錄資料RD的雜湊值RDH被連接後再被雜湊化後之值。
如圖1與圖2所示,在本實施例中,安全協定裝置100包括二元樹處理單元110與驗證單元120。二元樹處理單元110與驗證單元120例如但不限於是軟體/硬體所構成的功能模組,以分別執行特定功能,且二元樹處理單元110與驗證單元120可以是各自獨立的模組或整合為一體的模組。
在本實施例中,安全協定裝置100的二元樹處理單元110會自動將所接收的該些紀錄資料RD進行雜湊化並整合產生二元樹BT。安全協定裝置100會傳送二元樹BT的根雜湊值RH至區塊鏈裝置300,亦即這些根雜湊值RH將會被儲存到區塊鏈BC上。此外,安全協定裝置100會將二元樹BT儲存於資料庫裝置200中,亦即完整的二元樹BT是儲存在鏈下OC,而不會儲存於區塊鏈BC上。在其他實施例中,完整的二元樹BT亦可同時儲存於資料庫裝置200並傳送至區塊鏈裝置300。
在本實施例中,安全協定裝置100的驗證單元120會驗證資料庫裝置200所儲存的二元樹BT的正確性。當安全協定裝置100接收一驗 證要求,且此驗證要求是針對某一筆紀錄資料RD的正確性進行驗證,此時驗證單元120會自動比對區塊鏈裝置300上的對應於此紀錄資料RD的二元樹BT的根雜湊值RH與資料庫裝置200儲存的對應於此紀錄資料RD的二元樹BT的根雜湊值RH,以驗證資料庫裝置200儲存的二元樹BT的正確性。若區塊鏈裝置300上的根雜湊值RH與資料庫裝置200儲存的二元樹BT的根雜湊值RH經比對是一致的,則基於區塊鏈BC的特性,代表資料庫裝置200所儲存的此筆紀錄資料RD的二元樹BT正確無誤。
由於完整的二元樹BT是位於鏈下OC的資料庫裝置200中,因此紀錄資料RD的雜湊值RDH的存取與運算主要是在鏈下OC進行,可節省傳統上在區塊鏈BC進行此項作業的網路傳輸需求、運算量、運算時間與運算成本。並且,資料庫裝置200中的二元樹BT的根雜湊值RH可經由與區塊鏈裝置300上的對應根雜湊值RH比對而得到驗證,鏈下OC的資料庫裝置200的資料正確性也得以確保。
請參照圖3,圖3為本發明一實施例的鏈接資料串CDS的示意圖一。如圖1與圖3所示,在本實施例中,區塊鏈裝置300包括至少一鏈接資料串CDS,鏈接資料串CDS包括多個以串列方式鏈接的資料集合DS。所述串列是指由第一筆、第二筆、第三筆依序至倒數第二筆與最後一筆,且每一筆資料會關聯於前一筆資料,例如第二筆資料會關聯於第一筆資料、第三筆資料會關聯於第二筆資料而最後一筆資料會關聯於倒數第二筆資料,以此類推。在本實施例中,各資料集合DS分別包括各根雜湊值RH與對應的鏈接雜湊值CH,每一資料集合DS的鏈接雜湊值CH關聯於前一資料集合DS的根雜湊值RH與鏈接雜湊值CH,且該些資料集合DS最前者 的鏈接雜湊值CH關聯於一初始鏈接值CH0
如圖1所示,在本實施例中,區塊鏈裝置300包括鏈接處理單元311,鏈接處理單元311用以產生鏈接資料串CDS。如圖1與圖3所示,在本實施例中,當區塊鏈裝置300接收多個二元樹BT的根雜湊值RH之後,鏈接處理單元311根據所接收的這些二元樹BT的根雜湊值RH的產生或接收時間,依序產生資料集合DS,每一資料集合DS的鏈接雜湊值CH為雜湊化前一資料集合DS而產生,且最前的資料集合DS的鏈接雜湊值CH為雜湊化初始鏈接值CH0而產生。
在本實施例中,鏈接處理單元311會先產生所述初始鏈接值CH0,初始鏈接值CH0可以是任意數值或任意字母或數字的組合。並且,鏈接處理單元311會根據以下兩個公式產生鏈接資料串CDS中的多個以串列方式鏈接的資料集合DS:CHi=hash(RHi-1|CHi-1);以及CH1=hash(CH0)。
其中,RHi-1為根雜湊值RH,CHi-1為鏈接雜湊值CH,且i為2至k的整數。
如圖3所示,最前的資料集合DS的根雜湊值RH為RH1而鏈接雜湊值CH為CH1,且CH1為雜湊化CH0而產生的雜湊值。在後的(排列在最前的資料集合DS後)的第二筆資料集合DS的根雜湊值RH為RH2而鏈接雜湊值CH為CH2,且CH2為雜湊化連接後的RH1與CH1而產生的雜湊值。如前所述,所述雜湊化連接後的RH1與CH1的實現方式,可以是將RH1與CH1連接後再進行雜湊化,但不限於此。在後的(排列在第二筆資料集合 DS後)的第三筆資料集合DS的根雜湊值RH為RH3而鏈接雜湊值CH為CH3,且CH3為雜湊化連接後的RH2與CH2而產生的雜湊值。最後的資料集合DS的根雜湊值RH為RHk而鏈接雜湊值CH為CHk,且CHk為雜湊化連接後的RHk-1與CHk-1而產生的雜湊值。其餘資料集合DS的根雜湊值RH與鏈接雜湊值CH則以此類推。並且,這些以串列方式鏈接的資料集合DS組成鏈接資料串CDS。在本實施例中,安全協定裝置100會將初始鏈接值CH0儲存至資料庫裝置200,但不限於此。
如圖1與圖3所示,在本實施例中,安全協定裝置100更包括讀取單元130,讀取單元130用以自區塊鏈裝置300與資料庫裝置200讀取對應的資料。終端裝置400可傳送讀取要求RR至安全協定裝置100,以讀取一或多個二元樹BT的根雜湊值RH。當安全協定裝置100接收讀取要求RR,且此讀取要求RR是要求讀取多個根雜湊值RH,而這多個根雜湊值RH屬於鏈接資料串CDS的多個資料集合DS,讀取單元130會自區塊鏈裝置300讀取此鏈接資料串CDS的該些資料集合DS在後者的根雜湊值RH,並自資料庫裝置200讀取此鏈接資料串CDS的該些資料集合DS在前者的一或多個根雜湊值RH,且安全協定裝置100以區塊鏈裝置300的在後的資料集合DS的鏈接雜湊值CH驗證資料庫裝置200的在前的一或多個根雜湊值RH的正確性。
舉例來說,當安全協定裝置100接收讀取要求RR,此讀取要求RR是要求讀取如圖3的鏈接資料串CDS的RH1至RHk的k個根雜湊值RH,讀取單元130會自區塊鏈裝置300讀取此鏈接資料串CDS的該些資料集合DS最後一筆的資料集合DS的根雜湊值RH與鏈接雜湊值CH(即RHk 與CHk),並且,讀取單元130會自資料庫裝置200讀取在前的資料集合DS的根雜湊值RH(即RH1至RHk-1),並且,驗證單元120會以最後一筆的資料集合DS的RHk來驗證資料庫裝置200的在前的資料集合DS的RH1至RHk-1的正確性。驗證單元120可使用前述兩個公式,並以資料庫裝置200儲存的初始鏈接值CH0與RH1至RHk-1進行雜湊與鏈接運算而推算出CHk,並以推算出的CHk來比對區塊鏈裝置300上的CHk。若推算出的CHk與區塊鏈裝置300上的CHk一致,則表示資料庫裝置200儲存的RH1至RHk-1與區塊鏈裝置300上的RH1至RHk-1也會一致。因為基於雜湊運算,只要資料庫裝置200儲存的RH1至RHk-1中任一個根雜湊值RH與區塊鏈裝置300上的RH1至RHk-1中的對應根雜湊值RH不一致,則推算出的CHk就會不同於區塊鏈裝置300上的CHk
請參照圖3a,圖3a為本發明一實施例的鏈接資料串CDS的示意圖二。圖3a的鏈接資料串CDS實質上同於圖3的鏈接資料串CDS,但為了便於說明,圖3a的鏈接資料串CDS示出一個連續的資料集合DS的資料區段SEC。如圖3a所示,在本實施例中,安全協定裝置100還可讀取鏈接資料串CDS的任一資料區段SEC的資料集合DS,並以此資料區段SEC的最後一筆資料集合DS進行驗證。舉例來說,當安全協定裝置100接收讀取要求RR,此讀取要求RR是要求讀取如圖3的鏈接資料串CDS的資料區段SEC的RHx-10至RHx共十一個根雜湊值RH,其中x小於k且大於等於10,讀取單元130會自區塊鏈裝置300讀取此資料區段SEC的該些資料集合DS最後一筆的資料集合DS的根雜湊值RH與鏈接雜湊值CH(即RHx與CHx),並且,讀取單元130會自資料庫裝置200讀取此資料區段SEC的在前的資料 集合DS的根雜湊值RH(即RHx-10至RHx-1),並且,驗證單元120會以資料區段SEC的最後一筆的資料集合DS的RHx來驗證資料庫裝置200的資料區段SEC在前的資料集合DS的RHx-10至RHx-1的正確性。
在一些實施例中,初始鏈接值CH0可不儲存於資料庫裝置200中。取而代之地,當安全協定裝置100接收讀取要求RR,讀取單元130會自區塊鏈裝置300讀取鏈接資料串CDS的初始鏈接值CH0以及該些資料集合DS在後者的資料集合DS的根雜湊值RH,並自資料庫裝置200讀取鏈接資料串CDS的該些資料集合DS在前者的一或多個根雜湊值RH。
請參照圖4,圖4為本發明另一實施例的驗證系統10a的方塊示意圖。圖1與圖4的驗證系統10、10a相同或相似的元件、連接關係與功能不再贅述,圖4的驗證系統10a相較於圖1的驗證系統10的差異之一在於,圖4的驗證系統10a的安全協定裝置100更包括鏈接處理單元140,而區塊鏈裝置300則不具有鏈接處理單元。在安全協定裝置100的二元樹處理單元110產生多個二元樹BT之後,安全協定裝置100的鏈接處理單元140會根據這些二元樹BT的多個根雜湊值RH依序產生資料集合DS,並根據前述兩個公式產生鏈接資料串CDS,而安全協定裝置100會將鏈接資料串CDS傳送至區塊鏈裝置300。也就是說,安全協定裝置100傳送至區塊鏈BC的資料已是具有鏈接資料串CDS的資料結構。
請參照圖5,圖5為本發明又一實施例的驗證系統10b的方塊示意圖。圖1與圖5的驗證系統10、10b相同或相似的元件、連接關係與功能不再贅述,圖5的驗證系統10b相較於圖1的驗證系統10的差異之一在於,圖5的驗證系統10b包括安全協定裝置100、資料庫裝置200、區塊鏈 裝置300與多個終端裝置400,安全協定裝置100通訊連接位於區塊鏈BC的區塊鏈裝置300並在鏈下OC通訊連接資料庫裝置200與各終端裝置400,且各終端裝置400還通訊連接區塊鏈裝置300。安全協定裝置100包括二元樹處理單元110、驗證單元120、讀取單元130、識別編號單元150、定位搜尋單元160、切片單元170與識別序號單元180,其中二元樹處理單元110、驗證單元120、讀取單元130、識別編號單元150、定位搜尋單元160、切片單元170與識別序號單元180例如但不限於是軟體/硬體所構成的功能模組,以分別執行特定功能,且二元樹處理單元110、驗證單元120、讀取單元130、識別編號單元150、定位搜尋單元160、切片單元170與識別序號單元180可以是各自獨立的模組或整合為一體的模組。
如圖5所示,在本實施例中,區塊鏈裝置300包括至少一個智能合約(smart contract)310,安全協定裝置100傳送至區塊鏈裝置300的根雜湊值RH會儲存在對應的智能合約310中。在不同實施例中,區塊鏈裝置300亦可包括不同於智能合約的程式架構或介面,而根雜湊值RH可對應於不同的程式架構或介面而儲存在區塊鏈裝置300中。
如圖5所示,在本實施例中,各終端裝置400包括紀錄資料產生單元410、識別資料產生單元420與切片驗證單元430。紀錄資料產生單元410、識別資料產生單元420與切片驗證單元430例如但不限於是軟體/硬體所構成的功能模組,以分別執行特定功能,且紀錄資料產生單元410、識別資料產生單元420與切片驗證單元430可以是各自獨立的模組或整合為一體的模組。紀錄資料產生單元410用以產生前述的紀錄資料RD,並且,當各終端裝置400的紀錄資料產生單元410產生紀錄資料RD時,各 終端裝置400的識別資料產生單元420還會產生分別對應於各紀錄資料RD的多個識別資料ID,使得各紀錄資料RD會具有對應的識別資料ID。終端裝置400會將紀錄資料RD與對應的識別資料ID同時傳送給安全協定裝置100。在一些實施例中,終端裝置400可將紀錄資料RD與對應的識別資料ID整合為同一筆整合資料並傳送此筆整合資料至安全協定裝置100。在一些實施例中,識別資料ID為明碼。
如圖5所示,在本實施例中,安全協定裝置100會接收該些紀錄資料RD與該些對應的識別資料ID,且安全協定裝置100根據各識別資料ID儲存各紀錄資料RD的雜湊值RDH至對應的各葉節點LN。舉例來說,當安全協定裝置100接收該些識別資料ID之後,安全協定裝置100的識別編號單元150會根據各識別資料ID產生分別對應於各葉節點LN的多個識別編號IN,且安全協定裝置100會根據各識別編號IN儲存各紀錄資料RD的雜湊值RDH至對應的各葉節點LN。在此情況下,每個識別編號IN在任一二元樹BT中是唯一的,且各識別編號IN會分別對應二元樹BT中的各葉節點LN。因此,各紀錄資料RD的雜湊值RDH可藉由對應的識別編號IN而被定位於各葉節點LN,容後詳述。
在本實施例中,安全協定裝置100的識別編號單元150會自各識別資料ID的雜湊值中取出多個預定位元以產生各識別編號IN。並且,所述預定位元的數量可關聯於對應的二元樹BT的高度值H。在二元樹BT具有高度值H的情況下,二元樹BT會具有2(H-1)個葉節點LN。為使此二元樹BT的各葉節點LN具有對應且專屬唯一的識別編號IN,則該些預定位元是自各識別資料ID的雜湊值取出的至少H-1個位元,如此一來,這H-1 個位元的排列組合將可滿足葉節點LN的數量,使得對應於葉節點LN的識別編號IN不會重複而具有唯一性。在本實施例中,這H-1個位元例如但不限於是識別資料ID的雜湊值中的前H-1個位元。在其他實施例中,所述H-1個位元可以是取自識別資料ID的雜湊值中的後H-1個位元或任意位置的H-1個位元。
舉例來說,圖2的二元樹BT的高度值H為5,且此二元樹BT具有2(5-1)個葉節點LN,亦即二元樹BT具有16個葉節點LN。假設對應於某一紀錄資料RD的識別資料ID為「E1534391」,則識別編號單元150會將此識別資料ID以SHA-256的雜湊函數進行雜湊化,而產生雜湊值「dbb9ed8b677468b4834d2f634a77ea1e6663431bf1ee7523041467ff8023fa64」,接著識別編號單元150會取出此雜湊值轉換為二進位後的位元數列的前4個位元「1101」,並轉換1101為十進位值「13」,從而產生識別編號IN為「13」。識別編號單元150可將此二元樹BT的所有16個葉節點LN依序設定為編號1至16的葉節點LN,而識別編號IN為13的紀錄資料RD的雜湊值RDH則儲存於編號13的葉節點LN中。在一些實施例中,不同的識別資料ID可能產生相同的識別編號IN,或者不同的紀錄資料RD可能具有相同的識別資料ID而產生相同的識別編號IN,在此情況下,多筆紀錄資料RD的雜湊值RDH可對應於相同的識別編號IN而儲存於相同的葉節點LN中。在一些實施例中,二元樹BT的每一葉節點LN可儲存兩筆以上的紀錄資料RD的雜湊值RDH,且對應於某一葉節點LN的兩筆以上的紀錄資料RD的雜湊值RDH會被連接後再被雜湊化而產生雜湊值,此對應於兩筆以上的紀錄資料RD的雜湊值會儲存於此葉節點LN中。
如圖5所示,在本實施例中,安全協定裝置100的定位搜尋單元160可藉由識別編號IN而能定位紀錄資料RD的雜湊值RDH。當使用者需要尋找或驗證資料庫裝置200中的對應於某一二元樹BT中的某一筆紀錄資料RD的雜湊值RDH時,使用者可透過安全協定裝置100進行上述作業。此時,安全協定裝置100的定位搜尋單元160會透過識別編號IN以定位此筆紀錄資料RD的雜湊值RDH的位置(即所儲存的葉節點LN),並直接由對應於此識別編號IN的二元樹BT的葉節點LN中取出此筆紀錄資料RD的雜湊值RDH,達到可快速定位與搜尋資料的目的。並且,若要驗證某筆紀錄資料RD不存在,亦可藉由識別編號IN來完成,安全協定裝置100無須取得完整的二元樹BT中的所有雜湊值,安全協定裝置100的定位搜尋單元160可透過對應於此筆紀錄資料RD的識別編號IN以定位此筆紀錄資料RD的雜湊值RDH的位置,即對應的葉節點LN,並可直接確認此紀錄資料RD的雜湊值RDH是否存在於此葉節點LN中。若此葉節點LN沒有此筆紀錄資料RD的雜湊值RDH,即可驗證此筆紀錄資料RD不存在。如此一來,整個驗證作業所耗費的網路傳輸需求、運算量、運算時間與運算成本可大幅降低。
如前所述,在一些實施例中,不同的紀錄資料RD的識別資料ID可能產生相同的識別編號IN,在此情況下,某一筆紀錄資料RD的雜湊值RDH可能被定位至兩個以上的葉節點LN,若需要驗證此筆紀錄資料RD,安全協定裝置100可由資料庫裝置200取得此兩個以上的葉節點LN中的雜湊值RDH並進行驗證。在本實施例中,重複的識別編號IN的機率相對低,即使某一筆紀錄資料RD的雜湊值RDH被定位至兩個以上的葉節點 LN,這些被定位的葉節點LN的數量仍是小於或遠小於所有葉節點LN的數量,整個驗證作業所耗費的網路傳輸需求、運算量、運算時間與運算成本仍可大幅降低。
如圖5所示,在本實施例中,終端裝置400更包括識別編號單元440,終端裝置400的識別編號單元440與安全協定裝置100的識別編號單元150具有相同的功能,識別編號單元440亦可根據紀錄資料RD的識別資料ID而產生識別編號IN,且終端裝置400可透過識別編號單元440驗證安全協定裝置100是否從正確的葉節點LN取得資料。舉例來說,若終端裝置400需要驗證某一紀錄資料RD,且此紀錄資料RD的識別資料ID為「E1534391」(請參照前述例子),當終端裝置400傳送此驗證要求至安全協定裝置100,安全協定裝置100的定位搜尋單元160可透過對應於此筆紀錄資料RD的識別編號IN以定位此筆紀錄資料RD的雜湊值RDH的位置,並找出其是位於資料庫裝置200中的二元樹BT的編號13的葉節點LN中,且回傳編號13的葉節點LN中的雜湊值RDH至終端裝置400,以讓終端裝置400進行驗證。終端裝置400的識別編號單元440同樣可根據此紀錄資料RD的識別資料ID為「E1534391」而產生識別編號IN,並根據識別編號IN可推算此紀錄資料RD的雜湊值RDH應是儲存於編號13的葉節點LN中,藉此,終端裝置400可確認安全協定裝置100所回傳的紀錄資料RD的雜湊值RDH是否來自於正確的位置(即編號13的葉節點LN)。
請再參照圖6,圖6為本發明一實施例的二元樹BT的切片BTS的示意圖。如圖5與圖6所示,在本實施例中,當安全協定裝置100傳送二元樹BT的根雜湊值RH至區塊鏈裝置300時,安全協定裝置100的切片 單元170會自動切割二元樹BT為多個切片(slice)BTS且回傳各切片BTS至對應的各終端裝置400,而各終端裝置400的切片驗證單元430會驗證所接收的各切片BTS的正確性。如圖2與圖6所示,在本實施例中,每一切片BTS為二元樹BT的樹根R、對應的兩個葉節點LN與必要的中間節點MN所組成的模克證明(Merkle proof)。此組葉節點LN中儲存的紀錄資料RD的雜湊值RDH,可經由前述的運算過程,而得到位於樹根R的根雜湊值RH,而切片BTS的根雜湊值RH應與完整二元樹BT的根雜湊值RH一致。舉例來說,某一終端裝置400將某一筆紀錄資料RD與識別資料ID傳送至安全協定裝置100後,安全協定裝置100會將此紀錄資料RD的雜湊值RDH儲存至某一二元樹BT的某一葉節點LN中且會回傳此葉節點LN所對應的切片BTS至此終端裝置400,而此終端裝置400會比對此切片BTS的葉節點LN中的此筆紀錄資料RD的雜湊值RDH與此終端裝置400所產生的原始紀錄資料RD的原始雜湊值RDH是否一致,若一致則表示驗證正確,若不一致則表示驗證不正確。若驗證不正確,對應的終端裝置400可傳送一抗議訊息至區塊鏈裝置300,以進行後續資料修正或無效等程序。
在本實施例中,各終端裝置400包括區塊鏈晶片,所述區塊鏈晶片例如但不限於是可自動在區塊鏈BC與驗證系統10、10b之間互相傳送訊號的積體電路(IC)。藉由區塊鏈晶片,終端裝置400可設計得更加輕薄短小,且終端裝置400可更容易設置於任何物件上或整合至任何電子裝置中。舉例來說,終端裝置400可設置或整合至電池(如電動或油電混合的公車或汽車用的大電池組)、電錶、汽車大燈、汽車本體(如透過5G聯網的汽車的行車電腦)或畫框,且終端裝置400會自動且持續上傳各物 件的紀錄資料RD,這些紀錄資料RD例如但不限於是電池、電錶或汽車大燈的每時或每日(依據上傳預定間隔而定)歷史使用狀況,或汽車本體各感測器資訊(如引擎、里程表、啟動次數...等)的每時或每日的歷史感測資料,或畫框上的感測器所感測的每時或每日的濕溼度變化歷史感測資料與畫者原始資料等,而安全協定裝置100可將這些紀錄資料RD的雜湊值RDH儲存至鏈下OC的資料庫裝置200,並將根雜湊值RH上傳至區塊鏈裝置300。
基於驗證系統10、10a、10b,除了可藉由鏈下OC的資料庫裝置200來達到各種資料的快速定位與搜尋之外,也可藉由區塊鏈BC的驗證來達到資料的不可否認性。且基於終端裝置400的搭配應用,物件的狀況可獲得保證,而物件的價值也得以提高。例如原本長程車用的中古大電池組在使用一定程度後可轉給短程車用,而短程車用的中古大電池組在使用一定程度後又可轉給諸如漁塭等場所作為備用發電電池。而這之間每一次轉換都可經過諸如中古買賣平台進行交易,而每次交易都可藉由驗證系統10、10a、10b來驗證物件的狀況,從而提高物件品質的信賴度與物件價值。
如圖5所示,在本實施例中,區塊鏈裝置300的智能合約310更包括鏈接處理單元311與累計序號單元312。安全協定裝置100的識別序號單元180用以產生識別序號IS,區塊鏈裝置300的累計序號單元312用以產生累計序號AS,而鏈接處理單元311用以產生鏈接資料串CDS。
請參照圖7,圖7為本發明另一實施例的鏈接資料串CDS的示意圖。如圖5與圖7所示,在本實施例中,鏈接資料串CDS的每一筆資料集 合DS包括根雜湊值RH、識別序號IS、累計序號AS與鏈接雜湊值CH,每一資料集合DS的鏈接雜湊值CH關聯於前一資料集合DS的根雜湊值RH、識別序號IS、累計序號AS與鏈接雜湊值CH,且該些資料集合DS最前者的鏈接雜湊值CH關聯於初始鏈接值CH0。在一些實施例中,鏈接資料串CDS的每一筆資料集合DS包括根雜湊值RH、識別序號IS與鏈接雜湊值CH,但不包括累計序號AS,而每一資料集合DS的鏈接雜湊值CH關聯於前一資料集合DS的根雜湊值RH、識別序號IS與鏈接雜湊值CH。在本實施例中,每一資料集合DS的鏈接雜湊值CH為雜湊化前一資料集合DS而產生,且最前的資料集合DS的鏈接雜湊值CH為雜湊化初始鏈接值CH0而產生。
如圖5與圖7所示,在本實施例中,鏈接資料串CDS的各資料集合DS的識別序號IS分別對應於各根雜湊值RH。當安全協定裝置100傳送該些根雜湊值RH至區塊鏈裝置300,安全協定裝置100還會對應產生並傳送該些識別序號IS至區塊鏈裝置300。舉例來說,識別序號IS包括時間戳記,時間戳記關聯於對應的該根雜湊值RH,當安全協定裝置100在一特定時間點產生某一筆根雜湊值RH時,識別序號單元180會對應於此特定時間點而產生識別序號IS,此識別序號IS即包括對應此特定時間點的時間戳記。換句話說,不同時間點產生的根雜湊值RH必定會對應於不同的識別序號IS,且時間是不斷推進,在後產生的根雜湊值RH的識別序號IS的時間戳記所對應的時間點必定會晚於在前產生的根雜湊值RH的識別序號IS的時間戳記所對應的時間點。相應的,在鏈接資料串CDS中,在後的資料集合DS的識別序號IS的時間戳記所對應的時間點必定會晚於在前的資料集合DS的識別序號IS的時間戳記所對應的時間點。藉此,可加強鏈接資 料串CDS的資料集合DS的不可修改性,使鏈接資料串CDS的資料難以被竄改。
如圖5與圖7所示,在本實施例中,鏈接資料串CDS的各資料集合DS的累計序號AS分別對應於各根雜湊值RH,且每一資料集合DS的累計序號AS為前一資料集合DS的累計序號AS的累計值。當安全協定裝置100傳送該些根雜湊值RH與該些識別序號IS至區塊鏈裝置300,區塊鏈裝置300的累計序號單元312會對應於該些根雜湊值RH與該些識別序號IS而依序產生該些累計序號AS。舉例來說,當區塊鏈裝置300接收到第一筆根雜湊值RH與對應的識別序號IS,累計序號單元312會產生值為整數1的累計序號AS,而鏈接處理單元311會整合第一筆資料集合DS,其中包括第一筆根雜湊值RH、對應的識別序號IS、值為整數1的累計序號AS與對應的鏈接雜湊值CH。而當安全協定裝置100接收到第二筆根雜湊值RH與對應的識別序號IS,累計序號單元312會累加1至前一筆累計序號AS而產生值為整數2的累計序號AS,而鏈接處理單元311會整合第二筆資料集合DS,其中包括第二筆根雜湊值RH、對應的識別序號IS、值為整數2的累計序號AS與對應的鏈接雜湊值CH。換句話說,累計序號AS是不斷累加的,而在後產生的資料集合DS的累計序號AS必定會大於在前產生的資料集合DS的累計序號AS。並且,累計序號AS是由區塊鏈上的區塊鏈裝置300產生,其具有不可否認性。藉此,可加強鏈接資料串CDS的資料集合DS的不可修改性,使鏈接資料串CDS的資料難以被竄改。
在本實施例中,鏈接處理單元311會根據以下兩個公式產生鏈接資料串CDS中的多個以串列方式鏈接的資料集合DS: CHi=hash(RHi-1|ISi-1|i-1|CHi-1);以及CH1=hash(CH0)。
其中,RHi-1為根雜湊值RH,ISi-1為識別序號IS,i-1為累計序號AS,CHi-1為鏈接雜湊值CH,且i為2至k的整數。
如圖7所示,最前的資料集合DS的根雜湊值RH為RH1、識別序號IS為IS1、累計序號AS為1而鏈接雜湊值CH為CH1,且CH1為雜湊化CH0而產生的雜湊值。在後的(排列在最前的資料集合DS後)的第二筆資料集合DS的根雜湊值RH為RH2、識別序號IS為IS2、累計序號AS為2而鏈接雜湊值CH為CH2,且CH2為雜湊化連接後的RH1、IS1、1與CH1而產生的雜湊值。在後的(排列第二筆資料集合DS後)的第三筆資料集合DS的根雜湊值RH為RH3、識別序號IS為IS3、累計序號AS為3而鏈接雜湊值CH為CH3,且CH3為雜湊化連接後的RH2、IS2、2與CH2而產生的雜湊值。最後的資料集合DS的根雜湊值RH為RHk、識別序號IS為ISk、累計序號AS為k而鏈接雜湊值CH為CHk,且CHk為雜湊化連接後的RHk-1、ISk-1、k-1與CHk-1而產生的雜湊值。其餘資料集合DS的根雜湊值RH、識別序號IS、累計序號AS與鏈接雜湊值CH則以此類推。並且,這些以串列方式鏈接的資料集合DS組成鏈接資料串CDS。
如圖5與圖7所示,在本實施例中,安全協定裝置100除了會將二元樹BT與初始鏈接值CH0儲存到資料庫裝置200中,安全協定裝置100也會將對應於各二元樹BT的各根雜湊值RH(或對應於鏈接資料串CDS的各資料集合DS)的識別序號IS與累計序號AS儲存到資料庫裝置200中。當安全協定裝置100接收讀取要求RR,且此讀取要求RR是要求讀 取多個根雜湊值RH,而這多個根雜湊值RH屬於某一鏈接資料串CDS的多個資料集合DS,讀取單元130會自區塊鏈裝置300讀取此鏈接資料串CDS的該些資料集合DS在後者的根雜湊值RH,並自資料庫裝置200讀取此鏈接資料串CDS的該些資料集合DS在前者的一或多個根雜湊值RH,且安全協定裝置100以區塊鏈裝置300的在後的資料集合DS的鏈接雜湊值CH驗證資料庫裝置200的在前的一或多個根雜湊值RH的正確性。
舉例來說,當安全協定裝置100接收讀取要求RR,此讀取要求RR是要求讀取如圖7的鏈接資料串CDS的RH1至RHk的k個根雜湊值RH,讀取單元130會自區塊鏈裝置300讀取此鏈接資料串CDS的該些資料集合DS最後一筆的資料集合DS的根雜湊值RH與鏈接雜湊值CH(即RHk與CHk),並且,讀取單元130會自資料庫裝置200讀取在前的資料集合DS的根雜湊值RH(即RH1至RHk-1)、識別序號IS(即IS1至ISk-1)與累計序號AS(即1至k-1),並且,驗證單元120會以最後一筆的資料集合DS的RHk來驗證資料庫裝置200的在前的資料集合DS的RH1至RHk-1的正確性。驗證單元120可使用前述兩個公式,並以資料庫裝置200儲存的初始鏈接值CH0、RH1至RHk-1、IS1至ISk-1與1至k-1進行雜湊與鏈接運算而推算出CHk,並以推算出的CHk來比對區塊鏈裝置300上的CHk。若推算出的CHk與區塊鏈裝置300上的CHk一致,則表示資料庫裝置200儲存的RH1至RHk-1與區塊鏈裝置300上的RH1至RHk-1也會一致。因為基於雜湊運算,只要資料庫裝置200儲存的RH1至RHk-1中任一個根雜湊值RH與區塊鏈裝置300上的RH1至RHk-1中的對應根雜湊值RH不一致,則推算出的CHk就會不同於區塊鏈裝置300上的CHk
在不同實施例中,驗證系統10、10a與10b中的各元件可任意組合。例如,驗證系統10b可不包括終端裝置400;或者,驗證系統10、10a可包括類似於驗證系統10b的終端裝置400,但不限於此。
請參照圖8,圖8為本發明一實施例的驗證方法的流程圖。在本實施例中,驗證方法可透過圖1或圖4所示的驗證系統10、10a實現,但不限於此。驗證方法適用於與區塊鏈BC協作。在步驟S101中,安全協定裝置100會在鏈下OC自多個終端裝置400接收多個紀錄資料RD。在步驟S103中,安全協定裝置100會根據雜湊函數整合該些紀錄資料RD為至少一二元樹BT,且各紀錄資料RD的雜湊值RDH分別儲存於二元樹BT的各葉節點LN。在步驟S105中,安全協定裝置100會傳送二元樹BT的根雜湊值RH至區塊鏈BC,且區塊鏈裝置300會儲存這些根雜湊值RH。在步驟S107中,區塊鏈裝置300或安全協定裝置100會根據前述公式產生鏈接資料串CDS。
在步驟S109中,安全協定裝置100會在鏈下OC儲存二元樹BT與初始鏈接值CH0,即安全協定裝置100會將完整的二元樹BT與初始鏈接值CH0儲存於鏈下OC的資料庫裝置200。在不同實施例中,初始鏈接值CH0可不儲存於資料庫裝置200中;當有需要時,安全協定裝置100可自區塊鏈裝置300讀取初始鏈接值CH0
在步驟S111中,當安全協定裝置100接收一驗證要求,安全協定裝置100會比對位於區塊鏈BC上的區塊鏈裝置300中的根雜湊值RH與在鏈下OC的資料庫裝置200中儲存的二元樹BT的根雜湊值RH,以驗證在鏈下OC儲存的二元樹BT的正確性。在步驟S113中,當安全協定裝置100 接收讀取要求RR,且此讀取要求RR要求讀取鏈接資料串CDS中的多個資料集合DS的多個根雜湊值RH,安全協定裝置100會讀取區塊鏈BC上的資料集合DS在後者的根雜湊值RH並讀取在鏈下OC儲存的資料集合DS在前者的一或多個根雜湊值RH。在步驟S115中,安全協定裝置100會以區塊鏈BC上的在後的資料集合DS的鏈接雜湊值CH驗證在鏈下OC儲存的在前的一或多個根雜湊值RH的正確性。
請參照圖9,圖9為本發明另一實施例的驗證方法的流程圖。在本實施例中,驗證方法可透過圖5所示的驗證系統10b實現,但不限於此。在步驟S201中,安全協定裝置100會在鏈下OC自多個終端裝置400接收多個紀錄資料RD與多個識別資料ID,各識別資料ID是分別對應於各紀錄資料RD。在步驟S203中,當安全協定裝置100接收該些識別資料ID之後,安全協定裝置100會根據各識別資料ID產生分別對應於各葉節點LN的多個識別編號IN,二元樹BT的每一葉節點LN會對應於專屬的識別編號IN。舉例來說,安全協定是自各識別資料ID的雜湊值中取出多個預定位元以產生各識別編號IN,並且,若二元樹BT具有一高度值H,該些預定位元為各識別資料ID的雜湊值的前H-1個位元。在步驟S205中,安全協定裝置100會根據雜湊函數整合該些紀錄資料RD為至少一二元樹BT。在步驟S207中,安全協定裝置100會根據各識別編號IN,儲存各紀錄資料RD的雜湊值RDH至對應的各葉節點LN。在步驟S209中,安全協定裝置100會傳送二元樹BT的根雜湊值RH與對應的識別序號IS至區塊鏈BC,且區塊鏈裝置300會儲存這些根雜湊值RH與對應的識別序號IS。在步驟S211中,安全協定裝置100會將二元樹BT切割為多個切片BTS。在步驟S213 中,安全協定裝置100會在鏈下OC回傳各切片BTS至對應的各終端裝置400。
接著,各終端裝置400會驗證所接收的各切片BTS的正確性。在步驟S215中,當切片BTS驗證為不正確,對應的終端裝置400傳送抗議訊息至區塊鏈BC。在步驟S217中,當切片BTS驗證為正確,終端裝置400無需傳送抗議訊息至區塊鏈BC。
在步驟S219中,區塊鏈BC的區塊鏈裝置300對應於根雜湊值RH與識別序號IS,而依序產生累計序號AS。在步驟S221中,區塊鏈BC的區塊鏈裝置300會根據根雜湊值RH、識別序號IS與累計序號AS而產生鏈接資料串CDS。在步驟S223中,安全協定裝置100會在鏈下OC將二元樹BT、初始鏈接值CH0、識別序號IS與累計序號AS儲存至資料庫裝置200。
在步驟S225中,當安全協定裝置100接收一驗證要求,安全協定裝置100會比對位於區塊鏈BC上的區塊鏈裝置300中的根雜湊值RH與在鏈下OC的資料庫裝置200中儲存的二元樹BT的根雜湊值RH,以驗證在鏈下OC儲存的二元樹BT的正確性。在步驟S227中,當安全協定裝置100接收一搜尋要求,且此搜尋要求是針對某一紀錄資料RD,安全協定裝置100會根據對應此紀錄資料RD的識別編號IN而定位在鏈下OC儲存的二元樹BT的葉節點LN,以搜尋對應於此識別編號IN的葉節點LN並由此葉節點LN取得此紀錄資料RD的雜湊值RDH,或驗證此紀錄資料RD的雜湊值RDH不存在此葉節點LN中。
在步驟S229中,當安全協定裝置100接收讀取要求RR,且此讀取要求RR要求讀取鏈接資料串CDS中的多個資料集合DS的多個根 雜湊值RH,安全協定裝置100會讀取區塊鏈BC上的資料集合DS在後者的根雜湊值RH並讀取在鏈下OC儲存的資料集合DS在前者的一或多個根雜湊值RH。在步驟S231中,安全協定裝置100會以區塊鏈BC上的在後的資料集合DS的鏈接雜湊值CH驗證在鏈下OC儲存的在前的一或多個根雜湊值RH的正確性。
藉由驗證系統10、10a與10b,在有需要讀取大量資料時,可在基於鏈接資料串CDS的架構下,由鏈下OC讀取相對大量的資料,而僅需由區塊鏈BC讀取相對少量的資料,並以區塊鏈BC的資料來驗證鏈下OC的資料,從而可兼顧效率與可信度。舉例來說,一個公司中,各員工的每日上下班打卡紀錄的雜湊值會對應儲存在二元樹BT中的各葉節點LN中,且每一二元樹BT即是此間公司的所有員工單日上下斑打卡紀錄。那麼,所有員工一整年的打卡紀錄會累積成數百筆資料,即數百個二元樹BT,而這些資料都會基於驗證系統10、10a或10b加以儲存與運用。如果有一天,此公司的內控部門需要調出某位員工數年來的打卡紀錄,驗證系統10、10a或10b不需要對區塊鏈BC進行大量讀取,只須讀取區塊鏈BC上的每個鏈接資料串CDS的最後一筆資料集合DS的根雜湊值RH與鏈接雜湊值CH,而各鏈接資料串CDS的其餘根雜湊值RH皆可由鏈下OC的資料庫裝置200讀取,並可由區塊鏈BC上的最後一筆資料集合DS的鏈接雜湊值CH來驗證資料庫裝置200的其餘根雜湊值RH的正確性。如此一來,可大幅減輕區塊鏈的網路傳輸需求與運算負荷,同時也可經過驗證而確保鏈下OC資料的正確性。
綜上所述,習知的區塊鏈架構是將資料全部傳送到區塊鏈 上,再透過區塊鏈礦工對資料進行驗證,如此將耗費大量的區塊鏈運算資源。根據本發明實施例的驗證系統與方法,在維持資料的可信任度(不可否認性)的前提下,可將大部分資料設置於鏈下資料庫裝置中,並透過安全協定裝置比對鏈下資料庫裝置的二元樹的根雜湊值與區塊鏈的對應根雜湊值,來驗證二元樹的正確性,藉此將主要運算轉為在鏈下執行,大幅減少區塊鏈的負荷。此外,安全協定裝置可根據識別編號定位紀錄資料,藉此可快速搜尋資料庫裝置中的紀錄資料的雜湊值所儲存的葉節點,並可快速驗證紀錄資料是否不存在。藉由本發明實施例的驗證系統與方法,可降低系統整體的運算量、運算時間與運算成本。並且,具有區塊鏈晶片的終端裝置可設置或整合至各種物件中,在實際應用上更加簡單方便,且可提高物件品質的信賴度與物件價值。
除此之外,藉由本發明實施例的驗證系統與方法的鏈接資料串,在需要大量讀取二元樹的根雜湊值時,可透過鏈下資料庫裝置中讀取這些根雜湊值,並以區塊鏈上的鏈接資料串的資料集合在後者的鏈接雜湊值來驗證由鏈下讀取的根雜湊值的正確性,從而在維持資料的可信任度的前提下,減輕區塊鏈的網路傳輸需求與運算負荷。
雖然本發明的技術內容已經以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技術者,在不脫離本發明之精神所作些許之更動與潤飾,皆應涵蓋於本發明的範疇內,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10b:驗證系統
100:安全協定裝置
110:二元樹處理單元
120:驗證單元
130:讀取單元
150:識別編號單元
160:定位搜尋單元
170:切片單元
180:識別序號單元
200:資料庫裝置
300:區塊鏈裝置
310:智能合約
311:鏈接處理單元
312:累計序號單元
400:終端裝置
410:紀錄資料產生單元
420:識別資料產生單元
430:切片驗證單元
440:識別編號單元
AS:累計序號
BT:二元樹
BTS:二元樹的切片
CDS:鏈接資料串
CH0:初始鏈接值
ID:識別資料
IS:識別序號
OC:鏈下
BC:區塊鏈
RD:紀錄資料
RDH:紀錄資料的雜湊值
RH:根雜湊值
RR:讀取要求

Claims (8)

  1. 一種由區塊鏈裝置執行的方法,該方法包括:自一安全協定裝置接收多個根雜湊值;根據該些根雜湊值產生一鏈接資料串,該鏈接資料串包括多個以串列方式鏈接的資料集合,各該資料集合分別包括各該根雜湊值與對應的一鏈接雜湊值,該些資料集合的最前者的該鏈接雜湊值為雜湊化一初始鏈接值而產生,在該最前的資料集合之後的各該資料集合的該鏈接雜湊值為雜湊化前一該資料集合而產生;以及傳送一特定根雜湊值至該安全協定裝置,以供該安全協定裝置驗證儲存於鏈下的一資料庫中的多個二元樹的正確性;其中,該特定根雜湊值為該鏈接資料串的一資料區段中的最後一筆的該資料集合的該根雜湊值,該資料區段對應於提供至該安全協定裝置的一讀取指令所指示的資料讀取範圍。
  2. 如請求項1之方法,其中,各該資料集合更包括一識別序號,各該識別序號分別對應於該鏈接資料串的各該資料集合的該根雜湊值,且各該資料集合的該鏈接雜湊值關聯於前一該資料集合的該根雜湊值、該識別序號與該鏈接雜湊值。
  3. 如請求項2之方法,更包括:自該安全協定裝置接收該些識別序號。
  4. 如請求項3之方法,其中,各該識別序號包括一時間戳記。
  5. 如請求項1之方法,其中,各該資料集合更包括一累計序號,各該累計序號分別對應於該鏈接資料串的各該資料集合的該根雜湊值,各該資料集合的該累計序號衍生自前一該資料集合的該累計序號的累計 值,且各該資料集合的該鏈接雜湊值關聯於前一該資料集合的該根雜湊值、該識別序號、該累計序號與該鏈接雜湊值。
  6. 一種區塊鏈裝置,包括:一記憶體:以及一處理器,耦接該記憶體,該處理器用以:自一安全協定裝置接收多個根雜湊值;根據該些根雜湊值產生一鏈接資料串,該鏈接資料串包括多個以串列方式鏈接的資料集合,各該資料集合分別包括各該根雜湊值與對應的一鏈接雜湊值,該些資料集合的最前者的該鏈接雜湊值為雜湊化一初始鏈接值而產生,在該最前的資料集合之後的各該資料集合的該鏈接雜湊值為雜湊化前一該資料集合而產生;以及傳送一特定根雜湊值至該安全協定裝置,以供該安全協定裝置驗證儲存於鏈下的一資料庫中的多個二元樹的正確性;其中,該特定根雜湊值為該鏈接資料串的一資料區段中的最後一筆的該資料集合的該根雜湊值,該資料區段對應於提供至該安全協定裝置的一讀取指令所指示的資料讀取範圍。
  7. 如請求項6之區塊鏈裝置,其中,各該資料集合更包括一識別序號,各該識別序號分別對應於該鏈接資料串的各該資料集合的該根雜湊值,且各該資料集合的該鏈接雜湊值關聯於前一該資料集合的該根雜湊值、該識別序號與該鏈接雜湊值。
  8. 如請求項7之區塊鏈裝置,其中,各該資料集合更包括一累計序號,各該累計序號分別對應於該鏈接資料串的各該資料集合的該根雜湊值,各該資料集合的該累計序號衍生自前一該資料集合的該累計序號的累 計值,且各該資料集合的該鏈接雜湊值關聯於前一該資料集合的該根雜湊值、該識別序號、該累計序號與該鏈接雜湊值。
TW108114389A 2019-04-24 2019-04-24 用於鏈接資料的方法與裝置 TWI706662B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
TW108114389A TWI706662B (zh) 2019-04-24 2019-04-24 用於鏈接資料的方法與裝置
CN201910676897.2A CN111858580A (zh) 2019-04-24 2019-07-25 用于链接数据的验证***与方法
US16/655,594 US11329828B2 (en) 2019-04-24 2019-10-17 Verification system and method for chaining data
JP2020076044A JP7075084B2 (ja) 2019-04-24 2020-04-22 チェーンデータの検証システムおよび方法
EP20171058.9A EP3731455B1 (en) 2019-04-24 2020-04-23 Verification system and method for chaining data
US17/714,460 US11876909B2 (en) 2019-04-24 2022-04-06 Verification system and method for chaining data
JP2022074710A JP7279904B2 (ja) 2019-04-24 2022-04-28 チェーンデータの検証システムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108114389A TWI706662B (zh) 2019-04-24 2019-04-24 用於鏈接資料的方法與裝置

Publications (2)

Publication Number Publication Date
TWI706662B true TWI706662B (zh) 2020-10-01
TW202040963A TW202040963A (zh) 2020-11-01

Family

ID=70464832

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108114389A TWI706662B (zh) 2019-04-24 2019-04-24 用於鏈接資料的方法與裝置

Country Status (5)

Country Link
US (2) US11329828B2 (zh)
EP (1) EP3731455B1 (zh)
JP (2) JP7075084B2 (zh)
CN (1) CN111858580A (zh)
TW (1) TWI706662B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563561B2 (en) * 2019-01-31 2023-01-24 Megachain Inc. Systems and methods for linkage data elements
KR20210142983A (ko) * 2020-05-19 2021-11-26 삼성에스디에스 주식회사 오프-체인 데이터 공유 시스템 및 그 방법
KR102648501B1 (ko) * 2020-12-16 2024-03-19 한국전자통신연구원 네트워크 환경 동기화 장치 및 방법
TWI794740B (zh) * 2021-02-08 2023-03-01 宜鼎國際股份有限公司 資料上鏈系統及方法
US11477279B1 (en) * 2021-06-18 2022-10-18 Compellio S.A. Digital assets exchange coordination
CN114710492B (zh) * 2022-03-31 2023-12-22 蚂蚁区块链科技(上海)有限公司 直连通道的建立方法、装置、电子设备和存储介质
JP7144020B1 (ja) 2022-06-10 2022-09-29 株式会社Gfs 情報処理方法、サーバ、及びプログラム
US20240184747A1 (en) * 2022-12-01 2024-06-06 International Trust Machines Corporation Method and system for blockchain-based data management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120143830A1 (en) * 2010-12-02 2012-06-07 At&T Intellectual Property I, L.P. Interactive proof to validate outsourced data stream processing
TW201732666A (zh) * 2016-02-23 2017-09-16 恩鏈控股有限公司 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統
US20180101701A1 (en) * 2016-10-07 2018-04-12 Acronis International Gmbh System and method for file authenticity certification using blockchain network
WO2018119293A1 (en) * 2016-12-23 2018-06-28 Amazon Technologies, Inc. Key distribution in a distributed computing environment
CN108230109A (zh) * 2018-01-02 2018-06-29 罗梅琴 一种基于区块链技术的共享***及方法
JP2019501612A (ja) * 2015-10-21 2019-01-17 イノジー イノヴァツィオン ゲゼルシャフト ミット ベシュレンクテル ハフツングinnogy Innovation GmbH 供給システムのメータおよび供給システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719576B2 (en) 2003-12-22 2014-05-06 Guardtime IP Holdings, Ltd Document verification with distributed calendar infrastructure
US9628343B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework with dynamic service network topologies
WO2015102639A1 (en) 2014-01-03 2015-07-09 Hewlett-Packard Development Company, Lp Fluid ejection device with integrated ink level sensors
CN104901931B (zh) 2014-03-05 2018-10-12 财团法人工业技术研究院 证书管理方法与装置
US10103893B2 (en) 2015-02-27 2018-10-16 Guardtime IP Holdings, Ltd. Blockchain-supported, fail-safe synchronization in a data authentication infrastructure
CN106844477B (zh) * 2016-12-23 2018-05-01 北京众享比特科技有限公司 区块链***、区块查找方法和区块链后向同步方法
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
KR102303427B1 (ko) * 2017-04-05 2021-09-23 삼성에스디에스 주식회사 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템
KR101877345B1 (ko) * 2017-04-18 2018-07-12 주식회사 코인플러그 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
KR101919590B1 (ko) * 2017-05-10 2019-02-08 주식회사 코인플러그 블록체인 데이터베이스 및 이와 연동하는 머클 트리 구조를 통해 사물 인터넷 기기에 대한 비용을 결제하는 방법, 이를 이용한 서버, 서비스 제공 단말, 및 사용자 전자 지갑
JP7095243B2 (ja) 2017-09-13 2022-07-05 セイコーエプソン株式会社 液体吐出装置および液体吐出装置の制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120143830A1 (en) * 2010-12-02 2012-06-07 At&T Intellectual Property I, L.P. Interactive proof to validate outsourced data stream processing
JP2019501612A (ja) * 2015-10-21 2019-01-17 イノジー イノヴァツィオン ゲゼルシャフト ミット ベシュレンクテル ハフツングinnogy Innovation GmbH 供給システムのメータおよび供給システム
TW201732666A (zh) * 2016-02-23 2017-09-16 恩鏈控股有限公司 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統
US20180101701A1 (en) * 2016-10-07 2018-04-12 Acronis International Gmbh System and method for file authenticity certification using blockchain network
WO2018119293A1 (en) * 2016-12-23 2018-06-28 Amazon Technologies, Inc. Key distribution in a distributed computing environment
CN108230109A (zh) * 2018-01-02 2018-06-29 罗梅琴 一种基于区块链技术的共享***及方法

Also Published As

Publication number Publication date
TW202040963A (zh) 2020-11-01
JP7279904B2 (ja) 2023-05-23
JP2020182215A (ja) 2020-11-05
US11329828B2 (en) 2022-05-10
US20200344061A1 (en) 2020-10-29
US11876909B2 (en) 2024-01-16
CN111858580A (zh) 2020-10-30
JP2022105130A (ja) 2022-07-12
EP3731455A1 (en) 2020-10-28
JP7075084B2 (ja) 2022-05-25
EP3731455B1 (en) 2024-02-21
US20220231856A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
TWI706662B (zh) 用於鏈接資料的方法與裝置
TWI708154B (zh) 適用於區塊鏈與鏈下間協作的驗證系統與方法
EP3779760B1 (en) Blockchain-based data processing method and apparatus, and electronic device
US11468044B2 (en) Optimizations for verification of interactions system and method using probability density functions
CN110012005A (zh) 识别异常数据的方法、装置、电子设备及存储介质
US20200364373A1 (en) File verification method, file verification system and file verification server
CN111651525A (zh) 区块链数据存储方法和装置
TWI728899B (zh) 用於處理鏈接資料的方法與裝置
TWI783441B (zh) 用於與區塊鏈協作的資料處理方法與裝置
CN111737342A (zh) 一种基于区块链的政府诚信档案管理***
US20240184747A1 (en) Method and system for blockchain-based data management
CN112883038B (zh) 一种基于区块链的数据管理方法、计算机及可读存储介质
CN115952559A (zh) 防篡改可信索引查询方法、装置以及电子设备
CN112100683A (zh) 文件验证方法、文件验证***与文件验证伺服器
CN116166894A (zh) 一种电子证据存证溯源方法、***及装置
CN116760632A (zh) 数据处理方法、装置、设备及可读存储介质
CN117640620A (zh) 一种燃气隐患排查场景中数据共享的方法及装置
CN113868255A (zh) 一种基于区块链的设备标识存储方法、装置及电子设备
CN115905150A (zh) 日志管理***、方法、设备及存储介质
CN113919435A (zh) 激光器异常功率数据采集方法、装置、电子设备及介质
CN116089688A (zh) 基于关联数据的搜索结果生成方法、装置、设备及介质
CN111079199A (zh) 基于区块链技术的企业信用数据截图防篡改方法