JP2018533320A - 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム - Google Patents

時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム Download PDF

Info

Publication number
JP2018533320A
JP2018533320A JP2018532527A JP2018532527A JP2018533320A JP 2018533320 A JP2018533320 A JP 2018533320A JP 2018532527 A JP2018532527 A JP 2018532527A JP 2018532527 A JP2018532527 A JP 2018532527A JP 2018533320 A JP2018533320 A JP 2018533320A
Authority
JP
Japan
Prior art keywords
reference level
data
hash
time interval
time
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.)
Ceased
Application number
JP2018532527A
Other languages
English (en)
Other versions
JP2018533320A5 (ja
Inventor
ブラック,トロン
ウィルキンズ,アレック
クリステンセン,ロバート
Original Assignee
ティー0.コム,インコーポレーテッド
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 ティー0.コム,インコーポレーテッド filed Critical ティー0.コム,インコーポレーテッド
Publication of JP2018533320A publication Critical patent/JP2018533320A/ja
Publication of JP2018533320A5 publication Critical patent/JP2018533320A5/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/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/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本明細書で説明されたシステムおよび方法は、一般に、データを格納および検証することに関する。いくつかの実施形態において、基準レベルは時間間隔に従って生成され、第1の基準レベルは所定の数の時間間隔を含み、残る基準レベルの時間間隔のそれぞれは以前の基準レベルの所定の数の時間間隔で構成される。データのハッシュは、時間で並べられた手法でデータに対してハッシュ関数を実行することによって、第1の基準レベルで作成されてよい。第1の基準レベル時間間隔ハッシュは、第1の基準レベルの時間間隔のそれぞれで、データのハッシュに対してハッシュ関数を実行することによって生成されることがある。残る基準レベルの時間間隔に対するハッシュは、以前の基準レベルの時間間隔のそれぞれのハッシュに対してハッシュ関数を実行することによって生成されてよい。

Description

関連出願への相互参照
[0001]本出願は、2015年9月14日に出願の「DATA VERIFICATION METHODS AND SYSTEMS USING A HASH TREE,SUCH AS A TIME−CENTRIC MERKLE HASH TREE(時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム)」という名称の米国特許出願第14/852,955号の優先権および利益を主張し、この全体の内容が本明細書によって全体として参照によりすべての目的に対して援用される。
[0002]本開示の様々な実施形態は、概して、データを格納および検証することに関する。より詳細には、本開示の様々な実施形態は、ハッシュ技法を使用してデータを格納および検証するためのシステムおよび方法に関する。
[0003]ハッシュ関数は、任意のサイズのデジタルデータを固定されたサイズのデジタルデータにマップするために使用することができる関数である。ハッシュ関数は、大規模なファイル内の重複したレコードを検出することによってテーブルまたはデータベース探索を加速することなどの多くの目的に使用することができる。ハッシュ関数は、ブロックチェーンでも使用される。ブロックチェーンは、それぞれのブロックに付けられてそのブロックを認証するプルーフオブワーク(proof−of−work)のシール(ハッシュ)を用いて、1ブロックずつ構築される検証可能な永続的な台帳である。任意のブロックチェーンにおいて、以前のブロックのハッシュは現在のブロックに含まれ、したがって回帰によって現在のハッシュはまた、元の起源ブロックに戻ってすべての以前のブロックを認証する。ハッシュをブロックチェーンに挿入することは、そのハッシュを永久に記録し、ブロックがチェーンに追加されたちょうどその時に、ハッシュされたデータの存在のタイムスタンプ付きの証拠を検証する公証人としての働きをする。将来のブロックは、チェーンの再編成からの保護の層を追加し、したがってチェーンの始めの方のブロックに対して変更を行うことができないという確実性を追加する。
[0004]本開示の実施形態は、添付の図面の使用を通じて説明され、解説される。
[0005]本開示の様々な実施形態による、ネットワークベースの動作環境の例を示す図である。 [0006]本開示の1つまたは複数の実施形態による、データストレージおよび検証プラットフォーム内の構成要素のセットを示す図である。 [0007]本開示の1つまたは複数の実施形態による、データストレージおよび検証プラットフォームのアーキテクチャを示す図である。 [0008]本開示の1つまたは複数の実施形態による、非低密度TOMEを使用してデータを格納および検証する処理を示す図である。 [0009]本開示の1つまたは複数の実施形態による、低密度TOMEを使用してデータを格納および検証する処理を示す図である。 [0010]本開示の1つまたは複数の実施形態による、クロックチェーンTOMEを使用してデータを格納および検証する処理を示す図である。 [0011]本開示のいくつかの実施形態が利用されることがあるコンピュータシステムの例を示す図である。
[0012]本開示の様々な実施形態は、一般に、データを格納および検証することに関する。より詳細には、本開示の様々な実施形態は、ハッシュ技法を使用してデータを格納および検証するためのシステムおよび方法に関する。
[0013]データストレージおよび検証プラットフォームは方法およびシステムを説明し、この中でデータのレコードおよび特に急速に変化する時間に影響されやすいデータは、マークル木の概念を使用して迅速かつ効率的の両方で生成されることがあり、ここで木の枝はデータの、時間を中心としたグループ分けである。
[0014]データ認証の従来の方法は、特に、大量の急速に変化するデータを考慮する場合(例えば取引データ、遠隔計測)、非効率的である。例えばデータを検証するための1つのソリューションは、ファイルまたはテキストの全体のコーパスを格納すること、およびこれらを元のデータと比較し、妥当性を確証することを含む。この方法は少ない量のデータに対しては管理可能であるが、このソリューションは任意のかなりの量のデータの比較に対して非実用的である。
[0015]別の現在のソリューションはブロックチェーンにデータを格納することである。しかしブロックチェーンに急速に変化するデータ(例えば、取引所でのそれぞれの取引)を記録することは、少なくとも2つの理由で非実用的である。第1に、同期され、格納されなければならないデータの量は、現在のブロックチェーンの大部分の通信チャネル、大部分のストレージシステム、および「帯域幅」を現在超過する。単純に言えば、急速に変化するデータは、広く分散され非集中化されたシステム間で迅速に同期されることはない。第2に、非集中化されたブロックチェーンのタイミングは決定的ではないので、ブロックチェーン上に急速に変化するデータを記録することは非実用的である。すなわちデータのための経路はピアツーピアの接続次第であり、これは、急速に変化するデータがもともと発生したのとは異なる順序で記録されるよう導くことがある。
[0016]本明細書で説明される方法およびシステムは、将来の検証のために記録されることになる急速に変化する時間に影響されやすいデータを含む、データのための方式を提供する。本明細書で説明されるいくつかの実施形態は、タイムオーダードマークルツリーエポック(TOME:Time Ordered Merkle Tree Epoch)を生成できるデータストレージおよび検証プラットフォームを説明し、ここで「タイム」は全体としてみなされる過去、現在、および未来における存在およびイベントの限界がない継続した進行を指すことがあり、ここで「オーダード」は整然としたまたは適切な方式で配置されることを指すことがあり、ここで「マークルツリー」はRalph Merkleによって考案されたマークル木を指し、この中でそれぞれの非葉ノードは、その子ノードのラベルのハッシュでラベル付けされ、ここで「エポック(epoch)」は誰かまたは何かの履歴における明確に区別できる周期の始点を指す。TOMEは、ハッシングのためにSHA256などの暗号学的ハッシュ関数を使用することがある。
[0017]いくつかの実施形態において、TOMEの葉は具体的なレコードであってもよく、木は第1の基準レベルあたりのデータレコードの数、第2の基準レベルを構成する第1の基準レベル内のセグメントまたは時間間隔の数、第3の基準レベルを構成する第2の基準レベル内のセグメントまたは時間間隔の数、などによって規定されることがある。いくつかの実施形態において、基準レベルは時間によって規定され、このような実施形態において、木は1秒あたりのデータレコードの数、1分あたりの秒数、1時間あたりの分数、1日あたりの時間数などによって規定されてよい。
[0018]例においておよび本明細書でさらに説明されるように、データストレージおよび検証プラットフォームはデータレコードを受信し、必要な場合、タイムスタンプを提供してよい。それぞれのデータレコードは、データレコードの受信時にデータストレージおよび検証プラットフォームによって生成された対応するタイムスタンプでハッシュされることがある。タイムスタンプは、精度(granularity)の変わるレベル(例えば、ピコ秒、秒など)を表現してよい。1つの例証において、精度は秒で表現され、したがってそれぞれのデータレコードに対するハッシュは時間的な/連続した順序で組み合わされ、このハッシュのうちの1つのハッシュは1秒ごとに生成され、組み合わされたハッシュは1秒TOMEと呼ばれることがある。このようにハッシュは1秒ごとに作成される。60個の1秒ハッシュが作成された後、次に1秒ハッシュのすべては(時間で昇順にして)組み合わされ、1分ハッシュを作成するためにハッシュされ、これは1分TOMEと呼ばれることがある。1分ハッシュが60個作成された後、60個の1分ハッシュのすべては(時間で昇順にして)配列され、ハッシュされて1時間TOMEを作成する。1時間ハッシュが24個作成された後、24個の1時間ハッシュは(時間で昇順にして)配列され、ハッシュされて1日TOMEを生成する。次に日ハッシュは(時間で昇順にして)配列され、1か月TOME(すなわち30個もしくは31個の1日ごとのハッシュのハッシュ)、四半期ごとのTOME(すなわち90個の1日ごとのハッシュのハッシュ)、および/または1年ごとのTOME(すなわち365個の1日ごとのハッシュのハッシュ)を作成するためにハッシュされてよい。
[0019]ハッシュ関数が、組み合わされたハッシュに対して実施される前にハッシュを組み合わせることは、様々な方法を使用して行われてよい。例えばハッシュは、ハッシュを一緒に結合することによって、ハッシュを数的に合計することによって、またはバイナリのバイトを一緒に結合することによって組み合わされてよい。他の方法は、ハッシュのXORを一緒にとること、ハッシュ間で範囲を定めた状態でハッシュを結合すること、またはインデックス数をそれぞれのハッシュに加算し、次にハッシュを組み合わせることであってもよい。ハッシュを組み合わせる方法は、独立した当事者が処理を再現し、同じ結果に独立して到達するために既知でなければならない。
[0020]非低密度(non−sparse)TOME、低密度TOME、およびクロックチェーンTOMEを含むTOMEのいくつかのタイプがある。非低密度TOMEにおいて、それぞれのセグメント(または時間の単位、例えば1秒)に対するハッシュは、第1の基準レベル(例えば秒)のセグメントの間にデータが受信されたかどうかに関わらず生成される。このように、非低密度TOMEにおいて、それぞれのセグメントに対するハッシュがいつもある(すなわちデータが60個の1秒ハッシュのうちの3個または4個だけのうちに受信されたとしても、60個の1秒ハッシュは、1分ハッシュを作成するために作成され、使用される)。
[0021]低密度TOMEにおいて、ハッシュはデータが第1の基準レベルセグメントの間に受信された場合だけ作成される(すなわちデータが特定の分の中の60個から3秒のうちに受信される場合、3個のハッシュだけがハッシュされて1分ハッシュを形成する)。
[0022]クロックチェーンTOMEは起源ハッシュを使用する。起源ハッシュはエポックの第1のハッシュであり、データがハッシュされることに関する説明、または情報の任意の他のタイプを提供するドキュメントのハッシュであってよい。起源ハッシュは第1のセグメント(例えば秒)内のデータレコードでハッシュされる。本実施形態において、第1のセグメント(例えば第1の秒)に対するハッシュは、次のセグメント(例えば第2の秒)内のデータレコードでハッシュされて第2のセグメントのハッシュを作成し、第2のセグメントのハッシュは第3のセグメント(例えば第3の秒)の間に受信されたデータレコードのハッシュでハッシュされる、と続いていく。
[0023]ハッシュは任意のポイントでブロックチェーンに記録されてよく、データが将来検証されることを可能にする。すなわちTOMEをデータで再構築することによって、同じハッシュはデータが無傷でかつ変更されていない場合に作成される。しかしデータのいずれかが変化された場合、またはデータのタイムスタンプが変化した場合、ハッシュは異なり、データ内の相違を指示する。
[0024]データストレージおよび検証プラットフォームを使用して作成されたハッシュは、公開鍵暗号法および双方向暗号化などの暗号化技法を使用することを公的に証明されてよい。公開鍵暗号法はキーのペアを要求し、ここで2つのキーは数学的にリンクされる。一方のキーはピアツーピアのネットワーク内のノード間で自由に共有される公開鍵である。他方のキーは一般の人と共有されない秘密鍵である。公開鍵はプレーンテキストを暗号化し、デジタル署名を検証するために使用される。秘密鍵は暗号文のテキストを解読し、メッセージをデジタル署名するために使用される。メッセージは、発信者のアイデンティティを確認するために、発信者の秘密鍵によってデジタル署名されることがある。次に発信者のデジタル署名されたトランザクションメッセージは、発信者がメッセージを発したことを検証するために、発信者の公開鍵を使用して解読されることがある。
[0025]データストレージおよび検証プラットフォームの利益は、特に時間に影響されやすいデータにおける透過性および不変性を含む。なぜならデータストレージおよび検証プラットフォームは、データが同じアルゴリズムを通じて処理され、格納されたハッシュと比較されるとき、データが少しでも変更されたかどうかを決定できるからである。データストレージおよび検証プラットフォームは、データのハッシュがブロックチェーンに記録されるとき、否認されないことを提供する。一旦ハッシュがブロックチェーンに記録されると、ハッシュされたデータを、ハッシュを無効にせずに改ざんすることはできない。データストレージおよび検証プラットフォームは、デジタル署名が、ハッシュされたデータの妥当性(例えば公開鍵暗号法)を証明することを可能にすることによって外部証明を提供する。
[0026]データレコードは、任意の時間間隔(例えば、秒、日、週、月、年、10年)で検証されることがある。データストレージおよび検証プラットフォームは、より小さい時間間隔でデータを認証することができ、数十年に跨る全体のデータセットを検証する必要性を回避する。データストレージおよび検証プラットフォームは、任意のタイプのデータまたは任意の量のデータを認証することができる。さらに、データレコードに必要とされる格納容量はわずかである。分散型台帳上のそれぞれの取引を記録することは非実用的だが、(例えば時間ごとの、日ごとの、週ごとの、月ごとの)一定の時点におけるハッシュは、ネットワークノードによって維持される分散型台帳(例えばビットコインのためのブロックチェーン)に記録されてよい。
[0027]時間および具体的な時間増分は本開示における例として使用される。しかし本開示の実施形態は任意のデータで使用され、任意の時間間隔でハッシュされてよい。
[0028]本明細書で紹介される技法は、特殊用途のハードウェア(例えば回路機器)として、ソフトウェアおよび/もしくはファームウェアで適宜プログラムされたプログラマブル回路機器として、または特殊用途とプログラマブル回路機器との組合せとして具体化されてよい。このような訳で実施形態は、コンピュータ(または他の電子デバイス)をプログラムして処理を実施するために使用されることがある命令を格納した機械可読媒体を含むことがある。機械可読媒体は、例えばフロッピーディスケット、光ディスク、コンパクトディスクリードオンリメモリ(CD−ROM)、光磁気ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルリードオンリメモリ(EPROM)、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)、磁気もしくは光カード、フラッシュメモリ、または電子命令を格納するのに適した媒体/機械可読媒体の他のタイプを含むことがある。
[0029]図1は、本開示のいくつかの実施形態が使用されるネットワークベースの動作環境100の例を示す。図1に示されるように、動作環境100は、(モバイルデバイス、携帯電話、タブレット型コンピュータ、モバイルメディアデバイス、モバイルゲーミングデバイス、車両ベースのコンピュータ、専用端末、公開端末、デスクトップまたはラップトップコンピュータ、スマートウオッチまたは他のウェアラブル技術、キオスクなどの)1つまたは複数のコンピューティングデバイス110A〜110M上で動作するアプリケーション105A〜105Nを含む。いくつかの実施形態において、ドキュメントまたはオーダーを生成することなどのオペレーションを実行するためのアプリケーション105A〜105Nは、コンピューティングデバイス上に格納されることがあり、またはリモートに格納されることがある。これらのコンピューティングデバイスは、データストレージおよび検証プラットフォーム120にネットワーク115を通じて接続することによってトラフィックを受信し、送信するためのメカニズムを含んでよい。
[0030]コンピューティングデバイス110A〜110Mは、データストレージおよび検証プラットフォーム120とネットワーク115を介して通信するように構成される。いくつかの実施形態において、コンピューティングデバイス110A〜110Mは、データストレージおよび検証プラットフォーム120もしくはデータストア125から情報を取り出し、またはデータストレージおよび検証プラットフォーム120もしくはデータストア125に情報を提出し、データストレージおよび検証プラットフォーム120によって取り出されたカスタマイズされた内容で1つまたは複数のアプリケーションを動作させることができる。例えば、コンピューティングデバイス110A〜110Mはそれぞれ、ブラウザアプリケーションまたはカスタマイズされたクライアントを実行し、コンピューティングデバイス110A〜110Mとデータストレージおよび検証プラットフォーム120との間の対話を可能にすることができる。
[0031]データストレージおよび検証プラットフォーム120は1つまたは複数のサーバ上で動作することができ、他の活動の中で、データレコードを作成し、ハッシュ技法を使用してデータを検証するため、ハッシュを分散型台帳に記録するため、デジタル署名を記録するため、およびハッシュを比較するために使用されてよい。データストレージおよび検証プラットフォーム120は、データストア125およびコンピューティングデバイス110A〜110Mと通信可能なように連結されることがあり、コンピューティングデバイス110A〜110Mおよびデータストア125からデータ(例えば、ドキュメント、取引データ)を通信、アクセス、または受信することがある。
[0032]データストレージおよび検証プラットフォーム120は、ユーザニーズおよび/またはビジネス目的に基づいて、個別の会社またはサービスプロバイダによってカスタマイズされ、または調整されることがある。例えばデータがハッシュされる間隔は、データが受信される様々な時間間隔に基づくことがあり(例えば取引データが1秒より速く到着するのに対して、毎月の報告は一般に月ごとに発生する)、したがってデータストレージおよび検証プラットフォーム120は、異なる使用および異なるユーザに対して様々に調整されることがある。
[0033]データストレージおよび検証プラットフォーム120は、数ある中でもデータが将来いつでも簡単に認証されてよいようにデータのレコードを作成する方法を提供する。データストレージおよび検証プラットフォーム120は、木の葉が具体的なレコードであり、木が第1のセグメント化された時間周期あたりのデータレコードの数、第2のセグメント化された時間周期を構成する第1の時間周期内のセグメントの数、第3のセグメント化された時間周期を構成する第2のセグメント化された時間周期内のセグメントの数などによって規定されるTOMEを作成することがある。例えば木は1秒あたりのデータレコードの数、1分あたりの秒の数、時間あたりの分の数、日あたりの時間の数などによって規定されることがある。データストレージおよび検証プラットフォーム120は、木の中の任意のポイントでハッシュを記録することがあり、次にこのレコードをデータのハッシュと比較し、データが変化しなかったことを検証する。
[0034]データストア125はストレージを管理し、取引データ、ドキュメント、ユーザ情報、および他の情報などのデータにアクセスするために使用されてよい。データストア125は、データベーススキーマ内で規定されるクラスを使用してモデル化される統合されたオブジェクトのセットのデータリポジトリであってもよい。データストア125はデータを格納できるフラットファイルをさらに含むことがある。データストレージおよび検証プラットフォーム120および/または他のサーバは、データストア125からデータを収集および/またはアクセスすることがある。
[0035]データストレージおよび検証プラットフォーム120は、1つまたは複数の分散型台帳135とネットワーク130を通じて通信可能に連結される。
[0036]ネットワーク115およびネットワーク130は同じネットワークであってよく、または別々のネットワークであってよく、ならびに有線および/またはワイヤレス通信システムを使用するローカルエリアおよび/またはワイドエリアネットワークの任意の組合せであってよい。ネットワーク115またはネットワーク130のどちらかは、任意の1つまたは複数のプロトコル/技術、すなわちイーサネット、IEEE802.11すなわちWi−Fi、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)、セルラーテレコミュニケーション(例えば3G、4G、5G)、CDMA、ケーブル、デジタル加入者線(DSL)などであるか、またはこれらを使用してよい。同様にネットワーク115およびネットワーク130上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング(MPLS:multiprotocol label switching)、トランスミッションコントロールプロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスポートプロトコル(HTTP)、シンプルメールトランスファプロトコル(SMTP)、およびファイルトランスファプロトコル(FTP)を含むことがある。ネットワーク115およびネットワーク130上で交換されるデータは、ハイパーテキストマークアップランゲージ(HTML)またはエクステンシブルマークアップランゲージ(XML)を含む技術、言語、および/またはフォーマットを使用して表現されることがある。加えて、すべてまたはいくつかのリンクは、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、およびインターネットプロトコルセキュリティ(Ipsec)などの従来の暗号化技術を使用して暗号化されてよい。
[0037]分散型台帳135は、自動的(例えば時間周期の終わり)に、または分散型台帳上でリクエストされたときにハッシュを記録する。例えばビットコインは、ブロックチェーンと呼ばれる分散型公開台帳を使用する。分散型台帳135がデータストレージおよび検証プラットフォーム120から正規のキーで署名されたハッシュを受信し、ハッシュがネットワークノードによって検証されると、分散型台帳135は分散型台帳にハッシュを記録する。
[0038]図2は、本開示の1つまたは複数の実施形態による、データストレージおよび検証プラットフォーム120内の構成要素のセットを示す。図2に示された実施形態によれば、データストレージおよび検証プラットフォーム120は、メモリ205、1つまたは複数のプロセッサ210、データ受信モジュール215、タイムスタンプモジュール220、ハッシュエンジン225、記録モジュール230、デジタル署名モジュール235、データ認証モジュール240、比較モジュール245、およびグラフィカルユーザインターフェース(GUI)生成モジュール250を含んでよい。他の実施形態は、他のモジュール、アプリケーション、および/または構成要素と共に、これらのモジュールおよび構成要素のいくつか、すべてを含むか、または1つも含まないことがある。さらにいくつかの実施形態は、これらのモジュールおよび構成要素の2つ以上を単一のモジュールに組み込むことがあり、ならびに/またはこれらのモジュールの1つもしくは複数の機能性の一部を異なるモジュールと関連付けることがある。例えば1つの実施形態において、データ認証モジュール240および比較モジュール245は、単一の構成要素に組み合わされてよい。
[0039]メモリ205は情報を格納するために使用される任意のデバイス、メカニズム、またはポピュレートされたデータ構造(populated data structure)であってよい。本開示のいくつかの実施形態によれば、メモリ205は、例えば揮発性メモリ、不揮発性メモリ、および動的メモリの任意のタイプであってよく、またはこれらを含む。例えばメモリ205は、ランダムアクセスメモリ、メモリストレージデバイス、光メモリデバイス、磁気媒体、フロッピーディスク、磁気テープ、ハードドライブ、消去可能なプログラマブルリードオンリメモリ(EPROM)、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)、コンパクトディスク、DVD、および/または同様のものであってよい。いくつかの実施形態によれば、メモリ205は、1つもしくは複数のディスクドライブもしくはフラッシュドライブ、1つもしくは複数のテーブル、1つもしくは複数のファイル、1つもしくは複数のローカルのキャッシュメモリもしくはプロセッサのキャッシュメモリ、1つもしくは複数のリレーショナルデータベースもしくはフラットデータベース、および/または同様のものを含むことがある。加えて当業者は、メモリ205として使用されてよい、情報を格納するための多くの追加のデバイスおよび技法を理解するであろう。
[0040]メモリ205は、1つまたは複数のアプリケーションまたはモジュールをプロセッサ210上で動作させるための命令を格納するために使用されることがある。例えばメモリ205は、データ受信モジュール215、タイムスタンプモジュール220、ハッシュエンジン225、記録モジュール230、デジタル署名モジュール235、データ認証モジュール240、比較モジュール245、およびGUI生成モジュール250の機能性を実行するために必要な命令のすべてまたはいくつかを収納するために、1つまたは複数の実施形態において使用されてよい。
[0041]データ受信モジュール215は、データ(例えばデータ項目、データレコード)をデータストレージおよび検証プラットフォーム120に受信し、ハッシュ技法を使用してデータのレコードを作成することができる。データは任意のタイプのデータ(例えばドキュメント、ビデオ、画像、電子メールメッセージ)であってよく、データは任意の間隔で(例えば秒ごとに、時間ごとに、1年に3回、ランダムに)受信されてよい。いくつかの実施形態において、データ受信モジュール215によって受信されたデータは秘密を保たれているが、依然として認証されてよい。例えば送られたデータは、透過性なく否認されない方式を提供する秘密データのハッシュであってよい。いくつかの実施形態において、データ受信モジュール215によって受信されたデータは、(APIコールの結果が第三者データの認証のために一貫した状態を保つことを提供した)APIコールの結果であってよい。
[0042]データ受信モジュール215は、検証データが初めに受信されたデータと同じであることを検証するために検証データを受信してもよい。すなわち検証データのレコードは同じハッシュ技法を使用して作られ、検証データが初期データと同じであるかどうかを決定することがある。このような検証は偽造データを検出するため、または検査に準拠するために、ピアツーピアのネットワークから転送されたデータを検証するのに役立つことがある。データ受信モジュール215を介して受信されたデータまたはデータ項目は、必要な場合、タイムスタンプを押すためにタイムスタンプモジュール220に、またはタイムスタンプを押すことが不必要な場合、ハッシュするために直接ハッシュエンジン225に伝達されることがある。
[0043]タイムスタンプモジュール220は、タイムスタンプが必要とされるかどうかを決定し、必要に応じてデータにタイムスタンプを押してよい。いくつかのデータは既にタイムスタンプを含むことがあり、これは時間に影響されやすいデータに役立つことがある。いくつかの実施形態において、データは、データが既にタイムスタンプを含むかどうかに関わらずタイムスタンプを押される。データは任意の精度(例えばピコ秒、ミリ秒、マイクロ秒、ナノ秒、秒、分、時間)でタイムスタンプを押されてよい。タイムスタンプは、エポックの始点またはデータレコードの本物のタイムスタンプであってよい。経過したエポックの値はエポックに包含された秒の数である。時間は、(世界中の)時間(例えばユリウス暦、GMTなどのタイムゾーンによるデータ文字列)における瞬間を表すのに十分具体的な任意の手法で明示されてよい。タイムスタンプと共にデータはハッシュエンジン225に送られる。
[0044]ハッシュエンジン225はデータを受信し、データのタイムスタンプが押されたレコードレベルでデータのタイムスタンプと共にデータをハッシュする。次にそれぞれのレコードに対するハッシュは時間順に組み合わされる。時として時間の解像度は、決定的な順序(すなわち2つのデータレコードが同時に受信され、または同じタイムスタンプで記録される)でレコードを位置付けるには十分精度が細かくない。このような状況の間、データレコードのハッシュは、検証中、検証データのハッシュは(データが同じ場合)元のデータと同じハッシュという結果になり、これがソートされることになるので、2次のソート順のために使用されてよい。このようにいくつかの実施形態において、データはまず時間でソートされ、次につながりがある場合、データはデータのハッシュでソートされる。この手法でソートすることは、第三者または異なる互換性のあるシステムに一貫した手法でデータを配列する方法を可能にする。
[0045]それぞれの基準レベルは多くの並べられたセグメントを有することがあり、これらのそれぞれは基準レベルに対する単一のハッシュを作成するためにハッシュされ、次にこれは、次の基準レベルを生成する際に使用される。例として秒が第1の基準レベルであると仮定すると、分は第2の基準レベルであり、時間は第3の基準レベルである。第1の基準レベルは60個の並べられたセグメント(すなわち60個の秒)を含み、これらのハッシュは第2の基準レベルセグメントとして使用される。データが受信されるとデータはハッシュされ、特定のセグメント(すなわち秒)の間に受信されたデータすべてがハッシュされる。次にそれぞれのセグメント(すなわち60個のハッシュ)に対するハッシュされたデータは昇順で一緒にハッシュされ、第2の基準レベル上に1つのセグメントを生成する(すなわち60個の1秒ハッシュがハッシュされて1分ハッシュを生成する)。第2の基準レベルは60個のセグメント(すなわち60個の分)を含む。このように第2の基準レベルからの60個の並べられたセグメントは昇順で一緒にハッシュされ、第3の基準レベル上に1つのセグメントを生成する(すなわち60個の1分ハッシュがハッシュされて1時間ハッシュを作成する)。第3の基準レベルは、昇順で一緒にハッシュされ、第4のレベル上に1つのセグメントを生成する(すなわち24個の1時間ハッシュがハッシュされて1日ハッシュを作成する)24個のセグメントを含む。この処理は、1つのハッシュが週、月、四半期、年、数10年のデータ、または任意の他の時間周期を表現可能なように継続してよい。
[0046]それぞれの基準レベルにおけるレコードデータのそれぞれのハッシュされたセグメントは、基準レベルに対するハッシュされたセグメントすなわちTOMEとしてラベル付けされることがある。このように第1の基準レベルが秒である場合、それぞれの秒に対するハッシュは第2の基準レベルに対するハッシュされたセグメントである。第2の基準レベルが分である場合、ハッシュされた秒のセグメントの60個のハッシュは、分の基準レベルに対する1つのハッシュされたセグメントである。第3の基準レベルが時間である場合、ハッシュされた分のセグメントの60個のハッシュは、時間の基準レベルに対する1つのハッシュされたセグメントである。
[0047]データが受信されると、データはタイムスタンプを押され、タイムスタンプでハッシュされる。次に第1の秒の中で受信されたデータのすべては時間で並べられた手法で一緒にハッシュされる。同じ処理が、その基準レベル内のセグメントの終わりまで、第2の秒、第3の秒などに対して発生する。
[0048]ハッシュエンジン225はわずかに変えられたハッシュアルゴリズムを使用してよい。例えば「低密度TOME」において、データが任意の時間の周期の間に受信されないとき、ハッシュはこの時間周期の間に作成されず、または格納されない。このように、特定の秒、分、時間、または週の間、ハッシュがないということが可能である。低密度TOMEにおいて、データが受信されない時間周期におけるデータが認証されることを求められる場合、ハッシュエンジン225はハッシュに対してヌル、0をリターンするか、または何もリターンしない。例えば年の中に1つのデータポイントだけを有する低密度TOMEにおいて、この秒、分、時間、日、週、月、および年に対するデータはあるが、他には何もないであろう(例えば、sha256(sha256(sha256(sha256(sha256(sha256(one_data_point)))))))。
[0049]ハッシュエンジン225は「非低密度TOME」アルゴリズムを使用してもよい。非低密度TOMEアルゴリズムにおいて、任意の時点にデータがない場合、ハッシュエンジン225は依然としてハッシュを作成する。秒が最低の基準レベルであると仮定すると、データが秒の間に受信されない場合、ハッシュは秒に対して作成される(例えば空文字列のハッシュ)。例えば空文字列の静的なSHA256ハッシュが使用されてよい。非低密度TOMEにおいて、1分ハッシュを生成するために60個の1秒ハッシュがいつもある。
[0050]非低密度TOMEに対して低密度TOMEを使用する利点があり、逆もまた同様である。例えば非低密度TOMEが、時間周期中にデータが受信されないことを確証するデータポイントを提供するのに対して、低密度TOMEを使用するとき、データの欠如を除いて具体的な確証はない。その一方で非低密度TOMEはデータが受信されたかどうかに関わらずハッシュを提供するので、第1の基準レベルのあらゆるセグメントの間にデータが受信されないとき、非低密度TOMEに対するハッシュファイルは低密度TOMEのハッシュファイルより大きい。
[0051]一般にハッシュのためのデータストレージは十分ではない。例えば、基準レベルが秒、分、時間、週、月、および年を含み、ハッシュがSHA256であり、バイナリのハッシュが32バイトのハッシュとして格納され、および結合されたハッシュが64個の16進数のキャラクタとして格納されると仮定すると、非低密度TOMEデータの全体の年に対するストレージはざっと2ギガバイトのデータになることがある。ストレージ数は、所与の秒の間にどれほど多くのデータが受信され、ハッシュされるか(例えば特定の秒の間にハッシュされる16進数の文字列が、秒の間に受信されたデータ項目の数に応じて、より大きくまたはより小さくなることがある)に応じて増加または減少することがある。非低密度TOMEにおいて、分のハッシュはいつも、16進値の3840(すなわち64*60)個のキャラクタ文字列であり、ここで週ごとのハッシュは1日ごとのハッシュの16進値の448(すなわち64*7)個のキャラクタ文字列である。
[0052]ハッシュエンジン225は「クロックチェーンTOME」を使用してもよい。クロックチェーンTOMEは、セグメントの間にデータが受信されるかどうかに関わらず、最低の基準(例えばそれぞれの秒)のそれぞれのセグメントに対するハッシュがあるという点で非低密度TOMEである。クロックチェーンTOMEは、第1の基準レベルの以前のセグメントからハッシュをとり、現在のセグメントに対する第1のハッシュとして以前のセグメントからのハッシュを使用し、現在のセグメントに対して受信された他のデータのハッシュと共に、以前のセグメントからのハッシュを昇順にハッシュするという点で非低密度TOMEに対して独特である。次に現在のセグメントのハッシュは後続のセグメントに対する第1のハッシュとして使用される。
[0053]TOMEのまさにこの第1のセグメントのまさにこの第1のハッシュは、起源のメタデータのハッシュであるので、起源ハッシュと呼ばれることがある。起源のメタデータは、TOMEデータに関する期限を規定し、ならびにTOMEの存在に対する推論(例えば資産が取引される法的な定義づけを明示するドキュメント、および元の量、顧客数、ブローカディーラの生成)を提供することがあるのに対して、TOMEデータは実際のデータ(例えば資産に対する取引データ)のハッシュである。このように起源ハッシュおよび第1の秒の間に受信されたデータのハッシュすべてはハッシュされ、第1の秒のハッシュを形成し、第1の秒のハッシュは第2の秒の間に受信されたデータのハッシュすべてでハッシュされ、第2のデータのハッシュを形成し、第2のデータのハッシュは第3の秒の間に受信されたデータのハッシュすべてでハッシュされる、と続いていく。クロックチェーンは本質的に起源日を有し、クロックチェーン木の起源日で始まる、あらゆる秒に対するあらゆるデータポイントを追跡する。追加として認証の間、クロックチェーンTOMEは、あらゆるハッシュが木の始点にさかのぼることを認証する(および認証することを要求される)。このようにクロックチェーンは、株式の発行の始点からあらゆる取引を認証してよい。
[0054]ハッシュエンジン225はSHA256を使用してハッシュを作成することがあり、64個の16進数のキャラクタを使用してハッシュを表現することがある。ストレージは32バイトのバイナリのハッシュを格納することによって最適化されることがあるが、ハッシュされることになる結合されたハッシュは64個の16進数のキャラクタであってよい。
[0055]記録モジュール230は、ハッシュ(TOME)の1つまたは複数をブロックチェーンなどの媒体に記録する。任意のブロックチェーンは、1つまたは複数のTOMEを記録するために使用されてよい。記録モジュール230は、コミットが発生する任意の時間間隔で(例えば分ごと、分のハッシュを組み合わせることによって時間ごとに)TOMEを記録してよい。コミットはエポックの境界の終わり(例えば秒の終わり、分の終わり)を明示して行われ、データをロックするので、一旦コミットされるとこれ以上のデータは追加されることはない。次に記録モジュール230は、エポックの境界までハッシュすべてを組み合わせる。コミットが境界ではないタイムスタンプに対して発生する場合(例えば1.5秒)、さかのぼる最後の境界が使用されることがある(例えば1秒)。
[0056]TOMEを記録するための時間間隔はブロックチェーンの速度に依存することがある。例えばいくつかのブロックチェーンは、時間のハッシュをビットコインなどの10個の分のブロックチェーン、または分ごとに分のハッシュをインフィニットコイン(Inifinitecoin)などの30個の秒のブロックチェーンに記録することがある。いくつかの実施形態において、TOMEは一定の間隔でブロックチェーンに自動的に記録される。例えばエポックに対する全体のデータを包含する時間ごとまたは日ごとの時間が記録されることがある。このように記録モジュール230はハッシュを記録し、時間の任意の選ばれたブロックに対するデータの存在の証拠を透過的かつ永久に記録する。
[0057]いくつかの実施形態において、データが一定のエポック(例えば日)を通じて記録された後、変化がこの日(例えば日ごと)に含まれるTOMEのいずれかに対してなされることはない。ブロックチェーンに加えて他の媒体は、新聞、ウェブサイトのブログ、ツイッターなどのハッシュを記録するために使用されてよい。
[0058]デジタル署名モジュール235は、複数のエンティティが任意の時間レベルでデータに署名すること(すなわち証明すること)を可能にすることができる。証明は、1日ごと、毎月、週ごと、および/または1年ごとに発生してよい。データを証明するために公開鍵暗号法は、ATSまたはブローカディーラがハッシュにデジタル的に署名できるように使用されてよく、データのハッシュが正規であり、実際のデータを表現することを公的に表明する。追加としてデジタル署名は、データを独立して検査し、ハッシュを検証するデバイスによって自動的に付けられてよい。いくつかの実施形態において、それぞれのデータエントリはデジタル署名されることがある。例において、データのハッシュは2つのシステムを通じて行われ、その後日に対するハッシュは比較される。ハッシュが同じである場合、デジタル署名は日に対するデータを認証するハッシュに適用されてよい。いくつかの実施形態において、ハッシュはブロックチェーン上に記録される前にデジタル署名される。ハッシュの署名は、このエポックの間に発生したすべての時間で配列されたデータが妥当であることを表現する。このようにデータの週に対するハッシュの署名は、全体の週に対するデータが妥当であることを証明する。
[0059]データ認証モジュール240は、ある時点でTOMEを受信することによって、および同じハッシュアルゴリズムを通じて潜在的に疑わしい検証データを走らせることによって、検証データを認証する(すなわち元のデータがハッシュされて以降、データが変化したかどうかを決定する)。検証データは初期データとして同じ時間範囲からのデータを含むであろう。同じハッシュアルゴリズムまたは同じ仕様(例えばどのように時間レコードが明示されたか、本物の数の精密さ、データフォーマット(例えば、JSON、XML、バイナリ))を有する機能が使用されると仮定すると、同じハッシュはそれぞれのデータレコードに対して再現されるはずであり、結果として同じTOMEになる。タイムスタンプはレコード内に記録されるので、秒、分、日、時間などに対するマークル木のハッシュは再現されてもよい。データ認証モジュール240はデータの任意のタイプを認証することができる。このようにデータ認証モジュール240は、任意のエポック(すなわち時間範囲)の間、データが追加され、除去され、または改ざんされなかったことを検証し、保証することができる。いくつかの実施形態において、データ認証モジュール240は、トリガイベント時にデータの検証を実施する。トリガイベントは、データ整合性チェックをリクエストするレギュレータまたは他のエンティティによって要求される検査イベントを含むことがある。データ認証モジュール240は、1つのシステムを並列に走っている別のシステムと比較するために使用されることがある。
[0060]認証のために要求されるデータの量は、ハッシュおよび認証のためのデータの時間フレームを作成するために使用されるアルゴリズムのタイプに依存する。例えばクロックチェーンアルゴリズムを使用してハッシュされたデータを認証するために、データ認証モジュール240は、認証のためにリクエストされる全体の時間フレームを認証しなければならず、起源のメタデータで始まる。このようにユーザは起源のメタデータ、およびユーザが認証することに関心のある時点まで導くデータすべてを提供しなければならない。実施されるあらゆる認証のために、意図的に、データ認証モジュール240は、クロックチェーンアルゴリズムが始まったときの木の始点にさかのぼるあらゆるハッシュを認証する。対照的に、非低密度TOMEまたは低密度TOMEを使用するとき、ユーザは認証すべきデータのサブセットを明示することができる。非低密度TOMEまたは低密度TOMEに対する特定の起源のメタデータまたは起源日がないので、特定の時点でスタートすることは必要ではない。例えばユーザが特定の時間(hour)のデータを認証したい場合、必要なのはこの時間全体に対するデータである。データ認証モジュール240はその時間に対するデータをとり、その時間に対するハッシュを再作成する。同様にユーザがデータの年を認証したい場合、この年全体に対するデータだけが必要である。
[0061]比較モジュール245は、データ認証モジュール240によって作成された検証データのハッシュと元のハッシュを比較する。ハッシュが異なる場合、データ内の何かが変化する。タイムスタンプの変化、データに対する変化、またはデータを再配列することを含むデータ内の任意の変化は異なるハッシュを生産する。例えばデータが映画であり、映画の1つのピクセルが変化される場合、ハッシュは異なる。別の例において、データが取引データであり、何百万もの取引からの1つの取引のタイムスタンプが変更された場合、ハッシュは異なる。
[0062]ハッシュが異なる場合、データ内の何かが変化する。データが変更された場所を厳密に決定するために、より小さい量の時間が調査されることがある。例えば非低密度TOMEまたは低密度TOMEにおいて、データの月が認証され、認証が失敗した場合、データのこの月の週のそれぞれは、どの週が失敗したかを決定するために認証されてよい。一旦失敗した週が決定されると、失敗した週のそれぞれの日は、どの日が失敗したかを識別するために認証されてよい。一旦失敗した日が識別されると、それぞれの時間(hour)は、どの時間が失敗したかを決定するために認証されてよい。この処理は、失敗したまさにそのデータのハッシュが識別されるまで反復して継続されてよい。アルゴリズムがクロックチェーンである場合、起源から認証のポイントまでのデータすべてが含まれなければならないので、変化したその正確なデータを識別することは、わずかに異なる処理となる。データの月が認証に失敗したと仮定すると、起源から月の終わりまでのデータすべて、および起源から月の中間までのデータは、月の前半または月の後半の間にデータが変化したかどうかを決定するために認証されてよい。一旦月のどちらの半分が変更されたデータを収めたかが決定されると、次の反復は(最初の2週が悪いデータを収めた場合)月の第1週まで、または(最後の2週が悪いデータを収めた場合)月の第3週まで認証してよい。説明されたような反復処理はまさにそのデータレコードが識別されるまで実施されてよい。
[0063]イベントの順序を認証することによって、イベントを再配列することが発生することはなく、検証データを無効にすることはない。比較データはデータが変化しなかったことを立証するために、検査人に提供されることがある。このように現代のデータフローの高速かつ高容量の性質は、規制による要求に応じて、月ごとの、四半期ごとの、または1年ごとの従来の検査間隔で適合されてよい。
[0064]GUI生成モジュール250は、ユーザとの対話を可能にする1つまたは複数のGUI画面を生成することができる。少なくとも1つの実施形態において、GUI生成モジュール250は、情報を受信し、および/または情報をユーザに伝えるグラフィカルユーザインターフェースを生成する。例えばGUI生成モジュール250は、ユーザが、認証されることになるデータの時間フレームをリクエストし、使用されるアルゴリズムのタイプを明示することができるユーザインターフェースを表示することがある。GUI生成モジュール250は認証の結果を表示してもよい。
[0065]図3は、データストレージおよび検証プラットフォーム内で使用される構成要素の相互作用を示す図300である。図3に示されるように、データ供給302は配列されたばらばらのデータ項目の高速データを受信する。TOME304は基準レベルを使用して、並べられた手法でデータ項目をハッシュすることによって、高速データのTOMEを生成する。レコーダ306は、ハッシュのレコードが記憶されるように、ブロックチェーン上に任意の時点でデータ項目のハッシュを記録する。このようにデータは、記録されたハッシュをデータで再構築し、記録されたハッシュと再構築されたハッシュが同じであることを検証することによって、後で変化していないことを検証されてよい。証明ユニット308は、データおよび/またはハッシュが的確である(すなわちデータが危険にさらされていない)ことを検証するデジタル署名を受信する。証明は初期データが正しいデータだったというさらなる証拠として、後で使用されることがある。
[0066]図4は非低密度TOMEを使用して、データを格納および検証する処理を示す。図示のようにデータ項目402、404、406、408、および410は受信され、それぞれのデータ項目はタイムスタンプを押され、ハッシュされる。上述のように非低密度TOMEにおいて、秒の間にデータが受信されなかったとしてもハッシュは作成され、秒の間にデータがなかったことを明示する。次にそれぞれの秒に対するデータ項目のハッシュは順次一緒にハッシュされる。例えばデータ項目402および404は第1の秒の間に受信され、したがってデータ項目402および404のハッシュは一緒にハッシュされ、秒のハッシュの第1のセットの第1の秒のハッシュつまり要素412を作成する。図4は2つのデータ項目だけが第1の秒の間に発生することを示すが、より少ないまたはより多くのデータ項目が受信されてよく、それぞれは個別にハッシュされ、その後データ項目の他のハッシュと共にハッシュされる。この処理は、それぞれの秒の間に受信されたデータ項目すべてを表現する60個のハッシュがあるように後続の59秒間繰り返される。
[0067]その後、60個のハッシュ(それぞれの秒に対するハッシュ)は一緒にハッシュされ、第1の分のハッシュつまり要素416を作成する。うるう秒が適用可能であるとき、61個の秒のハッシュは一緒にハッシュされ、分のハッシュを作成することがある。この処理は、60個の分の終わりの時点で分のそれぞれの間に受信されたデータすべてを表現する60個のハッシュがあるように60個の分に対して繰り返される。図示のように、データ項目406、408、および410は、秒の第2のセット(例えば秒61〜120)の間にハッシュされる。次にデータ項目406、408、および410のハッシュは要素414においてハッシュされ、秒のハッシュの第2のセットの第1を生成する。一旦60個の秒すべて(例えば秒61〜120)に対するハッシュが作成されると、第2の分のハッシュつまり要素418は、秒のハッシュの60個すべてをハッシュすることによって作成される。
[0068]次に要素416および418つまりデータの分のそれぞれのハッシュは、データの分の58個の他のハッシュと一緒にハッシュされ、第1の時間のハッシュつまり要素420(すなわちハッシュされたデータの60個の分)を生成する。この処理は、全部で24個の時間のハッシュがあるように23回繰り返される。24個の時間のハッシュのそれぞれは一緒にハッシュされ、第1の日のハッシュつまり要素422を作成する。日のハッシュは任意の望ましい増分で一緒に作成され、ハッシュされてよい。例えば365個の日のハッシュがハッシュされ、データの全体の年に対するハッシュつまり要素424を生成してよい。365個の日のハッシュが要素424に示されるが、日の数は特定の年における日の数に応じて365個または366個であってよいことが理解される。または30個の日のハッシュがハッシュされ、月に対するハッシュつまり要素426を生成してよい。30個の日のハッシュが要素426に示されるが、日の数は特定の月における日の数に応じて28個〜31個であってよい。いくつかの実施形態において、365個の日のハッシュをハッシュする代わりに、12個の月のハッシュが一緒にハッシュされ、年のハッシュを作成してよい。追加として、90個の日のハッシュ(または四半期に適用可能なように91個もしくは92個の日のハッシュ)が組み合わされ、四半期に対するハッシュつまり要素428を作成してよい。
[0069]図5は、低密度TOMEを使用してデータを格納および検証する処理を示す。低密度TOMEは、時間周期中にデータが受信されないとき、ハッシュが作成されないことを除いて、非低密度TOMEと同じ方式で機能する。したがって低密度TOMEにおいて、どれほど素早くデータが受信されているかに応じて、見逃しているハッシュが多くあり得る。図示のようにデータは第1の秒(データ項目502および504)と第25の秒(データ項目506、508、および510)の間に受信される。第1の秒に対するデータのハッシュつまり要素512、および第25の秒に対するデータのハッシュつまり要素514はそれぞれハッシュされ、ならびに第1の秒のハッシュは第25の秒のハッシュと共にハッシュされ、第1の分のハッシュつまり要素516を生成する。秒2〜秒24または秒26〜秒60の間にデータ項目は受信されなかったので、追加のハッシュは作成されない。対照的に、非低密度TOMEにおいて、秒の間にデータが受信されなかったかどうかに関わらず、システムは、分のハッシュを生成するためにハッシュされることになる60個のハッシュがいつもあるようにハッシュを生成する。
[0070]次に分のハッシュをハッシュすることによって、時間のハッシュつまり要素518が作成される。この例において、第1の分(M1)および第4の分(M4)に利用可能な分のハッシュがあり、第1の分と第4の分の間に少なくともいくつかのデータが受信されたことを意味する。次にデータが受信されたそれぞれの時間のハッシュをハッシュすることによって、日のハッシュが作成される。ここで日のハッシュつまり要素520は、第1の時間のハッシュ、第5の時間のハッシュ、および第23の時間のハッシュを含む。年に対するデータのハッシュは、利用可能な日(例えば第1の日および第2の日)のハッシュつまり要素522をハッシュすることによって生成されてよい。
[0071]図6は、クロックチェーンTOMEを使用してデータを格納および検証する処理を示す。クロックチェーンTOMEは、2つの特性の例外がある非低密度TOMEに対して同一に動作する。1つ目は、あらゆるクロックチェーンTOMEは起源ハッシュつまり要素602で始まる。起源ハッシュは任意のタイプのデータ、好ましくは何のデータがTOMEに含まれるか(例えば株式の識別子、顧客番号)を明らかにするデータであってよい。起源ハッシュならびにデータ項目604および606のハッシュは一緒にハッシュされ、第1の秒のハッシュつまり要素614を生成する。
[0072]非低密度TOMEとの2つ目の相違は、第2の秒のハッシュが第1の秒のハッシュつまり要素608と共に始まるというものである。したがって第2の秒のハッシュつまり要素616は、第1の秒のハッシュのハッシュつまり要素608、ならびにデータ項目610および612のハッシュである。この処理はそれぞれの秒に対して繰り返される。例えば第2の秒のハッシュは第3の秒のハッシュの第1のハッシュであろう。一旦ハッシュの最初の60個の秒が完了すると、60個の秒(またはうるう秒があるときは61個の秒)のそれぞれに対するハッシュがハッシュされ、第1の分のハッシュつまり要素618を作成する。次に後続の60個の秒の中で受信されたデータは同じ手法でハッシュされ、第2の分のハッシュを作成する。この処理は全部で60個の分の間、後続の分のそれぞれに対して繰り返される。60個の分のハッシュはハッシュされ、時間のハッシュつまり要素620を作成する。要素622、624、626、および628は、要素422、424、426、および428それぞれに対して説明された同じ手法で作成される。
[0073]本開示の様々な実施形態は以下に説明される。
1.第1の基準レベルの第1の基準レベルセグメントの間にデータ項目を受信することと、
対応するタイムスタンプでデータ項目のそれぞれに対してハッシュ関数を実行することと、
データ項目の個々のタイムスタンプに従って、第1の基準レベルセグメントのそれぞれにおけるデータ項目のハッシュに対して第2のハッシュ関数を実行することによって、第1の基準レベルセグメントのそれぞれに対する第1の基準レベルセグメントハッシュを生成することと、
複数の第2の基準レベルセグメントのそれぞれに対する第2の基準レベルセグメントハッシュを生成することであって、複数の第2の基準レベルセグメントのそれぞれは所定の数の第1の基準レベルセグメントから構成され、複数の第2の基準レベルセグメントハッシュのそれぞれは所定の数の第1の基準レベルセグメントハッシュに対して第3のハッシュ関数を実行することによって生成されることと
を含む、コンピュータ化された方法。
2.第2の基準レベルセグメントハッシュの少なくとも1つを分散型台帳に記録することをさらに含む、請求項1に記載のコンピュータ化された方法。
3.第1の基準レベルセグメントおよび第2の基準レベルセグメントは、時間の周期である、請求項1または2に記載のコンピュータ化された方法。
4.第1の基準レベルセグメントの時間の周期は秒であり、第2の基準レベルセグメントの時間の周期は分である、請求項3に記載のコンピュータ化された方法。
5.第1の基準レベルセグメントの所定の数は60個または61個である、請求項4に記載のコンピュータ化された方法。
6.追加の基準レベルに対する基準レベルセグメントハッシュを生成することであって、追加の基準レベルのそれぞれは複数の基準レベルセグメントを含み、複数の基準レベルセグメントのそれぞれは所定の数の以前の基準レベルセグメントを含み、追加の基準レベルセグメントハッシュのそれぞれを生成することは、所定の数の以前の基準レベルセグメントそれぞれの追加の基準レベルセグメントハッシュに対して追加のハッシュ関数を実行することを含むことをさらに含む、請求項1、2、3、または4に記載のコンピュータ化された方法。
7.第1の受信されたデータ項目は起源データを含み、第1の基準レベルセグメントのそれぞれの第1のハッシュは、第1の基準レベルの第1のセグメントの第1のハッシュを除いて、直前の第1の基準レベルセグメントのハッシュであり、追加の基準レベルセグメントのそれぞれに対する第1のハッシュは、追加の基準レベルのそれぞれの第1の追加の基準レベルセグメントの第1のハッシュを除いて、直前の追加の基準レベルセグメントのハッシュである、請求項6に記載のコンピュータ化された方法。
8.第1の基準レベルセグメントのそれぞれに対する第1の基準レベルセグメントハッシュを生成することは、時間間隔の間にデータ項目のいずれかが受信されたかどうかに関わらず実施され、第1の基準レベルセグメントの1つの間にデータ項目が受信されないとき、プレースホルダの第1の基準レベルセグメントハッシュが実行される、請求項1、2、3、4、5、または6に記載のコンピュータ化された方法。
9.命令のセットを含む非一時的コンピュータ可読ストレージ媒体であって、命令が、1つまたは複数のプロセッサによって実行されるとき、
時間間隔に従って基準レベルを生成することであって、第1の基準レベルは所定の数の時間間隔を含み、残る基準レベルの時間間隔のそれぞれは以前の基準レベルの所定の数の時間間隔で構成される、ことと、
データが受信される時間間隔に従ってデータに対してハッシュ関数を実行することによって、第1の基準レベルでデータのハッシュを作成することと、
第1の基準レベルの時間間隔の所定の数まで第1の基準レベルの時間間隔のそれぞれで、データのハッシュに対してハッシュ関数を実行することによって第1の基準レベル時間間隔ハッシュを生成することと、
時間間隔の所定の数まで以前の基準レベルの時間間隔のそれぞれのハッシュに対してハッシュ関数を実行することによって、残る基準レベルに対する基準レベル時間間隔ハッシュを生成することと
を機械に行わせる、非一時的コンピュータ可読ストレージ媒体。
10.命令のセットは、1つまたは複数のプロセッサによって実行されるとき、基準レベル時間間隔ハッシュの少なくとも1つを分散型台帳に記録することを機械にさらに行わせる、請求項9に記載の非一時的コンピュータ可読ストレージ媒体。
11.命令のセットは、1つまたは複数のプロセッサによって実行されるとき、
基準レベル時間間隔ハッシュの少なくとも1つの時間周期に跨る受信された検証データを処理することと、
検証データに対する基準レベル時間間隔ハッシュを生成することと、
検証データに対する基準レベル時間間隔ハッシュを基準レベルのハッシュの少なくとも1つと比較し、検証データがデータから変化していないことを検証することと
を機械にさらに行わせる、請求項10に記載の非一時的コンピュータ可読ストレージ媒体。
12.第1の基準レベルの時間間隔は秒であり、第1の基準レベルにおける時間間隔の所定の数は60個または61個である、請求項9、10、または11に記載の非一時的コンピュータ可読ストレージ媒体。
13.残る基準レベルは第2の基準レベルを含み、第2の基準レベルの時間間隔は分であり、第2の基準レベルにおける時間間隔の所定の数は60個である、請求項12に記載の非一時的コンピュータ可読ストレージ媒体。
14.残る基準レベルは第3の基準レベルをさらに含み、第3の基準レベルの時間間隔は時間であり、第3の基準レベルにおける時間間隔の所定の数は24個である、請求項13に記載の非一時的コンピュータ可読ストレージ媒体。
15.命令のセットは、1つまたは複数のプロセッサによって実行されるとき、
データを証明する暗号署名を受信することと、
追加の基準レベル時間間隔ハッシュの少なくとも1つを分散型台帳に記録することと
を機械にさらに行わせる、請求項10、11、12、13、または14に記載の非一時的コンピュータ可読ストレージ媒体。
16.命令のセットは、1つまたは複数のプロセッサによって実行されるとき、データにタイムスタンプを押すことを機械にさらに行わせ、第1の基準レベルでデータに対してハッシュ関数を実行することによってデータのハッシュを作成することは、タイムスタンプでデータに対してハッシュ関数を実行することを含む、請求項9、10、11、12、13、14、または15に記載の非一時的コンピュータ可読ストレージ媒体。
17.データの第1の受信されたデータは起源データを含み、第1の基準レベルの時間間隔のそれぞれの第1のハッシュは、第1の基準レベル時間間隔の第1の時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュであり、残る基準レベルのそれぞれの時間間隔のそれぞれの第1のハッシュは、残る基準レベルのそれぞれの第1の基準レベル時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュである、請求項9、10、11、12、13、14、15、または16に記載の非一時的コンピュータ可読ストレージ媒体。
18.第1の基準レベル時間間隔ハッシュは、時間間隔の間にデータが受信されたかどうかに関わらず実施され、時間間隔の間にデータが受信されないとき、プレースホルダの第1の基準レベル時間間隔ハッシュが実行される、請求項9、10、11、12、13、14、15、16、または17に記載の非一時的コンピュータ可読ストレージ媒体。
19.1つまたは複数のプロセッサと、
コンピュータ可読ストレージ媒体上に格納される命令を有するコンピュータ可読ストレージ媒体とを備える、データストレージおよび検証プラットフォームであって、命令が、1つまたは複数のプロセッサによって実行されるとき、
時間間隔に従って基準レベルを生成することであって、第1の基準レベルは所定の数の時間間隔を含み、残る基準レベルの時間間隔のそれぞれは以前の基準レベルの所定の数の時間間隔で構成される、ことと、
データが受信される時間間隔に従ってデータに対してハッシュ関数を実行することによって、第1の基準レベルでデータのハッシュを作成することであって、データはデータが受信された順序でハッシュされる、ことと、
時間的な順序で時間間隔のそれぞれの間に受信されたデータのそれぞれのハッシュを組み合わせること、および第1の基準レベルの時間間隔の所定の数まで第1の基準レベルの時間間隔のそれぞれで、データの組み合わされたハッシュに対してハッシュ関数を実行することによって、第1の基準レベル時間間隔ハッシュを生成することであって、
第1の基準レベルの時間間隔の任意の1つの間にデータが受信されないとき、第1の基準レベル時間間隔ハッシュに対するプレースホルダのハッシュが生成される、ことと、
時間的な順序で時間間隔の所定の数まで以前の基準レベルの時間間隔のそれぞれのハッシュを組み合わせること、および時間間隔の所定の数まで以前の基準レベルの時間間隔のそれぞれの組み合わされたハッシュに対してハッシュ関数を実行することによって、残る基準レベルに対する基準レベル時間間隔ハッシュを生成することと
をデータストレージおよび検証プラットフォームに行わせる、データストレージおよび検証プラットフォーム。
20.データの第1の受信されたデータは起源データを含み、第1の基準レベルの時間間隔のそれぞれの第1のハッシュは、第1の基準レベル時間間隔の第1の時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュであり、残る基準レベルのそれぞれの時間間隔のそれぞれの第1のハッシュは、残る基準レベルのそれぞれの第1の基準レベル時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュである、請求項19に記載のデータストレージおよび検証プラットフォーム。
21.時間的な順序で時間間隔のそれぞれの間に受信されたデータのそれぞれのハッシュを組み合わせることは、データのそれぞれのハッシュを結合することを含む、請求項19または20に記載のデータストレージおよび検証プラットフォーム。
コンピュータシステムの概観
[0074]本開示の実施形態は様々なステップおよびオペレーションを含み、これらは上記で説明されてきた。様々なこれらのステップおよびオペレーションは、ハードウェア構成要素によって実施されることがあり、または機械が実行可能な命令で具体化されることがあり、これは汎用の、または命令でプログラムされた特殊用途のプロセッサにステップを実施させるために使用されることがある。代替として、ステップは、ハードウェア、ソフトウェア、および/またはファームウェアの組合せによって実施されることがある。したがって図7は、本開示の実施形態が利用されることがあるコンピュータシステム700の例である。本例によれば、コンピュータシステム700は、相互接続710、少なくとも1つのプロセッサ720、少なくとも1つの通信ポート730、メインメモリ740、リムーバブルストレージ媒体750、リードオンリメモリ760、および大容量ストレージデバイス770を含む。
[0075]プロセッサ720は、任意の既知のプロセッサであってよい。通信ポート730は、例えばモデムベースのダイヤルアップ接続で使用するためのRS−232ポートのいずれか、10/100イーサネットポート、または銅線もしくは光ファイバを使用するギガビットポートであってよく、または含んでよい。通信ポート730の性質は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはコンピュータシステム700が接続する任意のネットワークなどのネットワークに応じて選ばれることがある。
[0076]メインメモリ740は、ランダムアクセスメモリ(RAM)、または当技術分野で通常知られた任意の他の動的ストレージデバイスであってよい。リードオンリメモリ760は、プロセッサ720に対する命令などの静的情報を格納するための、プログラマブルリードオンリメモリ(PROM)チップなどの任意の静的ストレージデバイスであってよい。
[0077]大容量ストレージデバイス770は、情報および命令を格納するために使用されてよい。例えばAdaptec(登録商標)ファミリなどのSCSIドライブのハードディスク、光ディスク、AdaptecファミリなどのRAIDドライブのディスクのアレイ、または任意の他の大容量ストレージデバイスが使用されることがある。
[0078]相互接続710は、1つもしくは複数のバス、ブリッジ、コントローラ、アダプタ、および/またはポイントツーポイント接続であってよく、あるいは含んでよい。相互接続710は、プロセッサ720を他のメモリ、ストレージ、および通信ブロックと通信連結する。相互接続710は使用されるストレージデバイスに応じて、PCI/PCI−XベースのまたはSCSIベースのシステムバスであってよい。
[0079]リムーバブルストレージ媒体750は、外部ハードドライブ、フロッピードライブ、コンパクトディスクリードオンリメモリ(CD−ROM)、コンパクトディスク書換え可能(CD−RW)、またはデジタルビデオディスクリードオンリメモリ(DVD−ROM)の任意の種類であってよい。
[0080]上記で説明された構成要素は、可能性のいくつかのタイプを例示することを意図される。前述の例は、ほんの例示的な実施形態にすぎないので、本開示を決して限定するべきではない。
専門用語
[0081]本出願の全体を通じて使用される用語、省略形、および句の簡単な定義が以下に示される。
[0082]用語「接続される」または「連結される」および関連した用語は、オペレーション上の意味で使用され、直接の物理的な接続または連結に必ずしも限定されない。したがって例えば2つのデバイスは、直接的にまたは1つもしくは複数の介在する媒体もしくはデバイスを介して連結されることがある。別の例として、デバイスは、互いとのいかなる物理的な接続も共有しないが、情報がデバイス間で受け渡されてよいように連結されることがある。本明細書で提供された本開示に基づいて当業者は、前述の定義に従って接続または連結が存在する様々な方式を理解するであろう。
[0083]句「いくつかの実施形態において」、「いくつかの実施形態によれば」、「に示された実施形態において」、「他の実施形態において」、「実施形態」、および同様のものは一般に、句に続く特定の特性、構造、または特徴が本開示の少なくとも1つの実施形態に含まれること、および本開示の2つ以上の実施形態に含まれることがあることを意味する。加えてこのような句は同じ実施形態または異なる実施形態を必ずしも指さない。
[0084]明細書が、構成要素または特性が、含まれることまたは特徴を有すること「がある」「ができる」「があってよい」もしくは「があるかもしれない」ことを表明する場合、この特定の構成要素または特性が含まれることまたは特徴を有することを要求されない。
[0085]用語「応答的な」は完全にまたは部分的に応答的であることを含む。
[0086]用語「モジュール」は概して、ソフトウェア、ハードウェア、もしくはファームウェア(またはその任意の組合せ)の構成要素を指す。モジュールは典型的には、明示された入力を使用して有用なデータまたは他の出力を生成できる機能的な構成要素である。モジュールは自己完結型でも、またはそうでなくてもよい。(「アプリケーション」とも呼ばれる)アプリケーションプログラムは1つまたは複数のモジュールを含むことがあり、またはモジュールは1つもしくは複数のアプリケーションプログラムを含んでよい。
[0087]用語「ネットワーク」は一般に、情報を交換できる相互接続されたデバイスのグループを指す。ネットワークはローカルエリアネットワーク(LAN)上のいくつかのパーソナルコンピュータのように少ないか、またはインターネットつまりコンピュータの世界的ネットワークのように大きいことがある。本明細書で使用されるように「ネットワーク」は、1つのエンティティから別のエンティティに情報を送信できる任意のネットワークを包含することを意図される。いくつかのケースにおいてネットワークは、様々なネットワークの間のおよび中の通信を容易にするための動作可能なゲートウェイを介して相互接続される、1つまたは複数のボーダネットワーク(border network)、音声ネットワーク、ブロードバンドネットワーク、金融ネットワーク、サービスプロバイダのネットワーク、インターネットサービスプロバイダ(ISP)のネットワーク、および/または公衆交換電話網(PSTN)などの、複数のネットワーク、複数のヘテロジニアスネットワークでさえからも構成されることがある。
[0088]また例証のために本開示の様々な実施形態は、コンピュータプログラム、物理的な構成要素、および現代のコンピュータネットワーク内の論理的な対話という背景で本明細書において説明されてきた。重要なことにこれらの実施形態は、現代のコンピュータネットワークおよびプログラムに関連して本開示の様々な実施形態を説明するが、本明細書で説明された方法および装置は、当業者が理解するような他のシステム、デバイス、およびネットワークに等しく適用可能である。したがって本開示の実施形態の図示されたアプリケーションは、限定的であることを意図されるのではなく、その代わりに例である。本開示の実施形態が適用可能な他のシステム、デバイス、およびネットワークは、例えば通信ならびにコンピュータデバイスおよびシステムの他のタイプを含む。より詳細には、実施形態は、通信システム、サービス、ならびに携帯電話ネットワークおよび互換性のあるデバイスなどのデバイスに適用可能である。加えて実施形態は、パーソナルコンピュータから大規模ネットワークのメインフレームおよびサーバまで、コンピューティングのすべてのレベルに適用可能である。
[0089]要するに本開示は、データを格納および検証するための斬新なシステム、方法、および配置を提供する。本開示の1つまたは複数の実施形態の詳細な説明が上記に与えられてきたが、様々な代替形態、変更形態、および均等物は、本開示の趣旨から変わることなく当業者には明白であろう。例えば上記で説明された実施形態は特定の特性を指すが、本開示の範囲は特性の異なる組合せを有する実施形態、および説明された特性のすべてを含まない実施形態も含む。それに応じて本開示の範囲は、そのすべての均等物と一緒に特許請求の範囲のうちに入るように、このような代替形態、変更形態、および変形形態すべてを受容することが意図される。したがって上記の説明は限定的であると取られるべきではない。

Claims (21)

  1. 第1の基準レベルの第1の基準レベルセグメントの間にデータ項目を受信するステップと、
    対応するタイムスタンプで前記データ項目のそれぞれに対してハッシュ関数を実行するステップと、
    前記データ項目の個々のタイムスタンプに従って、前記第1の基準レベルセグメントのそれぞれにおける前記データ項目のハッシュに対して第2のハッシュ関数を実行することによって、前記第1の基準レベルセグメントのそれぞれに対する第1の基準レベルセグメントハッシュを生成するステップと、
    複数の第2の基準レベルセグメントのそれぞれに対する第2の基準レベルセグメントハッシュを生成するステップであって、前記複数の第2の基準レベルセグメントの前記それぞれは所定の数の前記第1の基準レベルセグメントから構成され、前記複数の第2の基準レベルセグメントハッシュの前記それぞれは前記所定の数の前記第1の基準レベルセグメントハッシュに対して第3のハッシュ関数を実行することによって生成される、ステップと
    を含む、コンピュータ化された方法。
  2. 前記第2の基準レベルセグメントハッシュの少なくとも1つを分散型台帳に記録するステップをさらに含む、請求項1に記載のコンピュータ化された方法。
  3. 前記第1の基準レベルセグメントおよび前記第2の基準レベルセグメントは、時間の周期である、請求項1に記載のコンピュータ化された方法。
  4. 前記第1の基準レベルセグメントの前記時間の周期は秒であり、前記第2の基準レベルセグメントの前記時間の周期は分である、請求項3に記載のコンピュータ化された方法。
  5. 前記第1の基準レベルセグメントの前記所定の数は60個または61個である、請求項4に記載のコンピュータ化された方法。
  6. 追加の基準レベルに対する基準レベルセグメントハッシュを生成するステップであって、前記追加の基準レベルのそれぞれは複数の基準レベルセグメントを含み、前記複数の基準レベルセグメントのそれぞれは所定の数の以前の基準レベルセグメントを含み、前記追加の基準レベルセグメントハッシュのそれぞれを生成するステップは、前記所定の数の前記以前の基準レベルセグメントのそれぞれの前記追加の基準レベルセグメントハッシュに対して追加のハッシュ関数を実行することを含む、ステップをさらに含む、請求項1に記載のコンピュータ化された方法。
  7. 第1の受信されたデータ項目は起源データを含み、前記第1の基準レベルセグメントのそれぞれの第1のハッシュは、前記第1の基準レベルの第1のセグメントの第1のハッシュを除いて、直前の第1の基準レベルセグメントのハッシュであり、前記追加の基準レベルセグメントのそれぞれに対する第1のハッシュは、前記追加の基準レベルのそれぞれの第1の追加の基準レベルセグメントの第1のハッシュを除いて、直前の追加の基準レベルセグメントのハッシュである、請求項6に記載のコンピュータ化された方法。
  8. 前記第1の基準レベルセグメントのそれぞれに対する第1の基準レベルセグメントハッシュを生成するステップは、前記時間間隔の間に前記データ項目のいずれかが受信されたかどうかに関わらず実施され、前記第1の基準レベルセグメントの1つの間にデータ項目が受信されないとき、プレースホルダの第1の基準レベルセグメントハッシュが実行される、請求項1に記載のコンピュータ化された方法。
  9. 命令のセットを含む非一時的コンピュータ可読ストレージ媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されるとき、
    時間間隔に従って基準レベルを生成することであって、前記第1の基準レベルは所定の数の前記時間間隔を含み、残る基準レベルの前記時間間隔のそれぞれは以前の基準レベルの所定の数の前記時間間隔で構成される、ことと、
    前記データが受信される前記時間間隔に従って前記データに対してハッシュ関数を実行することによって、前記第1の基準レベルでデータのハッシュを作成することと、
    前記第1の基準レベルの前記時間間隔の前記所定の数まで前記第1の基準レベルの前記時間間隔のそれぞれで、前記データの前記ハッシュに対して前記ハッシュ関数を実行することによって、第1の基準レベル時間間隔ハッシュを生成することと、
    前記時間間隔の前記所定の数まで前記以前の基準レベルの前記時間間隔の前記それぞれの前記ハッシュに対して前記ハッシュ関数を実行することによって、前記残る基準レベルに対する基準レベル時間間隔ハッシュを生成することと
    を機械に行わせる、非一時的コンピュータ可読ストレージ媒体。
  10. 前記命令のセットは、前記1つまたは複数のプロセッサによって実行されるとき、前記基準レベル時間間隔ハッシュの少なくとも1つを分散型台帳に記録することを前記機械にさらに行わせる、請求項9に記載の非一時的コンピュータ可読ストレージ媒体。
  11. 前記命令のセットは、前記1つまたは複数のプロセッサによって実行されるとき、
    前記基準レベル時間間隔ハッシュの前記少なくとも1つの時間周期に跨る受信された検証データを処理することと、
    前記検証データに対する前記基準レベル時間間隔ハッシュを生成することと、
    前記検証データに対する前記基準レベル時間間隔ハッシュを前記基準レベルのハッシュの前記少なくとも1つと比較し、前記検証データが前記データから変化していないことを検証することと
    を前記機械にさらに行わせる、請求項10に記載の非一時的コンピュータ可読ストレージ媒体。
  12. 前記第1の基準レベルの前記時間間隔は秒であり、前記第1の基準レベルにおける前記時間間隔の前記所定の数は60個または61個である、請求項9に記載の非一時的コンピュータ可読ストレージ媒体。
  13. 前記残る基準レベルは第2の基準レベルを含み、前記第2の基準レベルの前記時間間隔は分であり、前記第2の基準レベルにおける前記時間間隔の前記所定の数は60個である、請求項12に記載の非一時的コンピュータ可読ストレージ媒体。
  14. 前記残る基準レベルは第3の基準レベルをさらに含み、前記第3の基準レベルの前記時間間隔は時間であり、前記第3の基準レベルにおける前記時間間隔の前記所定の数は24個である、請求項13に記載の非一時的コンピュータ可読ストレージ媒体。
  15. 前記命令のセットは、前記1つまたは複数のプロセッサによって実行されるとき、
    前記データを証明する暗号署名を受信することと、
    前記追加の基準レベル時間間隔ハッシュの少なくとも1つを分散型台帳に記録することと
    を前記機械にさらに行わせる、請求項10に記載の非一時的コンピュータ可読ストレージ媒体。
  16. 前記命令のセットは、前記1つまたは複数のプロセッサによって実行されるとき、前記データにタイムスタンプを押すことを前記機械にさらに行わせ、前記第1の基準レベルで前記データに対して前記ハッシュ関数を実行することによってデータのハッシュを作成することは、前記タイムスタンプで前記データに対して前記ハッシュ関数を実行することを含む、請求項9に記載の非一時的コンピュータ可読ストレージ媒体。
  17. 前記データの第1の受信されたデータは起源データを含み、前記第1の基準レベルの前記時間間隔のそれぞれの第1のハッシュは、前記第1の基準レベル時間間隔の第1の時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュであり、前記残る基準レベルのそれぞれの前記時間間隔のそれぞれの第1のハッシュは、前記残る基準レベルの前記それぞれの第1の基準レベル時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュである、請求項9に記載の非一時的コンピュータ可読ストレージ媒体。
  18. 前記第1の基準レベル時間間隔ハッシュは、前記時間間隔の間に前記データが受信されたかどうかに関わらず実施され、前記時間間隔の間にデータが受信されないとき、プレースホルダの第1の基準レベル時間間隔ハッシュが実行される、請求項9に記載の非一時的コンピュータ可読ストレージ媒体。
  19. 1つまたは複数のプロセッサと、
    コンピュータ可読ストレージ媒体上に格納される命令を有する前記コンピュータ可読ストレージ媒体と
    を備える、データストレージおよび検証プラットフォームであって、前記命令が、前記1つまたは複数のプロセッサによって実行されるとき、
    時間間隔に従って基準レベルを生成することであって、前記第1の基準レベルは所定の数の前記時間間隔を含み、残る基準レベルの前記時間間隔のそれぞれは以前の基準レベルの所定の数の前記時間間隔で構成される、ことと、
    前記データが受信される前記時間間隔に従って前記データに対してハッシュ関数を実行することによって、前記第1の基準レベルでデータのハッシュを作成することであって、前記データは前記データが受信された順序でハッシュされる、ことと、
    時間的な順序で前記時間間隔のそれぞれの間に受信された前記データのそれぞれの前記ハッシュを組み合わせること、および前記第1の基準レベルの前記時間間隔の前記所定の数まで前記第1の基準レベルの前記時間間隔のそれぞれで、前記データの前記組み合わされたハッシュに対して前記ハッシュ関数を実行することによって、第1の基準レベル時間間隔ハッシュを生成することであって、
    前記第1の基準レベルの前記時間間隔の任意の1つの間に前記データが受信されないとき、第1の基準レベル時間間隔ハッシュに対するプレースホルダのハッシュが生成される、ことと、
    時間的な順序で前記時間間隔の前記所定の数まで前記以前の基準レベルの前記時間間隔のそれぞれの前記ハッシュを組み合わせること、および前記時間間隔の前記所定の数まで前記以前の基準レベルの前記時間間隔の前記それぞれの前記組み合わされたハッシュに対して前記ハッシュ関数を実行することによって、前記残る基準レベルに対する基準レベル時間間隔ハッシュを生成することと
    を前記データストレージおよび検証プラットフォームに行わせる、データストレージおよび検証プラットフォーム。
  20. 前記データの第1の受信されたデータは起源データを含み、前記第1の基準レベルの前記時間間隔のそれぞれの第1のハッシュは、前記第1の基準レベル時間間隔の第1の時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュであり、前記残る基準レベルのそれぞれの前記時間間隔のそれぞれの第1のハッシュは、前記残る基準レベルの前記それぞれの第1の基準レベル時間間隔の第1のハッシュを除いて、直前の時間間隔のハッシュである、請求項19に記載のデータストレージおよび検証プラットフォーム。
  21. 時間的な順序で前記時間間隔のそれぞれの間に受信された前記データのそれぞれの前記ハッシュを組み合わせることは、前記データの前記それぞれの前記ハッシュを結合することを含む、請求項19に記載のデータストレージおよび検証プラットフォーム。
JP2018532527A 2015-09-14 2016-09-12 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム Ceased JP2018533320A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/852,955 2015-09-14
US14/852,955 US10303887B2 (en) 2015-09-14 2015-09-14 Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
PCT/US2016/051301 WO2017048630A1 (en) 2015-09-14 2016-09-12 Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree

Publications (2)

Publication Number Publication Date
JP2018533320A true JP2018533320A (ja) 2018-11-08
JP2018533320A5 JP2018533320A5 (ja) 2019-10-24

Family

ID=58238864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018532527A Ceased JP2018533320A (ja) 2015-09-14 2016-09-12 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム

Country Status (9)

Country Link
US (2) US10303887B2 (ja)
EP (1) EP3341887A4 (ja)
JP (1) JP2018533320A (ja)
KR (1) KR20200108513A (ja)
CN (1) CN108292351A (ja)
AU (1) AU2016324022A1 (ja)
CA (1) CA2997404A1 (ja)
HK (1) HK1256527A1 (ja)
WO (1) WO2017048630A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11283634B2 (en) 2018-12-29 2022-03-22 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
US11323475B2 (en) 2018-12-29 2022-05-03 Advanced New Technologies Co., Ltd. System and method for detecting replay attack

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9553982B2 (en) * 2013-07-06 2017-01-24 Newvoicemedia, Ltd. System and methods for tamper proof interaction recording and timestamping
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US9529923B1 (en) 2015-08-28 2016-12-27 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US10303887B2 (en) 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
KR101772554B1 (ko) * 2016-02-02 2017-08-30 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
GB2604540B (en) * 2016-02-03 2023-01-11 Luther Systems System and method for secure management of digital contracts
BR112018016212A2 (pt) * 2016-02-08 2018-12-18 Scott Guy sistema e método para verificação da autenticidade de informações de documento
US10693658B2 (en) * 2016-02-12 2020-06-23 Visa International Service Association Methods and systems for using digital signatures to create trusted digital asset transfers
US20170236123A1 (en) * 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
CN109074579B (zh) * 2016-02-23 2022-10-11 区块链控股有限公司 使用分布式散列表和区块链保护计算机软件的方法及系统
US10366388B2 (en) * 2016-04-13 2019-07-30 Tyco Fire & Security Gmbh Method and apparatus for information management
KR102509594B1 (ko) * 2016-06-28 2023-03-14 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
EP3491605A1 (en) * 2016-08-01 2019-06-05 Cryptowerk Corp. Computer-implemented method and system of tamper-evident recording of a plurality of service data items
US10475272B2 (en) 2016-09-09 2019-11-12 Tyco Integrated Security, LLC Architecture for access management
EP3516545A1 (en) * 2016-09-21 2019-07-31 R-Stor Inc. Systems and methods for using a distributed ledger for data handling
US10339014B2 (en) * 2016-09-28 2019-07-02 Mcafee, Llc Query optimized distributed ledger system
EP3520317B1 (en) 2016-10-03 2021-05-12 Visa International Service Association Network topology with multiple data centers for building blockchain blocks
US10157295B2 (en) * 2016-10-07 2018-12-18 Acronis International Gmbh System and method for file authenticity certification using blockchain network
US10621157B2 (en) 2016-10-10 2020-04-14 AlphaPoint Immediate order book failover
US10938571B2 (en) * 2016-10-26 2021-03-02 Acronis International Gmbh System and method for verification of data transferred among several data storages
EP3539026B1 (en) 2016-11-10 2021-12-08 Swirlds, Inc. Methods and apparatus for a distributed database including anonymous entries
US11423351B2 (en) * 2016-12-15 2022-08-23 International Business Machines Corporation Blockchain-based food product shelf-life management
RU2754189C2 (ru) 2016-12-19 2021-08-30 Свирлдз, Инк. Способы и устройство для распределенной базы данных, которая позволяет удалять события
US10652330B2 (en) 2017-01-15 2020-05-12 Google Llc Object storage in cloud with reference counting using versions
US20180220292A1 (en) * 2017-01-30 2018-08-02 Sap Se Blockchain-Based Subscription Management
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411896B2 (en) * 2017-02-13 2019-09-10 Red Hat, Inc. Mixed checksum injection for content verification on multiple platforms
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
CN107040582B (zh) * 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
US10671712B1 (en) * 2017-03-01 2020-06-02 United Services Automobile Association (Usaa) Virtual notarization using cryptographic techniques and biometric information
AU2018230763A1 (en) 2017-03-08 2019-10-31 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US10440033B2 (en) * 2017-03-16 2019-10-08 Sap Se Data storage system file integrity check
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
US10489597B2 (en) * 2017-03-28 2019-11-26 General Electric Company Blockchain verification of network security service
CN111724150B (zh) * 2017-03-28 2023-11-24 创新先进技术有限公司 一种业务请求的处理方法及装置
US10387271B2 (en) * 2017-05-10 2019-08-20 Elastifile Ltd. File system storage in cloud using data and metadata merkle trees
EP3418998A1 (en) * 2017-06-22 2018-12-26 Nokia Technologies Oy Road traffic management
US10937083B2 (en) 2017-07-03 2021-03-02 Medici Ventures, Inc. Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system
KR102208336B1 (ko) 2017-07-11 2021-01-27 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
US10541806B2 (en) 2017-07-13 2020-01-21 International Business Machines Corporation Authorizing account access via blinded identifiers
US20190026672A1 (en) * 2017-07-24 2019-01-24 One Network Enterprises, Inc. System and computer program for implementing an improved blockchain for use a value chain
US10592979B2 (en) 2017-07-26 2020-03-17 International Business Machines Corporation Managing blockchain transactions
US10984133B1 (en) 2017-08-02 2021-04-20 Styra, Inc. Defining and distributing API authorization policies and parameters
US11681568B1 (en) 2017-08-02 2023-06-20 Styra, Inc. Method and apparatus to reduce the window for policy violations with minimal consistency assumptions
CN107425960B (zh) * 2017-08-04 2020-04-10 中国地质大学(武汉) 一种检防端到端网络数据坏点的方法、设备及其存储设备
IL272846B (en) * 2017-08-23 2022-08-01 Hashlit Inc Dba Corsha Authentication is streamed using concatenated identifiers
GB2566741A (en) * 2017-09-26 2019-03-27 Phm Associates Ltd Integrity of data records
WO2019072670A1 (en) * 2017-10-09 2019-04-18 Koninklijke Kpn N.V. BLOCK CHAIN WITH TRANSACTION CANCELLATION
SG10202107812YA (en) 2017-11-01 2021-09-29 Swirlds Inc Methods and apparatus for efficiently implementing a fast-copyable database
JP6794383B2 (ja) * 2018-01-15 2020-12-02 株式会社東芝 電子装置、方法、プログラム及びサーバ、方法、プログラム
US10628389B2 (en) * 2018-01-25 2020-04-21 Merck Sharp & Dohme Corp. Verification of data provenance for existing computer systems
EP3759865B1 (en) 2018-02-27 2024-04-03 Visa International Service Association High-throughput data integrity via trusted computing
US10855445B2 (en) * 2018-03-01 2020-12-01 Intuit, Inc. Summary chains in distributed systems
GB201803815D0 (en) 2018-03-09 2018-04-25 Nchain Holdings Ltd Computer-implemented methods and systems
US11134120B2 (en) * 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
US10783164B2 (en) 2018-05-18 2020-09-22 Factom, Inc. Import and export in blockchain environments
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US11775479B2 (en) 2018-05-24 2023-10-03 Luther Systems Us Incorporated System and method for efficient and secure private similarity detection for large private document repositories
US10771240B2 (en) 2018-06-13 2020-09-08 Dynamic Blockchains Inc Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
US11836721B2 (en) 2018-06-29 2023-12-05 Intel Corporation Protection of information in an information exchange
RU2694138C1 (ru) * 2018-07-03 2019-07-09 Некоммерческая организация "Фонд - оператор программы финансового содействия инновационным проектам Фонда "Сколково" Способ ускоренной передачи данных с сохранением и защитой
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
US11276056B2 (en) 2018-08-06 2022-03-15 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
US11989208B2 (en) 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
US10671308B2 (en) * 2018-08-07 2020-06-02 International Business Machines Corporation Private and fault-tolerant storage of segmented data
JP2020024376A (ja) * 2018-08-08 2020-02-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America データ保護方法、認証サーバ、データ保護システム及びデータ構造
US11853463B1 (en) 2018-08-23 2023-12-26 Styra, Inc. Leveraging standard protocols to interface unmodified applications and services
US10719373B1 (en) * 2018-08-23 2020-07-21 Styra, Inc. Validating policies and data in API authorization system
US11080410B1 (en) 2018-08-24 2021-08-03 Styra, Inc. Partial policy evaluation
US10764070B2 (en) 2018-08-30 2020-09-01 International Business Machines Corporation High precision timestamps in blockchain
US11196543B2 (en) 2018-09-05 2021-12-07 International Business Machines Corporation Minimum evidence calculation in blockchain transactions
KR20200034020A (ko) 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
BR112019008000B1 (pt) 2018-11-16 2022-03-15 Advanced New Technologies Co., Ltd Método implementado por computador para a autenticação de um nome de domínio, método implementado por computador, meio não transitório legível por computador e sistema para a implementação de um método
WO2019072271A2 (en) * 2018-11-16 2019-04-18 Alibaba Group Holding Limited DOMAIN NAME DIAGRAM FOR CROSS CHAIN INTERACTIONS IN BLOCK CHAIN SYSTEMS
GB2583993B (en) 2018-11-19 2023-08-02 Luther Systems Ltd Immutable ledger with efficient and secure data destruction, system and method
US11469881B2 (en) * 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
DE102019202624A1 (de) * 2019-02-27 2020-08-27 Siemens Mobility GmbH Verfahren zur Verarbeitung wenigstens einer Information in einer sicherheitstechnischen Anlage
CN111753313A (zh) * 2019-03-29 2020-10-09 神讯电脑(昆山)有限公司 验证码产生方法、资料验证方法及电子装置
EP3639232B1 (en) * 2019-04-26 2021-07-07 Advanced New Technologies Co., Ltd. Anti-replay attack authentication protocol
CN110189122B (zh) * 2019-04-30 2020-09-01 阿里巴巴集团控股有限公司 为区块链上的数据锚定时间的方法及装置、电子设备
EP3737109B1 (en) * 2019-05-08 2024-03-20 Getac Holdings Corporation Verification code generation method, data verification method and electronic device
US11330345B2 (en) * 2019-05-09 2022-05-10 Getac Technology Corporation Verification code generation method, data verification method and electronic device
SG11202109729SA (en) 2019-05-22 2021-10-28 Swirlds Inc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
CA3139747A1 (en) 2019-06-04 2020-12-10 Qohash Inc. System and method for certifying integrity of data assets
US10880260B1 (en) 2019-06-19 2020-12-29 Etherweb Technologies LLC Distributed domain name resolution and method for use of same
US11720526B2 (en) 2019-11-12 2023-08-08 ClearTrace Technologies, Inc. Sustainable energy tracking system utilizing blockchain technology and Merkle tree hashing structure
US20210173843A1 (en) * 2019-12-06 2021-06-10 William J. Ziebell Systems, Methods, and Media for Identification, Disambiguation, Verification and for Communicating Knowledge
US11386122B2 (en) 2019-12-13 2022-07-12 EMC IP Holding Company LLC Self healing fast sync any point in time replication systems using augmented Merkle trees
US11928085B2 (en) * 2019-12-13 2024-03-12 EMC IP Holding Company LLC Using merkle trees in any point in time replication
US11444749B2 (en) 2020-01-17 2022-09-13 Inveniam Capital Partners, Inc. Separating hashing from proof-of-work in blockchain environments
US10917365B1 (en) * 2020-02-03 2021-02-09 Tania Digital Labs Private Limited Messaging platform and method of auditable transmission of messages
US11314885B2 (en) * 2020-03-04 2022-04-26 Rubidex, LLC Cryptographic data entry blockchain data structure
CN111696019B (zh) * 2020-06-08 2023-05-23 中国联合网络通信集团有限公司 基于区块链的房屋签订信息记录方法及房屋签订管理节点
US11863680B2 (en) * 2020-08-26 2024-01-02 Tenet 3 Llc Linking blockchain records to identify certification, track pedigree and identify obsolete digital content
US11874827B2 (en) 2020-12-30 2024-01-16 Luther Systems Us Incorporated System and method for automatic, rapid, and auditable updates of digital contracts
EP4285456A1 (en) 2021-01-29 2023-12-06 Cleartrace Technologies, Inc. Sustainable energy physical delivery tracking and verification of actual environmental impact
WO2022204495A2 (en) 2021-03-25 2022-09-29 Rubidex, LLC Cryptographic data entry and transmission of sensor data
US12008526B2 (en) 2021-03-26 2024-06-11 Inveniam Capital Partners, Inc. Computer system and method for programmatic collateralization services
US12007972B2 (en) 2021-06-19 2024-06-11 Inveniam Capital Partners, Inc. Systems and methods for processing blockchain transactions
US20230379177A1 (en) * 2022-05-20 2023-11-23 Optum Services (Ireland) Limited Network-wide supervision in a hierarchically-segmented blockchain network
KR102636987B1 (ko) * 2022-10-12 2024-02-16 주식회사 씨피랩스 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006019143A1 (ja) * 2004-08-19 2006-02-23 Nippon Telegraph And Telephone Corporation イベント順序証明方法
JP2006265888A (ja) * 2005-03-23 2006-10-05 Kokudo Sogo Kensetsu Kk 砂杭造成工法及び砂杭造成機
US20150156026A1 (en) * 2013-12-02 2015-06-04 Guardtime Ip Holdings Limited Non-deterministic time systems and methods

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077665A (en) 1989-05-25 1991-12-31 Reuters Limited Distributed matching system
US5924083A (en) 1996-05-29 1999-07-13 Geneva Branch Of Reuters Transaction Services Limited Distributed matching system for displaying a book of credit filtered bids and offers
US6629082B1 (en) 1999-06-15 2003-09-30 W.R. Hambrecht & Co. Auction system and method for pricing and allocation during capital formation
WO2001011843A1 (en) * 1999-08-06 2001-02-15 Sudia Frank W Blocked tree authorization and status systems
US20040133782A1 (en) * 1999-08-11 2004-07-08 International Computer Science Institute, A California Corporation Anonymous electronic transactions using auditable membership proofs
DE60208614T2 (de) * 2002-09-17 2006-08-03 Errikos Pitsos Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System
AU2004305800A1 (en) * 2003-09-12 2005-03-31 Emc Corporation System and method providing disconnected authentication
CA2546818A1 (en) * 2003-11-21 2005-06-16 Errikos Pitsos Methods and systems for providing integrity and trust in data management and data distribution processes
US8719576B2 (en) * 2003-12-22 2014-05-06 Guardtime IP Holdings, Ltd Document verification with distributed calendar infrastructure
US20060085321A1 (en) 2004-07-20 2006-04-20 Staib William E Simulation auction for public offering
US7681234B2 (en) * 2005-06-30 2010-03-16 Microsoft Corporation Preventing phishing attacks
US8880799B2 (en) 2005-09-30 2014-11-04 Cleversafe, Inc. Rebuilding data on a dispersed storage network
US7661121B2 (en) * 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US7624276B2 (en) 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US7606795B2 (en) 2007-02-08 2009-10-20 International Business Machines Corporation System and method for verifying the integrity and completeness of records
US8655919B2 (en) * 2007-07-30 2014-02-18 International Business Machines Corporation Storage system and method for updating a hash tree
US8825971B1 (en) * 2007-12-31 2014-09-02 Emc Corporation Age-out selection in hash caches
US20100031039A1 (en) * 2008-02-14 2010-02-04 Mathieu Ciet Method and apparatus for data protection system using geometry of fractals or other chaotic systems
DE102008031890B4 (de) * 2008-07-08 2010-06-17 Artec Computer Gmbh Verfahren und Computersystem zur Langzeitarchivierung von qualifiziert signierten Daten
US20100212017A1 (en) * 2009-02-18 2010-08-19 International Business Machines Corporation System and method for efficient trust preservation in data stores
JP5521533B2 (ja) * 2009-12-21 2014-06-18 富士通株式会社 情報処理装置、通信システム、制御方法及び制御プログラム
JP5336403B2 (ja) * 2010-02-24 2013-11-06 富士通株式会社 ノード装置およびコンピュータプログラム
CN101853190B (zh) 2010-06-04 2012-07-04 华中科技大学 一种适用于嵌入式处理器的数据完整性验证方法
CN102413313A (zh) 2010-09-26 2012-04-11 索尼公司 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置
US8799247B2 (en) * 2011-02-11 2014-08-05 Purdue Research Foundation System and methods for ensuring integrity, authenticity, indemnity, and assured provenance for untrusted, outsourced, or cloud databases
CN102890682B (zh) 2011-07-21 2017-08-01 腾讯科技(深圳)有限公司 构建索引的方法、检索方法、装置及系统
WO2014120210A1 (en) 2013-01-31 2014-08-07 Hewlett-Packard Development Company L.P. Selection feature for adjusting values on a computing device
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
CN103218574A (zh) 2013-04-09 2013-07-24 电子科技大学 一种基于哈希树的数据动态操作可验证性方法
US10073966B2 (en) * 2013-04-29 2018-09-11 Sri International Operating system-independent integrity verification
US9495560B2 (en) * 2013-04-29 2016-11-15 Sri International Polymorphic virtual appliance rule set
US9473306B2 (en) * 2013-08-05 2016-10-18 Guardtime IP Holdings, Ltd. Document verification with ID augmentation
WO2015024603A1 (en) * 2013-08-23 2015-02-26 Nec Europe Ltd. Method and system for authenticating a data stream
US9338013B2 (en) * 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US9704143B2 (en) 2014-05-16 2017-07-11 Goldman Sachs & Co. LLC Cryptographic currency for securities settlement
US9608829B2 (en) * 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US20160087798A1 (en) * 2014-09-24 2016-03-24 Unisys Corporation Computation of hash value for a message based on received portions of the message
US20160217436A1 (en) 2015-01-25 2016-07-28 Dror Samuel Brama Method, System and Program Product for Tracking and Securing Transactions of Authenticated Items over Block Chain Systems.
US11386404B2 (en) 2015-02-04 2022-07-12 Ripple Luxembourg S.A. Temporary consensus subnetwork in a distributed network for payment processing
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US9967333B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Deferred configuration or instruction execution using a secure distributed transaction ledger
US10535063B2 (en) 2015-03-13 2020-01-14 First Data Corporation Systems and methods for securing digital gift cards with a public ledger
US10664923B2 (en) 2015-03-13 2020-05-26 Gyft, Inc. System and method for establishing a public ledger for gift card transactions
US20160267566A1 (en) 2015-03-13 2016-09-15 Mark Levitt Systems and methods for managing an inventory of digital gift card assets
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US20160321751A1 (en) 2015-04-28 2016-11-03 Domus Tower, Inc. Real-time settlement of securities trades over append-only ledgers
US10303887B2 (en) 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
WO2019133052A1 (en) * 2017-12-28 2019-07-04 Yang Shao Wen Visual fog
US10511730B1 (en) * 2018-06-07 2019-12-17 Kyocera Document Solutions Inc. Method to create a secure distributed data validation system using a distributed storage system and artificial intelligence
US11455380B2 (en) * 2018-11-20 2022-09-27 International Business Machines Corporation Chain-of-custody of digital content in a database system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006019143A1 (ja) * 2004-08-19 2006-02-23 Nippon Telegraph And Telephone Corporation イベント順序証明方法
JP2006265888A (ja) * 2005-03-23 2006-10-05 Kokudo Sogo Kensetsu Kk 砂杭造成工法及び砂杭造成機
US20150156026A1 (en) * 2013-12-02 2015-06-04 Guardtime Ip Holdings Limited Non-deterministic time systems and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GIPP, B., MEUSCHKE, N. AND GERNANDT, A.: "Decentralized Trusted Timestamping using Crypto Currency Bitcoin", ARXIV.ORG, vol. arXiv:1502.04015, JPN6020020383, 13 February 2015 (2015-02-13), pages 1 - 6, ISSN: 0004388624 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11283634B2 (en) 2018-12-29 2022-03-22 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
US11323475B2 (en) 2018-12-29 2022-05-03 Advanced New Technologies Co., Ltd. System and method for detecting replay attack

Also Published As

Publication number Publication date
KR20200108513A (ko) 2020-09-21
EP3341887A1 (en) 2018-07-04
US10831902B2 (en) 2020-11-10
US10303887B2 (en) 2019-05-28
HK1256527A1 (zh) 2019-09-27
EP3341887A4 (en) 2019-04-24
CN108292351A (zh) 2018-07-17
US20190278920A1 (en) 2019-09-12
WO2017048630A1 (en) 2017-03-23
AU2016324022A1 (en) 2018-04-12
CA2997404A1 (en) 2017-03-23
US20170075938A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
US10831902B2 (en) Data verification methods and systems using a hash tree, such as a time-centric Merkle hash tree
US11887072B2 (en) Digital currency minting in a system of network nodes implementing a distributed ledger
US20220156706A1 (en) File vault and cloud based document notary service
US20200334379A1 (en) Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with delayed block posting protocol
US11968256B2 (en) Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with a partitioned replication protocol
US20160283920A1 (en) Authentication and verification of digital data utilizing blockchain technology
AU2017336924A1 (en) Immutable cryptographically secured ledger-backed databases
US20210192516A1 (en) Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with a streamlined block structure
JP2022068183A (ja) タグチェーンブロックチェーンシステム、及びそのための方法
KR102326460B1 (ko) 원장 시스템에서의 신뢰 포인트 관리
US20210255993A1 (en) System and method for blockchain based decentralized storage with dynamic data operations
US20240211938A1 (en) Systems and methods for blockchain-based transaction break prevention
JP2023517049A (ja) 暗号データ入力ブロックチェーンデータ構造
Kumar et al. Preserving Location Data Integrity in Location Based Servers using Blockchain Technology
US20220399988A1 (en) Linking blockchain operations
US12020241B1 (en) Systems and methods for multi-entity blockchain-based event break prevention
US20220067028A1 (en) Trustless operations for blockchain networks
Kustov et al. DVCS Oracle and the Task of Copyright Preservation in Blockchain-Based Technology
Kanakam et al. Intramural Analysis of Blockchain.
Khacef Trade-off betweew security and scalability in blockchain systems
WO2023099357A1 (en) Compressible blockchains
Ova eDocA-Dematerialization of Documents in the Public Administration

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190911

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200818

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210104

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20210526