TWI695260B - 區塊資料校驗方法和裝置 - Google Patents
區塊資料校驗方法和裝置 Download PDFInfo
- Publication number
- TWI695260B TWI695260B TW106131915A TW106131915A TWI695260B TW I695260 B TWI695260 B TW I695260B TW 106131915 A TW106131915 A TW 106131915A TW 106131915 A TW106131915 A TW 106131915A TW I695260 B TWI695260 B TW I695260B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- block
- newly added
- node
- value
- Prior art date
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Detection And Correction Of Errors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明公開了一種區塊資料校驗方法及裝置,包括:從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點;針對所述資料節點,確定所述新增資料的校驗值,並根據所述新增資料的校驗值,計算所述資料節點的更新校驗值;根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值;其中,所述區塊的校驗值用於校驗所述區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致。利用新增資料確定用於儲存該新增資料的資料節點的更新校驗值,避免了現有技術中當區塊中新增資料時利用區塊中所有資料計算校驗值所導致的時間消耗較長的問題,有效縮短了校驗值的計算時間,從而提高了區塊資料校驗的效率。
Description
本發明涉及電腦通信技術領域,尤其涉及一種區塊資料校驗方法和裝置。
區塊鏈技術也稱為分散式帳本技術,是一種分散式網際網路資料庫技術,其特點是去中心化、公開透明、不可篡改、可信任。區塊鏈中儲存的每一條資料,將會廣播儲存至區塊鏈中各個區塊中,因此,區塊鏈的每個區塊中儲存全量的、一致的資料。 在實際應用中,區塊鏈需要保持各個區塊中儲存資料一致。通常採用資料校驗的方式校驗各個區塊中儲存的資料是否一致。 具體地,在進行區塊資料校驗時,需要確定每一個區塊的校驗值,並將各個區塊的校驗值進行比對,進而判斷區塊鏈的各個區塊中儲存的資料是否一致。 經研究發現,在確定每一個區塊的校驗值時,由於區塊中儲存的資料量比較大,那麼在確定該區塊的校驗值時,需要將區塊中儲存的所有資料進行計算,計算得到該區塊的校驗值。但是隨著區塊中儲存資料量的增加,將使得計算校驗值的計算量增加,進而導致資料校驗效率降低。 因此,如何提高區塊資料校驗的效率成為本領域極待解決的問題。 背景技術部分公開的資訊只是為了加強對本發明的一般背景的理解,不應視為承認或默許這種資訊構成本領域技術人員已知的現有技術。
有鑑於此,本發明實施例提供了一種區塊資料校驗方法和裝置,以解決現有技術中區塊資料校驗效率較低的問題。 本發明實施例提供一種區塊資料校驗方法,包括: 從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點; 針對所述資料節點,確定所述新增資料的校驗值,並根據所述新增資料的校驗值,計算所述資料節點的更新校驗值; 根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值; 其中,所述區塊的校驗值用於校驗所述區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致。 本發明實施例還提供一種區塊資料校驗裝置,包括: 選擇模組,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點; 確定模組,針對所述資料節點,確定所述新增資料的校驗值,並根據所述新增資料的校驗值,計算所述資料節點的更新校驗值; 處理模組,根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值; 其中,所述區塊的校驗值用於校驗所述區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致。 本發明實施例採用的上述至少一個技術方案能夠達到以下有益效果: 在區塊中新增資料時,利用新增資料確定用於儲存該新增資料的資料節點的更新校驗值,避免了現有技術中當區塊中新增資料時利用區塊中所有資料計算校驗值所導致的時間消耗較長的問題,使在計算新增資料的區塊的校驗值時,所消耗時間與區塊中資料量的多少無關,有效縮短了校驗值的計算時間,從而提高了區塊資料校驗的效率。
為了實現本發明的目的,本發明實施例提供了一種區塊資料校驗方法及裝置,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點;針對所述資料節點,確定所述新增資料的校驗值,並根據所述新增資料的校驗值,計算所述資料節點的更新校驗值;根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值;其中,所述區塊的校驗值用於校驗所述區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致。與處理所有歷史資料的現有技術相比,本發明實施例著重考慮區塊的新增資料,對於新增資料的區塊,提出了採用增量方式計算校驗值,避免了現有技術中當區塊中新增資料時利用區塊中所有資料計算校驗值所導致的時間消耗較長的問題,使在計算新增資料的區塊的校驗值時,所消耗時間與區塊中資料量的多少無關,有效縮短了校驗值的計算時間,從而提高了區塊資料校驗的效率。 需要說明的是,本發明實施例中所記載的用於計算校驗值的設定演算法可以是各種校驗演算法,還可以是各種不可逆演算法,具體演算法類型在本發明實施例中不做具體限定。 例如:可以使用雜湊演算法計算得到需要的校驗值。雜湊(Hash)演算法,即雜湊函數,又可以稱之為雜湊函式。它是一種單向密碼體制,即它是一個從明文到密文的不可逆的映射,即只有加密過程,沒有解密過程。同時,雜湊函數可以將任意長度的輸入經過變化以後得到固定長度的輸出。典型的雜湊演算法包括 MD2、MD4、MD5 和 SHA-1等。 本領域技術人員應該理解,本發明實施例的說明書中提到的雜湊演算法僅是示例,並不構成對本發明的限制。本領域技術人員能夠根據實際應用和需要採用其他用於校驗的演算法,這裡不做具體限定。 為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明具體實施例及相應的圖式對本發明技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。 以下結合圖式,詳細說明本發明各實施例提供的技術方案。 圖1為本發明實施例提供的一種區塊資料校驗方法的流程示意圖。所述區塊資料校驗方法包括以下步驟。 步驟S110:從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點。 區塊鏈由若干區塊採用鏈式資料結構連接形成。每個區塊中包括多個資料節點。區塊中包含的資料節點可以構建為梅克爾樹(Merkle tree)的形式,即包含根節點和多個葉子節點。 在Merkle tree結構中,區塊中包含的資料節點作為Merkle tree結構中的底層葉子節點,如圖2所示。 從圖2中可以看出,在Merkle tree結構中,A、B、C、D和E對應於區塊中的資料節點。 本領域技術人員應該理解,在區塊中基於資料節點構建梅克爾樹,可以根據需要確定梅克爾樹的深度。 需要說明的是,為了保證區塊鏈中各個區塊中儲存資料的一致性,在區塊鏈的各個區塊中構建的梅克爾樹的深度相同,此外,各個區塊中包含的資料節點的個數也相同。此外,還應該理解,這裡列出的梅克爾樹只是一種舉例說明,本領域技術人員可以採用其他適當的資料構建形式,這裡不做具體限定。 對於待儲存的資料(這裡的資料可以稱之為新增資料),首先,確定用於儲存該新增資料的區塊;其次,確定在該區塊中用於儲存該新增資料的資料節點。 那麼在接收到新增資料時,首先,確定用於儲存所述新增資料的區塊資訊,所述區塊資訊中包含區塊標識和資料節點標識。 具體地,對所述新增資料對應的資料內容進行計算,得到確定的區塊資訊。 根據本發明實施例,新增資料對應的資料內容可以根據新增資料的類型確定,也可以根據新增資料中包含的資料確定,這裡不做具體限定。 例如:該新增資料為文本資料,那麼新增資料對應的資料內容可以理解為該文本資料的內容摘要;也可以理解為該文本資料;那麼可以按照設定演算法,對該新增資料對應的資料內容(例如:內容摘要,或者文本資料)進行計算,得到計算結果,此時根據計算結果確定區塊資訊。 再例如:該新增資料為一條交易資料,那麼可以按照設定演算法,對該交易資料進行計算,得到計算結果,此時根據計算結果確定區塊資訊。 本發明實施例中所記載的設定演算法:例如採用求餘的計算方式,那麼將資料內容轉換為整數資料,以區塊鏈中所包含的區塊個數作為除數,利用該除數對整數資料進行計算,得到的商值和餘數。這裡的商值可以視為區塊標識,餘數可以視為區塊中資料節點標識;或者商值可以視為資料節點標識,餘數可以視為區塊標識。 當然,為了根據需要將新增資料分配至適當的區塊和資料節點,本領域技術人員也可以設想對資料內容進行計算的其他方式,例如對資料內容進行隨機計算等等,這裡不做限定。 其次,根據所述區塊標識,從區塊鏈中查找與所述區塊標識對應的區塊;以及從查找到的區塊中確定與所述資料節點標識對應的資料節點。 在形成區塊鏈的過程中,為每一個區塊確定一個區塊標識,那麼在得到區塊資訊時,可以根據區塊資訊中的區塊標識,從區塊鏈中查找到與該區塊標識對應的區塊; 由於每一個區塊中包含多個資料節點,可以為每一個資料節點確定資料節點標識,那麼在得到區塊資訊時,可以根據區塊資訊中的資料節點標識,從查找到的區塊中確定與該資料節點標識對應的資料節點。 最後,將查找到的資料節點作為用於儲存所述新增資料的資料節點。 步驟S120:針對所述資料節點,確定所述新增資料的校驗值。 在本發明實施例中,由於新增資料在被儲存至資料節點之前,資料節點中有可能已經儲存了資料,而這些資料中有可能有些資料與新增資料之間存在某種關聯關係,那麼與新增資料之間存在關聯關係的資料可以被稱之為關聯資料;也可能資料節點中儲存的資料與該新增資料之間不具備關聯關係,即在資料節點中不存在與該新增資料關聯的關聯資料。 需要說明的是,本發明實施例中所記載的關聯關係可以是在用戶帳戶、支付活動、交易時間、交易地點等因素方面產生的關係,例如:同一個使用者的兩個交易資料,那麼這兩個交易資料因為使用者帳戶相同而產生關聯關係;也可以是交易行為產生的關係,例如:一個交易資料所記載的內容是使用者A向使用者B轉帳100元;另一條交易資料所記載的內容是使用者B向使用者轉帳100元;那麼這兩條交易資料因為轉帳行為中所包含的物件和金額相同而產生關聯關係;這裡對於關聯關係的具體內容不做具體限定。 此外,新增資料在被儲存至資料節點之前,資料節點中可能尚未儲存資料,此時,可以視為在資料節點中不存在與該新增資料關聯的關聯資料。 那麼在確定所述新增資料的校驗值時,可以但不限於分為以下兩種情形: 第一種情形:在資料節點中不存在與該新增資料關聯的關聯資料。 那麼確定所述新增資料的校驗值可以參考圖3,圖3為本發明實施例提供的確定新增資料的校驗值的流程示意圖。 S310:確定所述新增資料對應的字串。 在本發明實施例中,確定新增資料對應的字串可以採用將資料轉換為字串的任何適當的技術手段,例如通過相應的轉換函數將新增資料轉換為字串等,這裡不做具體限定。 S320:按照設定演算法,對所述字串進行計算得到所述新增資料的校驗值。 具體地,利用雜湊演算法,對所述字串進行計算得到所述新增資料的雜湊值,將該雜湊值作為該新增資料的校驗值。 本領域技術人員應該理解,這裡提到的雜湊演算法僅是示例,並不構成對本發明的限制。 第二種情形:在資料節點中存在與該新增資料關聯的關聯資料。 那麼確定所述新增資料的校驗值可以參考圖4,圖4為本發明實施例提供的確定新增資料的校驗值的流程示意圖。 S410:分別確定所述關聯資料對應的第一字串和所述新增資料對應的第二字串。 同樣地,確定關聯資料對應的第一字串和新增資料對應的第二字串可以採用將資料轉換為字串的任何適當的技術手段,例如通過相應的轉換函數將資料轉換為字串等,這裡不做具體限定。 S420:按照設定方式對所述第一字串和所述第二字串進行排序。 需要說明的是,設定方式,可以根據實際需要確定,也可以根據實驗結果確定,在本發明實施例中所採用的排序方式不限定。例如:將第一字串和第二字串順序排列,其目的是將第一字串和第二字串進行組合,形成用於計算的字串組,是第一字串在前還是第二字串在前,在本發明實施例中不限定。本領域技術人員也可以採用其他排序方式。 S430:按照設定演算法,對排序後得到的字串進行計算得到所述新增資料的校驗值。 具體地,利用雜湊演算法,對排序後得到的字串進行計算得到所述新增資料的雜湊值,將該雜湊值作為該新增資料的校驗值。 步驟S130:根據所述新增資料的校驗值,計算所述資料節點的更新校驗值。 具體地,確定所述資料節點在未儲存所述新增資料之前的原始校驗值;根據所述原始校驗值和所述新增資料的校驗值,計算得到所述資料節點的更新校驗值。 在本發明實施例中,由於資料節點在儲存該新增資料之前如果已經儲存了其他資料,那麼在儲存其他資料時,將為該資料節點計算一個校驗值,這個校驗值相對於新增資料來說,可以稱之為原始校驗值。 例如:對於資料節點A,每儲存一個資料,將計算一個校驗值,也就是說資料節點的校驗值將隨著資料節點中資料的更新發生變化。假設在儲存新增資料之前,該資料節點A中已儲存了資料11和資料12,那麼資料節點在儲存資料11時,計算得到校驗值a;資料節點在儲存資料12時,a可以稱之為原始校驗值,此時利用原始校驗值計算得到校驗值b;那麼b可以稱之為更新校驗值。 假設新增資料為資料13,那麼根據步驟S120得到資料13的校驗值c,此時需要確定該資料節點在未儲存資料13之前的校驗值,即校驗值b,那麼此時校驗值b被稱之為原始校驗值。利用校驗值c和校驗值b,按照設定演算法,計算得到該資料節點的更新校驗值。 需要說明的是,如果該資料節點之前尚未儲存資料,該新增資料作為該資料節點的第一資料,那麼在本發明實施例中,該新增資料的校驗值可以看做是該資料節點的校驗值。 步驟S140:根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值。 在本發明實施例中,確定所述區塊中包含的多個資料節點對應的樹結構,以及確定所述區塊中包含的其他資料節點的原始校驗值;根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,遍歷所述樹結構,得到所述樹結構的根節點的校驗值,並將所述根節點的校驗值作為所述區塊的校驗值。 以圖2中所示的內容為例。假設在尚未有新增資料儲存至圖2中所示的區塊時,圖2中所示的資料節點A對應的校驗值為a、資料節點B對應的校驗值為b、資料節點C對應的校驗值為c、資料節點D對應的校驗值為d以及資料節點E對應的校驗值為e。 此時,新增資料需要儲存至資料節點A,那麼校驗值a、校驗值b、校驗值c、校驗值d和校驗值e此時被稱之為原始校驗值。 當新增資料儲存至資料節點A之後,資料節點A的校驗值將發生變化,假設資料節點A的校驗值由校驗值a變化為校驗值g,那麼校驗值g可以稱之為資料節點A的更新校驗值。 此時,基於資料節點A的校驗值g、資料節點B的校驗值b、資料節點C的校驗值c、資料節點D的校驗值d以及資料節點E的校驗值e,按照設定演算法,計算得到區塊的校驗值。 例如:根據資料節點A、資料節點B、資料節點C、資料節點D和資料節點E在圖2中所示的樹結構,利用資料節點A的校驗值g、資料節點B的校驗值b、資料節點C的校驗值c、資料節點D的校驗值d以及資料節點E的校驗值e,計算得到區塊的校驗值。 在獲得該區塊的校驗值之後,可以將其與區塊鏈中其他區塊的校驗值進行比較。如果比較的結果一致,則說明該區塊中儲存的資料與其他區塊中儲存的資料一致,校驗通過。如果比較的結果不一致,則說明該區塊中儲存的資料與其他區塊中儲存的資料不一致,例如區塊資料可能已經丟失或者已經被篡改,不能通過校驗。 在本發明實施例中,通過增量計算的方式,快速確定區塊因新增資料而發生變化的變化後的校驗值,縮短了校驗值計算的時間,提升了系統計算性能。 通過本發明實施例所提供的技術方案,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點;針對所述資料節點,確定所述新增資料的校驗值,並根據所述新增資料的校驗值,計算所述資料節點的更新校驗值;根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值;其中,所述區塊的校驗值用於校驗所述區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致。與處理所有歷史資料的現有技術相比,本發明實施例著重考慮區塊的新增資料,對於新增資料的區塊,提出了採用增量方式計算校驗值,避免了現有技術中當區塊中新增資料時利用區塊中所有資料計算校驗值所導致的時間消耗較長的問題,使在計算新增資料的區塊的校驗值時,所消耗時間與區塊中資料量的多少無關,有效縮短了校驗值的計算時間,從而提高了區塊資料校驗的效率。 另一方面,對於未處理的原始資料,如果被篡改,即使根據本發明實施例在計算新增資料的校驗值時未發現這種篡改,但是由於區塊鏈的構造和性質,在區塊鏈的各個區塊中執行資料更新時肯定能發現這樣的篡改;從而,不會影響區塊資料的最終校驗。 圖5為根據本發明實施例的一種區塊資料校驗裝置的結構示意圖。所述區塊資料校驗裝置包括選擇模組510、確定模組520和處理模組530。 選擇模組510,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點; 確定模組520,針對所述資料節點,確定所述新增資料的校驗值,並根據所述新增資料的校驗值,計算所述資料節點的更新校驗值; 處理模組530,根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值; 其中,所述區塊的校驗值用於校驗所述區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致。 在本發明的另一個實施例中,所述選擇模組510從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點,包括: 在接收到新增資料時,確定用於儲存所述新增資料的區塊資訊,所述區塊資訊中包含區塊標識和資料節點標識; 根據所述區塊標識,從區塊鏈中查找與所述區塊標識對應的區塊;以及從查找到的區塊中確定與所述資料節點標識對應的資料節點; 將查找到的資料節點作為用於儲存所述新增資料的資料節點。 在本發明的另一個實施例中,所述選擇模組510確定用於儲存所述新增資料的區塊資訊,包括: 對所述新增資料對應的資料內容進行計算,得到確定的區塊資訊。 在本發明的另一個實施例中,所述確定模組520確定所述新增資料的校驗值,包括: 在確定所述資料節點中不存在與所述新增資料的關聯資料時,確定所述新增資料對應的字串; 按照設定演算法,對所述字串進行計算得到所述新增資料的校驗值。 在本發明的另一個實施例中,所述確定模組520確定所述新增資料的校驗值,包括: 在確定所述資料節點中存在與所述新增資料的關聯資料時,分別確定所述關聯資料對應的第一字串和所述新增資料對應的第二字串; 按照設定方式對所述第一字串和所述第二字串進行排序; 按照設定演算法,對排序後得到的字串進行計算得到所述新增資料的校驗值。 在本發明的另一個實施例中,所述確定模組520根據所述新增資料的校驗值,計算所述資料節點的更新校驗值,包括: 確定所述資料節點在未儲存所述新增資料之前的原始校驗值; 根據所述原始校驗值和所述新增資料的校驗值,計算得到所述資料節點的更新校驗值。 在本發明的另一個實施例中,所述處理模組530根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,得到所述區塊的校驗值,包括: 確定所述區塊中包含的多個資料節點對應的樹結構,以及確定所述區塊中包含的其他資料節點的原始校驗值; 根據所述資料節點的更新校驗值與所述區塊中包含的其他資料節點的原始校驗值,遍歷所述樹結構,得到所述樹結構的根節點的校驗值,並將所述根節點的校驗值作為所述區塊的校驗值。 需要說明的是,本發明實施例中所記載的區塊資料校驗裝置可以通過軟體方式實現,也可以通過硬體方式實現,這裡不做具體限定。區塊資料校驗裝置對於新增資料的區塊,提出了採用增量方式計算校驗值,避免了現有技術中當區塊中新增資料時利用區塊中所有資料計算校驗值所導致的時間消耗較長的問題,使在計算新增資料的區塊的校驗值時,所消耗時間與區塊中資料量的多少無關,有效縮短了校驗值的計算時間,從而提高了區塊資料校驗的效率。 在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯裝置(Programmable Logic Device,PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式設計來確定。由設計人員自行程式設計來把一個數位系統“集成”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。 控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀介質、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、專用積體電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。 上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、筆記型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。 為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本發明時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。 本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。 本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。 這些電腦程式指令也可儲存在能引導電腦或其他可程式化資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。 這些電腦程式指令也可裝載到電腦或其他可程式化資料處理設備上,使得在電腦或其他可程式化設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。 在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。 記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。 電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。 還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。 本領域技術人員應明白,本發明的實施例可提供為方法、系統或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。 以上所述僅為本發明的實施例而已,並不用於限制本發明。對於本領域技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發明的申請專利範圍之內。
S110-S430‧‧‧步驟510‧‧‧選擇模組520‧‧‧確定模組530‧‧‧處理模組
此處所說明的圖式用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在圖式中: 圖1為本發明實施例提供的一種區塊資料校驗方法的流程示意圖; 圖2為本發明實施例提供的Merkle tree結構示意圖; 圖3為本發明實施例提供的確定新增資料的校驗值的流程示意圖; 圖4為本發明實施例提供的確定新增資料的校驗值的流程示意圖; 圖5為本發明實施例的一種區塊資料校驗裝置的結構示意圖。
Claims (12)
- 一種區塊資料校驗方法,其特徵在於,包括:從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點;針對該資料節點,確定該新增資料的校驗值,並根據該新增資料的校驗值,計算該資料節點的更新校驗值;根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,得到該區塊的校驗值;其中,該區塊的校驗值用於校驗該區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致,其中,確定該新增資料的校驗值,包括:在確定該資料節點中不存在與該新增資料的關聯資料時,確定該新增資料對應的字串;按照設定演算法,對該字串進行計算得到該新增資料的校驗值。
- 一種區塊資料校驗方法,其特徵在於,包括:從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點;針對該資料節點,確定該新增資料的校驗值,並根據該新增資料的校驗值,計算該資料節點的更新校驗值;根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,得到該區塊的校驗值; 其中,該區塊的校驗值用於校驗該區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致,其中,確定該新增資料的校驗值,包括:在確定該資料節點中存在與該新增資料的關聯資料時,分別確定該關聯資料對應的第一字串和該新增資料對應的第二字串;按照設定方式對該第一字串和該第二字串進行排序;按照設定演算法,對排序後得到的字串進行計算得到該新增資料的校驗值。
- 根據請求項1或2所述的區塊資料校驗方法,其中,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點,包括:在接收到新增資料時,確定用於儲存該新增資料的區塊資訊,該區塊資訊中包含區塊標識和資料節點標識;根據該區塊標識,從區塊鏈中查找與該區塊標識對應的區塊;以及從查找到的區塊中確定與該資料節點標識對應的資料節點;將查找到的資料節點作為用於儲存該新增資料的資料節點。
- 根據請求項3所述的區塊資料校驗方法,其中,確定用於儲存該新增資料的區塊資訊,包括: 對該新增資料對應的資料內容進行計算,得到確定的區塊資訊。
- 根據請求項1或2所述的區塊資料校驗方法,其中,根據該新增資料的校驗值,計算該資料節點的更新校驗值,包括:確定該資料節點在未儲存該新增資料之前的原始校驗值;根據該原始校驗值和該新增資料的校驗值,計算得到該資料節點的更新校驗值。
- 根據請求項1或2所述的區塊資料校驗方法,其中,根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,得到該區塊的校驗值,包括:確定該區塊中包含的多個資料節點對應的樹結構,以及確定該區塊中包含的其他資料節點的原始校驗值;根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,遍歷該樹結構,得到該樹結構的根節點的校驗值,並將該根節點的校驗值作為該區塊的校驗值。
- 一種區塊資料校驗裝置,其特徵在於,包括:選擇模組,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點; 確定模組,針對該資料節點,確定該新增資料的校驗值,並根據該新增資料的校驗值,計算該資料節點的更新校驗值;處理模組,根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,得到該區塊的校驗值;其中,該區塊的校驗值用於校驗該區塊中儲存的資料是否與區塊鏈中其他區塊中儲存的資料一致,其中,該確定模組確定該新增資料的校驗值,包括:在確定該資料節點中不存在與該新增資料的關聯資料時,確定該新增資料對應的字串;按照設定演算法,對該字串進行計算得到該新增資料的校驗值。
- 一種區塊資料校驗裝置,其特徵在於,包括:選擇模組,從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點;確定模組,針對該資料節點,確定該新增資料的校驗值,並根據該新增資料的校驗值,計算該資料節點的更新校驗值;處理模組,根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,得到該區塊的校驗值;其中,該區塊的校驗值用於校驗該區塊中儲存的資料 是否與區塊鏈中其他區塊中儲存的資料一致,其中,該確定模組確定該新增資料的校驗值,包括:在確定該資料節點中存在與該新增資料的關聯資料時,分別確定該關聯資料對應的第一字串和該新增資料對應的第二字串;按照設定方式對該第一字串和該第二字串進行排序;按照設定演算法,對排序後得到的字串進行計算得到該新增資料的校驗值。
- 根據請求項7或8所述的區塊資料校驗裝置,其中,該選擇模組從包含多個資料節點的區塊中選擇用於儲存新增資料的資料節點,包括:在接收到新增資料時,確定用於儲存該新增資料的區塊資訊,該區塊資訊中包含區塊標識和資料節點標識;根據該區塊標識,從區塊鏈中查找與該區塊標識對應的區塊;以及從查找到的區塊中確定與該資料節點標識對應的資料節點;將查找到的資料節點作為用於儲存該新增資料的資料節點。
- 根據請求項9所述的區塊資料校驗裝置,其中,該選擇模組確定用於儲存該新增資料的區塊資訊,包括:對該新增資料對應的資料內容進行計算,得到確定的 區塊資訊。
- 根據請求項7或8所述的區塊資料校驗裝置,其中,該確定模組根據該新增資料的校驗值,計算該資料節點的更新校驗值,包括:確定該資料節點在未儲存該新增資料之前的原始校驗值;根據該原始校驗值和該新增資料的校驗值,計算得到該資料節點的更新校驗值。
- 根據請求項7或8所述的區塊資料校驗裝置,其中,該處理模組根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,得到該區塊的校驗值,包括:確定該區塊中包含的多個資料節點對應的樹結構,以及確定該區塊中包含的其他資料節點的原始校驗值;根據該資料節點的更新校驗值與該區塊中包含的其他資料節點的原始校驗值,遍歷該樹結構,得到該樹結構的根節點的校驗值,並將該根節點的校驗值作為該區塊的校驗值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201611215749.3 | 2016-12-26 | ||
CN201611215749.3 | 2016-12-26 | ||
CN201611215749.3A CN107015882B (zh) | 2016-12-26 | 2016-12-26 | 一种区块数据校验方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201823988A TW201823988A (zh) | 2018-07-01 |
TWI695260B true TWI695260B (zh) | 2020-06-01 |
Family
ID=59439902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106131915A TWI695260B (zh) | 2016-12-26 | 2017-09-18 | 區塊資料校驗方法和裝置 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10560267B2 (zh) |
EP (1) | EP3561674B1 (zh) |
JP (1) | JP6804668B2 (zh) |
KR (1) | KR102098548B1 (zh) |
CN (1) | CN107015882B (zh) |
PH (1) | PH12019501501A1 (zh) |
TW (1) | TWI695260B (zh) |
WO (1) | WO2018121319A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3393382A4 (en) | 2015-12-23 | 2019-09-04 | The Regents of The University of Colorado, A Body Corporate | OPHTHALMIC KNIFE AND METHODS OF USE |
CN107015882B (zh) * | 2016-12-26 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 一种区块数据校验方法和装置 |
CN108876371B (zh) * | 2018-06-26 | 2021-01-29 | 广州天高软件科技有限公司 | 基于区块链的消费数据存储、数据校验、数据溯源方法 |
CN110795269B (zh) * | 2018-08-03 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种数据恢复验证方法、装置及设备 |
TW202016743A (zh) | 2018-10-25 | 2020-05-01 | 財團法人資訊工業策進會 | 用於物聯網系統之資料處理裝置及資料處理方法 |
CN109493221B (zh) * | 2018-10-26 | 2021-01-12 | 全链通有限公司 | 区块链中交易记录保密方法、设备、网络及存储介质 |
CN109582473A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 基于区块链的跨链数据访问方法和装置 |
CN111768203A (zh) * | 2018-11-07 | 2020-10-13 | 阿里巴巴集团控股有限公司 | 一种构建梅克尔树、简单支付验证方法及装置 |
US11354734B2 (en) | 2018-12-10 | 2022-06-07 | Henry Gleizer | Cryptographic monetary system for providing digital currency |
CN109918378B (zh) * | 2019-03-05 | 2020-09-25 | 中国科学院深圳先进技术研究院 | 一种基于区块链的遥感数据存储方法和存储*** |
CN111694502B (zh) * | 2019-03-14 | 2023-05-30 | 北京沃东天骏信息技术有限公司 | 区块链数据存储方法、装置、设备及存储介质 |
US11294875B2 (en) | 2019-05-31 | 2022-04-05 | Advanced New Technologies Co., Ltd. | Data storage on tree nodes |
CN110275884B (zh) * | 2019-05-31 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 数据存储方法及节点 |
CN112667855B (zh) * | 2019-10-15 | 2022-07-05 | 北京新唐思创教育科技有限公司 | 区块链数据管理方法、电子设备及计算机存储介质 |
CN111027972B (zh) * | 2019-11-25 | 2023-09-01 | 北京链化未来科技有限公司 | 一种基于区块链的数据验证方法、装置及电子设备 |
CN111176567B (zh) * | 2019-12-25 | 2023-11-03 | 上海新沄信息科技有限公司 | 分布式云存储的存储供应量验证方法及装置 |
US11409907B2 (en) | 2020-04-01 | 2022-08-09 | Onu Technology Inc. | Methods and systems for cryptographically secured decentralized testing |
US10887104B1 (en) | 2020-04-01 | 2021-01-05 | Onu Technology Inc. | Methods and systems for cryptographically secured decentralized testing |
CN111478957B (zh) * | 2020-04-02 | 2023-09-08 | 深圳市人工智能与机器人研究院 | 基于区块链的实验数据处理方法、装置和计算机设备 |
CN111555860B (zh) * | 2020-04-09 | 2023-04-21 | 中信梧桐港供应链管理有限公司 | 一种区块链节点共识方法、装置、电子设备及存储介质 |
CN112199350B (zh) * | 2020-09-29 | 2023-10-24 | 中国平安人寿保险股份有限公司 | 基于数据筛选的功能验证方法、装置、计算机设备和介质 |
WO2023201032A1 (en) * | 2022-04-15 | 2023-10-19 | Kanovitz Michael Ira | Secure retrieval of off-network data by trusted network entities |
CN117251707B (zh) * | 2023-11-20 | 2024-02-09 | 武汉大学 | 一种河流数据要素的区块链锚定和验证方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4849978A (en) * | 1987-07-02 | 1989-07-18 | International Business Machines Corporation | Memory unit backup using checksum |
TW583546B (en) * | 2002-09-20 | 2004-04-11 | Wu-Jeng Li | Web-based hardware-neutral centralized sequential controller |
US20090183056A1 (en) * | 2008-01-16 | 2009-07-16 | Bluearc Uk Limited | Validating Objects in a Data Storage system |
TW201403323A (zh) * | 2012-07-09 | 2014-01-16 | Phison Electronics Corp | 記憶體儲存裝置及其修復方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3570114B2 (ja) * | 1996-10-21 | 2004-09-29 | 富士ゼロックス株式会社 | データ検証方法およびデータ検証システム |
US7451310B2 (en) * | 2002-12-02 | 2008-11-11 | International Business Machines Corporation | Parallelizable authentication tree for random access storage |
KR100782807B1 (ko) * | 2003-02-11 | 2007-12-06 | 삼성전자주식회사 | 첵섬 기입 방법 및 그에 따른 첵섬 확인 장치 |
EP1966701A2 (en) | 2005-12-21 | 2008-09-10 | Nxp B.V. | Memory with block-erasable locations |
CN101452409B (zh) * | 2007-12-04 | 2010-10-13 | 无锡江南计算技术研究所 | 数据校验冗余方法及装置 |
KR101426270B1 (ko) | 2008-02-13 | 2014-08-05 | 삼성전자주식회사 | 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체 |
US7904450B2 (en) * | 2008-04-25 | 2011-03-08 | Wilson Kelce S | Public electronic document dating list |
CN101290628B (zh) * | 2008-06-17 | 2010-06-16 | 中兴通讯股份有限公司 | 一种数据文件更新存储方法 |
CN101478369B (zh) * | 2009-01-05 | 2012-05-23 | 华为终端有限公司 | 一种crc校验的方法和*** |
CN101482802A (zh) * | 2009-02-18 | 2009-07-15 | 杭州华三通信技术有限公司 | 独立磁盘冗余阵列5扩展方法及装置 |
CN101930442A (zh) * | 2009-06-24 | 2010-12-29 | 侯方勇 | 一种哈希树的节点更新方法 |
CN103312732B (zh) * | 2012-03-07 | 2017-12-26 | 腾讯科技(深圳)有限公司 | 数据文件的传输方法及装置 |
CN104142954B (zh) * | 2013-05-10 | 2017-11-21 | 中国电信股份有限公司 | 一种基于频度分区的数据表比对更新方法与装置 |
US11232414B2 (en) * | 2014-07-03 | 2022-01-25 | Raise Marketplace Inc. | Cryptocurrency verification system |
CN106296184A (zh) * | 2015-06-05 | 2017-01-04 | 地气股份有限公司 | 电子货币管理方法及电子货币*** |
CN106251144A (zh) * | 2015-06-05 | 2016-12-21 | 地气股份有限公司 | 电子货币管理方法及电子货币节点装置 |
KR101680540B1 (ko) | 2015-06-18 | 2016-11-30 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
US20170132621A1 (en) * | 2015-11-06 | 2017-05-11 | SWFL, Inc., d/b/a "Filament" | Systems and methods for autonomous device transacting |
US9922278B2 (en) * | 2016-08-15 | 2018-03-20 | Lenovo (Singapore) Pte. Ltd. | Verifying integrity of physical documents |
CN107015882B (zh) * | 2016-12-26 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 一种区块数据校验方法和装置 |
-
2016
- 2016-12-26 CN CN201611215749.3A patent/CN107015882B/zh active Active
-
2017
- 2017-09-18 TW TW106131915A patent/TWI695260B/zh active
- 2017-12-18 WO PCT/CN2017/116835 patent/WO2018121319A1/zh active Application Filing
- 2017-12-18 EP EP17885762.9A patent/EP3561674B1/en active Active
- 2017-12-18 JP JP2019555536A patent/JP6804668B2/ja active Active
- 2017-12-18 KR KR1020197021825A patent/KR102098548B1/ko active IP Right Grant
-
2019
- 2019-06-14 US US16/441,543 patent/US10560267B2/en active Active
- 2019-06-26 PH PH12019501501A patent/PH12019501501A1/en unknown
- 2019-10-22 US US16/660,412 patent/US10790981B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4849978A (en) * | 1987-07-02 | 1989-07-18 | International Business Machines Corporation | Memory unit backup using checksum |
TW583546B (en) * | 2002-09-20 | 2004-04-11 | Wu-Jeng Li | Web-based hardware-neutral centralized sequential controller |
US20090183056A1 (en) * | 2008-01-16 | 2009-07-16 | Bluearc Uk Limited | Validating Objects in a Data Storage system |
TW201403323A (zh) * | 2012-07-09 | 2014-01-16 | Phison Electronics Corp | 記憶體儲存裝置及其修復方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6804668B2 (ja) | 2020-12-23 |
PH12019501501A1 (en) | 2020-06-08 |
CN107015882B (zh) | 2019-11-22 |
EP3561674A4 (en) | 2019-11-13 |
US20190296916A1 (en) | 2019-09-26 |
US10790981B2 (en) | 2020-09-29 |
WO2018121319A1 (zh) | 2018-07-05 |
US20200052900A1 (en) | 2020-02-13 |
KR20190099053A (ko) | 2019-08-23 |
CN107015882A (zh) | 2017-08-04 |
JP2020515197A (ja) | 2020-05-21 |
EP3561674A1 (en) | 2019-10-30 |
KR102098548B1 (ko) | 2020-04-08 |
TW201823988A (zh) | 2018-07-01 |
EP3561674B1 (en) | 2022-03-16 |
US10560267B2 (en) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI695260B (zh) | 區塊資料校驗方法和裝置 | |
TWI691855B (zh) | 基於區塊鏈的資料處理方法及設備 | |
JP6940615B2 (ja) | データ処理方法およびデバイス | |
TWI718375B (zh) | 基於區塊鏈的資料處理方法及設備 | |
KR102226257B1 (ko) | 서비스 데이터를 블록체인 시스템에 기입하기 위한 방법 및 디바이스 | |
TWI748175B (zh) | 資料的處理方法、裝置及設備 | |
EP3557452B1 (en) | Database state determining method and device, and consistency verifying method and device | |
EP3547169B1 (en) | Block chain-based data processing method and equipment | |
TW201837735A (zh) | 一種區塊鏈共識方法及裝置 | |
TW201933812A (zh) | 資料的處理方法、裝置及設備 | |
CN113641872B (zh) | 一种散列方法、装置、设备及介质 | |
WO2020192291A1 (zh) | 一种生成统计信息的方法、***以及电子设备 | |
CN107135137B (zh) | 网络群组识别方法及装置 | |
CN113641871B (zh) | 一种无锁散列方法、装置、设备及介质 |