JP6804668B2 - ブロックデータ検証方法および装置 - Google Patents

ブロックデータ検証方法および装置 Download PDF

Info

Publication number
JP6804668B2
JP6804668B2 JP2019555536A JP2019555536A JP6804668B2 JP 6804668 B2 JP6804668 B2 JP 6804668B2 JP 2019555536 A JP2019555536 A JP 2019555536A JP 2019555536 A JP2019555536 A JP 2019555536A JP 6804668 B2 JP6804668 B2 JP 6804668B2
Authority
JP
Japan
Prior art keywords
data
block
newly added
verification value
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019555536A
Other languages
English (en)
Other versions
JP2020515197A (ja
Inventor
ホンリン・チウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020515197A publication Critical patent/JP2020515197A/ja
Application granted granted Critical
Publication of JP6804668B2 publication Critical patent/JP6804668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic 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
    • 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
    • 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

Description

本出願は、コンピュータ通信技術の分野に関し、より詳細には、ブロックチェーンにおいてブロックデータを検証する方法および装置に関する。
ブロックチェーン技術は分散型台帳技術とも呼ばれる分散型インターネットデータベース技術である。このブロックチェーン技術は、非集中的で透明性があり、かつ信頼できるものであって、改竄され得ないものである。ブロックチェーンに格納された各データは、ブロックチェーン内の各ブロックに送られ、格納される。それゆえ、ブロックチェーン内の各ブロックには完全かつ整合性のあるデータが格納される。
実施に際して、すべてのブロックに格納されたデータがブロックチェーンにおいて整合性を保つことが必要である。データ検証方法は、通常、すべてのブロックに格納されたデータに整合性があるか否かを検証するために用いられる。
具体的には、ブロックデータの検証中、ブロックチェーン内のすべてのブロックに格納されたデータに整合性があるか否かを判定するために、すべてのブロックの検証値が決定されることを要し、また、すべてのブロックの検証値が比較されることを要する。
各ブロックの検証値が決定されるとき、ブロックに格納されたデータの量は比較的大きいため、そのブロックの検証値が決定されるときに、ブロックの検証値を算出するためにはそのブロックに格納されたすべてのデータが算出される必要があるということを、調査は示す。しかしながら、ブロックに格納されたデータの量が増大するにつれて検証値の算出の量は増大し、その結果として、データ検証の効率は低下する。
それゆえ、ブロックデータ検証の効率性をどのように向上させるかが、当技術分野において緊急に改善されるべき問題となる。
背景技術において開示される情報は単に本出願の一般的な背景技術に対する理解を高める意図であるにすぎず、この情報が当業者に知られている既存技術を構成すると承認または許容するものであると考えられるべきではない。
この観点から、既存技術においてはブロックデータ検証の効率性が比較的低いという問題点を改善するために、本出願の実施形態はブロックデータを検証する方法および装置を提供する。
本出願の実施形態はブロックデータを検証する方法を提供する。この方法は、複数のデータノードを含むブロックから、新たに追加されるデータを格納するように構成されたデータノードを選択するステップと、データノードについて新たに追加されるデータの検証値を決定するステップと、新たに追加されるデータの検証値に基づいてデータノードの更新検証値を算出するステップと、データノードの更新検証値と、ブロックに含まれる他のデータノードの元の検証値と、に基づいてブロックの検証値を取得するステップとを含む。このブロックの検証値は、ブロックに格納されたデータがブロックチェーン内の他のブロックに格納されたデータと一致するか否かを検証するために用いられる。
本出願の実施形態はブロックデータを検証する装置をさらに提供する。この装置は、複数のデータノードを含むブロックから、新たに追加されるデータを格納するように構成されたデータノードを選択するように構成された選択モジュールと、データノードについて新たに追加されるデータの検証値を決定し、新たに追加されるデータの検証値に基づいてデータノードの更新検証値を算出するように構成された決定モジュールと、データノードの更新検証値と、ブロックに含まれる他のデータノードの元の検証値と、に基づいてブロックの検証値を取得するように構成された処理モジュールとを含む。このブロックの検証値は、ブロックに格納されたデータがブロックチェーン内の他のブロックに格納されたデータと一致するか否かを検証するために用いられる。
本出願の実施形態において用いられる前述の少なくとも1つの技術的解決法は、以下の有益な効果をもたらすことができる。
ブロックに新たなデータが追加されるとき、新たに追加されるデータを格納するように構成されたデータノードの更新検証値が新たに追加されるデータを用いて決定され、その結果、ブロックに新たなデータが追加されるときにブロック内のすべてのデータを用いて検証値が算出されるために多くの時間が費やされるという既存技術の問題点を改善する。これによって、新たなデータが追加されるブロックの検証値が算出されるとき、費やされる時間はブロック内のデータの量には関係なく、検証値を算出するための時間は効果的に短縮され、ブロックデータ検証の効率性を向上させる。
本明細書において示される添付の図面は、本出願に対するさらなる理解を与え、また、本出願の一部分を成すことを意図する。本出願の例示の実施形態および本出願の実施形態に関する記述は、本出願について説明することを意図し、本出願に対する制限となるものではない。
本出願の実施形態による、ブロックデータを検証する方法を示す概略フローチャートである。 本出願の実施形態による、マークルツリーを示す概略構造図である。 本出願の実施形態による、新たに追加されるデータの検証値を決定するステップを示す概略フローチャートである。 本出願の実施形態による、新たに追加されるデータの検証値を決定するステップを示す概略フローチャートである。 本出願の実施形態による、ブロックデータを検証する装置を示す概略構造図である。
本出願の目的を達成するため、本出願の実施形態は、ブロックデータを検証する方法および装置を提供する。新たに追加されるデータを格納するように構成されたデータノードは複数のデータノードを含むブロックから選択され、新たに追加されるデータの検証値はデータノードについて決定され、かつデータノードの更新検証値は新たに追加されるデータの検証値に基づいて算出され、ブロックの検証値はデータノードの更新検証値と、ブロックに含まれる他のデータノードの元の検証値と、に基づいて取得される。ブロックの検証値は、ブロックに格納されたデータがブロックチェーン内の他のブロックに格納されたデータと一致するか否かを検証するために用いられる。すべての履歴データを処理する既存技術と比較して、本出願の実施形態では、ブロックの新たに追加されるデータが主に考慮され、また、新たなデータが追加されるブロックについて検証値は増分法を用いて算出され、その結果、ブロックに新たなデータが追加されるときにブロック内のすべてのデータを用いて検証値が算出されるために多くの時間が費やされるという既存技術の問題点を改善する。これによって、新たなデータが追加されるブロックの検証値が算出されるとき、費やされる時間はブロック内のデータの量には関係なく、検証値を算出するための時間は効果的に短縮され、ブロックデータ検証の効率性を向上させる。
本出願の実施形態において記述される検出値を算出するために用いられる所定のアルゴリズムはさまざまな検証アルゴリズムであり得ること、またはさまざまな不可逆アルゴリズムであり得ること、および、特定のアルゴリズムの種類が本出願の実施形態において特に限定されるものではないことに留意されたい。
たとえば、必要とされる検証値はハッシュ(Hash)アルゴリズムを用いて算出されてもよい。ハッシュアルゴリズムは、ハッシュ関数と呼ばれることもある。ハッシュ関数は一方向暗号システムであり、言い換えれば、ハッシュ関数は平文から暗号文への不可逆マッピングであり、つまり、この関数は暗号化プロセスのみを含んで復号化プロセスは含まない。加えて、ハッシュ関数は、任意の長さの入力を変更した後固定長の出力を取得することができる。典型的なハッシュアルゴリズムは、MD2、MD4、MD5、SHA-1等を含む。
当業者であれば、本出願の実施形態の明細書において言及されるハッシュアルゴリズムは単に一例にすぎず、本開示に対する制限となるものではないことを理解するであろう。当業者は、実際の適用および必要性に基づいて検証に用いられる他のアルゴリズムを用いることができる。このことは、本明細書において特に限定されない。
本出願の目的、技術的解決法および利点をより明確にするため、以下は、本出願の特定の実施形態および対応する添付の図面を参照して本出願の技術的解決法について明確かつ包括的に記述するものである。記述される実施形態は、本出願の実施形態の全部ではなく一部のみであることは明らかである。創造的な努力を必要とせずに本出願の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本出願の保護の範囲内にあるものとする。
以下は、添付の図面を参照して、本出願の実施形態において提供される技術的解決法について詳細に記述するものである。
図1は、本出願の実施形態による、ブロックデータを検証する方法を示す概略フローチャートである。ブロックデータを検証するこの方法は、以下のステップを含む。
ステップS110。複数のデータノードを含むブロックから、新たに追加されるデータを格納するように構成されたデータノードを選択する。
ブロックチェーンは、チェーンデータ構造を用いていくつかのブロックを連結することによって得られる。各ブロックは複数のデータノードを含む。ブロックに含まれるこのデータノードはマークルツリー(Markle Tree)の形式で構成され得、つまり、ルートノードおよび複数のリーフノードをそれぞれ含む。
マークルツリー構造では、ブロックに含まれるデータノードはマークルツリー構造の最下部のリーフノードとして用いられ、このことは図2に示される。
このマークルツリー構造では、A、B、C、DおよびEはブロックのデータノードに対応することが図2から分かる。
当業者であれば、マークルツリーはブロック内のデータノードに基づいて構成され、また、マークルツリーの深さは必要に応じて決定され得ることを理解するであろう。
ブロックチェーン内のすべてのブロックに格納されたデータ間の整合性を確実にするために、ブロックチェーン内のすべてのブロックに構成されたマークルツリーは同一の深さを備え、すべてのブロックに含まれるデータノードの数もまた同一であることに留意されたい。加えて、本明細書で挙げられるマークルツリーは単に説明するための一例にすぎず、当業者は他の適切なデータ構成形式を用いてよいことがさらに理解されるであろう。このことは、本明細書において特に限定されない。
格納されるデータ(ここでいうデータは、新たに追加されるデータと呼ばれることがある)に関しては、新たに追加されるデータを格納するために用いられるブロックがまず決定され、次に、新たに追加されるデータを格納するように構成されたブロックのデータノードが決定される。
それゆえ、新たに追加されるデータが受信されると、新たに追加されるデータを格納するために用いられるブロック情報がまず決定される。このブロック情報は、ブロック識別子およびデータノード識別子を含む。
具体的には、新たに追加されるデータに対応するデータ内容が算出されて、決定されたブロック情報を取得する。
本出願のこの実施形態では、新たに追加されるデータに対応するデータ内容は、新たに追加されるデータの種類に基づいて決定され得、または新たに追加されるデータに含まれるデータに基づいて決定され得る。このことは、本明細書において特に限定されない。
たとえば、新たに追加されるデータがテキストデータである場合、新たに追加されるデータに対応するデータ内容はテキストデータの内容要約として理解され得、またはテキストデータとして理解され得、新たに追加されるデータに対応するデータ内容(たとえば、内容要約またはテキストデータ)が所定のアルゴリズムに基づいて算出されて、算出結果を取得することができる。この場合、この算出結果に基づいてブロック情報が決定される。
別の例として、新たに追加されるデータが1つのトランザクションデータである場合、このトランザクションデータが所定のアルゴリズムに基づいて算出されて、算出結果を取得することができる。この場合、この算出結果に基づいてブロック情報が決定される。
本出願のこの実施形態において記述される所定のアルゴリズムでは、たとえば、剰余算出方法で、データ内容は整数データに変換され、ブロックチェーンに含まれるブロックの数は除数として用いられ、整数データはこの除数を用いて算出されて、商および剰余を得る。ここで商はブロック識別子と考えられ得、剰余はブロック内のデータノード識別子と考えられ得る。別法として、商はデータノード識別子と考えられ得、剰余はブロック識別子と考えられ得る。
確かに、新たに追加されるデータを適切なブロック、および必要に応じてデータノードに割り当てるために、当業者は、たとえばデータ内容でランダム計算を実行する等、データ内容を算出するための他の方法を用いてもよい。このことは、本明細書において限定されない。
次に、ブロックチェーンはブロック識別子に基づいてブロック識別子に対応するブロックを探して検索され、探し当てた(found)ブロックから、データノード識別子に対応するデータノードが決定される。
ブロックチェーンを得るプロセスにおいて、ブロックごとに1つのブロック識別子が決定される。それゆえ、ブロック情報が取得されるとき、ブロックチェーンはブロック情報のブロック識別子に基づいてブロック識別子に対応するブロックを探して検索され得る。
各ブロックは複数のデータノードを含み、データノードごとに1つのデータノード識別子が決定され得る。それゆえ、ブロック情報が取得されるとき、データノード識別子に対応するデータノードは、ブロック情報のデータノード識別子に基づいて、探し当てたブロックチェーンから決定され得る。
最後に、探し当てたデータノードは、新たに追加されるデータを格納するように構成されたデータノードとして用いられる。
ステップS120。データノードについて新たに追加されるデータの検証値を決定する。
本出願のこの実施形態においては、新たに追加されるデータがデータノードに格納される前にデータがデータノードに格納されていることがあり、かつ、これらのデータの中には新たに追加されるデータと関連するものがある可能性があるため、新たに追加されるデータと関連があるデータは関連データと呼ばれ得る。一方、データノードに格納されたデータは新たに追加されるデータと関連しない可能性があり、言い換えれば、このデータノードは新たに追加されるデータと関連する関連データを含まない。
本出願のこの実施形態において記述される関連関係は、ユーザアカウント、支払活動、トランザクション時間、トランザクション場所等、たとえば1ユーザの2つのトランザクションデータによって生成される関係であり得ることに留意されたい。この場合、これらの2つのトランザクションデータは同一のユーザアカウントによって関連付けられる。別法として、関連関係はトランザクション行動によって生成される関係であり得る。たとえば、一方のトランザクションデータに記録された内容はユーザAがユーザBに100元を送金することであり、他方のトランザクションデータに記録された内容はユーザBがユーザAに100元を送金することである。この場合、送金行動に含まれる対象および金額が同一であるため、2つのトランザクションデータは関連付けられる。関連関係の特定の内容は、本明細書において特に限定されない。
さらに、新たに追加されるデータがデータノードに格納される前にデータノードに格納されているデータがないことがある。この場合、データノードは新たに追加されるデータと関連する関連データを含まないと考えられ得る。
このように、新たに追加されるデータの検証値を決定することは以下の2つのケースを含み得るが、これらに限定されるわけではない。
ケース1。データノードは、新たに追加されるデータと関連する関連データを含まない。
新たに追加されるデータの検証値を決定するために、図3を参照することができる。図3は、本出願の実施形態による、新たに追加されるデータの検証値を決定するステップを示す概略フローチャートである。
S310。新たに追加されるデータに対応する文字列を決定する。
本出願のこの実施形態において、新たに追加されるデータに対応する文字列は、たとえば対応する伝達関数を用いて新たに追加されるデータを文字列に変換することによる等、データを文字列に変換する任意の適切な技術的方法を用いて決定されてよい。このことは、本明細書において特に限定されない。
S320。所定のアルゴリズムに基づいて文字列を算出して、新たに追加されるデータの検証値を取得する。
具体的には、文字列はハッシュアルゴリズムを用いて算出されて、新たに追加されるデータのハッシュ値を取得し、このハッシュ値を新たに追加されるデータの検証値として用いる。
当業者であれば、本明細書において言及されるハッシュアルゴリズムは単に一例にすぎず、本開示に対する制限となるものではないことを理解するであろう。
ケース2。データノードは、新たに追加されるデータと関連する関連データを含む。
新たに追加されるデータの検証値を決定するために、図4を参照することができる。図4は、本出願の実施形態による、新たに追加されるデータの検証値を決定するステップを示す概略フローチャートである。
S410。関連データに対応する第1の文字列と新たに追加されるデータに対応する第2の文字列とを別々に決定する。
同様に、関連データに対応する第1の文字列と新たに追加されるデータに対応する第2の文字列とは、たとえば対応する伝達関数を用いて新たに追加されるデータを文字列に変換することによる等、データを文字列に変換する任意の適切な技術的方法を用いて決定されてよい。このことは、本明細書において特に限定されない。
S420。所定の方法を用いて第1の文字列および第2の文字列をソートする。
このような所定の方法は実際の必要性に基づいて決定されてよく、または経験的結果に基づいて決定されてよいことに留意されたい。本出願のこの実施形態において用いられるソート方法は限定されない。たとえば、第1の文字列および第2の文字列は順次ソートされ、第1の文字列と第2の文字列とを組み合わせて算出に用いられる文字列群を取得する。第1の文字列が第2の文字列の前であるか、第2の文字列が第1の文字列の前であるかは、本出願のこの実施形態において限定されない。当業者は、他のソート方法を用いることもできる。
S430。所定のアルゴリズムに基づいてソートされた文字列を算出して、新たに追加されるデータの検証値を取得する。
具体的には、ソートされた文字列はハッシュアルゴリズムを用いて算出され、新たに追加されるデータのハッシュ値を取得して、このハッシュ値を新たに追加されるデータの検証値として用いる。
ステップS130。新たに追加されるデータの検証値に基づいてデータノードの更新検証値を算出する。
具体的には、新たに追加されるデータの前に取得されたデータノードの元の検証値が格納され、データノードの更新検証値は、元の検証値および新たに追加されるデータの検証値に基づいて算出される。
本出願のこの実施形態において、新たに追加されるデータがデータノードに格納される前に他のデータが格納されている場合、検証値は、他のデータが格納されるときにデータノードについて算出される。この検証値は、新たに追加されるデータに対する元の検証値と呼ばれ得る。
たとえば、データノードAに関して、1つのデータが格納される度に1つの検証値が算出され、言い換えれば、データノードの検証値はデータノード内のデータと共に変化する。新たに追加されるデータが格納される前にデータ11およびデータ12がデータノードAに格納されているとすれば、検証値aはデータ11がデータノードに格納されるときに算出され、データ12がデータノードに格納されるとき、aは元の検証値と呼ばれ得る。この場合、検証値bは元の検証値を用いて算出され、bは更新検証値と呼ばれ得る。
新たに追加されるデータをデータ13とすれば、データ13の検証値cはステップS120に従って取得される。この場合、データ13が格納される前に取得されたデータノードの検証値すなわち検証値bが決定されることを要し、検証値bは元の検証値と呼ばれる。データノードの更新検証値は、検証値cおよび検証値bを用いて所定のアルゴリズムに基づいて算出される。
データノードに格納されているデータが無く、新たに追加されるデータがデータノードの第1のデータとして用いられる場合、本出願のこの実施形態において、新たに追加されるデータの検証値はデータノードの検証値と考えられ得ることに留意されたい。
ステップ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を用いて算出される。
ブロックの検証値が取得された後、この検証値はブロックチェーン内の他のブロックの検証値と比較され得る。これら2つの検証値が一致する場合、このことはブロックに格納されたデータが他のブロックに格納されたデータと一致することを示し、検証は成功する。これら2つの検証値が一致しない場合、このことはブロックに格納されたデータが他のブロックに格納されたデータと一致しないことを示す。たとえば、ブロック内のデータは失われているか改竄されている可能性があり、検証は成功し得ない。
本出願のこの実施形態において、新たに追加されるデータと共に変化するブロックの検証値は、増分算出方法を用いて迅速に決定され、その結果、検証値を算出するための時間を短縮し、システムコンピューティング性能を向上させる。
本出願の実施形態において提供される技術的解決法によれば、新たに追加されるデータを格納するように構成されたデータノードは複数のデータノードを含むブロックから選択され、新たに追加されるデータの検証値はデータノードについて決定され、かつデータノードの更新検証値は新たに追加されるデータの検証値に基づいて算出され、ブロックの検証値はデータノードの更新検証値およびブロックに含まれる他のデータノードの元の検証値に基づいて取得される。ブロックの検証値は、ブロックに格納されたデータがブロックチェーン内の他のブロックに格納されたデータと一致するか否かを検証するために用いられる。すべての履歴データを処理する既存技術と比較して、本出願の実施形態では、ブロックの新たに追加されるデータが主に考慮され、また、新たなデータが追加されるブロックについて検証値は増分法を用いて算出され、その結果、ブロックに新たなデータが追加されるときにブロック内のすべてのデータを用いて検証値が算出されるために多くの時間が費やされるという既存技術の問題点を改善する。これによって、新たなデータが追加されるブロックの検証値が算出されるとき、費やされる時間はブロック内のデータの量には関係なく、検証値を算出するための時間は効果的に短縮され、ブロックデータ検証の効率性を向上させる。
加えて、処理されていない原データが改竄された場合、本出願の実施形態において、たとえ新たに追加されるデータの検証値が算出されるときに改竄が発覚していないとしても、ブロックチェーンの各ブロック内でデータ更新が実行されるときに、ブロックチェーンの構造および特性によってデータ改竄は確実に発覚し得る。それゆえ、最終のブロックデータ検証は影響を受けない。
図5は、本出願の実施形態による、ブロックデータを検証する装置を示す概略構造図である。ブロックデータを検証するこの装置は、選択モジュール510、決定モジュール520および処理モジュール530を含む。
選択モジュール510は、複数のデータノードを含むブロックから、新たに追加されるデータを格納するように構成されたデータノードを選択するように構成される。
決定モジュール520は、データノードについて新たに追加されるデータの検証値を決定し、新たに追加されるデータの検証値に基づいてデータノードの更新検証値を算出するように構成される。
処理モジュール530は、データノードの更新検証値およびブロックに含まれる他のデータノードの元の検証値に基づいてブロックの検証値を取得するように構成される。
ブロックの検証値は、ブロックに格納されたデータがブロックチェーン内の他のブロックに格納されたデータと一致するか否かを検証するために用いられる。
本出願の別の実施形態では、選択モジュール510が複数のデータノードを含むブロックから、新たに追加されるデータを格納するように構成されたデータノードを選択することは、以下のことを含む。すなわち、新たに追加されるデータを受信するとき、新たに追加されるデータを格納するために用いられるブロック情報を決定することであって、ブロック情報がブロック識別子およびデータノード識別子を含む、決定すること、このブロック識別子に基づいて、ブロック識別子に対応するブロックを探してブロックチェーンを検索すること、探し当てたブロックからデータノード識別子に対応するデータノードを決定すること、および、この探し当てたデータノードを新たに追加されるデータを格納するように構成されたデータノードとして用いることである。
本出願の別の実施形態では、選択モジュール510が新たに追加されるデータを格納するために用いられるブロック情報を決定することは、以下のことを含む。すなわち、新たに追加されるデータに対応するデータ内容を算出して、決定されたブロック情報を取得することである。
本出願の別の実施形態では、決定モジュール520が新たに追加されるデータの検証値を決定することは、以下のことを含む。すなわち、データノードが新たに追加されるデータの関連データを含まないと判定されたとき、新たに追加されるデータに対応する文字列を決定すること、および、所定のアルゴリズムに基づいて文字列を算出して、新たに追加されるデータの検証値を取得することである。
本出願の別の実施形態では、決定モジュール520が新たに追加されるデータの検証値を決定することは、以下のこと含む。すなわち、データノードが新たに追加されるデータの関連データを含むと判定されたとき、関連データに対応する第1の文字列と新たに追加されるデータに対応する第2の文字列とを別々に決定すること、所定の方法を用いて第1の文字列および第2の文字列をソートすること、および、所定のアルゴリズムに基づいてソートされた文字列を算出して、新たに追加されるデータの検証値を取得することである。
本出願の別の実施形態では、決定モジュール520が新たに追加されるデータの検証値に基づいてデータノードの更新検証値を算出することは、以下のことを含む。すなわち、新たに追加されるデータが格納される前に取得されたデータノードの元の検証値を決定すること、および、元の検証値および新たに追加されるデータの検証値に基づいてデータノードの更新検証値を算出することである。
本出願の別の実施形態では、処理モジュール530がデータノードの更新検証値およびブロックに含まれる他のデータノードの元の検証値に基づいてブロックの検証値を取得することは、以下のことを含む。すなわち、ブロックに含まれる複数のデータノードに対応するツリー構造を決定し、ブロックに含まれる他のデータノードの元の検証値を決定すること、および、データノードの更新検証値およびブロックに含まれる他のデータノードの元の検証値に基づいてツリー構造をたどり、ツリー構造のルートノードの検証値を取得して、このルートノードの検証値をブロックの検証値として用いることである。
本出願のこの実施形態において記述されるブロックデータを検証する装置はソフトウェアを用いて実施され得、またはハードウェアを用いて実施され得ることに留意されたい。このことは、本明細書において特に限定されない。ブロックデータを検証する装置によれば、新たなデータが追加されるブロックについて検証値は増分法を用いて算出され、その結果、ブロックに新たなデータが追加されるときにブロック内のすべてのデータを用いて検証値が算出されるために多くの時間が費やされるという既存技術の問題点を改善する。これによって、新たなデータが追加されるブロックの検証値が算出されるとき、費やされる時間はブロック内のデータの量には関係なく、検証値を算出するための時間は効果的に短縮され、ブロックデータ検証の効率性を向上させる。
1990年代、技術の改良は、ハードウェアの改良(たとえば、ダイオード、トランジスタ、スイッチ等の回路構造に対する改良)とソフトウェアの改良(方法手順に対する改良)とが明確に区別されることが可能であった。しかしながら、技術の発展に伴って、多くの方法手順の改良はハードウェア回路構造の直接的改良と考えられ得る。設計者はほとんどすべて、対応するハードウェア回路構造を得るために、改良された方法手順をハードウェア回路にプログラムする。それゆえ、方法手順の改良はハードウェアエンティティモジュールを用いることによっては実施され得ないとは言い難い。たとえば、プログラマブルロジックデバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))はそのような集積回路である。プログラマブル論理デバイスの論理機能は、ユーザによって構成要素がプログラムされることによって決まる。設計者は、専用集積回路チップを設計および製造するようチップ製造業者に要請することなく、自発的にプログラムしてデジタルシステムを単一PLDに「統合」する。さらに、集積回路チップを手動で製造する代わりに、プログラミングはほとんどの場合「論理コンパイラ」ソフトウェアによって実施され、この「論理コンパイラ」ソフトウェアは、プログラム開発において用いられるソフトウェアコンパイラと同様である。コンパイルする前のオリジナルのコードもまた特定のプログラミング言語で書き込まれ、この特定のプログラミング言語はハードウェア記述言語(Hardware Description Language, 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)等、複数のタイプのHDLがある。今日では、VHDL(Very-High-Speed Integrated Ci
rcuit Hardware Description Language)およびVerilogが最も一般的に用いられる。当業者であれば、論理的な方法手順を実施するハードウェア回路が容易に得られるためには、方法手順が論理的にプログラムされること、および上記のハードウェア記述言語を用いて集積回路にプログラムされることのみを要するということも理解するであろう。
コントローラは、任意の適切な方法を用いることによって実装され得る。たとえば、コントローラは、マイクロプロセッサもしくはプロセッサ、または、マイクロプロセッサもしくはプロセッサによって実行可能なコンピュータ可読プログラムコード(たとえば、ソフトウェアまたはファームウェア)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、もしくは埋込みマイクロプロセッサであってよい。コントローラの例として、以下のマイクロプロセッサ、すなわち、ARC625D、Atmel AT91SAM、Microchip PIC18F26K20およびSilicone Labs C8051F320を含むが、これらに限定されるわけではない。メモリコントローラはメモリの制御論理の一部として実装されてもよい。当業者はまた、コントローラは純粋なコンピュータ可読プログラムコードを用いて実装され得、また、方法のステップは、コントローラが、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、埋込みマイクロコントローラ等の形式で同一の機能をさらに実施できるよう論理的にプログラムされ得ることも知っている。それゆえ、このようなコントローラはハードウェアコンポーネントと見なされてよく、コントローラに含まれ、さまざまな機能を実施するように構成された装置もまた、ハードウェアコンポーネント内の構造と見なされてよい。別法として、さまざまな機能を実施するように構成された装置は、方法を実施するためのソフトウェアモジュール、およびハードウェアコンポーネント内の構造の両方であると見なされてもよい。
記述された実施形態において述べられるシステム、装置、モジュールまたはユニットは、コンピュータチップまたはエンティティによって実装され得、または、一定の機能を備える製品によって実装され得る。典型的な実装デバイスはコンピュータである。コンピュータは、たとえば、パーソナルコンピュータ、ラップトップ型コンピュータ、携帯電話、カメラ付き携帯電話、スマートフォン、携帯端末、メディアプレイヤー、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレット型コンピュータもしくはウェアラブルデバイス、またはこれらのデバイスの任意の組合せであってよい。
説明しやすくするために、記述された装置は、機能をさまざまなユニットに分割することによって説明される。確かに、本出願が実施されるとき、ユニットの機能は1つまたは複数のソフトウェアおよび/またはハードウェアに実装されてよい。
当業者であれば、本開示の実施形態は、方法、システムまたはコンピュータプログラム製品として提供されてよいことを理解するであろう。それゆえ、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せによる実施形態の形式を用いることができる。加えて、本開示は、コンピュータ使用可能なプログラムコードを含む1つまたは複数のコンピュータ使用可能な記憶媒体(ディスクメモリ、CD-ROMおよび光メモリを含むがこれらに限定されない)に実装されるコンピュータプログラム製品の形式を用いることができる。
本開示は、本開示の実施形態による方法、デバイス(システム)およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して記述される。コンピュータプログラム命令は、フローチャートおよび/またはブロック図における各プロセスおよび/または各ブロック、ならびに、フローチャートおよび/またはブロック図におけるプロセスおよび/またはブロックの組合せを実装するために用いられ得ることが理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、埋込みプロセッサ、または任意の他のプログラマブルデータ処理デバイスのプロセッサに対して提供されて機械を生成することができ、その結果、コンピュータまたは任意の他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、フローチャートにおける1つまたは複数のプロセス、またはブロック図における1つまたは複数のブロックにおいて特定の機能を実施するための装置を生成する。
これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラマブルデータ処理デバイスに特定の方法で動作するよう指示することができるコンピュータ可読メモリに格納され得、その結果、コンピュータ可読メモリに格納された命令は、命令装置を含むアーティファクトを生成する。この命令装置は、フローチャートにおける1つまたは複数のプロセス、および/またはブロック図における1つまたは複数のブロックにおいて特定の機能を実施する。
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理デバイスにロードされ得、その結果、一連の動作およびステップがコンピュータまたは他のプログラマブルデバイス上で実行され、コンピュータ実施処理を生成する。それゆえ、コンピュータまたは他のプログラマブルデバイス上で実行される命令は、フローチャートにおける1つまたは複数のプロセス、またはブロック図における1つまたは複数のブロックにおいて特定の機能を実施するためのステップを提供する。
典型的な構成では、コンピューティングデバイスは1つまたは複数のプロセッサ(CPU)、1つまたは複数の入力/出力インターフェース、1つまたは複数のネットワークインターフェース、および1つまたは複数のメモリを含む。
メモリは、コンピュータ可読媒体、たとえば、読出し専用メモリ(ROM)またはフラッシュメモリ(フラッシュRAM)内に、非永続型メモリ、ランダムアクセスメモリ(RAM)、および/または不揮発性メモリを含んでよい。
コンピュータ可読媒体は、任意の方法または技術を用いて情報記憶装置を実装することができる永続的、非永続的、可動および非可動の媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであってよい。コンピュータ記憶媒体は、相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他の種類のランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスク読出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは他の光学式記憶装置、磁気テープ、磁気ディスク記憶装置、他の磁気記憶デバイス、またはコンピューティングデバイスによりアクセス可能な情報を格納するために用いられ得る任意の他の非伝送媒体を含むが、これらに限定されるわけではない。本明細書における定義に基づき、コンピュータ可読媒体は、たとえば変調されたデータ信号および搬送波等の一時的なコンピュータ可読媒体(一時的媒体)を含まない。
「含む(include)」、「含有する(contain)」といった用語、またはこれらの任意の他の変形用語は非排他的な包含をカバーすることが意図され、これによって、要素の一覧を含むプロセス、方法、製品またはデバイスは、これらの要素だけでなく明示的に挙げられていない他の要素も含むこと、または、そのプロセス、方法、製品またはデバイスに固有の要素をさらに含むことにさらに留意されたい。「〜を含む(include a…)」が後に続く要素は、さらなる制約がなければ、その要素を含むプロセス、方法、製品またはデバイスにおいて追加的同一要素が存在することを排除するものではない。
当業者であれば、本出願の実施形態は、方法、システム、またはコンピュータプログラム製品として提供されてよいことを理解するであろう。それゆえ、本出願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せによる実施形態の形式を用いることができる。加えて、本出願は、コンピュータ使用可能なプログラムコードを含む1つまたは複数のコンピュータ使用可能な記憶媒体(ディスクメモリ、CD-ROMおよび光メモリを含むがこれらに限定されない)に実装されるコンピュータプログラム製品の形式を用いることができる。
前述の説明は単に本出願の実施形態であるにすぎず、本出願を限定するよう意図されるものではない。当業者は、本出願にさまざまな修正および変更を加えることができる。本出願の精神および原理の範囲内で加えられる任意の修正、等価的置換、改良等は、本出願の特許請求の範囲の範囲内にあるものとする。
11 データ
12 データ
13 データ
510 選択モジュール
520 決定モジュール
530 処理モジュール

Claims (10)

  1. ブロックデータを検証する方法であって、
    複数のデータノードを含むブロックから、新たに追加されるデータを格納するように構成されたデータノードを選択するステップと、
    前記データノードが前記新たに追加されるデータと関連するデータを含むか否かを決定するステップと、
    前記データノードは前記新たに追加されるデータと関連するデータを含まないとの決定に応答して、前記新たに追加されるデータに対応する文字列を決定するステップと、
    所定のアルゴリズムに基づいて前記文字列を算出することによって前記データノードについて前記新たに追加されるデータの検証値を決定するステップと、
    前記新たに追加されるデータの前記検証値に基づいて前記データノードの更新検証値を算出するステップと、
    前記データノードの前記更新検証値と、前記ブロックに含まれる他のデータノードの元の検証値と、に基づいて前記ブロックの検証値を取得するステップとを含み、
    前記ブロックの前記検証値は、前記ブロックに格納されたデータがブロックチェーン内の他のブロックに格納されたデータと一致するか否かを検証するために用いられる、方法。
  2. 前記データノードを選択するステップは、
    前記新たに追加されるデータの受信に応答して、前記新たに追加されるデータを格納するために用いられるブロック情報を決定するステップであって、前記ブロック情報がブロック識別子およびデータノード識別子を含む、ステップと、
    前記ブロック識別子に基づいて、かつ探し当てたブロックとして、前記ブロック識別子に対応するブロックを探して前記ブロックチェーンを検索するステップと、
    前記探し当てたブロックから、かつ探し当てたデータノードとして、前記データノード識別子に対応するデータノードを決定するステップと、
    前記探し当てたデータノードを、前記新たに追加されるデータを格納するように構成された前記データノードとして用いるステップとを含む、請求項1に記載の方法
  3. 前記ブロック情報を決定するステップは、
    前記新たに追加されるデータに対応するデータ内容を算出して、前記決定されたブロック情報を取得するステップを含む、請求項2に記載の方法
  4. 前記所定のアルゴリズムは暗号化アルゴリズムを含み、前記検証値は前記新たに追加されるデータの暗号化された値を含む、請求項1に記載の方法。
  5. 前記暗号化アルゴリズムはハッシュアルゴリズムを含み、前記暗号化された値は前記新たに追加されるデータのハッシュ値を含む、請求項4に記載の方法。
  6. 前記検証値を決定するステップは、
    前記データノードは前記新たに追加されるデータの関連データを含むとの決定に応答して、前記関連データに対応する第1の文字列と前記新たに追加されるデータに対応する第2の文字列とを別々に決定するステップと、
    所定の方法を用いて前記第1の文字列および前記第2の文字列をソートするステップと、
    所定のアルゴリズムに基づいてソートされた文字列を算出して、前記新たに追加されるデータの前記検証値を取得するステップとを含む、請求項1に記載の方法
  7. 前記所定のアルゴリズムに基づいて前記ソートされた文字列を算出するステップは、前記新たに追加されるデータの前記検証値に含まれる文字列群の算出を含む、請求項6に記載の方法。
  8. 前記データノードの前記更新検証値を算出するステップは、
    前記新たに追加されるデータが格納される前に取得された前記データノードの元の検証値を決定するステップと、
    前記元の検証値と、前記新たに追加されるデータの前記検証値と、に基づいて前記データノードの前記更新検証値を算出するステップとを含む、請求項1に記載の方法
  9. 前記検証値を取得するステップは、
    前記ブロックに含まれる前記複数のデータノードに対応するツリー構造を決定するステップと、
    前記ブロックに含まれる前記他のデータノードの前記元の検証値を決定するステップと、
    前記データノードの前記更新検証値と、前記ブロックに含まれる前記他のデータノードの前記元の検証値と、に基づいて前記ツリー構造をトラバースして、前記ツリー構造のルートノードの検証値を取得するステップと、
    前記ルートノードの前記検証値を前記ブロックの前記検証値として決定するステップとを含む、請求項1に記載の方法
  10. 請求項1から9のいずれか一項に記載の方法を実行するように構成された複数のモジュールを含む、ブロックデータを検証する装置。
JP2019555536A 2016-12-26 2017-12-18 ブロックデータ検証方法および装置 Active JP6804668B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201611215749.3 2016-12-26
CN201611215749.3A CN107015882B (zh) 2016-12-26 2016-12-26 一种区块数据校验方法和装置
PCT/CN2017/116835 WO2018121319A1 (zh) 2016-12-26 2017-12-18 一种区块数据校验方法和装置

Publications (2)

Publication Number Publication Date
JP2020515197A JP2020515197A (ja) 2020-05-21
JP6804668B2 true JP6804668B2 (ja) 2020-12-23

Family

ID=59439902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019555536A Active JP6804668B2 (ja) 2016-12-26 2017-12-18 ブロックデータ検証方法および装置

Country Status (8)

Country Link
US (2) US10560267B2 (ja)
EP (1) EP3561674B1 (ja)
JP (1) JP6804668B2 (ja)
KR (1) KR102098548B1 (ja)
CN (1) CN107015882B (ja)
PH (1) PH12019501501A1 (ja)
TW (1) TWI695260B (ja)
WO (1) WO2018121319A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113101047B (zh) 2015-12-23 2023-08-04 科罗拉多大学董事会法人团体 眼科刀和使用方法
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 財團法人資訊工業策進會 用於物聯網系統之資料處理裝置及資料處理方法
CN109582473A (zh) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 基于区块链的跨链数据访问方法和装置
CN109493221B (zh) * 2018-10-26 2021-01-12 全链通有限公司 区块链中交易记录保密方法、设备、网络及存储介质
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 武汉大学 一种河流数据要素的区块链锚定和验证方法与装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
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
JP3570114B2 (ja) * 1996-10-21 2004-09-29 富士ゼロックス株式会社 データ検証方法およびデータ検証システム
TW583546B (en) * 2002-09-20 2004-04-11 Wu-Jeng Li Web-based hardware-neutral centralized sequential controller
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 삼성전자주식회사 첵섬 기입 방법 및 그에 따른 첵섬 확인 장치
JP2009521049A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ ブロック消去可能な記憶場所を有するメモリ
US8504904B2 (en) * 2008-01-16 2013-08-06 Hitachi Data Systems Engineering UK Limited Validating objects in a data storage system
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 腾讯科技(深圳)有限公司 数据文件的传输方法及装置
TWI493341B (zh) * 2012-07-09 2015-07-21 Phison Electronics Corp 記憶體儲存裝置及其修復方法
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 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
US20170132620A1 (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 阿里巴巴集团控股有限公司 一种区块数据校验方法和装置

Also Published As

Publication number Publication date
KR102098548B1 (ko) 2020-04-08
US20190296916A1 (en) 2019-09-26
US10790981B2 (en) 2020-09-29
KR20190099053A (ko) 2019-08-23
CN107015882A (zh) 2017-08-04
EP3561674A1 (en) 2019-10-30
TW201823988A (zh) 2018-07-01
TWI695260B (zh) 2020-06-01
EP3561674A4 (en) 2019-11-13
CN107015882B (zh) 2019-11-22
WO2018121319A1 (zh) 2018-07-05
PH12019501501A1 (en) 2020-06-08
EP3561674B1 (en) 2022-03-16
JP2020515197A (ja) 2020-05-21
US10560267B2 (en) 2020-02-11
US20200052900A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
JP6804668B2 (ja) ブロックデータ検証方法および装置
JP6790270B2 (ja) ブロックチェーンベースのデータ処理方法およびデバイス
KR102340223B1 (ko) 블록체인 합의 방법 및 디바이스
CA3046838C (en) Method and device for processing service request
RU2725760C1 (ru) Способ и устройство определения состояния базы данных и способ и устройство верификации согласованности
RU2728820C1 (ru) Способ и устройство обработки данных на основе блокчейна
US10999060B2 (en) Data processing method and apparatus
KR102231411B1 (ko) 서비스 데이터 프로세싱 및 검증을 위한 방법, 장치, 및 시스템
US10963542B2 (en) Blockchain-based image processing method and apparatus
BR112019014589A2 (pt) Método de processamento de serviço e aparelho
EP3811232A1 (en) Data processing method, apparatus, and device
TWI694700B (zh) 資料處理方法和裝置、用戶端
TW201933812A (zh) 資料的處理方法、裝置及設備
CN110995447A (zh) 一种数据存证方法、装置、设备以及介质
US20130091177A1 (en) Generating alternate logical database structure of hierarchical database using physical database structure

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201202

R150 Certificate of patent or registration of utility model

Ref document number: 6804668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250