JP2019535076A - 暗号学的に保護された台帳が支援するイミュータブルなデータベース - Google Patents

暗号学的に保護された台帳が支援するイミュータブルなデータベース Download PDF

Info

Publication number
JP2019535076A
JP2019535076A JP2019516608A JP2019516608A JP2019535076A JP 2019535076 A JP2019535076 A JP 2019535076A JP 2019516608 A JP2019516608 A JP 2019516608A JP 2019516608 A JP2019516608 A JP 2019516608A JP 2019535076 A JP2019535076 A JP 2019535076A
Authority
JP
Japan
Prior art keywords
asset
ledger
cryptographically protected
transaction
schema
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.)
Granted
Application number
JP2019516608A
Other languages
English (en)
Other versions
JP6730520B2 (ja
Inventor
デ カッド、クリストファー リチャード ジャック
デ カッド、クリストファー リチャード ジャック
ウィリアム ブレイ、ティモシー
ウィリアム ブレイ、ティモシー
サイモン ロジャー ディック、トレヴァー
サイモン ロジャー ディック、トレヴァー
ジョン カンパーニャ、マシュー
ジョン カンパーニャ、マシュー
ヘンリー ヴェルミュレン、アラン
ヘンリー ヴェルミュレン、アラン
Original Assignee
アマゾン・テクノロジーズ、インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アマゾン・テクノロジーズ、インコーポレイテッド filed Critical アマゾン・テクノロジーズ、インコーポレイテッド
Publication of JP2019535076A publication Critical patent/JP2019535076A/ja
Application granted granted Critical
Publication of JP6730520B2 publication Critical patent/JP6730520B2/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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/203Inventory monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

暗号学的に保護された台帳に記憶されている情報及びその情報に関連する状態を提示するために、非リレーショナルデータベースによって実施され得るようなデータベーステーブルが提供される。データベーステーブル要素の意味規則、ならびにその中の様々なオブジェクト間の関係は、スキーマ、データベースエンジン、及び/またはアプリケーション層によって定義され、及び/または実施され得る。例えば、開示された方法及びシステムは、システムの内容の検証のために実装システムの信頼を必要としない資産追跡ツールを実装するために使用することができる。

Description

関連出願の相互参照
本出願は、2016年9月30日提出の「IMMUTABLE CRYPTOGRAPHICALLY SECURED LEDGER−BACKED DATABASES」と題した、出願番号第15/283,017号米国特許出願に対する優先権を主張し、この米国特許出願に開示された全記載内容を参照によって本明細書に援用するものである。
分散コンピューティングシステム、分散コンピューティングサービス、分散ストレージシステム及び分散ストレージサービス((例えば、インターネット上の)コンピューティングリソースサービスプロバイダによって提供されるサービス等)は、オンプレミスコンピューティングリソースを増強し、場合によってはこれを置き換えるためと、資産(個別的な資産及び代替可能な資産の両方)を追跡するために、企業及び個別のユーザによってますます利用されるようになっている。しかし、そのような分散システム及び分散サービスは、実行ユーザまたは実行企業の完全な管理下にあるとは限らないので、それを用いて行われた取引の整合性は、(ユーザの観点から)確認することが困難であり、(サービスプロバイダの観点から)これに保証を与えることも困難である可能性がある。
図面を参照しつつ様々な技法を述べる。
いくつかの実施形態に従って、暗号学的に保護された台帳の内容が処理され、データベーステーブルの1つまたは複数のフィールドとして要求元に公開される環境の例を示す。 いくつかの実施形態に従って、暗号学的に保護された台帳によって追跡される資産の所有権取引がコミットされ、データベースを介して利用可能にされる環境の例を示す。 いくつかの実施形態に従って、資産のデータベース表現をさらに更新するように、資産に関連付けられた1つまたは複数のデータベースフォーマット(例えば、フィールド)を定義するスキーマが更新される環境の例を示す。 いくつかの実施形態に従って、暗号学的に保護された台帳によって支援されるデータベースの1つまたは複数のフィールドを定義するために、スキーマが実装された環境の例を示す。 いくつかの実施形態に従って、暗号学的に保護された台帳が支援するデータベース内の取引を処理するプロセスの例を示す。 いくつかの実施形態に従って、暗号学的に保護された台帳によって追跡される資産に関連する1つまたは複数のプロパティを定義するために使用されるスキーマを更新するためのプロセスの例を示す。 いくつかの実施形態に従って、暗号学的に保護された台帳によって保有または追跡されている資産についての所有権取引の有効性を判断するプロセスの例を示す。 少なくとも1つの実施形態に従って、コンピューティングリソースサービスプロバイダに接続された顧客の一例を示す。 様々な実施形態を実装することができる環境を示す。
一例において、リレーショナルデータベースまたは非リレーショナル(例えば、NoSQL)データベースなどのデータベースへのアクセス権が要求元に提供され、このデータベースは、ブロックチェーンなどの暗号学的に保護された台帳のうちに含まれた内容、状態、及び他の情報を反映している。いくつかの実施形態において、本データベースは読み取り専用である。つまり、(例えば、データベーステーブルのフィールドまたは他の内容に対する)書き込み取引は無視されるか、または破棄される。暗号学的に保護された台帳に書き込まれた取引の不変性は完全に保持され、暗号学的に保護された台帳によって表される(したがって関連した本データベースを通じて公開される)オブジェクトに対するあらゆる変更は、例えば、新しい取引を書き込むための暗号学的に保護された台帳との直接のやり取りなど、別途の種類のインタラクションを通じて行われる。本関連データベーステーブルは、所与の暗号学的に保護された台帳の更新に関連して、同期的に(または場合によっては非同期的に)更新されてもよい。
いくつかの例では、本データベーステーブルは、行、列等に対する更新など、読み取りと書き込みの両方を受け付ける。このような例では、この書き込みを実装システムに処理させ、本実装システムが、更新されたデータベーステーブルを反映するために、関連している1つの取引または一連の取引を決定して、暗号学的に保護された台帳に書き込むようにすることができる。
この暗号学的に保護された台帳自体は、実装に応じて様々な方法で新しい取引を受け付けることができる。例えば、暗号学的に保護された台帳は、暗示的または明示的な信頼を用いて更新することができる(例えば、更新エンティティを識別及び/または認証/承認する証明書、暗号署名等、エンティティが、暗号学的に保護された台帳の権限によって、台帳に取引を追加する権限があるものと識別されている限り、例えばデータベースエンジン、実装されたスキーマ、実装されているアプリケーション等によって、取引自体に指定されるもの以外の制約または障害なしに、エンティティが取引を追加することができる)。本開示では、例えば公開されたサービスを介して、要求元に台帳更新を提供することに焦点が当てられるが、台帳更新によってその権限に応じた暗号的証拠または他の認証が提供される限り、他の例では、1つまたは複数の提出エンティティが敵対的であり得る環境などにおける、プルーフオブワークによる分散型の合意を含むことができる。いくつかの実施形態では、暗号学的に保護された台帳自体も台帳として公開され、この場合、例えば台帳を走査し、連結されたブロックのハッシュ値、及び/または既知の「正しい」値に対する現在の連鎖したハッシュ値を検証することによって、この台帳は要求元によって検証することができる。
例えば、特定のキー、フィールド、行、列などの存在に対する更新依存性、及び許可などの前述の制約は、いくつかの層の1つ(またはその組み合わせ)で実装されてもよい。例えば、スキーマを使用して、種々の列及び/またはフィールド間の関係と同様に、暗号学的に保護された台帳に含まれるデータ及び/またはメタデータが、関連するデータベーステーブル内でどのように表現されるべきかも規定することができる。例えば、元のスキーマでは、一定数のフィールドと、それらのフィールドに対する規制または制約とが必要な場合がある。例えば、フィールドの数、それらの特性、及びそれらのフィールドに対する規制または制約を変更する、新しいスキーマを提出することができる。スキーマ、及びそれに関連する取引/変更は、暗号学的に保護された台帳にコミットされ、暗号学的に保護された台帳内の他のデータに同じ方法で反映されてもよい。
暗号学的に保護された台帳に書き込まれたデータ及び取引がデータベーステーブルに表現される方法、ならびに暗号学的に保護された台帳内の他のオブジェクトに対してどのように作用するかなどの他の制約条件及び/または定義は、実装アプリケーションによって規定されてもよい。そのような実施形態では、暗号学的に保護された台帳と同様に、暗号学的に保護された台帳データを公開するデータベーステーブルも、本来の意味論的枠組みなしで単にデータを扱い、その代わりに、そのような解釈、制約、プレゼンテーション層表現等をアプリケーション層に残す。
あるいは(または加えて)、意味規則のいくつかまたは全てを、例えば、関連するデータベーステーブルを通じて公開するために、暗号学的に保護された台帳データを解釈するデータベースエンジンに実装してもよい。例えば、実装サービスプロバイダは、資産所有権の追跡や監査などの特定の目的のために、暗号学的に保護された台帳が支援するデータベースを提供することができる。そのような例では、意味規則及び/または取引上の制約の一部または全部を、データベースエンジンによって実装することができる。残りは、実装アプリケーション及び/または適用可能なスキーマによって、定義及び/または制御されてもよい。
資産追跡については、1つまたは一組の所与の資産を対象にした所有権取引などの様々な取引を暗号学的に保護された台帳に記録することにより、それらの取引にイミュータブルな監査証跡が提供されることになり、暗号学的に保護された台帳が本質的に「信頼できない」検証をもたらすことが理解され得る(すなわち、チェーン内のコミットされたデータブロックごとに計算される鎖状の強力な暗号学的ハッシュ結果のため、暗号学的に保護された台帳またはそこに含まれるデータの整合性を検証するために、実装される分散コンピューティングリソースプロバイダの権限など、特別な権限は必要ない)。
資産は、様々な利害関係者、所有者、または資産に関連する他の概念を表す1つまたは複数の鍵に関連付けられ得る。所与の資産に関連付けられた鍵を所有することによって、実装システムは、その鍵の持主のみが所有権を別の所有者に譲渡する権限を持つことを理解し、そのような譲渡を、単調に進められる暗号学的に保護された台帳に記録することで、所有権の変更が一旦コミットされた後は、攻撃者がそれを逆伝播させることができないことになる。さらなる制約は、例えば、実装アプリケーション、スキーマ、またはデータベースエンジンによって、実装され、またはその他の方法で規定され得る。例えば、譲渡の譲受人は、(例えばそれぞれの鍵を提供することによって)署名し、または承認することを要求される場合もある。監督者または管理当局などの他の当事者は、承認される所有権取引に署名するように要求される場合もある。上記の通り、係る当事者による署名が必要とされるスキーマは変更され、例えば、より多くのまたはより少ない当事者が、承認される所有権取引に署名するように要求されてもよい。
資産は、個別的なもの(デジタル作品、不動産などの物理的資産へのリンクまたは表現など)であるか、または代替可能なもの(例えば、通貨、普通株、または他の可算資産、統一資産)であってもよく、そのような資産の存在を証明するためのあらゆる関連データは、暗号学的に保護された台帳に資産に関連して含めることができる。前述のように、所与の資産の出所、または所有権を解明することを容易かつ簡単にするために、関連するデータベーステーブルをそのようなクエリに対して利用可能にすることができ、一方所有権の移転要求は、暗号学的に保護された台帳の直接更新要求に関連して実行することができる。
先行の記述及び以下の記述において、各種の技法について説明する。説明の目的で、本技法を実施する可能な方法の理解の徹底を期すために、具体的構成と詳細をにわたって明らかにする。しかしながら、以下に説明される技法が、その具体的な細部を欠いた種々の構成で実施し得ることも明らかであろう。なお、説明される技法を不明瞭にしないようにするために、周知の特徴事項を省略するかまたは簡略化することがある。
図1は、いくつかの実施形態に従って、暗号学的に保護された台帳の内容が処理され、データベーステーブル内の1つまたは複数のフィールドまたはレコードとして要求元に公開される環境100の例を示す。
例えば、クライアント装置102は、リレーショナルデータベースまたは非リレーショナル(例えば、NoSQL)データベースなどのデータベース104にアクセスする。一実施形態では、管理され、分散された非リレーショナルデータベースが、暗号学的に保護された台帳106へのアクセスも(例えば、サービスとして)提供する同一のコンピューティングリソースサービスプロバイダによってサービスとして提供され、NoSQLデータベースが(非リレーショナルデータベースによって可能にされる柔軟なデータのモデル化/スキーマ定義のために)両者間の統合が容易となるように使用される。さらに、このような非リレーショナルデータベースは、従来のリレーショナルデータベースと比較して、その改善された待ち時間、スループット、及び/またはスケーラビリティのために選択され得る。しかしながら、いくつかの実施形態では、例えば絶対的な関係の整合性が望まれる実装において、リレーショナルデータベースを使用することもできる。
暗号学的に保護された台帳106は、いくつかの実施形態では、ブロックチェーンなど、データの複数の連結した、または「連鎖した」ブロックを含む分散型データベースである。少なくとも暗号学的に保護された台帳106の場合、ブロックは、資産または資産へのリンク/参照、取引情報(所有権の移転など)、取引及び/または資産自体に関する記述データ、(例えば、資産レコードを介して)資産を表すための枠組みに関連するスキーマ情報、暗号学的に保護された台帳に表示される資産に対するアクセス、変更、及び/または移転の権限を与えられたアクター及び/またはエンティティを識別する許可情報を含み得る。ブロック及び/または個々の記録されたオブジェクト及び取引は、(例えば、ブロックまたは関連する取引/オブジェクトの生成または追加の)タイムスタンプ、及びこれを暗号学的に保護された台帳内の先行のブロックまたはオブジェクトに結びつける情報を含むこともできる。この情報は、いくつかの実施形態では、整合性データ及び/または例えば、特定の期間に取引のブロックを暗号学的に保護された台帳に追加することによって、そのようなデータを暗号学的に保護された台帳に追加しようと試みる任意のエンティティによって実行される計算を反映するプルーフオブワークまたは他の計算的な証拠を含み得る。
プルーフオブワークは、いくつかの実施形態では、コミットされる推定ブロックの内容に対して暗号学的ハッシュ関数を実行することによって出力されるハッシュダイジェストであり、そこで結果として生じるハッシュダイジェストが、暗号学的に保護された台帳への新しいブロックの受け入れについて設定された特定の基準を満たすまで、ブロック内のデータの一部(例えば、カウンタ、乱数など)が繰り返し変更される。例えば、暗号学的に保護された台帳(または実装システム)は、暗号学的に保護された台帳に特定のブロックを追加するための条件として、推定ブロックのハッシュダイジェストが、その結果の先頭に、指定された数の2進数もしくは16進数のゼロを含むこと、または指定された難易度の値より低い値を有することを要求し得る。このような基準は、提出エンティティに要求される反復の数が提出を行うのに十分に大きいかまたは難解であり、したがって逆伝播する変更が十分に困難であることを保証するように調整されるか、または別の方法で設定され得る(例えば、暗号学的に保護された台帳の特性として、特定のブロックのヘッダには前のブロックのプルーフオブワークの結果が含まれ、したがって、基本データが事後に変更された場合には、次のブロックの計算結果値が異なることになるので、特定のブロックの後の全てのブロックに対するプルーフオブワークを順番に再計算する必要がある)。
特定の実施形態では、台帳へのデータの信頼できる追加のためにプロキシとしてプルーフオブワークを使用するのではなく、台帳をサービスとしてクライアントエンティティ102などの要求元に公開することができる。そのような実施形態では、要求元エンティティは、新しい情報で台帳を直接更新するというその要求に関連するその権限の証拠を提供する。例えば、要求は、暗号学的に保護された台帳106によって、またはその代わりに提供されるプログラム的インタフェースなどのインタフェースを介して行われてもよく、場合によっては、暗号証明書、デジタル署名、暗号鍵、または他の何らかの識別情報もしくは権限の認証を含んでもよい。台帳更新要求に関連する認証が、要求された更新を実行するのに十分である限り、台帳は信頼を示し、更新を実行する。
「デジタル署名」という用語は、RSAベースのデジタル方式(RSA−PSSなど)、デジタル署名アルゴリズム(DSA)及び楕円曲線デジタル署名アルゴリズム、ElGamal署名方式、Schnorr署名方式、Pointcheval−Stern署名アルゴリズム、Rabin署名アルゴリズム、ペアリングベースのデジタル署名方式(Boneh−Lynn−Schacham署名方式など)、否認不可デジタル署名方式などを使用して生成された情報を含む、メッセージの真正性を暗号によって検証するために使用可能な任意の情報を含むことに留意されたい。さらに、メッセージ認証コード(ハッシュ法によるメッセージ認証コード(HMAC)など)、鍵付き暗号学的ハッシュ関数、及び他の種類の情報を、デジタル署名として使用することもできる。
さらに、システムを動作させるように構成された論理が、公開暗号鍵でデジタル署名を検証する試みが成功したかどうかに依存する場合、システムは公開暗号鍵を信頼するように構成されていると言われることに留意されたい。同様に、システムを動作させるように構成された論理が、対称暗号鍵でデジタル署名を検証する試みが成功したかどうかに依存する場合、システムは対称暗号鍵を信頼するように構成されていると言われる。
先に述べたように、多くのバリエーションは、対称及び/または非対称の暗号プリミティブを利用する。対称鍵アルゴリズムには、ブロック暗号、ストリーム暗号及びデジタル署名方式を含む、データに対して暗号操作を実行するための様々な方式が含まれ得る。対称鍵アルゴリズムの例には、高度暗号化規格(AES)、データ暗号化規格(DES)、トリプルDES(3DES)、Serpent、Twofish、Blowfish、CAST5、RC4、及び国際データ暗号化アルゴリズム(IDEA)が挙げられる。対称鍵アルゴリズムにはまた、一方向性関数の出力を生成するために使用されるものが含まれ、ハッシュ法によるメッセージ認証コード(HMAC)、メッセージ認証コード(MAC)全般、PBKDF2及びBcryptを利用するアルゴリズムが含まれ得る。非対称鍵アルゴリズムにはまた、データに対して暗号操作を実行する様々な方式が含まれ得る。アルゴリズムの例としては、Diffie−Hellman鍵交換プロトコル、デジタル署名規格(DSS)、デジタル署名アルゴリズム、ElGamalアルゴリズム、種々の楕円曲線アルゴリズム、パスワード認証鍵合意技法、Paillier暗号システム、RSA暗号化アルゴリズム(PKCS#1)、Cramer−Shoup暗号システム、YAK認証鍵合意プロトコル、NTRUEncrypt暗号システム、McEliece暗号システムなどを利用するものが挙げられる。楕円曲線アルゴリズムには、楕円曲線Diffie−Hellman(ECDH)鍵合意方式、楕円曲線統合暗号化方式(ECIES)、楕円曲線デジタル署名アルゴリズム(ECDSA)、ECMQV鍵合意方式、及びECQV暗黙証明書方式が含まれる。他のアルゴリズム及びアルゴリズムの組み合わせはまた、本開示の範囲内にあると見なされ、上記は網羅的なリストであることを意図しない。
暗号学的に保護された台帳106のブロックは、本明細書で既に述べたような1つまたは複数のデータセットのグループ、ならびに取引のブロック内の他のデータの暗号学的ハッシュの結果など、イベントデータに関連する他のデータ及びメタデータを含み、場合によっては、直前のデータブロックまたは取引に対して実行された暗号学的ハッシュへの参照(またはその結果)が含まれる。したがって、強力な一方向性暗号学的ハッシュ関数の使用を想定すると、前のブロック(例えば、チェーンのさらに下のブロック)内のデータに対する事後的な変更は、後続の各ブロックのハッシュ結果に対する変更というドミノ効果をもたらすであろうことが理解され得る。
「一方向性関数」という語句は、厳密な数学的意味において必ずしも一方向性である必要はないが、本開示の様々な技法が適用される状況においてその機能を有用にする特性(衝突耐性、原像計算困難性、第2原像計算困難性など)を発揮する関数を含むことに留意すべきである。このようにして、関数の出力を有するが、対応する入力にアクセスできないエンティティは、例えば、暗号(例えばブルートフォース)攻撃に必要な計算リソースの異常な消費なしには入力を決定することができない。一方向性関数(「実質上一方向性の関数」とも呼ばれる)には、メッセージ認証コードなどの暗号学的ハッシュ関数、(例えば、ハッシュ法によるメッセージ認証コード(HMAC))、(例えば、パスワードが平文及び暗号鍵に少なくとも部分的に基づいた)PBKDF2やbcryptなどの鍵導出関数、及び他の安全なランダム化関数(ランダム化関数は、必ずしもそうとは限らないが、これらの変域(可能な出力)よりも大きい定義域(可能な入力セット)を持ち得る)が含まれるが、これらに限定されない。様々な実施形態のための他の好適な関数(「f」と称する)には、少なくとも平文及び暗号鍵を入力とし、原像計算困難性(値yが与えられたとき、f(x)=yが、指定された閾値よりも小さくなるような入力xをランダムに生成する確率)、第2原像計算困難性(入力x1が与えられたとき、f(x1)=f(x2)が、指定された閾値よりも小さくなるような、x1とは異なる別の入力x2をランダムに生成する確率)及び/または衝突耐性(2つの異なる入力が同じ出力をもたらす確率は、指定された閾値よりも小さい)の特性を有する関数が含まれるが、これらに限定されない。各確率に対する正確な閾値は状況依存的であり得、低い確率が高安全性状況に対応する。本開示の技法に従って一方向性関数として使用できるハッシュ関数には、National Institute of Standards and Technology(NIST) Special Publication 800−107, Revision 1 "Recommendation for Applications Using Approved Hash Algorithms"(これは参照により本明細書に援用される)に記載されている関数が含まれるが、これに限定されるものではない。
前述のように、ブロックチェーンなど、暗号学的に保護された台帳は、分散型データベースであってもよく、いくつかの実施形態では、暗号学的に保護された台帳の維持に関与する複数のエンティティ/リソースのそれぞれは、任意の特定箇所(例えば、全てのブロックがその箇所に追加される)において暗号学的に保護された台帳全体のコピーを有する。個々の取引及び/またはブロックが暗号学的に保護された台帳106に追加されると、それらの取引に関する情報(追加されたデータ自体であり得る)が全てのノード/エンティティ/リソースにブロードキャストされる。所与のリソース(暗号学的に保護された台帳を管理しているものと同じか、または異なっていてもよい)が、ブロックに関連したある期間にわたって取引を網羅する/含むそのブロックを追加するとき、新しいブロックの内容は、暗号学的に保護された台帳の各ノード/エンティティ/リソースに配布され、したがって最終的に暗号学的に保護された台帳は一貫した状態を反映する。
企図され得るように、暗号学的に保護された台帳を維持し、及び/またはその台帳に寄与するエンティティ/リソースの集合は、本質的に異種であってもよい。例えば、サービスに関連する顧客装置(クライアント装置102を含む)及びリソースの両方が、暗号学的に保護された台帳の維持に参加できるだけでなく、暗号学的に保護された台帳にブロックを追加する計算活動(例えば、署名照合)にも参加することができる。なぜなら、他の全ての参加ノードが、ブロックの内容(例えば、暗号学的に保護された台帳全体の場合、最新のブロック)に対して暗号学的ハッシュ関数を実行することを単にチェックして、結果が期待されるものに合致するかどうかを確かめることによって(例えば、前の時点における同じブロックまたはブロックのセットに対する結果)、新たに追加される任意のブロックの整合性及び/または正確度、ならびに実際には暗号学的に保護された台帳全体の整合性を確認できることを考えると、維持または追加を実行するアクターの識別情報はほとんど無関係であるからである。したがって、全ての要求元は、暗号学的に保護された台帳の整合性を要求元が望む程度にまで検証するために、比較的安価な計算を自ら実行することができるので、暗号学的に保護された台帳の整合性に関する権威として単一のアクターまたは一組のアクターを信頼する必要はない。
上に述べたように、データベース104は、暗号学的に保護された台帳と相互作用して、暗号学的に保護された台帳106内に含まれる内容、状態、及び他の情報を反映する。いくつかの実施形態では、暗号学的に保護された台帳106は、そのプログラム的インタフェースを介して、更新がデータベースに発生したときに、またそのそれぞれのプログラム的インタフェースを介して、更新を「プッシュ」する。他の実施形態では、データベース104は、最後の更新以降の更新について、暗号学的に保護された台帳106を手動で(例えば要求に応じて)または自動的に(例えば指定された間隔で)ポーリングすることができる。さらに、データベースエンジンなどの介在性エンティティ、あるいはデータベース104及び/またはブロックチェーン106の一方または両方に関連する他のエンティティを使用して、ブロックチェーンに表されているように、関連付けられている取引からの、資産、オブジェクト、または他の「ファーストクラス」データ型など、所与のデータ片の状態を経時的にデータベーステーブルに変換するか、または別の方法で表すことができる。例えば、本明細書の他の箇所に記載されるように、データベーステーブルは、所与のデータ、資産、オブジェクトなどの現在の状態のみを反映するように構造化されてもよい。別の例として、データベースエンジンまたは他の介在性エンティティは、所与のデータ、資産、オブジェクトなどに関連する一部または全部の取引を変換し、それらを、データベーステーブルを介して個別に可視化することができる。いくつかの実施形態では、データベーステーブルは、取引がブロックチェーンにコミットされる指定された期間の長さ、指定された種類のデータ(例えば、フィールドまたはデータ型)、指定された数の更新(例えば、取引)などに制約され得る。
データベース104が暗号学的に保護された台帳106内の情報を反映するフォーマットは、1つまたは複数のメカニズムによって定義され得る。例えば、暗号学的に保護された台帳106内に存続する未処理の取引データを、資産または他のオブジェクト、及びそれらのオブジェクトに関連するメタデータと関連付けるために、スキーマを実装することができる。スキーマは、関連付けられたデータ及びメタデータの特定のフィールド、列、または行を定義することができ、前述のように、暗号学的に保護された台帳の別のオブジェクトとして単純に処理することができる(例えば、更新及び/または所有権取引、ならびにそれらの取引に関連する制約を、スキーマオブジェクトに適用することもできる)。本例では、スキーマで定義されているように、所与のレコードは、資産に関連付けることができ、現在の所有者、関連する資産へのリンク、作成者情報など、資産に関連付けられたメタデータを含むこともでき、レコードをデータベーステーブル104に表すことができる。したがって、要求元102は、本質的にシリアルの暗号学的に保護された台帳106に直接問い合わせるのではなく、暗号学的に保護された台帳106に保持され、または別の方法で表される資産に関連した情報を迅速かつ効率的に取り出すために、生成されたデータベーステーブル104に使い慣れたフォーマットで、単に問い合わせるだけでよい。
いくつかの実施形態において、本データベース104は読み取り専用である。つまり、(例えば、データベーステーブルのフィールドまたは他の内容に対する)書き込み取引は無視されるか、または破棄される。本例では、暗号学的に保護された台帳によって表される(したがって関連した本データベースを通じて公開される)オブジェクトに対するあらゆる変更は、例えば、新しい取引を書き込むための暗号学的に保護された台帳との、それぞれのインタフェースを介した直接のやり取りなど、別途の種類のインタラクションを通じて行われる。前述のように、本関連データベーステーブルは、所与の暗号学的に保護された台帳の更新に関連して、同期的に(または場合によっては非同期的に)更新されてもよい。他の例では、本データベーステーブル104は、クライアントエンティティ102が資産に関連する1つまたは複数の所有権鍵を更新しようと試みる場合と同様に、行、列等に対する更新など、読み取りと書き込みの両方を受け付ける。これらの場合、この書き込みを実装システムに処理させ、本実装システムが、更新されたデータベーステーブルを反映するために、関連している1つの取引または一連の取引を決定して、暗号学的に保護された台帳106に書き込むようにすることができ、このような台帳への書き込みは、それを行う要求元の権限の検証を受けることになる。
図2は、いくつかの実施形態に従って、暗号学的に保護された台帳によって追跡される資産の所有権取引がコミットされ、データベースを介して利用可能にされる環境200の例を示す。
すでに述べたように、この暗号学的に保護された台帳210は、実装に応じて様々な方法で新しい取引を受け付けることができる。例えば、暗号学的に保護された台帳210は、暗示的または明示的な信頼を用いて更新することができる(例えば、更新エンティティを識別及び/または認証/承認する証明書、暗号署名等、エンティティが、暗号学的に保護された台帳の権限によって、台帳に取引を追加する権限があるものと識別されている限り、例えばデータベースエンジン、実装されたスキーマ、実装されているアプリケーション等によって、取引自体に指定されるもの以外の制約または障害なしに、エンティティが取引を追加することができる)。本開示では、例えば、そのプログラム的インタフェース(例えば、API)を通じて公開されたサービスを介して、要求元に台帳更新を提供することに焦点が当てられるが、すでに述べたように、台帳更新によってその権限に応じた暗号的証拠または他の認証が提供される限り、他の例では、1つまたは複数の提出エンティティが敵対的であり得る環境などにおける、プルーフオブワークによる分散型の合意を含むことができる。
図示の例では、暗号学的に保護された台帳210は、フロントエンドインタフェース212を介して台帳としてクライアントエンティティ202または他の要求元に公開されている。フロントエンドインタフェース212は(データベース204用のフロントエンドインタフェース206と同様に)、グラフィカルユーザインタフェースもしくはコマンドラインユーザインタフェース、プログラム的インタフェース(アプリケーションプログラミングインタフェース(API)またはWebサービスの呼び出しなど)、または任意の適切なインタフェースであり得る。例として、クライアント装置202は、例えば、暗号学的に保護された台帳210に表される特定の資産についての所有権移転要求208を提出することができる。所有権移転要求208は、例えば、要求208に含まれる(か、またはそれとは別の)デジタル署名または暗号鍵の整合性及び/または出所、ならびに要求された所有権移転208を行うための署名または鍵に関連する識別情報の権限を検証することによって検証される。検証は、第三者の暗号サービス、暗号学的に保護された台帳210に関連付けられたエンティティ、クライアントエンティティ202自体(自己認証証明書の場合)、または他の何らかのエンティティを含む任意の適切なエンティティによって行われ得る。
実際の信頼証拠または認証は、第三者機関または他の暗号化サービスによって発行された、クライアントエンティティの暗号装置またはサービス(例えば、ローカルハードウェアセキュリティモジュールまたは信頼できるプラットフォームモジュール)、あるいは発行エンティティ及び/または要求エンティティの識別情報及び整合性を確認するための他の適切な検証可能な方法から供給され得る。例えば、ラップされた鍵などの暗号鍵は、暗号学的に保護された台帳210のフロントエンドインタフェース212に提出するために、コンピューティングリソースサービスプロバイダのサービスによってクライアントエンティティ202に発行することができる。
フロントエンドインタフェース212は、暗号学的に保護された台帳210に関連付けられたエンティティに要求208を渡して、要求208が有効であり、及び例えば他の資産に対する制約、または関連する変更を行うための要求元の権限を制限する任意の制約が適用されるかどうかを判断する。例えば、所与の資産が鍵に関連付けられている場合、定義スキーマまたはデータベースエンジンは、その資産に関連付けられている変更がその鍵の持主によって開始されることを自動的に要求することがある。その結果、本例では、所有権移転要求208が、所与の資産に現在関連付けられている鍵の所有者以外の何らかの他のエンティティによってもたらされる場合、それは拒否される。
また一方、何らかの制約及び/または要件が満たされているとすれば、暗号学的に保護された台帳210は所有権取引をコミットする。前述したように、このような書き込みは、一度実行されると、監査証跡を保持するためにイミュータブルである。所有権取引が誤って実行された場合、「新しい」鍵の持主は、所有権を元の持主に戻すために新しい取引を提出し、これは暗号学的に保護された台帳210に新しい取引として書き込まれる。
前述のように、データベース204は、データベースの実装の詳細、及び(例えば、図1に関連して上に述べたように)それが更新される方法に応じて、暗号学的に保護された台帳の新しい状態を表形式または他の形式で反映する。したがって、クライアント装置202がそのフロントエンドインタフェース206を介してデータベース204に要求214を発行し、特定の資産の現在の所有権に関して問い合わせる場合、データベース204は、そのフロントエンドインタフェース206を介して、新しい所有者を示す応答216を返す。データベースが、暗号学的に保護された台帳の現在の状態だけを反映するのではなく、台帳210にコミットされた全ての取引も含む他の実施態様は、本開示の範囲内であると企図される。例えば、そのような実施態様では、所有権取引の、特定の期間にわたって、または暗号学的に保護された台帳210に表示されている全ての期間にわたって、または資産自体が出現してからの履歴を要求するデータベース検索要求は、暗号学的に保護された台帳210に直接宛てられる同じような要求よりも効率的な方法でサービスを受けることができる。
図3は、いくつかの実施形態に従って、資産のデータベース表現をさらに更新するように、資産に関連付けられた1つまたは複数のデータベースフォーマット(例えば、フィールド)を定義するスキーマが更新される環境300の例を示す。
先に述べたように、例えば、特定のキー、フィールド、行、列などの存在及び相互関連に対する更新依存性、ならびにそれを変更するための所与の識別情報の権限に関連した許可などの、本明細書で述べた制約及び条件は、いくつかの層の1つ(またはその組み合わせ)で実装されてもよい。例えば、すでに述べたように、スキーマを使用して、データベーステーブルの種々の行、列及び/またはフィールド間の関係と同様に、暗号学的に保護された台帳に含まれるデータ及び/またはメタデータが、関連するデータベーステーブル内でどのように表現されるべきかも規定することができる。スキーマ、及びそれに関連する取引/変更は、暗号学的に保護された台帳にコミットされ、暗号学的に保護された台帳内の他のデータに同じ方法で反映されてもよい。
したがって、クライアント装置302は、少なくとも図2に関連して説明したのと同様の方法で、暗号学的に保護された台帳310に追加するために、フロントエンドインタフェース312を介してスキーマ更新308を提出することができる。企図され得るように、場合によっては、暗号学的に保護された台帳に保管されている1つまたは複数の資産の所有者であり得る管理者エンティティは、スキーマを定義及び更新する権限を持つことがあり、そのような場合のいくつかでは、同じエンティティが以前のスキーマの創始者であり、それに関連付けられた鍵で署名されている。したがって、いくつかの実施形態では、既存のスキーマを置換または更新する要求は、スキーマの現在のバージョンに関連付けられるものと同じ鍵に関連付けられることが要求され得る。特定の実施形態では、データベースエンジン、暗号学的に保護された台帳310に関連するエンティティなどによって要件が強制される。また、いくつかの実施形態では、暗号学的に保護された台帳またはデータベースエンジンはまた、所与のスキーマ更新要求が、管理者の署名だけではなく、そのスキーマが関係する資産の所有者の一部または全部(または他の利害関係者)の署名を伴うという要件を強制し得ることが企図される。
暗号学的に保護された台帳が、追加される新しいスキーマを受け入れると仮定すると、データベース304はそのマッピングを新しいスキーマに適合するように調整する。例えば、新しいキー列を一部または全部のレコードに追加し、または追加の説明フィールドを一部または全部のレコードに関連付けることができる。その後は、(例えば、フロントエンドインタフェース306を介した)データベース304に対するクエリ314は、新しいスキーマによって定義されたデータベーステーブルに関係する。
図4は、いくつかの実施形態に従って、暗号学的に保護された台帳によって支援されるデータベースの1つまたは複数のフィールドを定義するために、スキーマが実装された環境400の例を示す。
暗号学的に保護された台帳に書き込まれたデータ及び取引がデータベーステーブルに表現される方法、暗号学的に保護された台帳内の他のオブジェクトに対してどのように作用するか、及び/または所与の行、列、フィールド、もしくはオブジェクトの意味論的意味などの制約条件及び/または定義は、スキーマ、実装アプリケーション、及び実装データベースエンジン(例えば、データベースを管理するもの)のうちの1つまたは複数によって実装され得るレコード定義402によって規定されてもよい。例えば、データベースエンジンは、資産追跡体制の場合、資産識別子、資産に関連付けられた所有者、及び1つまたは複数の台帳取引への参照に関する基本的なフィールド定義を強制することができる。そのような例では、(権限を与えられたエンティティによって更新され得る)スキーマは、二次所有者、支援文書、または資産に関連する他の情報などのさらなるフィールドを定義することができる。最後に、本例では、アプリケーション層は、どのエンティティが全体的な制約及び/または定義のセットを見ることが許可されるかを定義することができる。いくつかの実施形態では、暗号学的に保護された台帳と同様に、暗号学的に保護された台帳データを公開するデータベーステーブルも、本来の意味論的枠組みなしで単にデータを扱い、その代わりに、そのような解釈、制約、プレゼンテーション層表現等を、アプリケーション層、スキーマ、データベースエンジン、またはそれらの組み合わせに残す。
あるいは(または加えて)、意味規則のいくつかまたは全てをレコード定義に実装することができ、レコード定義は、関連するデータベーステーブルを通じて公開するために、暗号学的に保護された台帳データを抽象化する。例えば、実装サービスプロバイダは、資産所有権の追跡や監査などの特定の目的のために、暗号学的に保護された台帳が支援するデータベースを提供することができる。そのような例では、意味規則及び/または取引上の制約(例えば、必要な鍵フィールド及び資産フィールド)の一部または全部を、データベースエンジンによって実装することができる。残りは、実装アプリケーション及び/または適用可能なスキーマによって、定義及び/または制御されてもよい。特定の実施形態では、制約/意味規則の1つまたは複数は、変更することを許可されていないエンティティ(ただし、アプリケーション層など、他の場所で定義されている他の制約/意味規則を変更する権限を与えられている者)によって、悪意を持って、または誤って変更されることからそれらを保護するために、データベースエンジンによって実装される。そのような実施形態では、システムの管理者は、そのような制約/意味規則をシステム全体のイミュータブルな制約/意味規則の基本セットとして実装することができる。
資産追跡については、本明細書の他の箇所に記載されている理論的根拠のために、1つまたは一組の所与の資産を対象にした所有権取引などの様々な取引を暗号学的に保護された台帳に記録することにより、それらの取引にイミュータブルな監査証跡が提供されることになり、暗号学的に保護された台帳が本質的に「信頼できない」検証をもたらすことが理解され得る(すなわち、チェーン内のコミットされたデータブロックごとに計算される鎖状の強力な暗号学的ハッシュ結果のため、暗号学的に保護された台帳またはそこに含まれるデータの整合性を検証するために、実装される分散コンピューティングリソースプロバイダの権限など、特別な権限は必要ない)。
レコード定義402は、資産406が、様々な利害関係者、所有者、または資産に関連する他の概念を表す1つまたは複数の鍵408、410に関連付けられることを規定する。所与の資産に関連付けられた鍵を所有することによって、実装システムは、その鍵の持主のみが所有権を別の所有者に譲渡する権限を持つことを理解し、そのような譲渡を、単調に進められる暗号学的に保護された台帳412に記録することで、所有権の変更が一旦コミットされた後は、攻撃者がそれを逆伝播させることができないことになる。一実施形態では、取引が暗号学的に保護された台帳に書き込まれるとき、各関連レコード(例えば、図示の例では行)は、暗号学的に保護された台帳412のどこに関連取引が書き込まれたかを識別する台帳識別子404に関連付けられる。この台帳識別子404は、関連する暗号学的に保護された台帳ブロックのハッシュ値、ディスク上の位置(例えば、暗号学的に保護された台帳の開始オフセットに対するオフセット)、カウンタ、または要求元が暗号学的に保護された台帳412内で関連する取引を見つけることを可能にする他の何らかの一意の識別子であり得る。いくつかの実施形態では、データベースは、所与のデータセット、オブジェクト、資産などの状態(これは、その情報に関連している暗号学的に保護された台帳412内の複数の取引を指すことができる)を反映することが企図されている。したがって、台帳404フィールドは、そのような複数の暗号学的に保護された台帳の場所、最新の取引の場所などを指すことができる。
鍵408、410、及び資産406が本明細書に記載されるが、さらなる制約は、例えば実装アプリケーション、スキーマ、またはデータベースエンジンによって、レコード定義402の内部または外部で実装され、またはその他の方法で規定され得る。例えば、譲渡の譲受人は、(例えばそれぞれの鍵を提供することによって)署名し、または承認することを要求される場合もある。監督者または管理当局などの他の当事者は、承認される所有権取引に署名するように要求される場合もある。資産406に関連付けられているが、その実際の所有権に必ずしも関連しないメタデータは、任意に定義された任意の数のフィールドに存在し得る。
資産406は、個別的なもの(デジタル作品、不動産などの物理的資産へのリンクまたは表現など)であるか、または代替可能なもの(例えば、通貨、普通株、または他の可算資産、統一資産)であってもよく、そのような資産の存在を証明するためのあらゆる関連データは、資産に関連して、暗号学的に保護された台帳に含める(したがってデータベーステーブルに表される)ことができる。前述のように、所与の資産の出所、所有権を解明することを容易かつ簡単にするために、関連するデータベーステーブルをそのようなクエリに対して利用可能にすることができ、一方所有権の移転要求は、台帳の直接更新要求に関連して実行することができる。
例えば、レコード定義402は、個別のリソースが、所与の資産(例えば、不動産、車両または他の私有財産への所有権、契約などのための記録された行為などの、物理オブジェクトの存在を検証及び/または検証する文書、メディア、記事へのURI、及び/または参照などのデジタルオブジェクト)への参照を含む「ロット」と、1つまたは複数の「ロット」を参照し、ロット間の意味関係を記述する「作品」とに分離され得ることを規定し得る。
別の例として、レコード定義402は、代替可能なリソースが「コイン」及び「資金」などの単位のないオブジェクトに分割されることを規定してもよく、このことは「コイン」の量と、その量(またはコイン自体)が表すことの意味論的意味とを記述し、特定の所有者(関連した鍵の持主)にその権利が与えられている。
図5は、いくつかの実施形態に従って、暗号学的に保護された台帳が支援するデータベース内の取引を処理するプロセス500の例を示す。
ステップ502において、クライアント装置などのエンティティは、図1〜図4に関連して上に述べたように、暗号学的に保護された台帳に取消不能にコミットされる取引または他のデータを提出する。例えば、取引は、資産に関連する所有権取引であり得、暗号学的に保護された台帳のフロントエンドインタフェースを介してクライアントエンティティによって提出され得る。
ステップ504において、非リレーショナルデータベースなどのデータベーステーブルは、暗号学的に保護された台帳に含まれるデータから更新及び/または生成され、いくつかの実施形態では、関連データの現在の状態及び/またはそのデータに関連する履歴取引の一方または両方を反映する。データベーステーブルは、例えば、実装データベースエンジン(例えば、データベース管理システム)によって提供されるプログラム的インタフェースなどの標準インタフェースを介して利用可能にされる。
ステップ506において、所有権移転要求などの追加の書き込み取引が、例えば暗号学的に保護された台帳インタフェースを介して受信され、そのような要求が有効かつ許可されているかどうかを判断するために処理される。例えば、要求に関連付けられた非対称暗号鍵ペアの公開鍵は、それが資産に関連付けられた現在のエンティティによって使用されているのと同じ鍵であるかどうかを判断するために評価される。別の例として、第三者の鍵管理サービスによって管理されている対称鍵も同様に評価することができる。
ステップ508において、ステップ506での処理及び検証が成功したと仮定すると、取引は暗号学的に保護された台帳にコミットされ、関連する読み取り専用データベースが、その取引の決済を反映するように更新される。このようなデータベーステーブルの更新は、暗号学的に保護された台帳の追加に関連して、非同期的または同期的に実行されてもよい。
図6は、いくつかの実施形態に従って、暗号学的に保護された台帳によって追跡される資産に関連する1つまたは複数のプロパティを定義するために使用されるスキーマを更新するためのプロセス600の例を示す。
ステップ602において、暗号学的に保護された台帳に関連付けられたインタフェースまたは他のエンティティは、暗号学的に保護された台帳に関連付けられた(例えば、支援された)データベーステーブルのフィールド定義に関連付けられた新しいスキーマを受信する。要求に応答して、決定点604において、図1〜5で上に述べたように要求元の権限が検証され、場合によっては、スキーマによって影響を受ける資産に関連付けられた資産所有者に関連付けられた他の鍵の有効性が、スキーマ更新を受け入れる前提条件として肯定的に評価される。ステップ606において、新しいスキーマは暗号学的に保護された台帳にコミットされ、ステップ608においてデータベーステーブルが新しいスキーマと一致するように設定される。さらに、台帳内の所与の取引に使用される特定のスキーマを、その取引で参照することができ、したがって、新しいスキーマがコミットされた時点を過ぎた、以降の任意の取引は、台帳内で新しいスキーマを参照することができる。しかしながら、決定点604において、要求元の許可が十分であると判断されない場合、または他の制約が満たされない場合、スキーマ更新要求はステップ610において拒否される。
図7は、いくつかの実施形態に従って、暗号学的に保護された台帳によって保有または追跡されている資産についての所有権取引の有効性を判断するプロセス700の例を示す。
ステップ702において、前述の通り、暗号学的に保護された台帳に格納されているか、または別の方法で表されている資産に関連するレコードを更新する要求が、例えばクライアントエンティティから受信される。ステップ704において、資産がレコード内の1つまたは複数の署名鍵と関連付けられている場合、受信システム(または他のエンティティ)は、例えば要求の一部として、または要求に関連して提出された鍵を評価することによって、要求元の識別情報を判定する。先に述べたように、この要件はデータベースエンジンまたはアプリケーション層によって強制される場合がある。
決定点706において、ステップ704に関連して決定された識別情報が、現在、資産に関連付けられている識別情報(例えば、現在の所有権)と照合され、それらが一致する場合、ステップ708において、レコード変更が台帳にコミットされる。その後、台帳の更新に対して同期的または非同期的のいずれかで、ステップ710において、データベーステーブルが新しい所有権を反映するように更新される。しかしながら、決定点706において、要求元識別が必要な許可を有していない場合、要求はステップ712において拒否される。
図8は、少なくとも1つの実施形態に従って、コンピューティングリソースサービスプロバイダに接続された顧客の一例を示す。コンピューティングリソースサービスプロバイダ802は、顧客804に様々なサービスを提供することができ、顧客804は、インタフェース826を介してコンピューティングリソースサービスプロバイダ802と通信することができ、インタフェース826は、ウェブサービスインタフェースまたは他の任意のタイプのカスタマインタフェースであってよい。図8では、コンピューティングリソースサービスプロバイダ802のサービスのための1つのインタフェース826を示しているが、各サービスはそれ自体のインタフェースを有し得、全般に、サービスのサブセットはインタフェース826に加えて、または代替として、対応するインタフェースを有し得る。顧客804は、コンピューティングリソースサービスプロバイダ802によって提供されるサービスのうちの1つまたは複数を利用して、様々な地理的場所に配置され得るその従業員に情報を保持し配信することができる組織であり得る。さらに、顧客804は、コンピューティングリソースサービスプロバイダ802のサービスを利用して、遠隔に位置する作業グループにコンテンツを配信する個人であってもよい。図8に示すように、顧客804は、ネットワーク806を介してコンピューティングリソースサービスプロバイダ802と通信することができ、それによってネットワーク806は、インターネット、イントラネット、またはインターネットサービスプロバイダ(ISP)ネットワークなどの通信ネットワークとすることができる。顧客804からコンピューティングリソースサービスプロバイダ802へのいくつかの通信によって、コンピューティングリソースサービスプロバイダ802は、説明した1つまたは複数の実施形態またはその変形形態に従って動作することができる。
コンピューティングリソースサービスプロバイダ802は、その顧客に様々なコンピューティングリソースサービスを提供することができる。本例では、コンピューティングリソースサービスプロバイダ802によって提供されるサービスは、バーチャルコンピュータシステムサービス808、ブロックレベルデータ記憶サービス810、暗号化サービス812、オンデマンドデータ記憶サービス814、通知サービス816、認証システム818、ポリシー管理サービス820、タスクサービス822、及び1つまたは複数の他のサービス824を含む。記載される全ての実施形態が、図8を参照して説明されたサービス808〜824を含むわけではなく、明示的に説明されたサービスに加えて、または代替として、追加のサービスが提供されてもよいことに留意されたい。説明したように、808〜824のそれぞれは、顧客804が適切に構成されたAPI呼び出しを、ウェブサービス要求を介して様々なサービスに提出することを可能にする1つまたは複数のウェブサービスインタフェースを含むことができる。さらに、サービスのそれぞれは、(例えば、バーチャルコンピュータシステムサービス808のバーチャルコンピュータシステムを有効にするために、オンデマンドデータ記憶サービス814にデータを記憶し、またはそこからデータを取り出すために、及び/またはブロックレベルデータ記憶サービス810によって提供される1つまたは複数のブロックレベルデータ記憶装置にアクセスするために)サービスが互いにアクセスすることを可能にする1つまたは複数のサービスインタフェースを含むことができる。
バーチャルコンピュータシステムサービス808は、顧客804に代わってバーチャルマシンインスタンスをインスタンス化するように構成されたコンピューティングリソースの集まりであり得る。顧客804は、(適切に構成され認証されたAPI呼び出しを介して)バーチャルコンピュータシステムサービス808とインタラクトして、コンピューティングリソースサービスプロバイダ802によってホストされ、操作される物理コンピューティング装置上でインスタンス化されるバーチャルコンピュータシステムを供給し、操作することができる。バーチャルコンピュータシステムは、ウェブサイトをサポートするサーバとして動作するため、ビジネスアプリケーションを動作させるため、または一般に顧客のためのコンピューティングパワーとして機能するためなど、様々な目的に使用することができる。バーチャルコンピュータシステムの他のアプリケーションは、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び/または他のアプリケーションをサポートすることであり得る。図8にバーチャルコンピュータシステムサービス808が示されるが、仮想化もインスタンス化も使用せず、代わりに専用または共有のコンピュータ/サーバ及び/または他の物理装置上にコンピューティングリソースを供給するコンピュータシステムまたはコンピュータシステムサービスなど、コンピューティングリソースサービスプロバイダ802では、他の任意のコンピュータシステムまたはコンピュータシステムサービスを利用することができる。
ブロックレベルデータ記憶サービス810は、ブロックレベル記憶装置(及び/またはその仮想化)を使用して顧客804のためにデータを記憶するように集合的に動作する1つまたは複数のコンピューティングリソースを含むことができる。ブロックレベルデータ記憶サービス810のブロックレベル記憶装置は、例えば、バーチャルコンピュータシステムサービス808によって提供されるバーチャルコンピュータシステムに動作上接続されて、コンピュータシステムの論理ユニット(例えば、バーチャルドライブなど)として機能することができる。ブロックレベル記憶装置は、バーチャルコンピュータシステムサービス808が一時的なデータ記憶を提供するだけの場合、対応するバーチャルコンピュータシステムによって使用/生成されるデータの持続的記憶を可能にすることができる。
コンピューティングリソースサービスプロバイダ802はまた、暗号化サービス812を含む。暗号化サービス812は、コンピューティングリソースサービスプロバイダ802の1つまたは複数の記憶サービスを利用して、顧客の鍵を暗号化形式で記憶することができ、それによって、鍵は、暗号化サービス812の特定の装置のみにアクセス可能な顧客804の鍵を復号化するために使用することができる。
コンピューティングリソースサービスプロバイダ802は、オンデマンドデータ記憶サービス814をさらに含む。オンデマンドデータ記憶サービス814は、データを記憶及び/またはアクセスする要求を同期的に処理するように構成されたコンピューティングリソースの集まりであってもよい。オンデマンドデータ記憶サービス814は、オンデマンドデータ記憶サービス814がデータを迅速に見つけて検索することを可能にするコンピューティングリソース(例えばデータベース)を使用して動作して、データに対する要求に応答してデータを提供できるようにする。例えば、オンデマンドデータ記憶サービス814は、データオブジェクトに対する要求が検索されたときに、その要求に応答してデータオブジェクトを提供することができる(またはデータオブジェクトのストリーミングを開始することができる)ような方法で記憶データを維持することができる。上記のように、オンデマンドデータ記憶サービス814に記憶されたデータはデータオブジェクトに編成されてもよい。データオブジェクトは、あるいはサイズに関する特定の制約を別にすれば、任意のサイズを有することができる。したがって、オンデマンドデータ記憶サービス814は、様々なサイズの多数のデータオブジェクトを記憶することができる。オンデマンドデータ記憶サービス814は、オンデマンドデータ記憶サービス814によって格納されたデータオブジェクトに関連する他の操作を検索または実行するために顧客804によって使用され得るデータオブジェクトの識別子とデータオブジェクトを関連付けるキー値ストアとして動作し得る。
図8に示す環境には、通知サービス816が含まれる。通知サービス816は、ウェブサービスまたは他のインタフェース及びブラウザベースの管理コンソールを提供するように集合的に構成されたコンピューティングリソースの集合を備えることができる。管理コンソールを使用して、顧客が通知を受信しようとするトピックの設定、アプリケーション(またはユーザ)の設定、トピックへのクライアントの登録、メッセージの発行、またはクライアントの選択したプロトコルによるメッセージの配信の設定を行うことができる(すなわち、とりわけ、ハイパーテキスト転送プロトコル(HTTP)、電子メール及びショートメッセージサービス(SMS))。通知サービス816は、新しい情報及び更新について定期的にチェックまたは「ポーリング」する必要がなく、「プッシュ」メカニズムを使用してクライアントに通知を提供することができる。通知サービス816はさらに、バーチャルコンピュータシステムサービス808、ワークフローシステム、時間に敏感な情報の更新、モバイルアプリケーション、及び他の多くにおいて実行されているアプリケーションの監視など、様々な目的に使用することができる。
図8に示すように、コンピューティングリソースサービスプロバイダ802は、様々な実施形態において、認証システム818及びポリシー管理サービス820を含む。一実施形態において、認証システム818は、顧客であるユーザの認証に伴う動作を実行するように構成されたコンピュータシステム(すなわち、コンピューティングリソースの集まり)である。例えば、サービス808〜816及び820〜824のうちの1つは、ユーザからの要求が本物であるかどうかを示す情報を受信するために、ユーザからの情報を認証システム818に提供することができる。
一実施形態において、ポリシー管理サービス820は、コンピューティングリソースサービスプロバイダ802の顧客(顧客804など)の代わりにポリシーを管理するように構成されたコンピュータシステムである。ポリシー管理サービス820は、顧客がポリシー管理に関連する要求を提出することを可能にするインタフェースを含むことができる。そのような要求は、例えば、顧客に対するポリシー、または既存のポリシーの目録の提供などの他の管理行為に対するポリシーを追加、削除、変更、または他の方法で修正するための要求であり得る。
コンピューティングリソースサービスプロバイダ802はまた、様々な実施形態において、タスクサービス822を備えている。タスクサービス822は、顧客804からタスクパッケージを受信し、タスクパッケージによって指示される通りにタスクを実行することを可能にする構成となっている。タスクサービス822は、タスクを実行するために、1つまたは複数のインスタンス化されたバーチャルマシンまたはバーチャルホストなど、コンピューティングリソースサービスプロバイダ802の任意のリソースを使用するように構成され得る。タスクサービス822は、顧客804の要件に従って、選択されたオペレーティングシステム及び/または選択された実行アプリケーションを使用して動作するように、1つまたは複数のインスタンス化されたバーチャルマシンまたはバーチャルホストを構成することができる。
コンピューティングリソースサービスプロバイダ802は、その顧客804のニーズに少なくとも部分的に基づいて、1つまたは複数の他のサービス824をさらに維持する。例えば、コンピューティングリソースサービスプロバイダ802は、その顧客804のためにデータベースサービスを維持することができる。データベースサービスは、1人または複数人の顧客804向けに1つまたは複数のデータベースを実行するように集合的に動作するコンピューティングリソースの集まりであり得る。顧客804は、適切に構成されたAPI呼び出しを利用することによって、データベースサービスからデータベースを操作し、管理することができる。これにより、顧客804は、データベース内のオペレーションを維持し、場合によっては拡大縮小することが可能になる。他のサービスには、オブジェクトレベルのアーカイブデータストレージサービス、他のサービスを管理及び/または監視するサービスが含まれるが、これらに限定されない。
図9は、様々な実施形態による態様を実装するための環境900の例の態様を示す。理解されるように、ウェブベースの環境が説明の目的のために使用されるが、多様な実施形態を実装するために異なる環境が必要に応じて使用され得る。環境は電子クライアント装置902を含み、この電子クライアント装置は、要求、メッセージ、または情報を適切なネットワーク904を介して送信及び/または受信するように、ならびに装置のユーザに情報を伝達して返すように作動する、任意の適切な装置を含み得る。係るクライアント装置の例には、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージング装置、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、埋込式コンピュータシステム、電子ブックリーダ等が挙げられる。ネットワークには、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、衛星ネットワーク、もしくは任意の他の係るネットワーク及び/またはそれらの組み合わせを含む、任意の適切なネットワークが含まれ得る。そのようなシステムに使用されるコンポーネントは、選択されるネットワーク及び/または環境の種類に少なくとも部分的に依存することがある。係るネットワークを介して通信するためのプロトコル及びコンポーネントは周知であり、本明細書において詳細に説明されない。ネットワーク上の通信は、有線接続または無線接続及びそれらの組み合わせによって可能にすることができる。この例では、環境が要求を受信し、要求に応えてコンテンツを提供するためのウェブサーバ906を含むので、ネットワークはインターネット及び/または他の公衆通信ネットワークを含む。ただし、他のネットワークの場合、当業者に明白であるように、同様の目的を果たす代替の装置を使用できる。
例示的な環境は、少なくとも1つのアプリケーションサーバ908とデータストア910とを含む。いくつかのアプリケーションサーバ、層、もしくは他の素子、プロセス、またはコンポーネントが存在することがあり、これらはチェーン接続されるか、または別様で構成され得、適切なデータストアからデータを取得するなどのタスクを行うために影響し合うことがあり得ることが理解されるべきである。本明細書で用いられるようなサーバは、ハードウェア装置またはバーチャルコンピュータシステムなどの様々な方法で実装され得る。状況によっては、サーバとは、コンピュータシステム上で実行されているプログラミングモジュールを指し得る。本明細書で使用される「データストア」という用語は、データを記憶し、データにアクセスし、かつデータを読み出すことができる任意の装置または装置の組み合わせを指し、任意の標準、分散型、バーチャル、またはクラスタ化環境において、任意の組み合わせ及び任意の数のデータサーバ、データベース、データ記憶装置、及びデータ記憶媒体を含み得る。アプリケーションサーバは、必要に応じてデータストアと統合してクライアント装置のための1つまたは複数のアプリケーションの態様を実行し、データアクセス及びアプリケーションのためのビジネスロジックの大多数を処理するために任意の適切なハードウェア及びソフトウェアを含むことがある。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、ユーザに転送されるテキスト、グラフィックス、音声、ビデオ、及び/またはユーザに提供するのに利用できる他のコンテンツを含むがこれに限定されないコンテンツを生成することができ、このコンテンツは、この例ではハイパーテキストマークアップ言語(「HTML」)、拡張マークアップ言語(「XML」)、JavaScript(登録商標)、カスケーディングスタイルシート(「CSS」)、JavaScript(登録商標) Object Notation(JSON)、及び/または別の適切なクライアントサイド構造化言語の形でウェブサーバによってユーザに提供され得る。クライアント装置に転送されるコンテンツは、クライアント装置によって処理されて、以下に限定されるものではないが、ユーザに聴覚的に、視覚的に、及び/または他の感覚を通して知覚される形式を含む1つまたは複数の形式でコンテンツを提供し得る。全ての要求及び応答の処理、ならびにクライアント装置902とアプリケーションサーバ908との間のコンテンツの受け渡しは、この例では、PHP:Hypertext Preprocessor(「PHP」)、Python、Ruby、Perl、Java(登録商標)、HTML、XML、JSON、及び/または別の適切なサーバサイド構造化言語を用いて、ウェブサーバ906によって処理することができる。さらに、本明細書で単一の装置によって実行されるものとして説明されている動作は、文脈から明らかでない限り、分散型及び/またはバーチャルシステムを形成することができる複数の装置によって集合的に実行することができる。
データストア910は、いくつかの別々のデータテーブル、データベース、データ文書、動的データ記憶方式、及び/または他のデータ記憶メカニズム、ならびに本開示の特定の態様に関するデータを記憶するための媒体を含むことができる。例えば、図示されたデータストアは、制作側にコンテンツを提供するために使用することができる生産データ912及びユーザ情報916を格納するためのメカニズムを含むことができる。データストアは、報告、分析、または他のそのような目的のために使用することができるログデータ914を格納するためのメカニズムも含むように示されている。ページ画像情報及びアクセス権情報など、データストアに格納する必要がある他の多くの態様があり得、これらは、必要に応じて上記のメカニズムのいずれかに格納され得るか、またはデータストア910の追加のメカニズムに格納され得ることが理解されるべきである。データストア910は、それに関連付けられた論理を通じて、アプリケーションサーバ908から命令を受信し、それに応答してデータを取得、更新、または他の方法で処理するように動作可能である。アプリケーションサーバ908は、受信した命令に応答して、静的データ、動的データ、または静的データと動的データとの組み合わせを提供することができる。ウェブログ(ブログ)、ショッピングアプリケーション、ニュースサービス、及び他のそのようなアプリケーションで使用されるデータなどの動的データは、本明細書で説明するようにサーバ側構造化言語によって生成することができ、または、アプリケーションサーバ上で、もしくはアプリケーションサーバの制御下で動作しているコンテンツ管理システム(「CMS」)によって提供することができる。一例では、ユーザは、ユーザによって操作される装置を介して、特定の種類の品目についての検索要求を提出することができる。この場合、データストアはユーザ情報にアクセスしてユーザの識別情報を確認し、カタログ詳細情報にアクセスしてそのタイプの項目に関する情報を取得できる。次に情報は、ユーザがユーザ装置902上のブラウザを介して閲覧することができるウェブページ上の結果リストなどで、ユーザに返すことができる。関心のある特定の項目に関する情報は、ブラウザの専用ページまたはウィンドウに表示することができる。しかしながら、本開示の実施形態は、必ずしもウェブページのコンテキストに限定されるものではなく、リクエストが必ずしもコンテンツに対するリクエストではない場合、一般的なリクエストの処理によって一般的に適用可能であり得ることに着目すべきである。
各サーバは、通常、そのサーバの一般的な管理及び動作のための実行可能プログラム命令を提供するオペレーティングシステムを含み、通常は、サーバのプロセッサによって実行されるとき(すなわち、実行された結果として)、サーバがその意図された機能を実行することを可能にする命令を格納したコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、リードオンリーメモリ等)を含む。
一実施形態では、環境は、1つまたは複数のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続されたいくつかのコンピュータシステム及びコンポーネントを利用する分散型及び/またはバーチャルコンピューティング環境である。しかし、このようなシステムは、図9に示されているよりも少ない数、または多い数のコンポーネントを有するシステムにおいて、同等に良好に動作し得ることが当業者によって理解されるであろう。したがって、図9のシステム900の記述は、本質的に例示的であり、本開示の範囲を限定するものではないと解釈されるべきである。
本開示の実施形態は、以下の条項を考慮したうえで記述することができる。
1.コンピュータ実行方法であって、
実行可能命令で構成される1つまたは複数のコンピュータシステムの制御下で、
ブロックチェーン台帳への第1の参照をコミットすることであって、前記第1の参照が少なくとも資産参照を含み、前記ブロックチェーン台帳にコミットされた前記第1の参照が変更できないようにする、前記第1の参照をコミットすること、
要求元に、データベーステーブル内のレコードとして前記第1の参照へのアクセスを提供すること、
前記ブロックチェーン台帳のインタフェースを介して、前記第1の参照に関連する所有権情報を更新する要求を受信すること、
前記第1の参照が前記所有権情報に関連付けられた鍵を含むと判断し、前記要求に関連付けられた1つまたは複数の許可を検証すること、
前記1つまたは複数の許可を検証し、前記資産参照を含む第2の参照と、要求に応じて更新された所有権情報を反映する第2の鍵とを生成すること、
前記ブロックチェーン台帳への前記第2の参照をコミットし、前記ブロックチェーン台帳にコミットされた前記第2の参照が変更できないようにする、前記第2の参照をコミットすること、及び
前記レコードが前記第2の参照内の少なくとも前記更新された所有権情報を反映するように、前記レコードへのアクセスを前記要求元に提供することを含む前記コンピュータ実行方法。
2.前記ブロックチェーン台帳が、少なくとも部分的に前記1つまたは複数の許可を検証することに基づいて前記第2の参照を受け入れる、条項1に記載のコンピュータ実行方法。
3.前記資産が、前記第1の参照の一部として前記ブロックチェーン台帳に含まれるデジタル資産である、条項1または2に記載のコンピュータ実行方法。
4.前記データベーステーブルの1つ以上のフィールドが、前記ブロックチェーン台帳にコミットされたスキーマによって定義される、条項1〜3のいずれかに記載のコンピュータ実行方法。
5.1つまたは複数のサービスを実装する少なくとも1つのコンピューティング装置であって、前記1つまたは複数のサービスが、
資産に関連する取引を取消不能に受け入れる暗号学的に保護された台帳を生成すること、
前記暗号学的に保護された台帳にコミットされた前記取引に関連して前記資産の状態を反映するデータベーステーブルを生成すること、ならびに
前記資産に関連する更新要求を少なくとも
前記更新要求に関連する許可を確認すること、
前記暗号学的に保護された台帳に、前記更新要求に関連付けられた1つまたは複数の取引をコミットすること、及び
前記1つまたは複数の取引に関連して前記資産の新しい状態を反映するように前記データベーステーブルを更新することによって処理することを行う前記コンピューティング装置を含むシステム。
6.前記1つまたは複数のサービスが、スキーマに関連して前記データベーステーブルをさらに生成する、条項5に記載のシステム。
7.前記スキーマが、前記資産に接続された取引として前記暗号学的に保護された台帳に格納される、条項6に記載のシステム。
8.前記スキーマが前記更新要求によって更新される、条項6または7に記載のシステム。
9.前記更新要求が、前記暗号学的に保護された台帳に関連付けられたインタフェースを介して、前記1つまたは複数のサービスによって受信される、条項5〜8のいずれかに記載のシステム。
10.前記更新要求が、前記データベーステーブルへの書き込み操作の結果として受信される、条項5〜9のいずれかに記載のシステム。
11.前記1つまたは複数のサービスが、前記資産が鍵に関連付けられるという結果として前記更新要求に関連付けられる前記許可を確認し、前記鍵が前記資産の所有者に関連付けられている、条項5〜10のいずれかに記載のシステム。
12.前記資産が、物理的資産またはデジタル資産である、条項5〜11のいずれかに記載のシステム。
13.コンピュータシステムの1つまたは複数のプロセッサによって実行された結果として、前記コンピュータシステムに
資産に関連する取引を受け入れる暗号学的に保護された台帳を生成すること、
前記暗号学的に保護された台帳にコミットされた前記取引に関連して前記資産の状態を反映するデータベーステーブルを生成すること、ならびに
資産に関連する取引を少なくとも
前記取引に関連する許可を確認すること、
暗号学的に保護された台帳に前記取引をコミットすること、及び
前記暗号学的に保護された台帳の状態に基づいて、前記取引から生じた前記資産の新しい状態を反映するようにデータベーステーブルを更新することによって処理すること、を少なくとも行わせる実行可能命令を格納した非一時的コンピュータ可読記憶媒体。
14.前記取引が前記資産の所有者の更新に関連付けられた、条項13に記載の非一時的コンピュータ可読記憶媒体。
15.前記取引が前記許可の更新に関連付けられた、条項13または14に記載の非一時的コンピュータ可読記憶媒体。
16.前記コンピュータシステムに前記許可を確認させる前記命令がさらに、前記取引に関連する署名を前記コンピュータシステムに検証させる命令を含む、条項13〜15のいずれかに記載の非一時的コンピュータ可読記憶媒体。
17.前記取引が、前記暗号学的に保護された台帳内の前記資産に関連する第1の取引セットに関連する第1のスキーマの、前記資産に関連する第2のスキーマへの更新に関連し、
前記命令が、前記1つまたは複数のプロセッサによって実行された結果として、前記コンピュータシステムに
前記第2のスキーマに関連付けられた新しい状態を反映するように前記データベーステーブルを更新して前記取引を処理すること、及び
前記資産に関連付けられた第2の取引セットを前記第2のスキーマに関連付け、前記第2の取引セットが、前記第2のスキーマに関連付けられた前記取引が前記台帳に書き込まれた後の時点で前記コンピュータシステムによって処理されることをさらに行わせる、条項13〜16のいずれかに記載の非一時的コンピュータ可読記憶媒体。
18.前記署名が、前記取引に関連付けられている要求元によって提供される、条項16または17に記載の非一時的コンピュータ可読記憶媒体。
19.前記署名が、前記取引に関連付けられている要求元以外のエンティティによって提供される、条項16〜18のいずれかに記載の非一時的コンピュータ可読記憶媒体。
20.前記取引が、前記コンピュータシステムによって実行されるプログラム的インタフェースを介して受信される、条項13〜19のいずれかに記載の非一時的コンピュータ可読記憶媒体。
様々な実施形態は、多種多様な動作環境でさらに実装することができ、場合によっては、多数のアプリケーションのうちの任意のものを動作させるために使用することができる1つまたは複数のユーザコンピュータ、コンピューティング装置または処理装置を含むことができる。ユーザ装置またはクライアント装置は、標準的なオペレーティングシステムを実行するデスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ、ならびにモバイルソフトウェアを実行し、多数のネットワーク及びメッセージングプロトコルをサポートすることができるセルラ装置、ワイヤレス装置、及びハンドヘルド装置など、任意の多数のコンピュータを含むことができる。そのようなシステムは、開発及びデータベース管理などの目的のために、様々な市販のオペレーティングシステム及び他の既知のアプリケーションのいずれかを実行している多数のワークステーションを含むこともできる。これらの装置は、ダミー端末、シンクライアント、ゲームシステム、及びネットワークを介して通信することができる他の装置などの他の電子装置を含むこともできる。これらの装置は、バーチャルマシン、ハイパーバイザ、及びネットワークを介して通信することができる他のバーチャル装置などのバーチャル装置を含むこともできる。
本開示の様々な実施形態は、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)、ユーザーデータグラムプロトコル(「UDP」)、開放型システム間相互接続(「OSI」)モデルの様々な層で動作するプロトコル、ファイル転送プロトコル(「FTP」)、ユニバーサルプラグアンドプレイ(「UpnP」)、ネットワークファイルシステム(「NFS」)、共通インターネットファイルシステム(「CIFS」)、及びAppleTalk等の様々な市販のプロトコルのいずれかを使用した通信をサポートするために、当業者によく知られているであろう少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、バーチャルプライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、衛星ネットワーク、及びそれらの任意の組み合わせとすることができる。いくつかの実施形態では、コネクション型のプロトコルを使用して、ネットワークエンドポイント間で通信することができる。コネクション型のプロトコル(コネクションベースのプロトコルと呼ばれることもある)は、順序付きストリームでデータを送信できる。コネクション型のプロトコルは、信頼性が高いものと低いものとがある。例えば、TCPプロトコルは信頼性の高いコネクション型のプロトコルである。非同期転送モード(「ATM」)及びフレームリレーは、信頼性の低いコネクション型のプロトコルである。コネクション型のプロトコルは、保証された順序付けなしでパケットを送信するUDPなどのパケット型のプロトコルとは対照的である。
ウェブサーバを利用する実施形態では、ウェブサーバは、ハイパーテキスト転送プロトコル(「HTTP」)サーバ、FTPサーバ、共通ゲートウェイインタフェース(「CGI」)サーバ、データサーバ、Java(登録商標)サーバ、Apacheサーバ、及びビジネスアプリケーションサーバを含む様々なサーバまたは中間層アプリケーションのうちのいずれかを実行することができる。サーバ(複数可)は、Java(登録商標)、C、C#、もしくはC++などの任意のプログラミング言語、またはRuby、PHP、Perl、Python、もしくはTCLなどの任意のスクリプト言語、ならびにそれらの組み合わせで記述された1つまたは複数のスクリプトまたはプログラムとして実装され得る1つまたは複数のウェブアプリケーションを実行することによってなど、ユーザ装置からの要求に応じてプログラムまたはスクリプトを実行することもできる。サーバ(複数可)は、データベースサーバを含むこともでき、これには、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、及びIBM(登録商標)から市販されているサーバ、ならびにMySQL、Postgres、SQLite、MongoDBなどのオープンソースのサーバ、ならびに構造化または非構造化データを格納、検索、及びアクセスすることができる任意の他のサーバが含まれるが、これらに限定されない。データベースサーバは、テーブルベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、リレーショナルサーバ、非リレーショナルサーバ、あるいはこれら及び/または他のデータベースサーバの組み合わせを含み得る。
環境は、上記の通り、様々なデータ記憶装置ならびに他のメモリ及び記憶媒体を含むことができる。これらは、1つまたは複数のコンピュータに対してローカルな(及び/またはそこに常駐する)記憶媒体上、あるいはネットワークを介して、任意のまたは全てのコンピュータから離れた記憶媒体上など、様々な場所に存在することができる。実施形態の特定のセットでは、情報は当業者によく知られているストレージエリアネットワーク(「SAN」)に存在し得る。同様に、コンピュータ、サーバまたは他のネットワーク装置にあるとする機能を実行するために必要なファイルは、必要に応じてローカル及び/またはリモートに格納することができる。システムがコンピュータ化された装置を含む場合、そのような装置の各々は、バスを介して電気的に結合され得るハードウェア要素を含むことができ、その要素は、例えば、少なくとも1つの中央演算処理装置(「CPU」または「プロセッサ」)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、タッチスクリーンまたはキーパッド)、及び少なくとも1つの出力装置(例えば、表示装置、プリンタ、またはスピーカ)を含む。また、このようなシステムは、例えば、ディスクドライブ、光学式記憶装置などの1つ以上の記憶装置、及びランダムアクセスメモリ(「RAM」)または読出し専用メモリ(「ROM」)などのソリッドステート記憶装置、ならびに取り外し可能な媒体デバイス、メモリカード、フラッシュカードを含んでもよい。
そのような装置は、コンピュータ可読記憶媒体リーダ、通信装置(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信装置など)、及び上記のように作業メモリを含むこともできる。コンピュータ可読記憶媒体リーダは、リモート記憶装置、ローカル記憶装置、固定記憶装置及び/または取り外し可能な記憶装置を表すコンピュータ可読記憶媒体、ならびにコンピュータ可読情報を一時的に及び/またはより恒久的に含む、記憶する、送信する及び取り出すための記憶媒体と接続できる、またはそれらを受信するように構成できる。システム及び様々な装置はまた、典型的には、オペレーティングシステム及びクライアントアプリケーションまたはウェブブラウザ等のアプリケーションプログラムを含む、少なくとも1つのワーキングメモリ装置内に配置された、いくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。加えて、カスタマイズされたハードウェアを使用したり、及び/または特定の要素をハードウェア、ソフトウェア(アプレットなどの携帯用ソフトウェアを含む)、またはその両方に実装したりすることもできる。さらに、ネットワーク入力/出力装置などの他のコンピューティング装置への接続を使用することができる。
コードまたはコードの一部を格納するための記憶媒体及びコンピュータ可読媒体は、RAM、ROM、電気的消去可能プログラマブル読み出し専用メモリ(「EEPROM」)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスク読み出し専用メモリ(「CD−ROM])、デジタルバーサタイルディスク(DVD)、もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または所望の情報を記憶するために使用することができ、かつシステム装置によってアクセスできる任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報の記憶及び/または送信のために任意の方法または技術で実装される揮発性及び不揮発性の媒体、取り外し可能及び取り外し不可能な媒体等であるが、これに限定されるものではない記憶媒体及び通信媒体を含む当技術分野において既知の、または使用される任意の適切な媒体を含むことがある。本明細書に提供される開示及び教示に基づいて、当業者は様々な実施形態を実施するための他の方法及び/または手法を理解するであろう。
したがって、明細書及び図面は、限定的な意味ではなく、例示的なものと見なされるべきである。しかしながら、特許請求の範囲に記載された本発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更がなされてもよいことは明らかであろう。
他の変形は、本開示の趣旨の範囲内である。したがって、開示された技術は様々な修正及び代替的な構成を受け入れる余地があるが、その特定の例示された実施形態が図面に示されており、上で詳細に説明されている。また一方、本発明を特定の形態または開示された形態に限定する意図はなくて、それどころか、その意図は、添付の特許請求の範囲で定義されるように、本発明の趣旨及び範囲内にある全ての修正形態、代替構造、及び等価物を網羅することであるということが理解されるべきである。
開示された実施形態を説明する文脈における(特に特許請求の範囲の文脈における)用語「a」及び「an」及び「the」及び類似の指示対象の使用は、本明細書で別段の指示がない限り、または文脈によって明らかに矛盾しない限り、単数及び複数の両方を含むものと解釈される。用語「含む(comprising)」、「有する(having)」、「含む(including)」、及び「含有する(containing)」は、特に断りのない限り、非制限型の用語(すなわち、「含むが、限定されない」という意味)として解釈されるべきである。「接続される」という用語は、変更されずに物理的な接続を指す場合、たとえ介在するものがあっても、部分的にまたは全体的にその中に含まれる、取り付けられる、または一緒に結合されると解釈される。本明細書における値の範囲の記載は、本明細書において別段の指示がない限り、その範囲内にある各個別の値を個別に参照するための簡潔な方法としての役割を果たすことのみを意図しており、各個別の値は、本明細書において個別に列挙されているものとして明細書に組み込まれる。特に明記しない限り、または文脈によって矛盾しない限り、用語「セット」(例えば、「アイテムのセット」)または「サブセット」の使用は、1つ以上のメンバーを含む空でない集合として解釈されるべきである。さらに、文脈によって特に指摘または矛盾がない限り、対応するセットの用語「サブセット」は、対応するセットの適切なサブセットを必ずしも意味しないが、サブセット及び対応するセットは等しくてもよい。
特に明記しない限り、または文脈によって明らかに矛盾しない限り、「A、B、及びCのうちの少なくとも1つ」または「A、B及びCのうち少なくとも1つは」の形式の句などの接続語は、他の点では一般に使用される文脈で理解され、項目、用語などは、AまたはBまたはC、あるいはA及びB及びCのセットの任意の空でないサブセットであり得ることを示す。例えば、3つのメンバーを有するセットの例示的な例では、接続句「A、B、及びCのうちの少なくとも1つ」及び「A、B及びCのうちの少なくとも1つ」は、以下のセットのいずれかを指す。すなわち、{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}である。したがって、そのような接続語は一般に、特定の実施形態が、少なくとも1つのA、少なくとも1つのB、及び少なくとも1つのCがそれぞれ存在することを必要とすることを意味することを意図するものではない。
本明細書に記載の方法の操作は、本明細書に別段の指示がない限り、または文脈によって明らかに矛盾しない限り、任意の適切な順序で実行することができる。本明細書に記載のプロセス(またはその変形及び/または組み合わせ)は、実行可能な命令で構成された1つまたは複数のコンピュータシステムの制御下で実行することができ、1つまたは複数のプロセッサ上で集合的に実行するコード(例えば、実行可能命令、1つもしくは複数のコンピュータプログラムまたは1つもしくは複数のアプリケーション)として、ハードウェアまたはそれらの組み合わせによって実装することができる。コードは、例えば、1つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形で、コンピュータ可読記憶媒体に記憶することができる。コンピュータ可読記憶媒体は、非一時的であり得る。いくつかの実施形態において、コードは、コンピュータシステムの1つまたは複数のプロセッサによって実行されたときに(すなわち、実行された結果として)、コンピュータシステムに本明細書で説明される動作を実行させる実行可能命令を記憶した1つまたは複数の非一時的コンピュータ可読記憶媒体のセットに記憶される。1組の非一時的コンピュータ可読記憶媒体は複数の非一時的コンピュータ可読記憶媒体を含むことができ、複数の非一時的コンピュータ可読記憶媒体のうちの1つまたは複数の個々の非一時的記憶媒体は全てのコードを欠いていてもよい一方、複数の非一時的コンピュータ可読記憶媒体は、全てのコードを集合的に格納する。さらに、いくつかの例では、実行可能命令は、異なる命令が異なるプロセッサによって実行されるように実行される。実例として、非一時的コンピュータ可読記憶媒体は命令を格納することができる。メインCPUが命令の一部を実行することができ、グラフィックプロセッサユニットが他の命令を実行することができる。一般に、コンピュータシステムの異なるコンポーネントは、別々のプロセッサを有することができ、それぞれのプロセッサが、命令の異なるサブセットを実行することができる。
したがって、いくつかの例では、コンピュータシステムは、本明細書で説明されるプロセスの動作を単独でまたは集合的に実行する1つまたは複数のサービスを実装するように構成される。そのようなコンピュータシステムは、例えば、動作の実行を可能にする適用可能なハードウェア及び/またはソフトウェアを用いて構成することができる。さらに、本開示の様々な実施形態を実現するコンピュータシステムは、いくつかの例では、単一の装置であってもよく、他の例では、分散型コンピュータシステムが本明細書に記載の動作を実行するように、及び単一の装置が全ての動作を実行しないように、異なる動作をする複数の装置を含む分散型コンピュータシステムであってもよい。
本明細書で提供されるありとあらゆる例、または例示的な言語(例えば、「など」)の使用は、単に本発明の実施形態をさらに明らかにすることを意図しており、別段の請求がない限り、本発明の範囲を限定するものではない。本明細書中のいかなる文言も、特許請求されていない要素を本発明の実施に必須であると示すものと解釈すべきではない。
本発明を実施するために本発明者らが知っている最良の形態を含め、本開示の実施形態を本明細書に記載する。これらの実施形態の変形は、前述の説明を読めば当業者には明らかになるであろう。本発明者らは、当業者がそのような変形形態を適切に採用することを期待しており、本発明者らは、本開示の実施形態が本明細書に具体的に記載されたものとは異なる方法で実施されることを意図している。したがって、本開示の範囲は、適用法によって許容されるように、本明細書に添付された特許請求の範囲に記載される主題の全ての修正形態及び均等物を含む。さらに、上記の要素の全ての可能な変形形態における任意の組み合わせは、本明細書で別段の指示がない限り、または文脈によって明らかに矛盾しない限り、本開示の範囲に包含される。
本明細書に引用されている刊行物、特許出願、及び特許を含む全ての参考文献は、各参考文献が個々に具体的に参照によって組み込まれるように示され、その全体が本明細書に記載されているのと同じ程度に、参照により本明細書に組み込まれる。

Claims (20)

  1. コンピュータ実行方法であって、
    実行可能命令で構成される1つまたは複数のコンピュータシステムの制御下で、
    ブロックチェーン台帳への第1の参照をコミットすることであって、前記第1の参照が少なくとも資産参照を含み、前記ブロックチェーン台帳にコミットされた前記第1の参照が変更できないようにする、前記第1の参照をコミットすること、
    要求元に、データベーステーブル内のレコードとして前記第1の参照へのアクセスを提供すること、
    前記ブロックチェーン台帳のインタフェースを介して、前記第1の参照に関連する所有権情報を更新する要求を受信すること、
    前記第1の参照が前記所有権情報に関連付けられた鍵を含むと判断し、前記要求に関連付けられた1つまたは複数の許可を検証すること、
    前記1つまたは複数の許可を検証し、前記資産参照を含む第2の参照と、要求に応じて更新された所有権情報を反映する第2の鍵とを生成すること、
    前記ブロックチェーン台帳への前記第2の参照をコミットし、前記ブロックチェーン台帳にコミットされた前記第2の参照が変更できないようにする、前記第2の参照をコミットすること、及び
    前記レコードが前記第2の参照内の少なくとも前記更新された所有権情報を反映するように、前記レコードへのアクセスを前記要求元に提供することを含むコンピュータ実行方法。
  2. 前記ブロックチェーン台帳が、少なくとも部分的に前記1つまたは複数の許可を検証することに基づいて前記第2の参照を受け入れる、請求項1に記載のコンピュータ実行方法。
  3. 資産が、前記第1の参照の一部として前記ブロックチェーン台帳に含まれるデジタル資産である、請求項1または2に記載のコンピュータ実行方法。
  4. 前記データベーステーブルの1つ以上のフィールドが、前記ブロックチェーン台帳にコミットされたスキーマによって定義される、請求項1〜3いずれか一項に記載のコンピュータ実行方法。
  5. 1つまたは複数のサービスを実装する少なくとも1つのコンピューティング装置であって、前記1つまたは複数のサービスが、
    資産に関連する取引を取消不能に受け入れる暗号学的に保護された台帳を生成すること、
    前記暗号学的に保護された台帳にコミットされた前記取引に関連して前記資産の状態を反映するデータベーステーブルを生成すること、ならびに
    前記資産に関連する更新要求を少なくとも
    前記更新要求に関連する許可を確認すること、
    前記暗号学的に保護された台帳に、前記更新要求に関連付けられた1つまたは複数の取引をコミットすること、及び
    前記1つまたは複数の取引に関連して前記資産の新しい状態を反映するように前記データベーステーブルを更新することによって処理することを行う前記コンピューティング装置を含むシステム。
  6. 前記1つまたは複数のサービスが、スキーマに関連して前記データベーステーブルをさらに生成する、請求項5に記載のシステム。
  7. 前記スキーマが、前記資産に接続された取引として前記暗号学的に保護された台帳に格納される、請求項6に記載のシステム。
  8. 前記スキーマが前記更新要求によって更新される、請求項6に記載のシステム。
  9. 前記更新要求が、前記暗号学的に保護された台帳に関連付けられたインタフェースを介して、前記1つまたは複数のサービスによって受信される、請求項5に記載のシステム。
  10. 前記更新要求が、前記データベーステーブルへの書き込み操作の結果として受信される、請求項5に記載のシステム。
  11. 前記1つまたは複数のサービスが、前記資産が鍵に関連付けられるという結果として前記更新要求に関連付けられる前記許可を確認し、前記鍵が前記資産の所有者に関連付けられている、請求項5に記載のシステム。
  12. 前記資産が、物理的資産またはデジタル資産である、請求項5に記載のシステム。
  13. コンピュータシステムに
    資産に関連する取引を受け入れる暗号学的に保護された台帳を生成する手順、
    前記暗号学的に保護された台帳にコミットされた前記取引に関連して前記資産の状態を反映するデータベーステーブルを生成する手順、ならびに
    資産に関連する取引を少なくとも
    前記取引に関連する許可を確認する手順、
    暗号学的に保護された台帳に前記取引をコミットする手順、及び
    前記暗号学的に保護された台帳の状態に基づいて、前記取引から生じた前記資産の新しい状態を反映するようにデータベーステーブルを更新する手順、を実行させるためのプログラム。
  14. 前記取引が前記資産の所有者の更新に関連付けられた、請求項13に記載のプログラム。
  15. 前記取引が前記許可の更新に関連付けられた、請求項13または14に記載のプログラム。
  16. 前記コンピュータシステムに前記許可を確認させる命令がさらに、前記取引に関連する署名を前記コンピュータシステムに検証させる命令を含む、請求項13〜15のいずれか一項に記載のプログラム。
  17. 前記取引が、前記暗号学的に保護された台帳内の前記資産に関連する第1の取引セットに関連する第1のスキーマの、前記資産に関連する第2のスキーマへの更新に関連し、
    前記コンピュータシステムに
    前記第2のスキーマに関連付けられた新しい状態を反映するように前記データベーステーブルを更新して前記取引を処理する手順、及び
    前記資産に関連付けられた第2の取引セットを前記第2のスキーマに関連付け、前記第2の取引セットが、前記第2のスキーマに関連付けられた前記取引が前記台帳に書き込まれた後の時点で前記コンピュータシステムによって処理される手順をさらに行わせる、請求項13〜16のいずれか一項に記載のプログラム。
  18. 前記署名が、前記取引に関連付けられている要求元によって提供される、請求項16に記載のプログラム。
  19. 前記署名が、前記取引に関連付けられている要求元以外のエンティティによって提供される、請求項16に記載のプログラム。
  20. 前記取引が、前記コンピュータシステムによって実行されるプログラム的インタフェースを介して受信される、請求項13〜19のいずれか一項に記載のプログラム。
JP2019516608A 2016-09-30 2017-09-29 暗号学的に保護された台帳が支援するイミュータブルなデータベース Active JP6730520B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/283,017 US10614239B2 (en) 2016-09-30 2016-09-30 Immutable cryptographically secured ledger-backed databases
US15/283,017 2016-09-30
PCT/US2017/054319 WO2018064487A1 (en) 2016-09-30 2017-09-29 Immutable cryptographically secured ledger-backed databases

Publications (2)

Publication Number Publication Date
JP2019535076A true JP2019535076A (ja) 2019-12-05
JP6730520B2 JP6730520B2 (ja) 2020-07-29

Family

ID=60081326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019516608A Active JP6730520B2 (ja) 2016-09-30 2017-09-29 暗号学的に保護された台帳が支援するイミュータブルなデータベース

Country Status (6)

Country Link
US (1) US10614239B2 (ja)
EP (1) EP3520047B1 (ja)
JP (1) JP6730520B2 (ja)
CN (1) CN109844783B (ja)
AU (1) AU2017336924B2 (ja)
WO (1) WO2018064487A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086634A (ja) * 2018-11-19 2020-06-04 株式会社A.L.I.Technologies 資産情報登録方法
JP2021521544A (ja) * 2018-04-19 2021-08-26 ヴィチェーン ファウンデーション リミテッド 取引処理
WO2022079809A1 (ja) * 2020-10-13 2022-04-21 株式会社日立製作所 ブロックチェーンに関わるピアツーピアネットワークを含むシステム、同ピアツーピアネットワークの構築を支援する方法、並びに、ピアで実行されるスマートコントラクト

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10438197B2 (en) * 2016-04-13 2019-10-08 Paypal, Inc. Public ledger authentication system
US9967088B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US20180247191A1 (en) 2017-02-03 2018-08-30 Milestone Entertainment Llc Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions
US10824737B1 (en) * 2017-02-22 2020-11-03 Assa Abloy Ab Protecting data from brute force attack
US10621150B2 (en) * 2017-03-05 2020-04-14 Jonathan Sean Callan System and method for enforcing the structure and content of databases synchronized over a distributed ledger
US10805090B1 (en) * 2017-03-24 2020-10-13 Blockstream Corporation Address whitelisting using public/private keys and ring signature
US11887115B2 (en) * 2017-04-17 2024-01-30 Jeff STOLLMAN Systems and methods to validate transactions for inclusion in electronic blockchains
US11362834B2 (en) * 2017-07-24 2022-06-14 Comcast Cable Communications, Llc Systems and methods for managing digital rights
WO2019098895A1 (en) * 2017-11-17 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
US10990887B1 (en) * 2017-12-13 2021-04-27 Amazon Technologies, Inc. Anything-but matching using finite-state machines
WO2019173700A2 (en) * 2018-03-08 2019-09-12 Borsetta, Inc. Decentralized title transfer and validation of assets
PL3782058T3 (pl) * 2018-04-20 2024-07-29 Vishal Gupta Zdecentralizowany silnik weryfikacji dokumentów i jednostek
US20190340623A1 (en) * 2018-05-03 2019-11-07 SigmaLedger, Inc. System and method for verifying authenticity of the products based on proof of ownership and transfer of ownership
US11257081B2 (en) * 2018-05-08 2022-02-22 Oracle International Corporation Integrating a blockchain ledger with an application external to the blockchain ledger
US11683180B1 (en) 2018-05-24 2023-06-20 Swear Inc. Protecting digital media with nested hashing techniques
US10560261B1 (en) 2018-05-24 2020-02-11 DeepTruth, LLC Systems and techniques for capture of trusted media data
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
US10764039B2 (en) 2018-08-01 2020-09-01 The Toronto-Dominion Bank Dynamic generation and management of asymmetric cryptographic keys using distributed ledgers
US11146560B1 (en) * 2018-08-30 2021-10-12 Amazon Technologies, Inc. Distributed governance of computing resources
US11100533B1 (en) 2018-09-14 2021-08-24 Facebook, Inc. Cryptographically generating custom audiences
US11120024B2 (en) * 2018-11-01 2021-09-14 Sap Se Dual-stack architecture that integrates relational database with blockchain
EP3912121A4 (en) * 2018-11-19 2022-11-30 Rare Bits, Inc. LAZY UPDATING AND STATE PREDICTION FOR BLOCKCHAIN-BASED APPLICATIONS
US11196567B2 (en) * 2018-11-26 2021-12-07 Amazon Technologies, Inc. Cryptographic verification of database transactions
EP3549028A4 (en) * 2018-11-30 2020-01-15 Alibaba Group Holding Limited SCHEME FOR STRUCTURING BLOCKCHAIN DATA RELATIONSHIPS BASED ON REPLICATION OF BINARY LOG REPLICATION
CN113396407A (zh) * 2018-12-04 2021-09-14 泽乌科技公司 用于利用区块链技术扩充数据库应用的系统和方法
US10325084B1 (en) * 2018-12-11 2019-06-18 block.one Systems and methods for creating a secure digital identity
CN111898139B (zh) * 2018-12-20 2024-04-16 创新先进技术有限公司 数据读写方法及装置、电子设备
US11836259B2 (en) * 2019-01-16 2023-12-05 EMC IP Holding Company LLC Blockchain technology for regulatory compliance of data management systems
EP3921741A4 (en) * 2019-02-08 2022-10-12 Christopher Lyndon Higgins DISTRIBUTED REGISTRY COMPUTER PLATFORMS AND ASSOCIATED METHODS, SYSTEMS AND DEVICES
EP3699856A1 (en) * 2019-02-21 2020-08-26 INL - International Iberian Nanotechnology Laboratory Tagging of an object
US11256675B2 (en) * 2019-02-22 2022-02-22 Visa International Service Association Method and system for creating rapid searchable altered data in a database
EP3959679A4 (en) * 2019-04-25 2023-01-11 Inxeption SYSTEMS AND METHODS FOR PROCESSING, SECURE AND COMMUNICATING INDUSTRIAL COMMERCE TRANSACTIONS
CN111262901B (zh) * 2019-07-29 2021-03-26 深圳百灵声学有限公司 多对多通信系统及其运行方法
US11586614B2 (en) 2019-07-30 2023-02-21 Oracle International Corporation Native persistent store support for blockchains
US11640391B2 (en) 2019-09-11 2023-05-02 Oracle International Corporation Supporting blockchain collections in a database
CN110661867B (zh) * 2019-09-25 2021-07-23 东北大学 一种基于改进工作量证明与权益证明的区块链共识方法
WO2021134473A1 (zh) * 2019-12-31 2021-07-08 深圳市网心科技有限公司 一种区块链信息监管方法、系统、装置及计算机存储介质
US11558180B2 (en) 2020-01-20 2023-01-17 International Business Machines Corporation Key-value store with blockchain properties
US11875178B2 (en) 2020-07-30 2024-01-16 Oracle International Corporation Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
US11949788B1 (en) 2020-11-21 2024-04-02 CodeNotary Inc. System and method to shorten cryptographic proofs
US11483132B2 (en) * 2020-12-04 2022-10-25 Meta Platforms, Inc. Generating and initiating pre-signed transaction requests for flexibly and efficiently implementing secure cryptographic key management
US11494347B1 (en) 2021-05-05 2022-11-08 Oracle International Corporation Efficient update-anywhere replication of queue operations on a replicated message queue
WO2022264085A1 (en) * 2021-06-18 2022-12-22 Compellio S.A. Digital assets exchange coordination
US20240281801A1 (en) * 2021-08-26 2024-08-22 Hewlett-Packard Development Company, L.P. Secure ledger registration
US12099489B2 (en) * 2022-09-20 2024-09-24 Bank Of America Corporation Intelligently storing data in a fault tolerant system using robotic process automation and blockchain
WO2024137428A1 (en) * 2022-12-20 2024-06-27 Kanovitz Michael Ira Authenticated modification of blockchain-based data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5858506B1 (ja) * 2015-04-09 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
WO2016067295A1 (en) * 2014-10-30 2016-05-06 Spondoolies Tech Ltd. Method and system for reducing power consumption in bitcoin mining via waterfall structure
JP2016081134A (ja) * 2014-10-10 2016-05-16 山下 健一 広告閲覧促進システム、情報処理方法及びプログラム
US20160203477A1 (en) * 2015-01-14 2016-07-14 Modernity Financial Holdings, Ltd. Cryptographic security for electronic transactions
US20160283941A1 (en) * 2015-03-27 2016-09-29 Black Gold Coin, Inc. Systems and methods for personal identification and verification

Family Cites Families (207)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2147847C (en) 1993-07-27 2002-06-11 John Peterson Object-oriented rendering system
US6112243A (en) 1996-12-30 2000-08-29 Intel Corporation Method and apparatus for allocating tasks to remote networked processors
US6753830B2 (en) 1998-09-11 2004-06-22 Visible Tech-Knowledgy, Inc. Smart electronic label employing electronic ink
US6665565B1 (en) 1999-12-24 2003-12-16 Medtronic, Inc. Method and a system for conducting failure mode recovery in an implanted medical device
US6922700B1 (en) 2000-05-16 2005-07-26 International Business Machines Corporation System and method for similarity indexing and searching in high dimensional space
US6779150B1 (en) 2000-12-21 2004-08-17 Emc Corporation CRC error detection system and method
US6941135B2 (en) 2001-08-13 2005-09-06 Qualcomm Inc. System and method for temporary application component deletion and reload on a wireless device
US6862362B2 (en) 2001-11-02 2005-03-01 International Business Machines Corporation Parity-grid steganographic method and apparatus
US7609512B2 (en) 2001-11-19 2009-10-27 Otter Products, Llc Protective enclosure for electronic device
US6968479B2 (en) 2002-03-06 2005-11-22 Hewlett-Packard Development Company, L.P. Verifying data in a data storage device
US7117294B1 (en) 2002-05-28 2006-10-03 Oracle International Corporation Method and system for archiving and compacting data in a data storage array
FI116166B (fi) 2002-06-20 2005-09-30 Nokia Corp Menetelmä ja järjestelmä sovellusistuntojen suorittamiseksi elektroniikkalaitteessa, ja elektroniikkalaite
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7010645B2 (en) 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data
US7739233B1 (en) 2003-02-14 2010-06-15 Google Inc. Systems and methods for replicating data
US7043621B2 (en) 2003-05-16 2006-05-09 Hewlett-Packard Development Company, L.P. Sharding method and apparatus using directed graphs
US7213102B2 (en) 2003-06-26 2007-05-01 International Business Machines Corporation Apparatus method and system for alternate control of a RAID array
US7490013B2 (en) 2003-12-09 2009-02-10 Oslsoft, Inc. Power grid failure detection system and method
US7380129B2 (en) 2004-04-22 2008-05-27 International Business Machines Corporation Method and apparatus for detecting grid intrusions
US9218588B2 (en) 2004-06-29 2015-12-22 United Parcel Service Of America, Inc. Offline processing systems and methods for a carrier management system
US7245491B2 (en) 2004-08-20 2007-07-17 Digital Site Management Llc Storage medium protection system
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US7321905B2 (en) 2004-09-30 2008-01-22 International Business Machines Corporation System and method for efficient data recovery in a storage array utilizing multiple parity slopes
US20060080574A1 (en) 2004-10-08 2006-04-13 Yasushi Saito Redundant data storage reconfiguration
TWI253007B (en) 2004-11-11 2006-04-11 Promise Technology Inc Data storage system
US7142150B2 (en) 2004-12-15 2006-11-28 Deere & Company Method and system for detecting an object using a composite evidence grid
US7752624B2 (en) 2004-12-21 2010-07-06 Hewlett-Packard Development Company, L.P. System and method for associating workload management definitions with computing containers
US7950010B2 (en) 2005-01-21 2011-05-24 Sap Ag Software deployment system
US20060168575A1 (en) 2005-01-21 2006-07-27 Ankur Bhatt Defining a software deployment
US7805706B1 (en) 2005-06-21 2010-09-28 Unisys Corporation Process for optimizing software components for an enterprise resource planning (ERP) application SAP on multiprocessor servers
US9996413B2 (en) 2007-10-09 2018-06-12 International Business Machines Corporation Ensuring data integrity on a dispersed storage grid
US9063881B2 (en) 2010-04-26 2015-06-23 Cleversafe, Inc. Slice retrieval in accordance with an access sequence in a dispersed storage network
US7592916B2 (en) 2005-11-16 2009-09-22 Blue Clover Design, Llc Smart shipping and storage container
US20070118657A1 (en) 2005-11-22 2007-05-24 Motorola, Inc. Method and system for sharing podcast information
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
JP4718340B2 (ja) 2006-02-02 2011-07-06 富士通株式会社 ストレージシステム、制御方法及びプログラム
US7783600B1 (en) 2006-02-27 2010-08-24 Symantec Operating Corporation Redundancy management service for peer-to-peer networks
US8250559B2 (en) 2006-04-12 2012-08-21 Oracle America, Inc. Supporting per-program classpaths with class sharing in a multi-tasking virtual machine
US8671091B2 (en) 2006-08-02 2014-03-11 Hewlett-Packard Development Company, L.P. Optimizing snowflake schema queries
JP4918841B2 (ja) 2006-10-23 2012-04-18 富士通株式会社 符号化システム
US8326911B2 (en) 2007-02-02 2012-12-04 Microsoft Corporation Request processing with mapping and repeatable processes
MY151687A (en) * 2007-03-02 2014-06-30 Manual System Sdn Bhd E A method of data storage and management
US7930611B2 (en) 2007-03-09 2011-04-19 Microsoft Corporation Erasure-resilient codes having multiple protection groups
US7693813B1 (en) 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
US8756293B2 (en) 2007-04-23 2014-06-17 Nholdings Sa Providing a user with virtual computing services
US8381062B1 (en) 2007-05-03 2013-02-19 Emc Corporation Proof of retrievability for archived files
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US20080320097A1 (en) 2007-06-22 2008-12-25 Tenoware R&D Limited Network distributed file system
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
CN101981574B (zh) 2008-03-31 2013-06-12 杜比实验室特许公司 分布式媒体指纹储存库
US20090319078A1 (en) 2008-06-23 2009-12-24 United Parcel Services Of America, Inc. Method for shipping an item using an electronic envelope
US9098519B2 (en) 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
US8798579B2 (en) 2008-09-30 2014-08-05 Xe2 Ltd. System and method for secure management of mobile user access to network resources
US8156388B2 (en) 2008-11-24 2012-04-10 Symbol Technologies, Inc. Analysis leading to automatic action
US20100153941A1 (en) 2008-12-12 2010-06-17 Lazar Borissov Flexible content update via deployment order template
US8788831B2 (en) 2009-03-20 2014-07-22 Barracuda Networks, Inc. More elegant exastore apparatus and method of operation
US8769049B2 (en) 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US9270683B2 (en) 2009-05-15 2016-02-23 Amazon Technologies, Inc. Storage device authentication
EP2304919B1 (en) 2009-05-25 2013-07-24 Hitachi, Ltd. Storage device and its control method
US8090690B2 (en) 2009-05-27 2012-01-03 MiMedia LLC Systems and methods for data upload and download
US8261033B1 (en) 2009-06-04 2012-09-04 Bycast Inc. Time optimized secure traceable migration of massive quantities of data in a distributed storage system
US9239740B2 (en) 2009-06-16 2016-01-19 Microsoft Technology Licensing, Llc Program partitioning across client and cloud
US8964115B2 (en) 2009-06-30 2015-02-24 Nokia Corporation Transmission capacity probing using adaptive redundancy adjustment
US10230692B2 (en) 2009-06-30 2019-03-12 International Business Machines Corporation Distributed storage processing module
US8706980B2 (en) 2009-07-30 2014-04-22 Cleversafe, Inc. Method and apparatus for slice partial rebuilding in a dispersed storage network
US8448016B2 (en) 2009-07-31 2013-05-21 Cleversafe, Inc. Computing core application access utilizing dispersed storage
US9772791B2 (en) 2009-08-27 2017-09-26 International Business Machines Corporation Dispersed storage processing unit and methods with geographical diversity for use in a dispersed storage system
US8949695B2 (en) 2009-08-27 2015-02-03 Cleversafe, Inc. Method and apparatus for nested dispersed storage
US20110078343A1 (en) 2009-09-29 2011-03-31 Cleversafe, Inc. Distributed storage network including memory diversity
US8769035B2 (en) 2009-10-30 2014-07-01 Cleversafe, Inc. Distributed storage network for storing a data object based on storage requirements
US9900150B2 (en) 2009-10-30 2018-02-20 International Business Machines Corporation Dispersed storage camera device and method of operation
US8918897B2 (en) 2009-11-24 2014-12-23 Cleversafe, Inc. Dispersed storage network data slice integrity verification
US8413187B1 (en) 2010-02-06 2013-04-02 Frontier Communications Corporation Method and system to request audiovisual content items matched to programs identified in a program grid
US9171044B2 (en) 2010-02-16 2015-10-27 Oracle International Corporation Method and system for parallelizing database requests
US9135115B2 (en) 2010-02-27 2015-09-15 Cleversafe, Inc. Storing data in multiple formats including a dispersed storage format
US8464063B2 (en) 2010-03-10 2013-06-11 Avaya Inc. Trusted group of a plurality of devices with single sign on, secure authentication
US8281182B2 (en) 2010-03-12 2012-10-02 Cleversafe, Inc. Dispersed storage unit selection
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
EP2564317A1 (en) 2010-04-26 2013-03-06 Hu-Do Limited A computing device operable to work in conjunction with a companion electronic device
US9271052B2 (en) 2010-05-10 2016-02-23 Comcast Cable Communications, Llc Grid encoded media asset data
WO2011150346A2 (en) 2010-05-28 2011-12-01 Laurich Lawrence A Accelerator system for use with secure data storage
US8984384B1 (en) 2010-06-30 2015-03-17 Emc Corporation Distributed storage system with efficient handling of file updates
GB201011146D0 (en) 2010-07-02 2010-08-18 Vodafone Ip Licensing Ltd Mobile computing device
US8386841B1 (en) 2010-07-21 2013-02-26 Symantec Corporation Systems and methods for improving redundant storage fault tolerance
US9063968B2 (en) 2010-08-02 2015-06-23 Cleversafe, Inc. Identifying a compromised encoded data slice
US9940508B2 (en) 2010-08-26 2018-04-10 Blast Motion Inc. Event detection, confirmation and publication system that integrates sensor data and social media
US8621069B1 (en) 2010-09-03 2013-12-31 Adobe Systems Incorporated Provisioning a computing application executing on a cloud to a client device
US8463991B2 (en) 2010-09-28 2013-06-11 Pure Storage Inc. Intra-device data protection in a raid array
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US9032053B2 (en) 2010-10-29 2015-05-12 Nokia Corporation Method and apparatus for upgrading components of a cluster
US8504535B1 (en) 2010-12-20 2013-08-06 Amazon Technologies, Inc. Erasure coding and redundant replication
US9740762B2 (en) 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US9213709B2 (en) 2012-08-08 2015-12-15 Amazon Technologies, Inc. Archival data identification
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9251097B1 (en) 2011-03-22 2016-02-02 Amazon Technologies, Inc. Redundant key management
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US8538029B2 (en) 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution
US20120254089A1 (en) 2011-03-31 2012-10-04 International Business Machines Corporation Vector throttling to control resource use in computer systems
RU2597514C2 (ru) 2011-04-01 2016-09-10 Сименс Акциенгезелльшафт Способ и устройство для файловой системы на программируемом логическом контроллере
US8843803B2 (en) 2011-04-01 2014-09-23 Cleversafe, Inc. Utilizing local memory and dispersed storage memory to access encoded data slices
EP2705419A4 (en) 2011-05-05 2015-04-15 Reversinglabs Internat Gmbh DATABASE SYSTEM AND METHOD THEREFOR
AU2012261972A1 (en) 2011-06-01 2014-01-09 Security First Corp. Systems and methods for secure distributed storage
US9071924B2 (en) 2011-06-20 2015-06-30 Aces & Eights Corporation Systems and methods for digital forensic triage
US8589724B2 (en) 2011-06-30 2013-11-19 Seagate Technology Llc Rapid rebuild of a data set
EP2732368A4 (en) 2011-07-11 2015-01-14 Hewlett Packard Development Co VIRTUAL MACHINE PLACEMENT
US20130073600A1 (en) 2011-09-21 2013-03-21 Jonathan A. Jenkins Remote process execution management
US8788855B2 (en) 2011-09-23 2014-07-22 Microsoft Corporation Cluster computational capacity level switching based on demand prediction and stability constraint and power consumption management
US8886925B2 (en) 2011-10-11 2014-11-11 Citrix Systems, Inc. Protecting enterprise data through policy-based encryption of message attachments
US20140207680A1 (en) 2011-10-17 2014-07-24 Capital One Financial Corporation System and method for providing a mobile wallet shopping companion application
CN102542402B (zh) * 2011-12-02 2015-08-26 袁义军 财务数据处理方法及系统
US9135269B2 (en) 2011-12-07 2015-09-15 Egnyte, Inc. System and method of implementing an object storage infrastructure for cloud-based services
US9009567B2 (en) 2011-12-12 2015-04-14 Cleversafe, Inc. Encrypting distributed computing data
US8930542B2 (en) 2012-01-23 2015-01-06 International Business Machines Corporation Dynamically building a set of compute nodes to host the user's workload
KR101531702B1 (ko) 2012-03-21 2015-06-26 (주)아이티헬스 물류운영시스템의 배송이력정보 관리장치
US8843935B2 (en) 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
WO2013184712A2 (en) 2012-06-04 2013-12-12 Google Inc. Systems and methods of increasing database access concurrency using granular timestamps
WO2013184201A1 (en) 2012-06-08 2013-12-12 Ntt Docomo, Inc. A method and apparatus for low delay access to key-value based storage systems using fec techniques
US9110833B2 (en) 2012-06-25 2015-08-18 Cleversafe, Inc. Non-temporarily storing temporarily stored data in a dispersed storage network
US8806296B1 (en) 2012-06-27 2014-08-12 Amazon Technologies, Inc. Scheduled or gradual redundancy encoding schemes for data storage
US8850288B1 (en) 2012-06-27 2014-09-30 Amazon Technologies, Inc. Throughput-sensitive redundancy encoding schemes for data storage
US9165002B1 (en) 2012-06-27 2015-10-20 Amazon Technologies, Inc. Inexpensive deletion in a data storage system
US8869001B1 (en) 2012-06-27 2014-10-21 Amazon Technologies, Inc. Layered redundancy encoding schemes for data storage
US9110797B1 (en) 2012-06-27 2015-08-18 Amazon Technologies, Inc. Correlated failure zones for data storage
WO2014003599A1 (en) 2012-06-29 2014-01-03 Ems Corparation Redundant disc encoding via erasure decoding
US8935221B1 (en) 2012-07-25 2015-01-13 Amazon Technologies, Inc. Object loss reporting in a data storage system
US9298760B1 (en) 2012-08-03 2016-03-29 Google Inc. Method for shard assignment in a large-scale data processing job
US9092441B1 (en) 2012-08-08 2015-07-28 Amazon Technologies, Inc. Archival data organization and management
US9250811B1 (en) 2012-08-08 2016-02-02 Amazon Technologies, Inc. Data write caching for sequentially written media
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US9354683B2 (en) 2012-08-08 2016-05-31 Amazon Technologies, Inc. Data storage power management
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
BR112015005588B1 (pt) 2012-09-20 2022-01-18 Amazon Technologies , Inc Sistema e método implementado por computador para perfilamento de utilização de recursos de computação.
US20140108421A1 (en) 2012-10-04 2014-04-17 Codefutures Corporation Partitioning database data in a sharded database
US9917889B2 (en) 2012-11-01 2018-03-13 Ebay Inc. Enterprise service bus routing system
US9229983B2 (en) 2012-11-30 2016-01-05 Amazon Technologies, Inc. System-wide query optimization
US8989000B2 (en) 2012-12-04 2015-03-24 Verizon Patent And Licensing Inc. Cloud-based telecommunications infrastructure
US9002805B1 (en) 2012-12-14 2015-04-07 Amazon Technologies, Inc. Conditional storage object deletion
US9052942B1 (en) 2012-12-14 2015-06-09 Amazon Technologies, Inc. Storage object deletion job management
US9110661B2 (en) 2012-12-28 2015-08-18 International Business Machines Corporation Mobile device offloading task to a peer device and receiving a completed task when energy level is below a threshold level
US9483657B2 (en) 2013-01-14 2016-11-01 Accenture Global Services Limited Secure online distributed data storage services
US9223789B1 (en) 2013-03-14 2015-12-29 Amazon Technologies, Inc. Range retrievals from archived data objects according to a predefined hash tree schema
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US20140304356A1 (en) 2013-04-05 2014-10-09 iDevices, LLC Wireless Aggregator
US9600365B2 (en) 2013-04-16 2017-03-21 Microsoft Technology Licensing, Llc Local erasure codes for data storage
US10243786B2 (en) 2013-05-20 2019-03-26 Citrix Systems, Inc. Proximity and context aware mobile workspaces in enterprise systems
US9195668B2 (en) 2013-06-18 2015-11-24 Barracuda Networks, Inc. Log access method storage control apparatus, archive system, and method of operation
US9378084B2 (en) 2013-06-25 2016-06-28 Microsoft Technology Licensing, Llc Erasure coding across multiple zones
US9244761B2 (en) 2013-06-25 2016-01-26 Microsoft Technology Licensing, Llc Erasure coding across multiple zones and sub-zones
CN105164644B (zh) 2013-06-28 2018-10-16 安提特软件有限责任公司 钩子框架
US20150058473A1 (en) 2013-08-26 2015-02-26 Cisco Technology, Inc. Network address mapping to nearby location identification
WO2015080752A1 (en) 2013-11-29 2015-06-04 New Jersey Institute Of Technology Allocation of virtual machines to physical machines through dominant resource assisted heuristics
US9817749B2 (en) 2013-12-04 2017-11-14 Sandisk Technologies Llc Apparatus and method of offloading processing from a data storage device to a host device
US10685037B2 (en) 2013-12-18 2020-06-16 Amazon Technology, Inc. Volume cohorts in object-redundant storage systems
US20150256423A1 (en) 2014-03-10 2015-09-10 Charles Carey Stearns Data collection, aggregation, and analysis for parental monitoring
US10120924B2 (en) 2014-03-31 2018-11-06 Akamai Technologies, Inc. Quarantine and repair of replicas in a quorum-based data storage system
US9513820B1 (en) 2014-04-07 2016-12-06 Pure Storage, Inc. Dynamically controlling temporary compromise on data redundancy
US20150324745A1 (en) 2014-05-09 2015-11-12 Elwha LLC, a limited liability company of the State of Delaware Transport label system with updatable address
US9448614B2 (en) 2014-05-13 2016-09-20 Netapp, Inc. Low power archival data storage enclosure
US9753669B2 (en) 2014-05-13 2017-09-05 Velostrata Ltd. Real time cloud bursting
US9449346B1 (en) 2014-05-21 2016-09-20 Plaid Technologies, Inc. System and method for programmatically accessing financial data
US9565250B2 (en) 2014-05-30 2017-02-07 Microsoft Technology Licensing, Llc Data transfer service
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9612952B2 (en) 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US9825625B2 (en) 2014-07-09 2017-11-21 CT-Concept Technologie GmbH Multi-stage gate turn-off with dynamic timing
EP2966562A1 (en) 2014-07-09 2016-01-13 Nexenta Systems, Inc. Method to optimize inline i/o processing in tiered distributed storage systems
US9851998B2 (en) 2014-07-30 2017-12-26 Microsoft Technology Licensing, Llc Hypervisor-hosted virtual machine forensics
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US20160048399A1 (en) 2014-08-15 2016-02-18 At&T Intellectual Property I, L.P. Orchestrated sensor set
US9256761B1 (en) 2014-08-18 2016-02-09 Yp Llc Data storage service for personalization system
US10095394B2 (en) 2014-09-02 2018-10-09 Apple Inc. Image display and interaction using a mobile device
WO2016048297A1 (en) 2014-09-24 2016-03-31 Hewlett Packard Enterprise Development Lp Utilizing error correction (ecc) for secure secret sharing
US9256467B1 (en) 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US9959274B2 (en) 2014-12-19 2018-05-01 Amazon Technologies, Inc. Volume-level redundancy coding techniques for sequential transfer optimized storage devices
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.
US9405333B1 (en) 2015-03-23 2016-08-02 Allied Reliabily Group Inc. Method and system for rugged tablet PC based modular data acquisition
US9459959B1 (en) 2015-03-30 2016-10-04 Amazon Technologies, Inc. Failure-decoupled volume-level redundancy coding techniques
US9495249B1 (en) 2015-03-31 2016-11-15 Amazon Technolgies, Inc. Precomputed redundancy code matrices for high-availability data storage
US11829349B2 (en) 2015-05-11 2023-11-28 Oracle International Corporation Direct-connect functionality in a distributed database grid
US9853662B1 (en) 2015-06-17 2017-12-26 Amazon Technologies, Inc. Random access optimization for redundancy coded data storage systems
US9838041B1 (en) 2015-06-17 2017-12-05 Amazon Technologies, Inc. Device type differentiation for redundancy coded data storage systems
US9838042B1 (en) 2015-06-17 2017-12-05 Amazon Technologies, Inc. Data retrieval optimization for redundancy coded data storage systems with static redundancy ratios
US9825652B1 (en) 2015-06-17 2017-11-21 Amazon Technologies, Inc. Inter-facility network traffic optimization for redundancy coded data storage systems
US9866242B1 (en) 2015-06-17 2018-01-09 Amazon Technologies, Inc. Throughput optimization for redundancy coded data storage systems
US9923966B1 (en) 2015-06-29 2018-03-20 Amazon Technologies, Inc. Flexible media storage and organization in automated data storage systems
US9998539B1 (en) 2015-07-01 2018-06-12 Amazon Technologies, Inc. Non-parity in grid encoded data storage systems
US9904589B1 (en) 2015-07-01 2018-02-27 Amazon Technologies, Inc. Incremental media size extension for grid encoded data storage systems
EP3317775B1 (en) * 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US9792179B1 (en) 2015-07-06 2017-10-17 Amazon Technologies, Inc. Eventually durable redundancy encoded data storage
US9672110B1 (en) 2015-09-22 2017-06-06 Amazon Technologies, Inc. Transmission time refinement in a storage system
JP6951329B2 (ja) 2015-10-14 2021-10-20 ケンブリッジ ブロックチェーン,エルエルシー デジタルアイデンティティを管理するためのシステム及び方法
US9785495B1 (en) 2015-12-14 2017-10-10 Amazon Technologies, Inc. Techniques and systems for detecting anomalous operational data
US9934389B2 (en) 2015-12-18 2018-04-03 Amazon Technologies, Inc. Provisioning of a shippable storage device and ingesting data from the shippable storage device
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10346428B2 (en) * 2016-04-08 2019-07-09 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
US10404469B2 (en) * 2016-04-08 2019-09-03 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
US20170331896A1 (en) 2016-05-13 2017-11-16 De La Rue International Limited Methods and systems for processing assets
US11170346B2 (en) * 2016-09-19 2021-11-09 Sap Se Decentralized credentials verification network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081134A (ja) * 2014-10-10 2016-05-16 山下 健一 広告閲覧促進システム、情報処理方法及びプログラム
WO2016067295A1 (en) * 2014-10-30 2016-05-06 Spondoolies Tech Ltd. Method and system for reducing power consumption in bitcoin mining via waterfall structure
US20160203477A1 (en) * 2015-01-14 2016-07-14 Modernity Financial Holdings, Ltd. Cryptographic security for electronic transactions
US20160283941A1 (en) * 2015-03-27 2016-09-29 Black Gold Coin, Inc. Systems and methods for personal identification and verification
JP5858506B1 (ja) * 2015-04-09 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021521544A (ja) * 2018-04-19 2021-08-26 ヴィチェーン ファウンデーション リミテッド 取引処理
JP7284967B2 (ja) 2018-04-19 2023-06-01 ヴィチェーン ファウンデーション リミテッド 取引処理
JP2020086634A (ja) * 2018-11-19 2020-06-04 株式会社A.L.I.Technologies 資産情報登録方法
JP7274198B2 (ja) 2018-11-19 2023-05-16 株式会社A.L.I.Technologies 資産情報登録方法
WO2022079809A1 (ja) * 2020-10-13 2022-04-21 株式会社日立製作所 ブロックチェーンに関わるピアツーピアネットワークを含むシステム、同ピアツーピアネットワークの構築を支援する方法、並びに、ピアで実行されるスマートコントラクト

Also Published As

Publication number Publication date
AU2017336924A1 (en) 2019-04-18
JP6730520B2 (ja) 2020-07-29
CN109844783A (zh) 2019-06-04
AU2017336924B2 (en) 2020-11-12
WO2018064487A1 (en) 2018-04-05
CN109844783B (zh) 2023-11-07
US10614239B2 (en) 2020-04-07
EP3520047B1 (en) 2024-03-06
EP3520047A1 (en) 2019-08-07
US20180096163A1 (en) 2018-04-05

Similar Documents

Publication Publication Date Title
JP6730520B2 (ja) 暗号学的に保護された台帳が支援するイミュータブルなデータベース
US10296764B1 (en) Verifiable cryptographically secured ledgers for human resource systems
US20210044426A1 (en) Aws identity - blockchain for cloud based audit services
US11429729B2 (en) Buckets with policy driven forced encryption
US9990504B1 (en) Systems and methods for generating and maintaining immutable digital meeting records within distributed network nodes
CN110494876B (zh) 用于在分布式网络节点内发布和追踪数字令牌的系统和方法
CN110494877B (zh) 用于在分布式网络节点内发布和追踪数字令牌的系统和方法
US11451392B2 (en) Token-based secure data management
US10581847B1 (en) Blockchain-backed device and user provisioning
US20200242595A1 (en) Systems, methods, and apparatuses utilizing a blended blockchain ledger in a cloud service to address local storage
US9519696B1 (en) Data transformation policies
US11941583B1 (en) Intelligent employment-based blockchain
JP2022529967A (ja) ブロックチェーン・ネットワークからのデータの抽出
CN116982033A (zh) 先进的不可替代令牌区块链架构
US9854001B1 (en) Transparent policies
CN111723355A (zh) 数据库中的信息管理
US20220150050A1 (en) Blockchain data compression and storage
US12009070B1 (en) Intelligent health-based blockchain
US20200311695A1 (en) Privacy-preserving gridlock resolution
JP6291043B2 (ja) ポリシー強制遅延
US11157876B1 (en) Intelligent employment-based blockchain
CN111756684B (zh) 传输关键数据的方法、系统和非暂时性计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200424

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: 20200602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200702

R150 Certificate of patent or registration of utility model

Ref document number: 6730520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250