(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-21
(54)【発明の名称】信頼できる台帳管理システム及び方法
(51)【国際特許分類】
G06F 21/64 20130101AFI20231114BHJP
H04L 9/32 20060101ALI20231114BHJP
【FI】
G06F21/64
H04L9/32 200Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023522781
(86)(22)【出願日】2021-10-07
(85)【翻訳文提出日】2023-06-12
(86)【国際出願番号】 US2021071777
(87)【国際公開番号】W WO2022082152
(87)【国際公開日】2022-04-21
(32)【優先日】2020-10-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-03-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】397072765
【氏名又は名称】インタートラスト テクノロジーズ コーポレイション
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【氏名又は名称】鈴木 信彦
(74)【代理人】
【識別番号】100228337
【氏名又は名称】大橋 綾
(72)【発明者】
【氏名】ニルソン ジャール
(72)【発明者】
【氏名】マー デイヴィッド
(57)【要約】
本開示は、とりわけ、信頼できる台帳内で発生する害のない若しくはそうではないエラーのリスクを軽減するため、及び/又は信頼できる台帳のオペレータによって提供される情報の完全性を確認するためのシステム及び方法に関する。本明細書に開示される実施形態と一致して、プロキシエージェント及び/又はテストエージェントを含み得る、信頼できるエージェントを採用して、他の台帳とメッシュ化され得る台帳及び/又は派生物を調べ、台帳オペレータによって提供される情報の完全性を確保することができる。台帳エントリを検証し、かつ/又はデータ障害から回復する能力を改善する方法で台帳をリンクする、台帳メッシュ化技法が説明される。タグ付けプロセスを提供する更なる実施形態は、信頼できる台帳に含まれるハッシュにセマンティックな意味を与えるために実行され得る。
【特許請求の範囲】
【請求項1】
システム上で実行されている信頼できるプロキシエージェントによって実行される方法であって、前記システムが、プロセッサと、前記プロセッサによって実行されたときに、ユーザシステムに前記方法を実行させる命令を記憶している非一時的コンピュータ可読記憶媒体を備え、前記方法が、
クエリシステムから、少なくとも1つのアサーションに関する情報を含むアサーション検証要求を受信することと、
前記アサーション検証要求を受信することに応答して、信頼できる分散型アサーション台帳の第1のインスタンスを維持する第1の台帳ノードに第1のクエリを発行することと、
前記第1の台帳ノードから、前記第1のクエリ及び前記信頼できる分散型アサーション台帳の前記第1のインスタンスに基づいて、前記第1の台帳ノードによって生成された第1のクエリ応答を受信することと、
前記アサーション検証要求を受信することに応答して、前記信頼できる分散型アサーション台帳の第2のインスタンスを維持する第2の台帳ノードに第2のクエリを発行することと、
前記第2の台帳ノードから、前記第2のクエリ及び前記信頼できる分散型アサーション台帳の前記第2のインスタンスに基づいて、前記第2の台帳ノードによって生成された第2のクエリ応答を受信することと、
少なくとも前記第1のクエリ応答及び前記第2のクエリ応答に基づいて、前記分散型アサーション台帳の前記第1のインスタンス及び前記分散型アサーション台帳の前記第2のインスタンスが各々前記少なくとも1つのアサーションを含むかどうかを判定することと、
前記判定に少なくとも部分的に基づいて、アサーション検証応答を生成することと、
前記信頼できるプロキシエージェントから前記クエリシステムに前記アサーション検証応答を送信することを含む、方法。
【請求項2】
前記第1の台帳ノードに前記第1のクエリを発行することが、前記第1の台帳ノードへの前記第1のクエリの発信元を匿名化することを含む、請求項1に記載の方法。
【請求項3】
前記第1の台帳ノードに前記第1のクエリを発行することが、前記第1のクエリに関連付けられたインターネットプロトコルアドレスをブラインド化することを含む、請求項1に記載の方法。
【請求項4】
前記第1の台帳ノードに前記第1のクエリを発行することが、前記クエリシステムと前記第1のクエリとの間の関連付けを匿名化することを含む、請求項1に記載の方法。
【請求項5】
前記第2の台帳ノードに前記第2のクエリを発行することが、前記第2の台帳ノードへの前記第2のクエリの発信元を匿名化することを含む、請求項1に記載の方法。
【請求項6】
前記第2の台帳ノードに前記第2のクエリを発行することが、前記第2のクエリに関連付けられたインターネットプロトコルアドレスをブラインド化することを含む、請求項1に記載の方法。
【請求項7】
前記第2の台帳ノードに前記第2のクエリを発行することが、前記クエリシステムと前記第2のクエリとの間の関連付けを匿名化することを含む、請求項1に記載の方法。
【請求項8】
第1の分散型アサーション台帳が、暗号でリンクされた台帳エントリを含む、請求項1に記載の方法。
【請求項9】
前記第1の分散型アサーション台帳が、ブロックチェーン台帳を含む、請求項8に記載の方法。
【請求項10】
第2の分散型アサーション台帳が、暗号でリンクされた台帳エントリを含む、請求項1に記載の方法。
【請求項11】
前記第2の分散型アサーション台帳が、ブロックチェーン台帳を含む、請求項10に記載の方法。
【請求項12】
前記第1の分散型アサーション台帳及び前記第2の分散型アサーション台帳アサーション台帳のうちの少なくとも1つが、1つ以上の他の信頼できる台帳のエントリの少なくともサブセットから導出される1つ以上のエントリを含む、請求項1に記載の方法。
【請求項13】
前記第1の分散型アサーション台帳及び前記第2の分散型アサーション台帳アサーション台帳のうちの少なくとも1つが、前記1つ以上の他の信頼できる台帳のエントリの前記少なくともサブセットから導出される1つ以上のエントリを含む、請求項12に記載の方法。
【請求項14】
前記少なくとも1つのアサーションに関する前記情報が、ユニフォームリソースロケータアドレス、インターネットプロトコルアドレス、及びパブリック暗号キーのうちの1つ以上を含む、請求項1に記載の方法。
【請求項15】
前記少なくとも1つのアサーションに関する前記情報が、ハッシュ値を含む、請求項1に記載の方法。
【請求項16】
前記ハッシュ値が、ユニフォームリソースロケータアドレス、インターネットプロトコルアドレス、及びパブリック暗号キーのうちの1つ以上に基づいて計算される、請求項15に記載の方法。
【請求項17】
前記方法が、前記信頼できる分散型アサーション台帳の前記第1のインスタンス内の少なくとも1つのエントリのセマンティック構造に少なくとも部分的に基づいて、前記信頼できる分散型アサーション台帳の前記第2のインスタンスを識別することを更に含む、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2020年10月14日に出願された、「HASH ADDRESSING SYSTEMS AND METHODS」と題する米国特許仮出願第63/091,876号、及び2021年3月11日に出願された「TRUSTED LEDGER MANAGEMENT SYSTEMS AND METHODS」と題する米国特許出願第17/199,387号に対する優先権の利益を主張するものであり、これらの出願の内容は両方とも、参照により全体が本明細書に組み込まれる。
【0002】
(著作権許諾)
本特許文書の開示の部分には、著作権保護の対象となる資料が含まれている場合がある。著作権者は、米国特許商標庁の特許ファイル又は記録に記載されているように、特許文書又は特許開示のいずれかによるファクシミリ複製には異論を唱えないが、そうでなければ、全ての著作権を留保する。
【発明の概要】
【0003】
本開示は、概して、信頼できる台帳のロバスト性を改善するためのシステム及び方法に関する。より具体的には、排他的ではないが、本開示は、管理台帳派生物を使用して、信頼できる台帳の耐障害性を改善するためのシステム及び方法に関する。
【0004】
パブリック型の信頼できる台帳を含み得る信頼できる台帳を使用して、種々の情報を安全に記録及び/又は管理することができる。例えば、セキュアな台帳は、情報の出所を判定するために使用され得る情報を記録及び/又は管理すること、属性、所有権、及び/又は作成の匿名証明を提供すること、ある特定の主張及び/又はアサーションを監査及び/又は別様に検証するための信頼できる方法をパブリックに提供することなどを行うことができる。
【0005】
本明細書で開示される様々な実施形態と一致して、信頼できるデータベース、台帳などは、様々なエンティティに関連付けられた様々なアサーション、バインディング、属性、アイデンティティなどを記録及び/又は別様に管理するために使用され得る。いくつかの実施形態では、信頼できる台帳は、本質的に分散されてもよい。分散型の信頼できる台帳は、本明細書のある特定のインスタンスでは、信頼できる不変の分散型アサーション台帳(trusted immutable distributed assertion ledger、「TIDAL」)及び/又はその変形例と称され得る。台帳は、様々な実施形態において、パブリック、プライベート、及び/又はそれらの組み合わせであってもよい。ある特定の実施形態では、TIDALは、パブリック型のインデリブル分散型データベース(public indelible distributed database、「PIDD」)を含み得る。TIDALは、例えば、ビザンチン障害に耐性があり得る台帳プロセス、不変及び/又は比較的不変であり得るエントリ、(少なくとも部分的に)時間同期され得るエントリ、スケーラブルであり得るエントリ、及び/又は比較的高速なルックアップのために利用可能であり得るエントリを含む、種々のプロパティに関連付けられ得る。
【0006】
TIDALを含む信頼できる台帳は、様々なブロックチェーン技術を使用して、少なくとも部分的に実装することができる。信頼できる台帳のユーザは、順序付けられたデータベースにエントリを投稿することができる。各エントリは、関連付けられたメッセージ、メッセージの署名、及び解読キーの関連付けられた暗号化キーを有する人がメッセージに署名したことを検証するために他の人が使用することができる、いくつかの関連付けられた解読キーを有し得る。
【0007】
開示される信頼できる台帳の様々な実施形態では、エントリを、台帳に付け加えることができる。エントリの各追加は、本明細書のある特定のインスタンスで台帳ノードと称され得る、いくつかの当事者によってウィットネスされることがあり、エントリは、データベース内のメッセージ及び/又はエントリの順序の変更が検出され得ることを確保するように、様々な補助暗号情報を伴うことがある。エントリは、台帳内の一意な数値位置に存在する可能性があり、全てのウィットネスが台帳にエントリを追加することに同意すると、ウィットネスによる検出なしに、エントリの存在、内容、及び/又は台帳内の位置を変えることが困難な場合がある。
【0008】
ウィットネスは、種々の形態をとり得る。例えば、ブロックチェーンベースの暗号通貨では、ウィットネスは、任意の好適に構成されたコンピュータであり得る。他の実装形態では、独立したエンティティ及び/又はコンソーシアムに参加した会社に関連付けられた許可されたシステムは、ウィットネスとして動作し得る。
【0009】
信頼できる台帳に記憶された情報は、全てのデータと同様に、障害を起こしやすい可能性がある。より多くのエントリで台帳が大きくなるにつれて、障害のリスクは、時間の経過とともに、かつ/又は台帳のサイズの増大に伴って大きくなる可能性がある。
【0010】
開示されたシステム及び方法の実施形態は、信頼できる台帳の記憶及び管理に関連付けられた障害のリスクを軽減するのに役立ち得る。本明細書に開示された実施形態と一致して、ハッシュチェーン化データブロック、TIDAL、及び/又はブロックチェーン台帳を含む信頼できる台帳は、台帳エントリを検証する能力及び/又はデータ障害から回復する能力を改善する方法で、他の信頼できる台帳と「メッシュ化」することができる。とりわけ、メッシュ化は、台帳の検証プロセスが、エラーを有するブロックをスキップすることを許容し得る一方で、チェーン内の更に下の1つ以上のポイントにおける検証を許容し続ける。
【0011】
本明細書で開示される実施形態と一致して、信頼できる台帳に含まれるハッシュにセマンティックな意味を与えるために、タグ付けプロセスが実行される場合がある。例えば、ブロックチェーン台帳などのプルーフオブワーク台帳では、生成されたハッシュが、一種のタグとして動作する、関連付けられたエントリの性質及び/又は特性に関連する情報を提供するために使用され得る、ある特定のセマンティック構造を有するように、プルーフオブワーク規則が変更される場合がある。例えば、いくつかの実施形態では、台帳内の特定のエントリのセマンティック構造は、エントリを、別の信頼できる台帳及び/又は派生台帳を有するメッシュ化エントリとして識別することができる。
【0012】
更なる実施形態では、他の台帳及び/又はTIDALから導出されたデータベースを備え得る、台帳派生物のメッシュ化により、それらの派生物の信頼性を高めることができ、アプリケーションが、それらの派生物に発行されたクエリに応答して提供される情報の完全性により良く依存することが許容される。様々な実施形態では、信頼できるエージェントを採用して、他の台帳とメッシュ化され得る台帳及び/又は派生物を調べ、信頼できるエージェントによって調べられる台帳の完全性を確保することができる。
【図面の簡単な説明】
【0013】
本発明のワーク本体は、添付の図面と併せて次の詳細な説明を参照することによって容易に理解されるであろう。
【
図1】本明細書に開示されるある特定の実施形態と一致する信頼できる台帳の管理の実施例を図示する。
【
図2】本開示のある特定の実施形態と一致するメッシュ化した信頼できる台帳の実施例を図示する。
【
図3】本開示のある特定の実施形態と一致する台帳エントリのセマンティックタグ付けの実施例を図示する。
【
図4】本開示のある特定の実施形態と一致する完全性について台帳エントリを調べる信頼できるエージェントの実施例を図示する。
【
図5】本開示のある特定の実施形態と一致する台帳検証プロセスの実施例の概念図を図示する。
【
図6】本開示のある特定の実施形態と一致する信頼できる台帳内のエントリを検証するための方法の実施例のフローチャートを図示する。
【
図7】本開示のシステム及び方法のある特定の実施形態を実装するために使用することができるシステムの実施例を図示する。
【発明を実施するための形態】
【0014】
本開示の実施形態と一貫性のあるシステム及び方法の詳細な説明が以下に提供される。いくつかの実施形態が記載されているが、本開示はいずれか1つの実施形態に限定されず、その代わりに多数の代替物、改変物、及び均等物を包含することを理解されたい。多数の具体的な詳細は、本明細書に開示された実施形態の完全な理解を提供するために、以下の説明に記載されているが、いくつかの実施形態は、これらの詳細の一部又は全てなしで実施することができる。更に、明瞭化のために、関連技術において既知である、ある特定の技術的資料は、開示を不必要に不明瞭にすることを避けるために詳細には記載されていない。
【0015】
本開示の実施形態は、図面を参照することによって理解され得る。開示された実施形態のコンポーネントは、本明細書の図で一般的に記載され図示されているように、多種多様な構成で配置し、設計することができる。したがって、本開示のシステム及び方法の実施形態の次の詳細な説明は、特許請求される本開示の範囲を限定するものではなく、本開示の可能な実施形態の単なる代表例である。加えて、本明細書に開示された任意の方法のステップは、別途指定しない限り、必ずしも任意の具体的な順序で実行される必要はなく、逐次的に実行される必要もなく、ステップが1回だけ実行される必要もない。
【0016】
本明細書で開示される実施形態は、とりわけ、信頼できる台帳の完全性を維持するための種々の技法を提供する。本明細書に開示される実施形態と一致して、プロキシエージェント及び/又は他のテストエージェントを含み得る信頼できるエージェントは、台帳オペレータによって提供される情報の完全性を確保するために、他の台帳とメッシュ化され得る台帳及び/又は派生物を調べるために採用することができる。台帳エントリを検証し、かつ/又はデータ障害から回復するためのプロセスを改善する方法で、台帳がリンクされることを許容する、台帳メッシュ化技法が説明される。更なる実施形態において、タグ付けプロセスは、信頼できる台帳に含まれるハッシュにセマンティックな意味を与えるために実行される場合がある。とりわけ、開示されたシステム及び方法の実施形態は、良性か別様かを問わず、信頼された台帳内で発生するエラーのリスクを軽減するのに役立ち、台帳オペレータによって提供される情報の完全性を調べ、確認するための信頼された機構を提供し得る。
【0017】
信頼できる台帳アーキテクチャ及び管理
TIDALを含む、開示される実施形態の様々な態様に一致する信頼できる台帳は、以下のうちの1つ以上を含み得る種々のプロパティに関連付けられ得る。
■ビザンチン障害に耐性があり得る台帳プロセス。
■不変であり得るエントリ。
■(少なくとも部分的に)時刻同期され得るエントリ。新しいエントリの区別されたセット(例えば、ブロックチェーン内のブロックなど)は、不変の順序付けを有してもよく、それによって、より新しい(例えば、実時間においてより最近の)エントリは、以前のエントリよりも比較的順序が高くてもよい。いくつかのインスタンスでは、エントリは、エントリの特定の時間を識別するためにタイムスタンプされ得る。
■台帳は、エントリ数に拡張性があってもよい。
■台帳内のエントリは、比較的速いルックアップ及び/又は検索のために利用可能であってもよい。
【0018】
ある特定の実施形態では、拡張性並びに高速ルックアップ及び/又は検索は、台帳自体によってではないとしても、台帳の派生物を使用することによって達成することができ、かつ/又は別様に改善することができる。
【0019】
様々な開示される実施形態と一致して、信頼できる台帳パラダイムは、効率的なビザンチン合意プロトコルを使用する許可されたブロックチェーンを含み得る。いくつかの実施形態では、台帳エントリは、各々がキー(及び/又はキーのハッシュ若しくは他の派生物)を、所有者のアイデンティティ及び/又はそのエイリアス、所有者の権限の範囲、情報権利管理許可などのような、そのキーに関連付けられた他の属性と結び付ける、有資格のサブミッタのクラスによって行われるアサーションを含み得る。
【0020】
台帳は、複数のノード間に分散されることができる。フルノードは、台帳のフルコピーを有し得る。ある特定の実施形態では、台帳アクタ、ノード、及び/又はエンティティは、アサーションサブミッタ、ウィットネス及び/又は検証者、及び/又は分散型台帳ノードオペレータを含むことができる。
【0021】
ある特定の実装形態では、いくつかの台帳が採用されてもよく、その各々は、関連付けられたアサーションタイプについての適切なポリシーを伴う様々なタイプのアサーションの記録に特化してもよい。いくつかの実施形態では、所与のアプリケーションは、複数のアサーションの真正性に依存してもよく、複数の台帳に直接及び/又は間接的にクエリを行ってもよい。例えば、台帳派生物が問い合わされるときに、台帳に間接的にクエリを行うことができる。いくつかの実施形態では、台帳派生物は、1つ以上の他の台帳内に記録された情報から導出された1つ以上のデータベース及び/又は台帳を含んでもよい。
【0022】
いくつかの実施形態では、台帳を使用して、そのような情報を肯定するノードのアサーション及び/又は権限の証拠を収集することができ、複数の当事者がポリシーに準拠しているかどうかをクロスチェックすることが許容される。台帳は、認証情報(例えば、アサーションのハッシュ)をデータベース及び/又は台帳のパブリック部分に記録してもよい。ある特定のインスタンスでは、いくつかのアプリケーションは、暗号化された情報のハッシュを記録することができる。しかしながら、他のアプリケーションは、認証情報へのアクセスが統制され、かつ/又は修正され得る(例えば、無効化され得る)ような方法で、情報平文のハッシュを記録することができる。ハッシュ化されていない平文情報へのアクセスは、適用可能なポリシーによって統制することができる。
【0023】
ある特定の実施形態では、台帳は、ブロックチェーンを含んでいてもよいが、他のデータベース及び/又は台帳構造が使用されてもよい。例えば、開示される実施形態の様々な態様に関連して、ハッシュグラフ、タングル又は有向非巡回グラフなどを使用することもできる。いくつかの実施形態では、台帳はパブリックに読み取り可能であってもよいが、他の実施形態では、必ずしもパブリックに読み取り可能でなくてもよい。例えば、開示される実施形態の様々な態様に関連して、台帳は、必ずしも全てのアプリケーションにおいてパブリックにアクセス可能でなくてもよく、いくつかのアプリケーションは複数の台帳を使用し、そのうちのいくつかはパブリック型であり、いくつかはプライベート型であってもよい。更に、いくつかの実施形態では、分散型の信頼が必ずしも必要でないプロトコルの一部についてそうであるように、台帳は、台帳の性質のうちのいくつかを欠くデータベースと置き換えられ、かつ/又は併用され得る。更なる実施形態では、台帳に含まれる情報は、台帳の記録、維持、及び/又はクエリに関連して使用される、種々の好適な暗号保護及び/又は他のセキュリティ技法を通して、信頼される可能性がある。
【0024】
図1は、本明細書に開示されるある特定の実施形態と一致する信頼できる台帳102の管理の実施例を図示する。ある特定の実施形態は、信頼できる台帳102は、例えば、限定ではないが、TIDALの場合など、本質的に分散されてもよいが、開示される実施形態の態様はまた、任意の他の好適なタイプの分散型データベース及び/又は任意の好適な形態の台帳と関連して使用されてもよい。
【0025】
図示のように、アサーションサブミッタ100は、台帳102に記録するためにアサーションをサブミットすることができる。いくつかの実施形態では、アサーションサブミッタ100は、台帳102に記録されることを検討するために、アサーションをサブミットする権限を示す認証情報を所有するエンティティ及び/又はシステムを含み得る。例えば、いくつかの実施形態において、アサーションサブミッタ100は、ユーザシステム、名称権限及び/又は他の権限などを含み得る。
【0026】
アサーションは、本明細書で説明される様々な実施例に関連して説明されるいずれかのタイプのデータ及び/又は情報を含む、台帳に記録され得る任意のタイプのデータ及び/又は情報を含み得ることが理解されよう。いくつかの実施形態では、アサーションは、異なるデータ及び/又は情報間の関係を記述する連想情報を含むことができる。例えば、限定はしないが、アサーションは、ユーザ及び/又はエンティティを識別するデータ及び/又は情報と、そのユーザ及び/又はエンティティに関連付けられたファクト情報との間の関連付けを含み得る。別の非限定的な実施例では、アサーションは、データ及び/又は情報、並びに/若しくはデータ及び/又は情報を生成した、並びに/若しくは別様にデータ及び/又は情報に関連付けられた権利を有するエンティティの間の関連付けを含み得る。
【0027】
いくつかの実施形態では、アサーションは、対象関連データ及び/又は情報及び/又はその部分の変換に基づいて生成されてもよい。例えば、限定はしないが、アサーションは、アサーションの対象であるデータ及び/又は情報に基づいて生成されたハッシュを含み得る。他のタイプの変換も企図される。したがって、本明細書に記載されるアサーションの様々な実施例及び実施形態は、限定ではなく、図示及び説明の目的で提供されることが理解されよう。
【0028】
いくつかの実施形態では、サブミットされたアサーションは、アサーションサブミッタ100が、台帳102に含めるためにサブミットされたアサーションに反映される特定のタイプ及び/又は範囲のサブミットを行うために必要な権限を有するかどうかを判定するために、検証及び/又はウィットネスプロセスに関連して、様々な台帳ノード104によって使用され得る、アサーションサブミッタ100に関連付けられた識別子を含み得る。
【0029】
サブミットされたアサーションは、とりわけ、台帳102を維持及び/又は別様に管理し得、本明細書のある特定のインスタンスでは、台帳管理システム及び/又はノードと称され得る、様々な台帳ノード104にブロードキャストされてもよい。ある特定の実施形態において、台帳ノード104の少なくとも一部分は、台帳102内のアサーションの記録に先立って、サブミットされたアサーションを検証するように構成されてもよい。様々な開示される実施形態と一致して、アサーションは、ウィットネス及び/又は検証者として動作する複数の台帳ノード104の合意に応じて、台帳102に入力されてもよい。ウィットネス及び/又は検証者として動作する台帳ノード104は、アサーションサブミッタ100の権限の真正性を検証して、推定権限が1つ以上の適用可能ポリシーに従ってアサーションを作製することを実際に許可されていることを検証することができる。いくつかの実施形態では、サブミットされたアサーションを作製するアサーションサブミッタ100の権限の真正性を検証するために、台帳ノード104は、台帳102内の以前のエントリ並びに/若しくは他の台帳及び/又は関連付けられた台帳派生物内のエントリをチェックして、アサーションサブミッタ100が適用可能なポリシーに従って、台帳へのサブミットを行う権限を与えられていることを検証することができる。
【0030】
ウィットネスとして動作する台帳ノード104は、サブミットされたアサーションを台帳102内に記録する前に、種々の情報を検証してもよい。例えば、台帳ノード104は、アサーションとともに提出された識別子(例えば、アサーションサブミッタ100のID、パブリックキーなど)が有効であること、及び/又は取り消されていないことを検証することができる。台帳ノード104は、サブミッタの権限の範囲にアサーションの対象に対する権限が含まれていることを更に検証することができる。ある特定の実施形態において、これは、台帳102に含まれるアサーションサブミッタ100に関する以前のサブミットを検証することを伴い得る。
【0031】
様々な実施形態では、検証されたアサーションは、台帳102内に入力されるプール内に置かれてもよく、ウィットネスとして動作する閾値数の台帳ノード104が、アサーションサブミッタ100の真正性及び/又はアサーションを行う実際の権限に関して同意する場合、アサーションは、台帳102内に記録されてもよい。ある特定の実施形態では、この合意は、例えば、限定ではないが、ビザンチン合意プロトコル及び/又は別の好適なプロトコルを使用して、適用可能な合意ポリシーに従って達することができる。合意に達すると、アサーションは、台帳ノード104によって確認されたとみなされ得、サブミットは、台帳102内に記録及び/又は別様に入力され得る。
【0032】
アサーション及び/又はある特定のタイプのアサーション(例えば、特定のデバイスなどに関するアサーション)が台帳102内に記録されているかどうかを判定することに関心があるクエリシステム106は、台帳ノード104及び/又は他の関連付けられたシステムのうちの1つ以上にクエリを行い、関連付けられた応答を受信するように構成され得る。様々な実施形態では、クエリシステム106は、台帳ノード104のうちの1つ及び/又は別のシステムを含み得る、台帳派生物108を維持するシステムにクエリを行うことができ、台帳派生物108及び/又は台帳102内に記録されたアサーションを示す関連付けられた応答を受信することができる。
【0033】
信頼できる台帳のメッシュ化
例えば、限定はしないが、SHA256などのハッシュ関数は、バイトのストリームを入力として取り、入力の比較的一意の表現をより短いバイト列で生成することができる。バイト列は、大きなアドレス空間内への参照として見ることができる。この参照アドレスは必ずしも一意である必要はないが、コリジョンの可能性は比較的低い。
【0034】
ブロックチェーン台帳などの信頼できる台帳システムでは、データのブロックは、ハッシュの参照によって一緒に連鎖され得る。参照及びデータブロックは、物理媒体上に記憶されてもよく、ランダムに、かつ/又はある程度ランダムに発生し得る通常の記憶の減衰を受けることがある。記憶の減衰の軽減に役立つように、例えば、限定はしないが、エラー訂正符号を実装すること、複数の台帳コピーを維持することなどを含む、種々の技法を採用することができる。しかしながら、これらの技法は、いくつかの状況において、訂正不可能なエラーに対して脆弱であり得、これは、エラー訂正空間における既知の正しいブロックと既知の正しくないブロックとの間のコリジョンとして見られ得る。いくつかの実装形態では、訂正不可能なエラーを低減することができるが、訂正不可能なエラーをなくすことは困難であることがわかり得る。訂正不可能なエラーがブロックチェーン台帳に導入される場合、チェーンは、ルートからヘッドまで検証可能ではない場合がある。
【0035】
本明細書に開示される実施形態と一致して、信頼できる台帳のメッシュ化技法は、とりわけ、訂正不可能なエラー及び/又は障害によって引き起こされるリスクを軽減するために使用することができ、それによって信頼できる台帳の耐障害性を改善する。ある特定の実施形態では、信頼できる台帳は、台帳エントリを検証し、かつ/又はデータ障害から回復する能力を改善する方法で、他の信頼できる台帳とメッシュ化されてもよい。様々な実施形態では、メッシュ化は、チェーンの検証プロセスが、エラーを有するブロックをスキップし、チェーン内の後の時点で検証を継続することを許容することができる。
【0036】
図2は、本開示のある特定の実施形態と一致する、メッシュ化された信頼できる台帳200、202の実施例を図示する。示されるように、ハッシュチェーン台帳を含み得る、第1の台帳200は、複数のハッシュ参照によって一緒に連鎖された複数のデータブロック-ブロック0~ブロックNを含み得る。ある特定の実施形態では、第1の台帳200は、例えば、限定ではないが、TIDALなどの信頼できるブロックチェーン台帳を含み得る。
【0037】
開示されるシステム及び方法の様々な実施形態と一致して、第1の台帳200は、第2の台帳202とメッシュ化されてもよい。いくつかの実施形態では、第1の台帳200及び第2の台帳202をメッシュ化することは、第2の台帳202の新しい第2のハッシュチェーンのルートとしての役割を果たすデータブロックとして、第1の台帳200のハッシュチェーン内のブロックをサブミットすることを含み得る。例えば、図示されるように、第1の台帳200のブロック3は、第2の台帳202のルートブロック-ブロック0-としてサブミットされ得る。
【0038】
ある特定の実施形態では、台帳内のブロックは、関連付けられたメッシュ化された台帳内の別のブロックを参照することができる。例えば、図示された台帳では、第1の台帳200のブロック3は、第2の台帳202のブロック0を参照することができる。いくつかの実施形態では、参照は、別の台帳内の特定のブロックを明示的に参照しなくてもよいが、代わりに、概して、メッシュ化された台帳を参照することができる。例えば、第1の台帳200のブロック3は、概して、第2の台帳202内の特定のブロックを明示的に参照することなく、第1の台帳200とメッシュ化された台帳として、第2の台帳202を参照し、かつ/又は別様に識別することができる。台帳200、202のエントリを調べることにより、台帳のどのブロックが共有され、かつ/又は別様にメッシュ化されるかについての識別を許容することができる。
【0039】
いくつかの実施形態では、1つ以上の台帳をメッシュ化するブロックは、参照されたブロック及び/又は台帳並びに発信ブロック及び/又は台帳の両方を識別することができる。このようにして、そのようなブロックを調べることにより、メッシュ化されたブロック及び/又は関連付けられた台帳の識別が許容され得る。例えば、第1の台帳200のブロック3は、第2の台帳202のブロック0、それ自体、及び/又は第2の台帳202を参照してもよく、第2の台帳のブロック0は、ブロック3、それ自体、及び/又は第1の台帳200を参照してもよい。このようにして、第1の台帳200のブロック3を調べることによって、ブロックが第2の台帳202のブロック0及び/又は第2の台帳202とメッシュ化されていることを判定することができる。同様に、第2の台帳202のブロック0を調べることによって、ブロックが、第1の台帳200のブロック3及び/又は第1の台帳200とメッシュ化されることを判定することができる。
【0040】
様々な実施形態において、ブロックは、別の台帳及び/又はブロックを明示的に参照してもよい。更なる実施形態では、参照ブロックは、ブロックを参照ブロックとして識別する、ある特定の構造(例えば、セマンティック構造)を有してもよいが、別の台帳及び/又はブロックを明示的に参照しなくてもよい。また更なる実施形態では、参照ブロックは、参照ブロックとしてのそれらの機能を示す任意の一意の情報を含まなくてもよい。そのような実装形態では、台帳200、202のエントリを調べることにより、台帳のどのブロックが共有され、かつ/又は別様にメッシュ化されるかについての識別を許容することができる。
【0041】
他の台帳とメッシュ化するために使用される台帳のブロックは、種々の好適な方法で選択されてもよい。例えば、いくつかの実施形態では、ブロックは、メッシュ化された台帳間のメッシュ化された参照として使用するためにランダムに選択され得る。いくつかの実施形態では、メッシュ化されたブロックをランダムに選択することにより、結果として生じるメッシュ化された台帳をシステムのエラーに対してよりロバストにすることができる。様々な実施形態では、メッシュ化により、ハッシュ空間においてリンクされたリストを提供することができ、いくつかのブロックは、元のハッシュチェーンを破壊する可能性があるエラーから保護するために追加のリンクを提供する。
【0042】
メッシュ化データブロックを選択するための他の方法も採用できることが理解されよう。例えば、限定はしないが、ブロックは、擬似ランダムに、周期的に、かつ/又は特定の時間において、特定の数の台帳エントリの後に、かつ/又は前のメッシュ化されたブロックの後の特定の数の台帳エントリの後に、より最近の台帳エントリに続いて、指定された持続時間に続いてなどに、メッシュ化するために選択することができる。
【0043】
図2に図示される実施例は、単一の場所でメッシュ化された第1の台帳200及び第2の台帳202を示すが、信頼できる台帳は、複数の場所でメッシュ化されてもよいことが理解されるであろう。例えば、模倣することなく、図示された台帳200、202では、第1の台帳200の複数のブロックは、第2の台帳202の複数のブロックとメッシュ化することができる。
【0044】
いくつかの実施形態では、潜在的な障害及び/又はエラーを軽減するために、複数の信頼できる台帳をメッシュ化することができる。例えば、ある特定の実施形態では、多くのチェーンメッシュ化して、それらの間にクロスリンクを作成し、耐障害性を強化することができる。このようにして、信頼できる台帳は、複数の他の信頼できる台帳とメッシュ化することができる。上述したように、いくつかの実施形態では、ブロックチェーン台帳におけるルートブロックに続くブロックへのリンクは、新たなメッシュ化されたブロックチェーン台帳においてルートブロックを生成するための入力として使用することができる。台帳への参照が複数の他の場所で見出され得るため、複数の他の台帳とのこのメッシュ化により、元のブロックチェーン台帳のロバスト性が高まる可能性がある。
【0045】
ある特定の実施形態では、開示されたシステム及び方法と一致する台帳のメッシュ化により、台帳にエントリが追加される相対的な時間のより正確な指示を更に提供することができる。例えば、複数のメッシュ化された台帳を使用すると、台帳内へのデータのエントリを、複数の独立した基準点を使用して識別することができる。
【0046】
様々な実施形態と一致して、ブロックチェーン台帳を維持するノードのグループ内の複数のノードが、メッシュ化データを他のノードにサブミットしてメッシュ化する場合、相互接続された台帳のネットワークが生成されてもよく、それによって、冗長性及びエラーフォールトトレランスを改善する。検証プロセスは、エラーによって損なわれた信頼できる台帳のセクションを無視することができ、エラーによって影響を受けていないメッシュ化された台帳を検証に使用することができるように、追加のリンク情報を認識することができる。
【0047】
ある特定のブロックチェーン台帳の実装形態では、複数のチェーンは、相互に拮抗する協力的なノード、すなわち、自己利益を考慮して他のオペレータと協力する自己関心オペレータによって操作される可能性がある。そのような実装形態では、本明細書で開示される実施形態と一致する信頼できる台帳をメッシュ化することにより、台帳への参照を1つ以上の他の当事者に分散させることができるので、台帳に対して作製されるアサーションの信憑性を高めることができる。参照自体は、比較的単純なハッシュ参照を含み得るので、他のチェーンに対して不透明であり得る。そのような状況下では、信頼できる台帳の検証は、利益が競合する複数のソースから行うことができ、それによって、検証の信憑性が改善される。
【0048】
台帳エントリのセマンティックタグ付け
ある特定のデータアーキテクチャでは、データオブジェクトに関連付けられたポインタを使用して、データオブジェクトのタイプを識別することができる。いくつかの実装形態では、これは、特定のデータタイプ(例えば、コンスセル)の指示を許容するためにアドレス空間の何らかの部分を指定することによって実行することができる。したがって、データオブジェクトと対話し、かつ/又はデータオブジェクトに対して動作する方法は、参照を調べることによって選択することができる。
【0049】
本明細書に開示される実施形態と一致して、信頼できる台帳に含まれるデータブロック(例えば、ハッシュ)は、タグ付け機構を動作させるセマンティック構造に関連付けられてもよい。様々な実施形態において、台帳エントリは、タグとして動作するエントリの性質、特性、及び/又はタイプに関する情報を提供するために使用され得る1つ以上の指定されたセマンティック構造に関連付けられてもよい。例えば、限定するものではないが、いくつかの実施形態では、台帳内の特定のエントリのセマンティック構造は、別の信頼できる台帳及び/又は派生台帳を有するメッシュ化エントリとしてエントリを識別することができる。
【0050】
図3は、本開示のある特定の実施形態と一致する台帳エントリのセマンティックタグ付けの実施例を図示する。図示されるように、ハッシュチェーン台帳を含み得る、第1の台帳300は、複数のハッシュ参照によって一緒に連鎖された複数のデータブロック-ブロック0~ブロックNを含み得る。ある特定の実施形態では、第1の台帳300は、例えば、限定ではないが、TIDALなどの信頼できるブロックチェーン台帳を含み得る。
【0051】
第1の台帳300は、例えば、限定ではないが、TIDALなどの信頼できるブロックチェーン台帳を含み得る、第2の台帳302とメッシュ化されてもよい。いくつかの実施形態では、第1の台帳300及び第2の台帳302をメッシュ化することは、第2の台帳302のハッシュチェーンのルートとしての役割を果たすデータブロックとして、第1の台帳300のハッシュチェーン内のブロックをサブミットすることを含み得る。例えば、図示されるように、第1の台帳300のブロック3は、第2の台帳302のルートブロック-ブロック0-としてサブミットされ得る。
【0052】
本明細書に開示される実施形態と一致して、台帳300及び/又は302のメッシュ化されたデータブロックは、セマンティックタグ付け技法を使用して、他のデータブロック及び/又は台帳によって参照され、かつ/又はそれらを参照する、メッシュ化された、かつ/又はデータブロックとして識別され得る。図示の目的で、他のデータブロック及び/又は台帳とメッシュ化されず、かつ/又は別様で参照しないエントリは、第1のデータタイプであるデータタイプAに関連付けることができる。他のデータブロック及び/又は台帳とメッシュ化され、かつ/又は別様に参照するエントリは、第2のデータタイプであるデータタイプBと関連付けることができる。したがって、特定のエントリに関連付けられたデータタイプを識別することにより、他のデータブロック及び/又は台帳をメッシュ化し、かつ/又は参照するデータブロックと、他のデータブロック及び/又は台帳をメッシュ化せず、かつ/又は参照しないデータブロックとの間の区別を許容し得る。
【0053】
様々な実施形態では、台帳エントリデータタイプは、1つ以上の関連付けられたセマンティックタグを使用して指定されてもよい。ある特定の実施形態では、セマンティックタグは、関連付けられたデータタイプを指定するエントリ内に含まれる特定のパターンを含み得る。いくつかの実施形態では、セマンティックタグ付け規約、規則、及び/又は要件は、パターンが台帳エントリ内の特定の場所(例えば、エントリ内の開始、終了、及び/又は別の場所)に位置することを指定することができる。例えば、限定はしないが、セマンティックタグ付け規約、規則、及び/又は要件は、セマンティックタグ付け規約、規則、及び/又は要件に準拠する特定のデータタイプに関連付けられたエントリが、台帳エントリに関連付けられたハッシュの先頭に位置することを指定することができる。したがって、ハッシュの先頭を調べることで、エントリに関連付けられたデータタイプを判定する(例えば、エントリが別のエントリ及び/又は元帳にメッシュ化され、かつ/又は別様に関連付けられるかどうかを判定する)ことを許容し得る。
【0054】
少なくとも1つの非限定的な実施例では、セマンティックタグ付け規約は、関連付けられたデータタイプに関連付けられた特定の16進数及び/又は一連の数(例えば、「4A」)で始まるハッシュを含むブロックに基づいて、データブロックがデータタイプによってタグ付けされ得ることを指定することができる。例えば、第1の16進数及び/又は一連の数で始まるハッシュを含むブロックは、第1のデータタイプ(例えば、データタイプA)に関連付けられ得、第2の16進数及び/又は一連の数で始まるハッシュを含むブロックは、第2のデータタイプ(例えば、データタイプB)に関連付けられ得る。データブロックのタイプは、データブロック及び/又は関連付けられたセマンティックタグに含まれるハッシュの先頭を調べることによって判定することができる。
【0055】
様々な実施形態では、セマンティックタグ及び/又は規約を使用して、信頼できる台帳内のエントリの全て及び/又はサブセットに関連付けられたデータタイプ(及び/又は他の関連付け)を識別することができる。例えば、図示された台帳300、302では、データタイプAに関連付けられたセマンティックタグは、他のエントリ及び/又は関連付けられた台帳とメッシュ化されない、かつ/又はそれらを参照しないエントリを指定するために使用することができ、データタイプBは、他のエントリ及び/又は関連付けられた台帳とメッシュ化され、かつ/又はそれらを参照するエントリを指定するために使用することができる。更なる実施形態では、信頼できる台帳エントリのサブセットのみを、セマンティックタグ付け規約に従ってタグ付けすることができる。例えば、いくつかの実施形態では、他のエントリ及び/又は関連付けられた台帳とメッシュ化され、かつ/又はそれらを参照する(若しくは関心のある他の特徴及び/又はデータタイプを有する)台帳エントリのみがセマンティックにタグ付けされ得るが、ある特定の他のエントリはセマンティックタグ付け規約に適合するようにタグ付けされない場合がある。
【0056】
開示された実施形態の様々な態様と一致するセマンティックタグ付けは、関連付けられたエントリに関する種々の特性及び/又は情報をタグ付けし、かつ/又は別様に識別するために使用され得ることが理解されよう。例えば、限定はしないが、様々な開示される実施形態と一致するセマンティックタグ付けを使用して、台帳エントリデータタイプ、関連付けられた台帳エントリデータ発信者、並びに/又は台帳エントリ及び/若しくはデータに関連付けられた他の当事者及び/又はエンティティ、データ及び/又はエントリクラスなどに関する情報をタグ付けし、かつ/又は別様に識別することができる。
【0057】
いくつかの実施形態では、信頼できる台帳は、本質的に特殊化され得るトランザクションを上書きし、かつ/又は別様に記録するために、台帳を使用する複数の異なるステークホルダからのエントリを含んでもよい。例えば、比較的まれなアサーション及び/又はトランザクションを伴い得る複数のタイプの台帳情報を、単一の信頼できる台帳に記録することができる。少なくとも1つの非限定的な実施例では、単一の信頼できる台帳を使用して、動物学的組織間の希少動物の所有権及び/又は譲渡権、並びに広く入手できない研究機関間の特殊機器の所有権及び/又は譲渡権に関連するトランザクションデータを記録することができる。特殊なタイプのトランザクションの各々に関連する台帳エントリの頻度が比較的低いため、特殊な、かつ/又はサイロ化された信頼できる台帳の実装は、特に台帳の維持に伴うステークホルダの数が限られているため、本質的に分散型の場合は実用的、堅牢、及び安全でない可能性がある。しかしながら、そのようなエントリを単一の台帳内に組み合わせることで、台帳の完全性を維持することに関心を持つ複数のステークホルダを有する、より信頼されるロバストなメカニズムを構築することができる。本明細書に開示される実施形態と一致して、そのような台帳では、異なるタイプの台帳エントリを、セマンティックタグ付け規約の順守を介して、台帳内で識別することができる。
【0058】
種々のセマンティックタグ、規約、及び/又は関連付けられたタグ構造が、様々な開示される実施形態に関連して使用され得ることが理解されよう。様々な実施形態では、そのようなセマンティックタグ、規約、及び/又は構造は、エントリの記録及び/又は信頼できる台帳の維持に伴う様々なステークホルダによって実施及び/又は別様に使用され得る、異なるセマンティックタグに関連付けられた1つ以上の台帳エントリ規則及び/又は要件内で表現されてもよい。
【0059】
本明細書に開示される実施形態と一致して、ブロックチェーン台帳などのプルーフオブワーク台帳では、プルーフオブワーク規則は、生成されたハッシュが関連付けられたセマンティックタグ付け規約に準拠するように指定され得る。少なくとも1つの非限定的な例では、ブロックチェーン台帳は、2つのデータタイプ、データタイプA及びデータタイプBを認識してもよい。動作ノードは、種々の好適な方法で(例えば、異なるデータタイプのサブミット、データの検査などに対して異なるポートを使用して)、台帳に含まれるようにサブミットされたデータのタイプを発見することができる。データタイプAのためのプルーフオブワーク規則は、結果のハッシュが特定の16進数及び/又は一連の数(例えば、「4A」)で始まり、終わり、かつ/又は別様にそれを包含するように、ブロックに追加され得る整数を見つけることであってもよい。同様に、データタイプBのためのプルーフオブワーク規則は、結果のハッシュが異なる特定の16進数及び/又は一連の数(例えば、「44」)で始まり、終わり、かつ/又は別様にそれを包含するように、ブロックに追加され得る整数を見つけることであってもよい。
【0060】
そのようなプルーフオブワーク規則に準拠することで、ハッシュエントロピーを大幅に失うことなく、ハッシュがどのタイプのデータを参照するかを判定することが許容され得る。開示される実施形態の態様と一致するセマンティックタグ付けは、メッシュデータ(例えば、異なるハッシュチェーン内の別のメッシュ化データブロックを参照するデータ)と通常のデータとの間の区別を許容し得る。更なる実施形態では、プルーフオブステーク台帳では、異なるステークホルダからのエントリは、ブロックトランザクションを確認したステークホルダを識別する方法で、セマンティックにタグ付けされ得る。
【0061】
信頼できるプロキシ及びテストエージェント及び台帳完全性チェック
本明細書に開示された実施形態と一致して、信頼できるテストエージェントを採用して、他の台帳及び/又は派生物とメッシュ化され得る、信頼できる台帳及び/又は派生台帳を調べて、信頼できるテストエージェントが調べた台帳及び/又は派生物の完全性を確保することができる。様々な実施形態では、台帳ノード上で実行されるコンピュータプログラム及び/又はアプリケーションを含み得る、信頼できるテストエージェントは、信頼できる台帳及び/又は台帳派生物内のエントリを調べ、かつ/又はそれらを通してクロールして、信頼できるテストエージェントを実装する台帳ノードによって維持される台帳及び/又は派生物及び/又は台帳及び/又は派生物間の整合性をチェックすることができる。いくつかの実施形態では、信頼できるテストエージェントは、信頼できるテストエージェントを実装する台帳ノードではなくクエリシステムによって発行された台帳クエリとして現れる代わりに、そのような完全性チェックプロセスがチェックされる台帳及び/又は台帳派生ノードに対して透過的でないことを確保するために、ある特定のプロキシ技法を使用することができる。更なる実施形態では、信頼できるテストエージェントは、完全性について台帳及び/又は台帳派生エントリを調べるための、ある特定の定義された特権を有するプログラムとして実装され得る。
【0062】
上述したように、いくつかの実施形態では、アプリケーションは、台帳派生物を使用して、1つ以上のアサーションの真正性を迅速に検証することができる。台帳派生物は、1つ以上のTIDAL及び/又は他の台帳から、それらのTIDAL及び/又は他の台帳に入力されたアサーションハッシュのインデックスを構築することによって、導出されてもよい。いくつかの実施形態では、派生物は、取り消され、かつ/若しくは更新されたアサーションを除去又はタグ付けすることができ、複数のアサーションが比較的少ないクエリ及びルックアップ(例えば、1つのクエリ及び1つのルックアップ)でチェックされ得るような方法で、2つ以上のアサーションのハッシュを組み合わせることができる。クエリに対する回答を効果的に前処理するために、信頼できる方法で他の処理ステップを行うことができ、高速で行うことができる迅速な応答を提供し、待ち時間の少ない応答を容易にする。アプリケーションは、これらの動作を確実に実行するために、派生ノードオペレータに依存し得るが、それらは、不正なエージェント又はプロセスによるエラー及び干渉を受ける可能性がある。
【0063】
対象TIDAL、台帳、及び/又はブロックチェーンに基づいて生成された派生物の信頼性を高めるために、台帳派生物は、本明細書において複数の派生ノード(派生インデックス、派生物を処理するために使用されるトランザクションログ、及び/又は派生トランザクションのブロックチェーンのコピーであってもよい)を有する「共通派生ブロックチェーン」と称され得るものを含む、ある特定の冗長ストラテジを実装することができる。いくつかの実施形態では、共通派生ブロックチェーンを実装するとき、以下の方法のうちの1つ以上を使用することができる。
・ブロックチェーンデータベースによく似た派生物は、マルチノード冗長構成を有することができる。派生動作(インデックスの形成、並びにエントリの除去及び更新)を時間インデックス付きトランザクション内に記録し、共通の派生ブロックチェーンに入力できる、(派生ノードに対して)共通のブロックチェーンを使用することもできる。これらのエントリは、上述したブロックチェーンメッシュ化方法の実施形態を使用して他のブロックチェーンとメッシュ化することができる。
・誤った派生ノードを積極的に検出するために、信頼できるテストエージェント(例えば、コンピュータプログラムの形態のエージェント)を、派生ノードのいずれか及び/又は全てから、かつ/又は他の信頼できるソースからスポーンされ、共通の派生ブロックチェーンのコピーを含む様々な派生ノードを通してクロールし、一貫性をチェックすることができる。これらの信頼できるテストエージェントは、ランダムテストストラテジを使用し、特定の時間範囲にわたるトランザクション記録の一貫性をテストすることができる。最近のトランザクションがテストカバレッジを得るように、テストストラテジをランダムに判定し、かつ/又は特に最近の期間をカバーするテストカバレッジを確保する、信頼できるテストエージェント調整機能を実装することができる。テストコーディネータは、結果を収集及び比較し、エラー修復、調査、及び/又は一般的なアラームの指示を含み得る是正措置を判定することができる。
・信頼できるテストエージェントは、特権を有するテストプログラムとして現れることができ、台帳及び/又は派生台帳サービスのユーザとして提示し、例えば、限定はしないがオニオンルーティングストラテジを使用してランダムIPアドレスからクエリを実行することもできる。
・不正な派生コピーのオペレータから防御するために、アプリケーションからのクエリを、ユーザアプリケーション又はプロキシのいずれかによって複数の派生ノードにルーティングすることができる。アプリケーションは、低待ち時間、高スループット、又はより高い正解確率の必要性に応じて、マルチクエリポリシーを判定することができる。
【0064】
図4は、本開示のある特定の実施形態と一致する完全性について台帳エントリを調べる信頼できるテストエージェント400の簡略化された実施例を図示する。図示されるように、信頼できるテストエージェント400は、(例えば、台帳ノード402上で実行するアプリケーションとして)台帳ノード402によって実装され得る。台帳ノード402は、台帳及び/又は台帳派生物404のコピーを維持するように構成され得る。
【0065】
本明細書に開示される実施形態と一致して、信頼できるテストエージェント400は、台帳派生物408を維持する台帳ノード406及び/又は台帳412を維持する台帳ノード410と対話して、信頼できるテストエージェント400を実装する台帳ノード402によって維持される台帳及び/又は台帳派生物408と、台帳ノード406によって維持される台帳派生物404及び/又は台帳ノード404によって維持される台帳412との間の一貫性をチェックすることができる。例えば、図示されるように、信頼できるテストエージェント400は、台帳ノード402によって維持される台帳412にクエリを行ってもよく、受信された応答に基づいて、台帳412内のエントリを、信頼できるテストエージェント400を実装する台帳ノード410によって維持される台帳及び/又は台帳派生物404と比較及び/又はクロスチェックして、起こり得る不一致を識別することができる。同様に、信頼できるテストエージェント400は、台帳ノード406によって維持される台帳派生物408にクエリを行ってもよく、受信された応答に基づいて、台帳派生物408内のエントリを、信頼できるテストエージェント400を実装する台帳ノード402によって維持される台帳及び/又は台帳派生物404と比較し、かつ/又はクロスチェックして、起こり得る不一致を識別することができる。
【0066】
信頼できるテストエージェント400によって不一致が識別された場合、信頼できるテストエージェント400は、1つ以上のアクションを実施することができる。例えば、限定はしないが、信頼できるテストエージェント400は、いくつかの実施形態では、識別された不一致及び/又はエラーを訂正する台帳及び/又は台帳派生物408、412内の1つ以上の訂正及び/又は修復エントリを生成することを含み得る、エラー修復アクションを始めることができ、いくつかの実施形態では、様々なステークホルダ(例えば、台帳ノード406、410)に一般的な警報を始め、特殊な派生台帳を含み得る1つ以上の台帳及び/又は派生台帳内のエントリを記録し、識別された不一致及び/又はエラーを文書化するなど、1つ以上の他の台帳ノード406、410との協調調査アクションを伴い得る、エラー調査アクションを始めることができる。
【0067】
図示された実施形態は、台帳及び/又は派生台帳404を維持する台帳ノード402によって実装されている信頼できるテストエージェント400を示すが、更なる実施形態では、信頼できるテストエージェント400は、台帳ノード402、406、410並びに/又は台帳及び/若しくは派生台帳404、408、412を維持する他のノードのいずれかから独立していてもよいことが理解されよう。例えば、いくつかの実施形態では、信頼できるテストエージェント400は、台帳ノード402、406、410によって維持される台帳及び/又は台帳派生物404、408、412の完全性をテスト及び/又は別様に確認するように構成される、独立システム及び/又はサービスによって実装されてもよい。
【0068】
更に、
図4に図示される実施形態は、信頼できるテストエージェント400が単一の台帳派生物408及び/又は台帳412と対話することを示すが、更なる実施形態では、信頼できるテストエージェントは、起こり得る不一致及び/又はエラーを識別するために、複数の台帳ノードによって維持され得る複数の台帳及び/又は派生台帳と対話及び/又はクロスチェックできることが理解されるであろう。例えば、信頼できるテストエージェント400は、異なる台帳ノードによって操作される複数の信頼できる台帳と対話し、場合によっては、1つ以上の関連付けられた台帳派生物及び/又は関連付けられたノードと更に対話して、一貫性について台帳及び/又は派生台帳に含まれる情報をクロスチェックすることができる。
【0069】
いくつかの実施形態では、信頼できるテストエージェント400及び/又は台帳ノード406、410間の対話は、台帳ノード406、410が、信頼できるテストエージェント400及び/又は関連付けられた台帳ノード402によって発行されたクエリを、台帳及び/又は台帳派生物にクエリを行う他のシステムによって発行されたクエリから区別することができないように実行され得る。このようにして、テストエージェント400によって発行されたクエリは、比較的匿名の状態に留まり、かつ/又は他の標準台帳クエリと区別できない状態に留まり得る。様々な実施形態では、信頼できるテストエージェント400は、そのような完全性チェックプロセスが、チェックされている台帳及び/又は台帳派生ノードに対して透過的でないことを確保するために、ある特定のプロキシ技法を使用してもよい。例えば、限定はしないが、信頼できるテストエージェント400は、オニオンルーティングストラテジを含み得る種々の好適な技法を使用してランダム及び/又は異なるIPアドレスからクエリを発行することができるが、他のプロキシ匿名化技法も使用することができる。
【0070】
図5は、本開示のある特定の実施形態と一致する台帳エントリ及び/又は検証プロセス500の概念図を図示する。図示されたプロセス500の様々な態様は、例えば、限定されないが、(権限を含み得る)アサーションサブミッタ、信頼できる権限、台帳ノード、クエリシステム、信頼できるテストエージェント及び/又は関連付けられたシステム、並びに/若しくは開示された実施形態の態様を実装するように構成された任意の他のシステム及び/又はサービスを含む、信頼できる台帳エコシステムの参加者によって実行されてよい。
【0071】
本明細書に開示される実施形態と一致して、方法は、台帳及び/又は台帳派生物内のステートメント及び/又はアサーション記録の有効性をチェックすることを望む可能性があるステークホルダによって発行されたクエリに応答して与えられたエラーを検出する目的で、信頼できる台帳及び/又は関連付けられた台帳派生物をクロスチェックするために使用され得る。様々な開示される方法は、異なる台帳ノードによって維持され得る信頼できる台帳及び/又は台帳派生物の異なるコピーをチェックする(例えば、事前に連続的に、周期的に、及び/又はランダムにチェックする)ために使用され得る。更なる実施形態は、台帳及び/又は台帳派生確認クエリのソースを匿名に、比較的匿名に保ち、かつ/又は別様に台帳ノード(例えば、悪意のある台帳ノード)が、信頼できるテストエージェントによって発行されたクエリを、台帳と相互作用するユーザアプリケーションによって発行されたクエリから区別することを困難にすることができる。
【0072】
図5に図示されるように、権限Aは、いくつかの実施形態では、TIDALを含み得る、信頼できる台帳に含めるためのステートメントSをサブミットすることができる。ステートメントSは、明示的又は暗黙的に、1つ以上のアサーションを含むことができる。ステートメントは、種々の形態であってもよく、かつ/又は種々の方法で構造化されてもよく、例えば、形態の値に意味を提供するセマンティックマッピングに関連付けられたウェブフォームの属性-値のペアの形態などで、自然言語又は形式言語を含むが、これらに限定されない。少なくとも1つの非限定的な実施例では、権限Aは、3つの属性名(すなわち、THISName、THISIP Address、及びTHISPublicValue)の各々についての値を有する「The URL with THISName has THISIPAddress and THISPublicValue」というステートメントを入力することを望む場合がある。いくつかの実施形態では、ステートメントは、権限Aに関連付けられた暗号署名によって署名され、かつ/又は別様にそれを含むことができる。
【0073】
上記の実施例では、台帳エントリ及び/又は検証プロセス500の態様は、クエリシステム及び/又はそのユーザが、信頼できる台帳の比較的単純かつ効率的なクエリを通して、特定のURLに関連付けられた提供されたIPアドレス及びパブリックキーが真正かつ最新であるかどうかを判定することを許容し得る。開示されるシステム及び方法の様々な実施形態は、そのようなクエリに影響を及ぼし得る、害のない若しくはそうではないエラーが検出されることを確保するように動作し得る。
【0074】
様々な実施形態において、信頼できる台帳及び/又は派生台帳は、複数の台帳ノードによって維持されてもよく、各ノードは、同じ及び/又は実質的に同様の台帳及び/又は台帳派生物を維持する。権限Aは、信頼できる台帳に記録するための情報を含むメッセージを送信することができる。メッセージは、信頼できる台帳を維持する複数のノードにブロードキャストされ得る。
【0075】
いくつかの実施形態では、メッセージは、権限AをサブミットするためのステートメントS及び/又はアイデンティティ及び/又は権限認証情報を含み得る。台帳ノードは、ステートメントSをチェックし、アイデンティティ及び/又は(例えば、メッセージ上の署名をチェックすることによって)サブミッタとしての権限Aの関連付けられた権限を検証し、並びに/若しくはステートメントSを解析して、ステートメントのトピック及び/又はドメインを理解することができる。いくつかの実施形態では、ステートメントのトピック及び/又はドメインは、ステートメントの属性名及び/又は値から判別することができる。
【0076】
台帳ノードは、502において、メッセージ内の認証情報を使用して、サブミットする権限Aが、台帳エントリ取り込みポリシー504に従って、信頼できる台帳に記録するためのステートメント内の明示的及び/又は暗黙的なアサーションを行う権限を有することをチェックすることができる。いくつかの実施形態では、関与する各台帳ノードは、この権限チェックを行うための独自の能力を有することができる。いくつかの実施形態では、台帳ノードは、他の信頼できる台帳及び/又は派生台帳と相互作用して、ステートメント内に詳述されたアサーションを支持する認証情報の権限及び/又は真正性をチェックすることができる。
【0077】
1つ以上の冗長台帳ノードは、506において協働して、ステートメントSが信頼できる台帳に入力されるべきである(例えば、新しいブロックとして入力される)ことに同意するかどうかを判定することができる。いくつかの実施形態では、ステートメントSのドメイン及び/又はトピックに特有であり得る、台帳合意ポリシー508を使用して、十分な数の台帳ノードが、ステートメントSが台帳に入力されるべきであることに合意するかどうかを判定することができる。例えば、限定するものではないが、台帳合意ポリシー508は、台帳ノードが、投票の結果によって判定される受諾を伴う、ステートメントSの受諾のための投票プロセスに携わるべきであることを明確にし得る。少なくとも1つの非限定的な実施例では、台帳ノード自体が、ある特定のステークホルダタイプを有してもよく、台帳合意ポリシーは、最小数の各タイプのステークホルダによる肯定を要求してもよい。更なる非限定的な実施例では、台帳合意ポリシー508は、ブロックチェーンのためのマルチノード合意ポリシーにおいて使用され得るものなど他の好適な結果を要求することができる(例えば、プルーフオブワーク及び/又はプルーフオブステークポリシー)。
【0078】
510においてステートメントSを信頼できる台帳に正常に記録した後、1つ以上の派生台帳オペレータは、派生台帳オペレータに行われたクエリを確認するエントリをユーザが見つけることを許容できるように、それらが維持する異なる台帳及び/又はインデックス内に派生エントリを行うことができる。いくつかの実施形態では、台帳ノードのうちの1つ以上はまた、派生台帳及び/又はインデックスを維持する派生台帳オペレータとして機能することができるが、派生オペレータはまた、別個のサービス、システム、及び/又はエンティティによって実装され得る。いくつかの実施形態では、派生台帳及び/又はインデックスは、ステートメントSにおいて明示的及び/又は暗示的である様々なアサーションに関する情報を提供することができる。
【0079】
いくつかの実施形態では、台帳派生物を実装するノードは、信頼できる台帳に受諾されたステートメント(例えば、ステートメントS)からの2つ以上の属性値をハッシュ化することができ、次いで、結果を順序付き派生インデックス512に入力することができる。ある特定の実施形態では、このインデックスは、ハッシュの整数値によって順序付けることができる。ノードは更に、信頼された台帳内の権限によって作成されたステートメント(例えば、権限AによるステートメントS)の更新及び/又は取消しによって無効になる値をタグ付け及び/又は除去することによって、インデックスを処理することができる。
【0080】
クエリシステム516(例えば、ブラウザ及び/又は他のユーザアプリケーションを実行するシステム)は、3つの推定値を一緒にハッシュ化し、次いで、台帳派生オペレータにクエリを行って、派生インデックス内で一致を見つけることができるかどうかを判定することによって、URLと、IPアドレスと、パブリックキー値との間のバインディングの妥当性及び最新性を迅速に判定することができる。いくつかの実施形態では、これは、比較的速いプロセスであり得る。
【0081】
少なくとも1つの非限定的な実施例では、クエリシステム516のユーザは、ユーザアプリケーションからアクションを要求することができる。例えば、ユーザは、ウェブページがブラウザアプリケーション内にロードされることを要求することができる。ユーザアプリケーションは、アプリケーションポリシー情報518を使用して、ユーザ要求に応答してどの情報が認証される必要があるかを判定し、信頼できる台帳及び/又は台帳派生インデックス512に関連付けられたクエリを発行することができる。上述したように、いくつかの実施形態では、これらのクエリは、ハッシュ一致要求の形態であってもよい。
【0082】
一致が発見された場合、派生台帳オペレータは、肯定的指示で応答することができる。いくつかの実施形態では、応答は、アサーションが現在有効であるか、更新されているか、取り消されているか、満了しているかどうかなどを示すことができるタグ値を更に含むことができる。一致が見つからない場合、否定、ヌル、及び/又は不確定の指示が返される場合がある。
【0083】
いくつかの実施形態では、クエリシステム516は、台帳及び/又は派生台帳インデックス512に直接クエリを行うことができる。更なる実施形態では、クエリは、(いくつかの実施形態では、信頼できるテストエージェントも実装し得る)プロキシエージェント514を通してルーティングすることができる。プロキシエージェント及び/又は信頼できるテストエージェント514は、別個のシステム及び/又はサービスに関連付けられてもよく、かつ/又は信頼できる台帳及び/又は派生台帳インデックスを維持することに関与する台帳ノードによって実装されるサービスであってもよい。
【0084】
要求された情報の性質、関連付けられたアプリケーション、及び/又は所望の信頼度に応じて、アプリケーションポリシー情報518は、プロキシエージェント514を通してクエリをルーティングするように、クエリシステムアプリケーションに指示することができる。プロキシエージェント514は、他の可能な機能の中でもとりわけ、クエリシステム516からのクエリを1つ以上の台帳及び/又は台帳派生ノードに匿名で発行し、以下でより詳細に説明するように、比較、クロスチェック、及び/又は完全性検証チェックのために、台帳及び/又は台帳派生ノードにクエリを行うことができる。
【0085】
様々な実施形態において、プロキシエージェント514は、ユーザアプリケーション及び/又はクエリシステムのソースアドレスをブラインドし、かつ/又は別様に匿名化することができる。いくつかの実施形態では、プロキシエージェント514は、台帳及び/又は派生台帳インデックス512を維持する複数の台帳ノードにユーザクエリを転送し、クエリが行われたノードから複数の応答を受信し、受信した応答に基づいてクエリシステム516に応答を返すことができる。いくつかの実施形態では、クエリシステム516に応答を返す前に、プロキシエージェント514は、複数の台帳ノードから受信した応答の整合性をチェックすることができる。
【0086】
プロキシエージェント514及び/又は信頼できるテストエージェントによって、例えば、IPブラインド化、クラウド匿名技法、オニオンルーティングなどを含む、種々の匿名化及び/又はIPブラインド化技法を採用することができる。いくつかの実施形態では、プロキシエージェント514及び/又は信頼できるテストエージェントを使用することは、台帳及び/又は台帳派生ノードが、プロキシ(例えば、テストエージェント)から、及び/又はプロキシを通してユーザから発信されたクエリについて同じ応答を提供することを確保するのに役立ち得る。様々な実施形態において、ユーザアプリケーションポリシー情報518は、単一障害点の可能性を制限するために複数のプロキシが使用されるべきであることを明確にし得る。
【0087】
上述したように、ある特定の状況では、1つ以上の台帳及び/又は派生台帳内にエラーが導入される可能性があり、それによって、台帳及び/又は派生台帳の信頼性及び/又は完全性が損なわれる。例えば、エラーは、害のないプロセスから、並びに/又は悪意のあるアクタ及び/若しくは台帳ノードオペレータから生じ得る。本明細書に開示される実施形態と一致して、プロキシエージェント514によって、かつ/若しくは別個のエージェント及び/又はサービスによって実装され得る信頼できるテストエージェントは、信頼できるテストエージェントによって調べられる台帳及び/又は派生物の完全性を確保するために、他の台帳及び/又は派生物とメッシュ化され得る台帳及び/又は派生台帳を調べるために採用され得る。例えば、様々な実施形態では、台帳ノード上で、かつ/又は別個のシステム及び/又はサービスによって実行される(例えば、プロキシエージェント514)によって実行されるコンピュータプログラム及び/又はアプリケーションを含み得る、信頼できるテストエージェントは、信頼できる台帳及び/又は台帳派生物内のエントリを調べ、かつ/又はそれらを通してクロールして、台帳及び/又は派生物間の一貫性並びに/若しくは信頼できるテストエージェントを実装する台帳ノードによって維持される台帳及び/又は派生物をチェックすることができる。
【0088】
本明細書に開示される実施形態と一致して、信頼できるテストエージェントを実装するプロキシエージェント514は、実際のユーザから独立しているが、実際のクエリシステム516が要求するのと同じ及び/又は同様の形態で、台帳及び台帳派生クエリを作製することができる。したがって、信頼できるテストエージェントクエリは、実際のユーザクエリと容易に区別できない場合がある。様々な実施形態では、これにより、信頼できるテストエージェントによって発行されたクエリから実際のユーザクエリを区別する制限された能力を有する台帳ノード及び/又は派生台帳ノードがもたらされる可能性がある。悪意のある、かつ/又は別様に損なわれたノードが、テストエージェントクエリを実際のユーザクエリから確実に区別することができない場合、これによって、検出を回避するためのメカニズムとしてクエリソースに基づいて応答を調整するそれらの能力が制限される可能性がある。
【0089】
図6は、本開示のある特定の実施形態と一致する信頼できる台帳内のエントリを検証するための方法の実施例のフローチャートを図示する。図示された方法600は、ソフトウェア、ファームウェア、ハードウェア、及び/又はそれらの任意の組み合わせを使用することを含む、種々の方式で実装され得る。ある特定の実施形態は、方法600及び/又はその構成ステップの様々な態様は、信頼できるプロキシエージェントによって行われてもよく、それは、台帳ノード及び/又は別のシステム及び/又はサービス、並びに/若しくは任意の他の好適なシステム及び/又はサービス、若しくはシステム及び/又はサービスの組み合わせ上で実行することができる。いくつかの実施形態では、信頼できるプロキシエージェントは、開示される実施形態の様々な態様と一致する信頼できるテストエージェントを更に実装することができる。
【0090】
602では、アサーション検証要求を、クエリシステムから受信することができる。いくつかの実施形態では、アサーション検証要求は、少なくとも1つのアサーションに関する情報を含むことができる。少なくとも1つの非限定的な実施例では、少なくとも1つのアサーションは、URLアドレスと、IPアドレスと、パブリック暗号キーとの間のアサートされた関連付けを含むことができ、かつ/又は別様にそれに関連し得る。いくつかの実施形態では、アサーション検証要求は、アサーションに関連付けられた情報のハッシュを含み得る。
【0091】
アサーション検証要求に応答して、信頼できるプロキシエージェントは、604において、信頼できる分散型アサーション台帳の第1のインスタンスを維持する第1の台帳ノードに第1のクエリを発行することができる。606において、第1のクエリ及び信頼できる分散型アサーション台帳の第1のインスタンスに基づいて、第1の台帳ノードによって生成された第1のクエリ応答を受信することができる。
【0092】
608において、信頼できるプロキシエージェントは更に、604において信頼できる分散型アサーション台帳の第2のインスタンスを維持する第2の台帳ノードに第2のクエリを発行することができる。第2のクエリ及び信頼できる分散型アサーション台帳の第2のインスタンスに基づいて第2の台帳ノードによって生成された第2のクエリ応答を、610において受信することができる。
【0093】
いくつかの実施形態では、信頼できるプロキシエージェントは、クエリをそれぞれの台帳ノードに送信する前に、第1及び/又は第2のクエリを匿名化することができる。例えば、限定はしないが、信頼できるプロキシエージェントは、クエリの発信元、クエリシステム及び/又は関連付けられたユーザ及び/又はアプリケーションとの関連付けなどを匿名化及び/又はブラインド化することができる。いくつかの実施形態では、オニオンルーティング、クラウド匿名化、及び/又は他のIPブラインド化技法を使用することができる。
【0094】
様々な実施形態では、信頼できる分散型アサーション台帳の第1及び第2のインスタンスは、1つ以上の暗号でリンクされた台帳エントリを含んでもよく、かつ/又はブロックチェーン台帳として構造化されてもよい。ある特定の実施形態では、台帳のインスタンスは、1つ以上の他の信頼できる台帳のエントリの少なくともサブセット(例えば、ハッシュ値エントリなど)から導出されたエントリを有する派生台帳を含み得る。
【0095】
第1及び第2のクエリ応答は、612において比較され得る。614において、比較に基づいて、分散型アサーション台帳の第1のインスタンス及び分散型アサーション台帳の第2のインスタンスが各々少なくとも1つのアサーションを含むかどうかを判定することができる。そうである場合、方法600は616に進むことができ、ここで、アサーション検証及び/又は確認応答が生成され、信頼できるプロキシエージェントからクエリシステムに送信され得る。分散型アサーション台帳の第1のインスタンス及び分散型アサーション台帳の第2のインスタンスの両方が少なくとも1つのアサーションを含まない場合、方法600は終了に進んでもよく、かつ/又は応答が生成され、確認が成功しなかったという指示とともに信頼できるプロキシエージェントからクエリシステムに送信されてもよい。
【0096】
ある特定の実施形態では、確認が成功しない場合、信頼できるプロキシエージェント及び/又はクエリシステムは、アサーション台帳の第1のインスタンス及び/又は第2のインスタンスがエラー及び/又は不一致及び/又は関連付けられた潜在的に無効なエントリを含むかどうかを識別するために、他の台帳ノードによって潜在的に維持される1つ以上の他のアサーション台帳インスタンスにクエリを発行する、テストエージェントとしての役割を果たすことができる。いくつかの実施形態では、信頼できるプロキシエージェント及び/又はクエリシステムは、そのようなクエリに基づいてアサーション台帳の信頼できるインスタンスを再構築することができる。いくつかの実施形態では、アサーション台帳が派生台帳を含む場合、信頼できるプロキシエージェント及び/又はクエリシステムは、派生台帳を構築するために使用される情報を含む1つ以上の台帳にクエリを行うことによって、派生台帳のインスタンスを再構築することができる。
【0097】
図7は、本開示のシステム及び方法のある特定の実施形態を実装するために使用することができるシステム700の実施例を図示する。システム700は、本明細書に開示されるシステム及び方法を実装するために好適な任意のコンピューティングシステムを含む、種々のコンピューティングデバイス及び/又はシステムを備え得る。様々な実施形態では、システム700は、ユーザ及び/又はクエリシステム、アサーションサブミッタ、ウィットネス、信頼できる台帳ノードオペレータ及び/又は信頼できる台帳管理システム、信頼できるプロキシ及び/又はテストエージェント、並びに/若しくは開示されたシステム及び方法の実施形態の態様を実装するように構成された任意の他のサービス、システム、デバイス、エンティティ、ノード、アプリケーション及び/又はコンポーネントに関連付けられたシステム及び/又はデバイスを含み得る。
【0098】
開示された実施形態の態様に関連して使用される様々なシステム及び/又はデバイスは、種々のネットワーク及び/又はネットワーク接続(例えば、ネットワーク712)を使用して通信可能に結合することができる。ある特定の実施形態では、ネットワーク712は、種々のネットワーク通信デバイス及び/又はチャネルを含み得、かつシステム及び/又はデバイス間の通信を容易にする任意の好適な通信プロトコル及び/又は規格を利用し得る。ネットワーク712は、インターネット、ローカルエリアネットワーク、仮想プライベート型ネットワーク、並びに/若しくは1つ以上の電子通信技術及び/又は規格(例えば、イーサネットなど)を利用する任意の他の通信ネットワークを含むことができる。いくつかの実施形態において、ネットワーク712は、個人通信システム(personal communications system、「PCS」)などのワイヤレスキャリアシステム、並びに/若しくは任意の好適な通信規格及び/又はプロトコルを組み込んだ他の好適な通信システムを含むことができる。更なる実施形態において、ネットワーク712は、アナログ移動通信ネットワーク、及び/又は、例えば、符号分割多重アクセス(code division multiple access、「CDMA」)、モバイル通信又はグループスペシャルモバイル(groupe special mobile、「GSM」)用グローバルシステム、周波数分割多重アクセス(frequency division multiple access、「FDMA」)、及び/又は時分割多重アクセス(time divisional multiple access、「TDMA」)規格を利用するデジタル移動通信ネットワークを含むことができる。ある特定の実施形態において、ネットワーク712は、1つ以上の衛星通信リンクを組み込むことができる。なお更なる実施形態において、ネットワーク712は、IEEEの802.11規格、Bluetooth(登録商標)、超広帯域(ultra-wide band、「UWB」)Zigbee(登録商標)及び/又は任意の他の好適な標準若しくは規格を利用することができる。
【0099】
開示される実施形態の態様に関連して使用される様々なシステム及び/又はデバイスは、本明細書に開示されるシステム及び方法を実装するのに好適な任意のコンピューティングシステム又はシステムを含む、種々のコンピューティングデバイス及び/又はシステムを備え得る。例えば、接続されたデバイス及び/又はシステムは、ラップトップコンピュータシステム、デスクトップコンピュータシステム、サーバコンピュータシステム、分散型コンピュータシステム、スマートフォン、タブレットコンピュータなどを含む、種々のコンピューティングデバイス及びシステムを含み得る。
【0100】
ある特定の実施形態において、システム及び/又はデバイスは、関連付けられた非一時的コンピュータ可読記憶媒体に記憶された命令を実行するように構成された少なくとも1つのプロセッサシステムを備え得る。以下でより詳細に論じるように、開示された実施形態の様々な態様を実装することに関連して使用されるシステムは、信頼できる認証情報及び/又はキー管理、暗号動作、安全なポリシー管理、及び/又は本明細書に開示されたシステム及び方法の他の態様などの機密動作を行うように構成された安全な処理ユニット(secure processing unit、「SPU」)を更に備える。システム及び/又はデバイスは、任意の好適な通信技術及び/又は標準を使用して、ネットワークを介して、デバイス及び/又はシステム間の情報の電子通信を可能にするように構成されたソフトウェア及び/又はハードウェアを更に備える。
【0101】
図7に図示するように、例示的なシステム700は、処理ユニット702と、システムメモリ740であって、処理ユニット702による使用及び実行のためのプログラム及び他のデータを記憶するための、高速ランダムアクセスメモリ(random access memory、「RAM」)、不揮発性メモリ(「ROM」)、及び/又は1つ以上のバルク不揮発性非一時的コンピュータ可読記憶媒体(例えば、ハードディスク、フラッシュメモリなど)を含み得る、システムメモリ740と、1つ以上のディスケット、光記憶媒体(例えば、フラッシュメモリ、サムドライブ、USBドングル、コンパクトディスク、DVDなど)及び/又は他の非一時的コンピュータ可読記憶媒体を含み得るリムーバブルメモリ708とインターフェース接続するためのポート706と、1つ以上の通信技術を使用して、1つ以上のネットワーク接続及び/又はネットワーク712を介して他のシステムと通信するためのネットワークインターフェース710と、ディスプレイ、及び/又は、例えば、タッチスクリーン、キーボード、マウス、トラックパッド、及び同様のものなどの1つ以上の入力/出力デバイスを含み得るユーザインターフェース714と、システムの要素を通信可能に結合するための1つ以上のバス716と、を備え得る。
【0102】
いくつかの実施形態では、システム700は、代わりに、又はそれに加えて、信頼できる実行環境、及び/又は安全な物理的及び/又は仮想セキュリティ技法を利用することによって、システム又は他のエンティティのユーザによる改ざんから保護されるSPU718を含むことができる。信頼できる実行環境及び/又はSPU718は、個人情報管理、信頼できる認証情報及び/又はキー管理、プライバシー及びポリシー管理、並びに本明細書に開示されたシステム及び方法の他の態様などの機密動作のセキュリティを強化するのに役立つことができる。ある特定の実施形態では、信頼できる実行環境及び/又はSPU718は、論理的に安全な処理ドメインで動作し、本明細書に記載されるように機密情報を保護し動作するように構成することができる。いくつかの実施形態では、信頼できる実行環境及び/又はSPU718は、本明細書で説明するように、SPU718が安全な動作を行うことを可能にするように構成された実行可能命令又はプログラムを記憶する内部メモリを含むことができる。
【0103】
システム700の動作は、一般に、システムメモリ704(及び/又はリムーバブルであり得るメモリ708のような他のコンピュータ可読媒体)に記憶された、ソフトウェア命令及びプログラムを実行することによって動作する処理ユニット702及び/又はSPU718によって制御され得る。システムメモリ704は、システムの動作を制御するための種々の実行可能プログラム又はモジュールを記憶することができる。例えば、システムメモリは、システムハードウェアリソースを少なくとも部分的に管理及び調整し、様々なアプリケーションの実行のための共通サービスを提供するオペレーティングシステム(operating system、「OS」)720と、関連付けられたポリシーの管理及び/又は実施を通じて安全なデータの保護及び/又は管理を含む、信頼及びプライバシー管理機能を実装するための信頼及びプライバシー管理システム722とを備え得る。
【0104】
システムメモリ704は、限定はしないが、システムとの、かつシステムによる部分的な通信を可能にするように構成された通信ソフトウェア724、1つ以上のアプリケーション、開示される実施形態の様々な態様(例えば、メッセージ生成、暗号キー及びハッシュ生成動作、ハッシュチェーンメッシュ化、セマンティックタグ付けなど)を実行するように構成された暗号動作モジュール726、開示される実施形態と一致する様々な台帳管理動作を実行するように構成された台帳管理モジュール728、1つ以上の分散型台帳及び/又は台帳派生物730、プロキシエージェント及び/又は信頼できるテストエージェント732、並びに/若しくは本明細書で開示されるシステム及び方法の実施形態を実装するように構成された任意の他の情報、モジュール、及び/又はアプリケーションを更に含み得る。
【0105】
本明細書に開示されるシステム及び方法は本来的に、任意の特定のコンピュータ、電子制御ユニット、又は他の装置に関連せず、ハードウェア、ソフトウェア、及び/又はファームウェアの好適な組み合わせによって実装され得る。ソフトウェアの実装形態により、プロセッサによって実行されたとき、プロセッサに実行可能命令によって少なくとも部分的に定義された方法を実行させる実行可能コード/命令を含む、1つ以上のコンピュータプログラムを含むことができる。コンピュータプログラムは、コンパイル又はインタプリタ言語を含む任意の形式のプログラミング言語で記述することができ、かつスタンドアロンプログラムとして、又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境で使用するのに好適な他のユニットとして、任意の形式で配備することができる。更に、コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイト若しくは分散された複数のサイトでの複数のコンピュータであって、通信ネットワークによって相互接続されコンピュータ上で実行されるように配備することができる。
【0106】
ソフトウェア実施形態は、プロセッサによって実行されると、プロセッサに命令に従って方法を実行させるように構成されている、コンピュータプログラム及び命令を記憶するように構成された非一時的記憶媒体を含むコンピュータプログラム製品として実装されてもよい。ある特定の実施形態において、非一時的記憶媒体は、非一時的記憶媒体にプロセッサ可読命令を記憶することができる任意の形式をとることができる。非一時的記憶媒体は、コンパクトディスク、デジタルビデオディスク、磁気ディスク、フラッシュメモリ、集積回路、又は任意の他の非一時的デジタル処理装置メモリデバイスによって具体化することができる。
【0107】
前述のことは、明瞭化のためにある程度詳細に記載されているが、本発明の原理から逸脱することなく、ある特定の変更及び改変を行うことができることは明らかであろう。本明細書に記載されたシステム及び方法の両方を実装する多くの代替方式があることに留意されたい。したがって、本実施形態は例示的であって制限的ではないと考えられるべきであり、本発明は、本明細書に記載された詳細に限定されるものではなく、添付の特許請求の範囲の範囲及び均等物とともに改変され得る。
【国際調査報告】