(57)【特許請求の範囲】
【請求項１】
ログインに応答して、前記ログインの身元情報のデジタル要約を生成することと、
前記身元情報の前記デジタル要約を、ブロックチェーンに格納するために、前記ブロックチェーンの１つまたは複数のノードに送信することと、
前記身元情報の前記デジタル要約に関連付けられたブロックチェーン・トランザクション識別情報を取得することと、
前記ログインが成功した後、トランザクションを実行することと、
実行されたトランザクションの運用情報のデジタル要約を生成することであって、前記運用情報が、前記トランザクションのトランザクション情報ならびに前記身元情報の前記デジタル要約、前記身元情報、および前記身元情報の前記デジタル要約に関連付けられた前記ブロックチェーン・トランザクション識別情報のうちの１つまたは複数を含んでいる、生成することと、
前記運用情報の前記デジタル要約を、前記ブロックチェーンに格納するために、前記ブロックチェーンの１つまたは複数のノードに送信することと、
前記運用情報の前記デジタル要約に関連付けられたブロックチェーン・トランザクション識別情報を取得することと、
前記実行されたトランザクションの前記運用情報に対する認証に関する監査データを取得することと、
前記監査データのデジタル要約を生成することと、
前記運用情報の前記デジタル要約を前記ブロックチェーンから取得することと、
運用情報の前記取得されたデジタル要約に対して、前記監査データの前記生成されたデジタル要約を検証することによって、前記監査データの信頼性を決定することとを含んでいる、コンピュータ実装認証方法。
【請求項２】
前記運用情報の前記取得されたデジタル要約に対して、前記監査データの前記生成されたデジタル要約を検証することによって、前記監査データの前記信頼性を決定することが、
前記監査データの前記生成されたデジタル要約が前記運用情報の前記取得されたデジタル要約と一致するということの決定に応答して、前記監査データが真正であるということを決定することと、
前記監査データの前記生成されたデジタル要約が前記運用情報の前記取得されたデジタル要約と一致しないということの決定に応答して、前記監査データが不正であるということを決定することとを含んでいる、請求項１に記載の方法。
【請求項３】
前記運用情報の前記デジタル要約を前記ブロックチェーンから取得することが、前記運用情報の前記デジタル要約を、前記運用情報の前記デジタル要約に関連付けられた前記ブロックチェーン・トランザクション識別情報に従って前記ブロックチェーンから取得することを含んでいる、請求項１に記載の方法。
【請求項４】
前記運用情報の前記デジタル要約を、前記ブロックチェーンに格納するために、前記ブロックチェーンの１つまたは複数のノードに送信することが、
前記運用情報の前記デジタル要約および前記運用情報の前記デジタル要約を生成するために使用される暗号プロセスをブロックチェーン契約に書き込むことと、
前記１つまたは複数のノードに、前記ブロックチェーン契約をデプロイするためのブロックチェーン・トランザクションを開始させることとを含んでいる、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記監査データの前記デジタル要約を生成することが、前記運用情報の前記デジタル要約を生成するために使用される前記暗号プロセスに基づいて前記監査データの前記デジタル要約を生成することを含んでいる、請求項４に記載の方法。
【請求項６】
前記トランザクションの前記トランザクション情報が、前記トランザクションを実行するための１つまたは複数のＵＲＬ（ユニフォーム・リソース・ロケータ）を含んでいる、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記トランザクションの前記トランザクション情報が、前記１つまたは複数のＵＲＬを呼び出すための１つまたは複数のパラメータおよび前記１つまたは複数のＵＲＬを呼び出すことから返された１つまたは複数の結果を含んでいる、請求項６に記載の方法。
【請求項８】
前記身元情報が、前記トランザクションの前記実行を許可するユーザの権限付与レベルを含んでいる、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記身元情報が、前記トランザクションの前記実行を要求するユーザの権限付与レベルを含んでいる、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記運用情報の前記デジタル要約が、前記運用情報のハッシュ値を含んでいる、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記運用情報が、前記トランザクションのトランザクション情報を含んでいる、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記ブロックチェーンがコンソーシアム・ブロックチェーンである、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合されており、請求項１から１２のいずれか一項に記載の前記方法を実行するために前記１つまたは複数のプロセッサによって実行可能な命令が格納されている、１つまたは複数のコンピュータ可読メモリとを備えている、認証システム。
【請求項１４】
請求項１〜１２のいずれか一項に記載の前記方法を実行するために複数のモジュールを備えている、認証装置。
【請求項１５】
１つまたは複数のプロセッサによって実行されるときに前記１つまたは複数のプロセッサに請求項１〜１２のいずれか一項に記載の前記方法を実行させる命令を格納する、１つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、ブロックチェーンベースの認証のための方法およびデバイスに関連している。
【背景技術】
【０００２】
現在の技術において、ほとんどの実体は、独自のアカウントおよび運用を管理している。監査のために収集されるデータ（例えば、アカウント活動ログ、ユーザ識別情報および権限付与レベルなどのアカウント・ユーザ情報）は、多くの場合、実体によって維持されているシステムから取得される。例えば、金融機関は通常、金融システムおよび処理トランザクションへのアクセス権をユーザに付与する独自のシステムをデプロイし、運用している。例示的な要件は、銀行側からあるトランザクションを開始するユーザが、そのトランザクションを審査して承認する人と同じ人になることができない、ということである場合がある。別の例示的な要件は、実体内の特定の地位にあるユーザのみが、特定の時間ウィンドウの間のトランザクションを許可できる、ということである場合がある。監査組織は、金融機関がそのような要件を順守しているかどうかを確認するために、金融機関を監査することがある。プライバシーおよび企業秘密のため、金融機関は、運用データを、第三者に委託せずに、内部で保管して管理する。さらに利己心または別の理由のため、監査用に収集されたデータは、不正確さ、虚偽、操作、または不正行為による影響を受けやすく、このことが監査の信頼性に悪影響を与える。したがって、データの不正確さ、操作、または不正行為を減らすことができるシステムが存在することが望ましい。
【発明の概要】
【０００３】
本明細書のさまざまな実施形態は、ブロックチェーンベースの認証のためのシステム、方法、および非一時的コンピュータ可読媒体を含むが、これらに限定されない。
【０００４】
１つの態様によれば、コンピュータ実装認証方法が、実行されたトランザクションに関連付けられた運用情報に対する認証に関する監査データを取得することと、監査データのデジタル要約を生成することと、運用情報のデジタル要約をブロックチェーンから取得することと、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約を検証することによって、監査データの信頼性を決定することとを備える。この方法は、監査データを取得する前に、運用情報のデジタル要約を、ブロックチェーンに格納するために、ブロックチェーンの１つまたは複数のノードに送信することをさらに含んでよい。
【０００５】
一部の実施形態では、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約を検証することによって、監査データの信頼性を決定することが、監査データの生成されたデジタル要約が運用情報の取得されたデジタル要約と一致するということの決定に応答して、監査データが真正であるということを決定することと、監査データの生成されたデジタル要約が運用情報の取得されたデジタル要約と一致しないということの決定に応答して、監査データが不正であるということを決定することとを含む。
【０００６】
他の実施形態では、運用情報のデジタル要約をブロックチェーンから取得することが、運用情報のデジタル要約を、運用情報のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報に従ってブロックチェーンから取得することを含む。
【０００７】
さらに他の実施形態では、この方法は、監査データを取得する前に、ログインに応答して、ログインの身元情報のデジタル要約を生成することと、身元情報のデジタル要約を、ブロックチェーンに格納するために、ブロックチェーンの１つまたは複数のノードに送信することと、身元情報のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報を取得することと、トランザクションを実行することと、運用情報のデジタル要約を生成することであって、運用情報が、トランザクションのトランザクション情報ならびに身元情報のデジタル要約、身元情報、および身元情報のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報のうちの１つまたは複数を含んでいる、生成することと、運用情報のデジタル要約を、ブロックチェーンに格納するために、ブロックチェーンの１つまたは複数のノードに送信することと、運用情報のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報を取得することとをさらに含む。
【０００８】
さらに他の実施形態では、トランザクションのトランザクション情報が、トランザクションを実行するための１つまたは複数のＵＲＬ（ユニフォーム・リソース・ロケータ：ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒｓ）を含む。
【０００９】
一部の実施形態では、トランザクションのトランザクション情報が、１つまたは複数のＵＲＬを呼び出すための１つまたは複数のパラメータおよび１つまたは複数のＵＲＬを呼び出すことから返された１つまたは複数の結果を含む。
【００１０】
他の実施形態では、身元情報が、トランザクションの実行を許可するユーザの権限付与レベルを含む。
【００１１】
さらに他の実施形態では、身元情報が、トランザクションの実行を要求するユーザの権限付与レベルを含む。
【００１２】
さらに他の実施形態では、運用情報のデジタル要約を、ブロックチェーンに格納するために、ブロックチェーンの１つまたは複数のノードに送信することが、運用情報のデジタル要約および運用情報のデジタル要約を生成するために使用される暗号プロセスをブロックチェーン契約に書き込むことと、１つまたは複数のノードに、ブロックチェーン契約をデプロイするためのブロックチェーン・トランザクションを開始させることとを含む。
【００１３】
一部の実施形態では、監査データのデジタル要約を生成することが、運用情報のデジタル要約を生成するために使用される暗号プロセスに基づいて監査データのデジタル要約を生成することを含む。
【００１４】
他の実施形態では、ブロックチェーンはコンソーシアム・ブロックチェーンである。
【００１５】
さらに他の実施形態では、運用情報のデジタル要約は、運用情報のハッシュ値を含む。ブロックチェーン・トランザクション識別情報は、ブロックチェーン・トランザクションのトランザクション・ハッシュ値を含む。
【００１６】
一部の他の実施形態では、運用情報が、トランザクションのトランザクション情報を含む。
【００１７】
他の実施形態では、認証システムが、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合されており、前述の実施形態のいずれかの方法を実行するために１つまたは複数のプロセッサによって実行可能な命令が格納されている、１つまたは複数のコンピュータ可読メモリとを備える。
【００１８】
さらに他の実施形態では、認証装置が、前述の実施形態のいずれかの方法を実行するために複数のモジュールを備える。
【００１９】
別の態様によれば、認証システムが、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合されており、システムに、実行されたトランザクションに関連付けられた運用情報に対する認証に関する監査データを取得することと、監査データのデジタル要約を生成することと、運用情報のデジタル要約をブロックチェーンから取得することと、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約を検証することによって、監査データの信頼性を決定することとを含んでいる動作を実行させるように、１つまたは複数のプロセッサによって実行可能な命令を使用して構成されている、１つまたは複数の非一時的コンピュータ可読メモリとを備える。
【００２０】
別の態様によれば、非一時的コンピュータ可読記憶媒体が、１つまたは複数のプロセッサに、実行されたトランザクションに関連付けられた運用情報に対する認証に関する監査データを取得することと、監査データのデジタル要約を生成することと、運用情報のデジタル要約をブロックチェーンから取得することと、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約を検証することによって、監査データの信頼性を決定することとを含んでいる動作を実行させるように、１つまたは複数のプロセッサによって実行可能な命令を使用して構成される。
【００２１】
別の態様によれば、認証装置が、実行されたトランザクションに関連付けられた運用情報に対する認証に関する監査データを取得するための取得モジュールと、監査データのデジタル要約を生成するための生成モジュールと、運用情報のデジタル要約をブロックチェーンから取得するための取得モジュールと、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約を検証することによって、監査データの信頼性を決定するための決定モジュールとを備えてよい。
【００２２】
本明細書において開示される実施形態は、１つまたは複数の技術的効果を有する。一部の実施形態では、方法およびシステムは、元のデータと同じはずである監査データに対する認証に関して、元のデータ（例えば、実行されたトランザクションに関連付けられた運用情報）を格納することができる。ブロックチェーンに格納することで、元のデータの正確な記録維持を可能にする。他の実施形態では、トランザクションが実行されるときに、トランザクションの表現が圧縮されてブロックチェーンに入れられ、変更不可能になる。さらに他の実施形態では、方法およびシステムは、ブロックチェーンに格納された元のデータに対して比較することによって、監査データの信頼性をチェックする能力を提供する。さらに他の実施形態では、監査データのデジタル要約を、元のデータのブロックチェーンに格納されたデジタル要約と比較して、監査データが改ざんされていないことを保証することができる。これによって、監査データを提供することにおいて不正確さ、不足、操作、および不正行為を防ぐ。一部の実施形態では、元のデータをデジタル要約としてブロックチェーンに格納することによって、プライバシーの保護を保証しながら、情報の真実の記録を実現する。他の実施形態では、デジタル要約は、さまざまなブロックチェーン・ノードによって検証される合意であるが、元のデータの内容を明らかにしない。このようにして、元のデータが秘密に保たれる。さらに他の実施形態では、方法およびシステムは、監査に必要な情報をデジタル要約に含める能力を提供する。さらに他の実施形態では、元のトランザクションを実行しているユーザの身元および権限付与レベルを、元のデータ（例えば、元のトランザクション）に関連付け、デジタル要約に含めることができる。これによって、監査機関によって監査される予定の監査データを認証するために取得できる十分な情報を提供する。その結果、監査の信頼性および品質が向上する。
【００２３】
本明細書で開示されたシステム、方法、および非一時的コンピュータ可読媒体のこれらおよびその他の特徴だけでなく、構造の関連する要素および部分の組み合わせの動作および機能の方法ならびに製造の経済性が、添付の図面を参照して以下の説明および添付の特許請求の範囲を検討したときに、さらに明らかになってよく、それらすべてが、類似する参照番号がさまざまな図内の対応する部分を指定している本明細書の一部を形成する。しかし、それらの図面が単に例示および説明を目的としており、制限として意図されていないということが、明確に理解されるべきである。
【図面の簡単な説明】
【００２４】
【図１】さまざまな実施形態に従って、ブロックチェーンベースの認証システムの例を示す図である。
【図２】さまざまな実施形態に従って、ブロックチェーン・ネットワークの例を示す図である。
【図３】さまざまな実施形態に従って、データをブロックチェーンに格納するための方法の例を示す図である。
【図４】さまざまな実施形態に従って、データの固定および検証のための方法の例を示す図である。
【図５】さまざまな実施形態に従って、ブロックチェーンベースの認証のための方法の例のフロー・チャートを示す図である。
【図６】さまざまな実施形態に従って、ブロックチェーンベースの認証コンピュータ・システムの例のブロック図を示している。
【図７】本明細書に記載された実施形態のいずれかが実装されてよいコンピュータ・システムの例のブロック図を示している。
【発明を実施するための形態】
【００２５】
本明細書において開示される実施形態は、ブロックチェーンベースの認証システム、方法、および非一時的コンピュータ可読媒体を含むが、これらに限定されない。さまざまな実施形態では、運用情報（例えば、金融トランザクション・データ）のデジタル要約が、固定することによってブロックチェーンに格納される。格納されたデジタル要約を、ブロックチェーンから取得することができ、監査に提供されるデータに対して検証するために使用できる。格納されたデジタル要約の信頼性およびオリジナリティを、ブロックチェーンの不変性、一貫性、および正確さに基づいて保証できる。一部の実施形態では、データ改ざんの試みを防ぐことができる。他の実施形態では、要約を格納することによって、平文情報の格納におけるような重要な情報の過度の開示を防ぐことができる。さらに他の実施形態では、情報漏洩のリスクが低減し、情報を隠蔽する可能性が低下し、かつ／または監査データのセキュリティが向上する。
【００２６】
さまざまな実施形態では、開示された認証システム、方法、および非一時的コンピュータ可読媒体は、誰がネットワークへの参加、合意プロトコルの実行、および共有ブロックチェーン台帳の維持を許可されるかに応じて、さまざまなタイプのブロックチェーンに基づいてよい。さまざまなタイプのブロックチェーンは、例えば、パブリック・ブロックチェーン、コンソーシアム・ブロックチェーン、プライベート・ブロックチェーンなどを含んでよい。以下の説明では、コンソーシアム・ブロックチェーンを参照する。それにもかかわらず、開示された認証システム、方法、および非一時的コンピュータ可読媒体は、他のタイプのブロックチェーンに対して適用されてもよい。
【００２７】
ブロックチェーンは、ネットワーク内のさまざまなノード（例えば、コンピューティング・デバイス）によって動作が実行されるため、分散化されているか、または部分的に集中化されたデータベースであると考えることができ、一般に分散型台帳と呼ばれる。すべての情報がブロックチェーンに書き込まれて保存されるか、またはブロックチェーンから読み取られてよい。ノードは、例えば、ブロックチェーン・ネットワークをサポートし、ブロックチェーン・ネットワークの円滑な実行を維持する、コンピューティング・デバイスまたは大規模なコンピュータ・システムである。各ノードは、ブロックチェーンの機能の一部または全部を提供してよい。例えば、合意の検証を行うノードは、合意参加ノード（または合意ノード）と呼ばれてよい。合意は、一般に受け入れられる処理結果を達成するための、ブロックチェーン・ノードのネットワークに関するルールのアルゴリズムであってよい。合意を通じて、データが継続的にブロックのチェーンに追加される。ブロックに対して変更が行われた場合、そのブロックの、チェーン内の先行するブロックへのリンクが無効になり、それがすべてのネットワーク参加者に見えるようになり、ネットワーク参加者は、合意ルールを通じて、さらなる不正な動作を防ぐことができる。
【００２８】
コンソーシアム・ブロックチェーンとは、事前に設定されたノードによって制御される合意手順を伴うブロックチェーンのことである。このブロックチェーンは、すべての参加者または承認された参加者のみが、アクセスすること、またはハイブリッド・アクセス方法を採用することを、許可することができる。例えば、ルート・ハッシュおよびそのＡＰＩ（アプリケーション・プログラム・インターフェイス：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が一般公開されてよく、外部の関係者は、ＡＰＩを使用して特定の数の照会を行い、ブロックチェーンの状態に関連する情報を取得することを許可される。
【００２９】
コンソーシアム・ブロックチェーンは、より一般的なブロックチェーンであるパブリック・ブロックチェーンと比較した場合に、最もよく理解することができる。パブリック・ブロックチェーンは、アクセス制限を有せず、つまり、インターネットに接続している完全にすべての人が、パブリック・ブロックチェーンの参加者になることができる。さらに具体的には、世界中のすべての人が、ブロックチェーンに含まれている可能性のあるデータを読み取ることができ、世界中のすべての人が、パブリック・ブロックチェーン上でブロックチェーン・トランザクションを実行することを許可される。また、誰がブロックチェーンの合意プロセスに参加できるかに関して制限がなく、合意プロセスは、ブロックをブロックチェーンに追加できる個人または実体を決定するプロセスである。パブリック・ブロックチェーンは、ブロックチェーンに対する制御がどの個人または実体の管理下にもなく、完全に分散化されていると考えられる。
【００３０】
コンソーシアム・ブロックチェーンは、許可されるという点において、パブリック・ブロックチェーンとは異なっており、したがって、インターネット接続を有しているだけで、誰もがコンソーシアム・ブロックチェーンにアクセスできるわけではない。このタイプのブロックチェーンは、半分散化されているとして説明することもできる。コンソーシアム・ブロックチェーンに対する制御は、単一の実体に対して許可されず、承認された個人のグループに対して許可される。コンソーシアム・ブロックチェーンでは、合意プロセスがパブリック・ブロックチェーンの合意プロセスと異なる可能性が高い。誰でもこの手順に参加できるのではなく、コンソーシアム・ブロックチェーンの合意の参加者は、ネットワーク上の事前に承認されたノードのグループである可能性が高い。それらのノードは、さまざまな国、企業、またはその他の実体に対応してよい。したがって、コンソーシアム・ブロックチェーンは、パブリック・ブロックチェーンに固有のセキュリティ機能を有しながら、ネットワークに対するより高度な制御も可能にする。
【００３１】
図１は、さまざまな実施形態に従ってさまざまな開示されたステップおよび方法を実行するためのシステム１１０の例を示している。図に示されているように、システム１１０は、実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４を備えてよく、これらの各々は、ネットワーク１１９によって表されたさまざまなタイプの通信を介して一緒に結合された１つまたは複数の物理ハードウェア・デバイスまたは仮想デバイスに対応してよい。
【００３２】
実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４の各々は、サーバ、コンピュータ、携帯電話などの、１つまたは複数のコンピューティング・デバイスにおいて実装されてよい。例えば、システムの各々は、サーバのクラスターにおいて実装されてよい。サーバのクラスターは、負荷バランシングを採用してよい。
【００３３】
実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４は、この図では単一のコンポーネントとして示されているが、これらのシステムを単一のデバイスまたは一緒に結合された複数のデバイスとして実装できるということが理解されるべきである。すなわち、図１のシステムのうちの２つ以上が単一のシステムに統合されるか、または別々のシステムとして実装されてよい。例えば、実体のシステム１１１およびアンカー・システム１１３は、１つまたは複数のコンピューティング・デバイスを備えている認証システム１１８に統合されてよい。認証システム１１８は、ブロックチェーンベースの認証システムと呼ばれてよい。実体のシステム１１１およびアンカー・システム１１３は、統合された場合、統合されたシステムのさまざまなモジュールまたは同様のコンポーネントとして実装されてよい。
【００３４】
実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４の各々は、システム１１０の他のデバイスにアクセスするために、適切なソフトウェア（例えば、認証アプリケーション・プログラム・インターフェイス）および／またはハードウェア（例えば、ワイヤ、無線接続）と共にインストールされてよい。実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４の各々は、１つまたは複数のプロセッサおよび１つまたは複数のプロセッサに結合された１つまたは複数のメモリを含んでよい。それらのメモリは、非一時的かつコンピュータ可読であってよく、１つまたは複数のプロセッサに、本明細書に記載された動作を実行させるように、１つまたは複数のプロセッサによって実行可能な命令を使用して構成されてよい。
【００３５】
一般に、実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４は、ネットワーク１１９を介して互いに通信可能であってよい。例えば、実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、および監査システム１１４は、データを伝達できる１つまたは複数の有線ネットワークまたは無線ネットワーク（例えば、インターネット）を介して互いに通信可能であってよい。システム・コンポーネントのさまざまな態様が、図２〜７を参照して下でさらに詳細に説明される。
【００３６】
図２は、さまざまな実施形態に従って、ブロックチェーン・ネットワーク１２０の例を示している。図に示されているように、ブロックチェーン・ネットワーク１２０は、前述したブロックチェーン・システム１１２を備えてよい。ブロックチェーン・システム１１２は、複数のブロックチェーン・ノード（例えば、ノード１、ノード２、ノード３、ノード４、ノードｉなど）を備えてよい。複数のブロックチェーン・ノードは、あるブロックチェーン・ノードが別のブロックチェーン・ノードと通信するネットワーク（例えば、ピアツーピア・ネットワーク）を形成してよい。図に示されているブロックチェーン・ノードの順序および数は、説明を簡単にするための単なる例である。ブロックチェーン・ノードは、サーバ、コンピュータなどにおいて実装されてよい。各ブロックチェーン・ノードは、ＴＣＰ／ＩＰなどのさまざまなタイプの通信方法を介して一緒に結合された１つまたは複数の物理ハードウェア・デバイスまたは仮想デバイスに対応してよい。分類に応じて、ブロックチェーン・ノードは、満杯になったノード、Ｇｅｔｈノード、合意ノードなどを含んでよい。
【００３７】
さまざまな実施形態では、ブロックチェーン・システム１１２の１つまたは複数のノードは、前述した実体のシステム１１１、アンカー・システム１１３、および監査システム１１４などの、他のシステムおよびデバイスと情報をやりとりしてよい。この情報のやりとりは、例えばトランザクション、認証、契約などの目的で、データの送信および／または受信を含んでよい。１つの例では、ノードＡ（例えば、携帯電話、コンピュータなど）は、認証システム１１８のデバイスに対応してよく、情報をブロックチェーンに格納するためにノード１（または、ブロックチェーン・システム１１２の複数のノード）に送信してよい。格納プロセスは、ブロックチェーン・トランザクションを介して実行されてよい。例えば、情報がブロックチェーン契約（例えば、スマート・コントラクト）に書き込まれてよく、ブロックチェーン・トランザクションがノード１（または、ブロックチェーンの合意ルールに基づいてそのような権限を有する１つまたは複数の他のノード）によって開始され、契約をブロックチェーンにデプロイしてよい。他のブロックチェーン・トランザクションと同様に、ここでブロックチェーン・トランザクションは、トランザクション・ハッシュに対応してよい。このハッシュは、ハッシュ値を表し、データ（例えば、実行されるトランザクションに関連付けられた身元情報、トランザクション情報）に対して実行されるハッシュ関数またはアルゴリズムの数値出力であってよい。ブロックチェーンは、ブロックチェーン・トランザクションのハッシュ値を格納してよい。後で（例えば、検証のために）情報を取得する必要があるときに、ノードＡ／ノードＢ（例えば、携帯電話、コンピュータなど）は、別のブロックチェーン・トランザクションを開始してブロックチェーンから情報を取得するように、ノード１／ノード２（または、ブロックチェーン・システム１１２の複数のノード）に対して指示してよい。別のブロックチェーン・トランザクションは、情報を取得するために、アドレスを照会してよい。ノードＢは、認証システム１１８、監査システム１１４、またはブロックチェーン・システム１１２に結合された別のシステム（図示されていない）に属してよい。
【００３８】
ブロックチェーン・システム１１２との情報のやりとりにおいて、ノードＡおよびノードＢは、ブロックチェーン・トランザクションの開始、転送、またはアクセスを実行するための適切なブロックチェーン・ソフトウェアと共にインストールされてよい。ノードＡは、ブロックチェーンのノード１または１つまたは複数の他のノードとの通信を介して、ブロックチェーンにアクセスしてよく、ノードＢは、ブロックチェーンのノード２または１つまたは複数の他のノードとの通信を介して、ブロックチェーンにアクセスしてよい。ノードＡは、ノード１または同様のノードを介してブロックチェーン・トランザクションをブロックチェーンにサブミットし、ブロックチェーン・トランザクションをブロックチェーンに追加することを要求してよい。
【００３９】
ブロックチェーンは、それぞれメモリを備えているか、またはメモリに結合している、複数のブロックチェーン・ノードによって維持されてよい。一部の実施形態では、このメモリは、プール・データベースを格納してよい。プール・データベースは、分散方式で、複数のブロックチェーン・ノードによってアクセス可能であってよい。例えば、プール・データベースは、ブロックチェーン・ノードのメモリにそれぞれ格納されてよい。プール・データベースは、ノードＡに類似する１つまたは複数のユーザ・デバイスによってサブミットされた複数のブロックチェーン・トランザクションを格納してよい。
【００４０】
一部の実施形態では、受信者ブロックチェーン・ノードは、未確認のブロックチェーン・トランザクションのブロックチェーン・トランザクション要求を受信した後に、ブロックチェーン・トランザクションの何らかの予備的検証を実行してよい。例えば、図２を参照すると、ノード１は、ノードＡからブロックチェーン・トランザクションを受信した後に、予備的検証を実行してよい。ブロックチェーン・トランザクションは、検証された後に、受信者ブロックチェーン・ノード（例えば、ノード１）のプール・データベースに格納されてよく、受信者ブロックチェーン・ノードが、このブロックチェーン・トランザクションを１つまたは複数の他のブロックチェーン・ノード（例えば、ノード３、ノード４）に転送してもよい。それらの１つまたは複数の他のブロックチェーン・ノードは、受信者ノードによって実行されたプロセスを繰り返してよい。対応するプール・データベース内のブロックチェーン・トランザクションが特定のレベル（例えば、しきい値）に達した後に、ブロックチェーン・ノードはそれぞれ、合意ルールまたはその他のルールに従って、対応するプール・データベース内の一組のブロックチェーン・トランザクションを検証してよい。ブロックチェーン・トランザクションがブロックチェーン契約（例えば、スマート・コントラクト）を含んでいる場合、ブロックチェーン・ノードは、ブロックチェーン契約をローカルに実行してよい。ブロックチェーン契約は、契約の交渉または実行をデジタル的に容易にするか、検証するか、または実施するよう意図されたコンピュータ・プロトコルである。ブロックチェーン契約は、第三者が存在せずに、信頼できるブロックチェーン・トランザクションの実行を許可する。ブロックチェーン・トランザクションの例は、データの（契約のデプロイメントによる）格納および（契約へのアクセスまたは契約の実行による）取得のために、データを契約コードでエンコードしてよい。ブロックチェーン契約は、身元情報のハッシュ値、実行されたブロックチェーン・トランザクションに関連付けられたブロックチェーン・トランザクション情報などの、ユーザによって記述された契約コードを含んでよい。合意ルールに従って一組のブロックチェーン・トランザクションを正常に検証した特定のブロックチェーン・ノードは、それらのブロックチェーン・トランザクションを圧縮して、ブロックチェーンのローカル・コピーに追加し、その結果を他のブロックチェーン・ノードに拡散してよい。この特定のブロックチェーン・ノードは、検証を最初に正常に完了したブロックチェーン・ノードであるか、検証権限を取得したブロックチェーン・ノードであるか、または別の合意ルールに基づいて決定されたブロックチェーン・ノードなどであってよい。次に、他のブロックチェーン・ノードが、ブロックチェーン・トランザクションをローカルに実行し、（例えば、ハッシュ計算を実行することによって）実行結果を互いに検証し、ブロックチェーンのコピーを特定のブロックチェーン・ノードのブロックチェーンのコピーと同期させてよい。他のブロックチェーン・ノードは、ブロックチェーンのローカル・コピーを更新することによって、ブロックチェーン・トランザクション内のそのような情報を各ローカル・メモリに同様に書き込んでよい。このようにして、ブロックチェーン契約がデプロイされる。デプロイされた契約は、実行するために、ブロックチェーン上の対応するアドレスを介して後でアクセスすることができる。例えば、契約に格納されたデータを取得することができる。ある時点で検証が失敗した場合、ブロックチェーン・トランザクションが拒否される。上記にかかわらず、他のタイプのブロックチェーン・システムおよび関連する合意ルールが、開示されたブロックチェーン・システムに適用されてよい。
【００４１】
図３は、さまざまな実施形態に従って、データをブロックチェーンに格納するための方法３００の例を示している。方法３００は、図１のシステム１１０の１つまたは複数のコンポーネント（例えば、実体のシステム１１１、ブロックチェーン・システム１１２）によって実装されてよい。前述したように、実体のシステム１１１は、１つまたは複数のコンピューティング・デバイスを備えている認証システム１１８の一部であってよい。実体のシステム１１１は、銀行システムなどの金融システムであってよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法３００は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。
【００４２】
一部の実施形態では、ステップ３１１で、実体のシステム１１１を介して、実体が身元検証要求（例えば、ログイン）を開始してよい。実体は、個人、会社または企業、組織などに関連付けられてよい。例えば、ある人が、検証のためにログイン・ユーザの特定の身元情報（例えば、アカウントおよびパスワードなどの認証情報、ログイン・ユーザの権限付与レベルなど）を入力することによって、実体のシステム１１１または実体のシステム１１１に結合された同様のシステム（例えば、銀行によって運用され、ノードＡ上に実装されているオンライン銀行システム）にログインしようとしてよい。
【００４３】
ステップ３１２で、実体のシステム１１１が、身元情報を検証し、身元検証要求のための身元情報の第１のデジタル要約を取得してよい。身元検証要求のための身元情報は、例えば、ログイン・ユーザの経歴情報（例えば、名前、性別、住所、識別情報、連絡先電話番号など）、ログインのタイムスタンプおよび場所、ログイン・デバイス、ログインが成功したか失敗したかなどのうちの１つまたは複数に関連するが、これらに限定されない、任意の情報を含んでよい。身元情報の第１のデジタル要約は、身元情報のハッシュ（例えば、ＳＨＡ−２５６ハッシュ）であってよい。実体のシステム１１１は、身元情報に対してハッシュ・プロセスを実行し、第１のデジタル要約を取得してよい。例えば、第１のデジタル要約は、身元情報に対してハッシュ・アルゴリズムを実行することによって取得されたハッシュ値を含んでよい。実体のシステム１１１は、第１のデジタル要約をブロックチェーン・システム１１２に送信し、ブロックチェーン・システム１１２によって維持されているブロックチェーンに格納してよい。第１のブロックチェーン・トランザクションによって、第１のデジタル要約が、ブロックチェーン・システム１１２に格納される。ブロックチェーンは、第１のデジタル要約（例えば、身元情報のハッシュ値）を格納してよいが、ブロックチェーンに格納されたデータがさまざまなブロックチェーン・ノードから見えるため、プライバシーを保証するために、身元情報の詳細（例えば、平文）を格納しなくてよい。
【００４４】
一部の実施形態では、実体のシステム１１１は、１つまたは複数の軽量ノード（例えば、ノードＡ、ノードＢ）を含んでよい。実体のシステム１１１は、軽量ノードに結合されたブロックチェーン・システム１１２のノード（例えば、ノード１）を介して、第１のブロックチェーン・トランザクションを開始してよい。例えば、第１のデジタル要約がブロックチェーン契約（例えば、スマート・コントラクト）に書き込まれてよく、第１のブロックチェーン・トランザクションが開始されて、契約をブロックチェーンにデプロイしてよい。デプロイメントによって、契約が、実行、取得、またはその他の動作のために、ブロックチェーンからアクセス可能になる。この場合、第１のブロックチェーン・トランザクションは、第１のブロックチェーン・トランザクション識別情報（例えば、第１のトランザクション・ハッシュ）に対応してよい。例えば、第１のブロックチェーン・トランザクション識別情報は、第１のブロックチェーン・トランザクションのハッシュ値であることができる。ブロックチェーン・システム１１２は、第１のブロックチェーン・トランザクション識別情報を格納してもよい。このようにして、第１のブロックチェーン・トランザクション識別情報および第１のデジタル要約が固定される。この固定関係が、アンカー・システム１１３に格納されてよい。第１のブロックチェーン・トランザクション識別情報を照会することによって、ブロックチェーンに格納されたデジタル要約を取得できる。例えば、第１のブロックチェーン・トランザクション識別情報がブロックチェーン・システム１１２に送信された場合、ブロックチェーン・システム１１２はブロックチェーン契約を実行し、第１のデジタル要約を取得してよい。デジタル要約をブロックチェーン・システム１１２に格納し、格納されたデジタル要約を取得するための、多くのその他の適切な方法が存在する。当業者は、本明細書の実施形態が上記の例に限定されないということを理解するはずである。
【００４５】
ステップ３１３で、上記のステップが正常に実行された場合、ブロックチェーン・システム１１２が、第１のデジタル要約がブロックチェーンに正常に格納されたことを示す結果を返してよい。例えば、実体のシステム１１１は、ログインが成功したという通知を取得してよい。ブロックチェーン・システム１１２は、身元情報の第１のデジタル要約をブロックチェーンに格納することに関連付けられた第１のブロックチェーン・トランザクション識別情報を返してもよい。
【００４６】
ステップ３２１で、実体が、実体のシステム１１１を介してトランザクション要求（例えば、金融トランザクションまたは別の活動）を開始してよい。
【００４７】
ステップ３２２で、ログインが成功したことに応答して、実体のシステム１１１が、トランザクション要求に従ってトランザクションを実行し、トランザクション結果を取得してよい。ここで、トランザクションは、送金、資金の引き出し、アカウント情報の変更、情報の要求、資金の要求、トランザクションの承認または拒否などの、任意のタイプの活動にすることができる。トランザクションは、本明細書に記載された例に限定されない。本明細書では、トランザクション情報は、トランザクションに関連する情報を参照するために使用される。例えば、トランザクション情報は、トランザクション要求、トランザクション結果、ユーザ識別情報および権限付与レベルなどのアカウント・ユーザ情報、ユーザまたは実体のシステム１１１がトランザクションを実行しているときにアクセスしたＵＲＬ（ユニフォーム・リソース・ロケータ）、トランザクションの実行に関連する変数または係数、トランザクションの前および／または後の預金残高、アカウント活動ログなどのうちの１つまたは複数を含むことができる。当業者は、トランザクション情報が上記の例に限定されないということを理解するはずである。
【００４８】
以下の例では、運用情報という用語が使用される。一部の実施形態では、運用情報は、トランザクション情報を含むことができる。一部の他の実施形態では、運用情報は、トランザクション情報に加えて、ログイン・ステップ３１１および３１３に関連付けられた情報を含むことができる。一部の実施形態では、ログイン・ステップ３１１および３１３に関連付けられた情報は、第１のデジタル要約、実体（ユーザ）の身元情報、または第１のブロックチェーン・トランザクション識別情報のうちの１つまたは複数を含んでよい。例えば、ある状況では、運用情報は、トランザクション情報に加えて、第１のデジタル要約を含む。運用情報に何を含めるかは、開示された実施形態を実装する人の設計上の選択であってよい。
【００４９】
実体のシステム１１１は、運用情報の第２のデジタル要約をさらに取得（例えば、生成）してよい。運用情報の第２のデジタル要約は、運用情報のハッシュ（例えば、ＳＨＡ−２５６ハッシュ）であってよい。実体のシステム１１１は、運用情報に対してハッシュ・プロセスを実行し、第２のデジタル要約を取得してよい。例えば、第２のデジタル要約は、運用情報に対してハッシュ・アルゴリズムを実行することによって取得されたハッシュ値を含んでよい。実体のシステム１１１は、第２のデジタル要約をブロックチェーン・システム１１２に送信し、ブロックチェーン・システム１１２によって維持されているブロックチェーンに格納してよい。
【００５０】
さまざまな実施形態では、実体のシステム１１１は、第２のブロックチェーン・トランザクションを開始し、ブロックチェーン・システム１１２のノードを介して第２のデジタル要約をブロックチェーンに格納してよい。例えば、第２のデジタル要約がブロックチェーン契約（例えば、スマート・コントラクト）に書き込まれてよく、第２のブロックチェーン・トランザクションがこのノードまたは別のノードによって開始されて、契約をブロックチェーンにデプロイしてよい。この場合、第２のブロックチェーン・トランザクションは、第２のデジタル要約にも関連付けられている第２のブロックチェーン・トランザクション識別情報（例えば、第２のトランザクション・ハッシュ）に対応してよい。ブロックチェーンは、第２のデジタル要約（例えば、運用情報のハッシュ値）を格納してよいが、ブロックチェーンに格納されたデータがさまざまなブロックチェーン・ノードから見えるため、プライバシーを保証するために、トランザクション情報の詳細（例えば、平文）を格納しなくてよい。ブロックチェーンは、第２のブロックチェーン・トランザクション識別情報を格納してもよい。このようにして、第２のブロックチェーン・トランザクション識別情報および第２のデジタル要約が固定される。この固定関係が、アンカー・システム１１３に格納されてよい。第２のブロックチェーン・トランザクション識別情報を照会することによって、ブロックチェーンに格納された第２のデジタル要約を取得できる。ブロックチェーンへの運用情報の第２のデジタル要約の格納を実現するために、スマート・コントラクトのその他の代替方法が採用されてよい。
【００５１】
ステップ３２３で、上記のステップが正常に実行された場合、ブロックチェーン・システム１１２が、第２のデジタル要約がブロックチェーンに正常に格納されたことを示す結果を実体のシステム１１１に返してよい。ブロックチェーン・システム１１２は、運用情報の第２のデジタル要約をブロックチェーンに格納することに関連付けられた第２のブロックチェーン・トランザクション識別情報を返してもよい。第２のブロックチェーン・トランザクション識別情報または同様のトランザクション識別情報は、実体のシステム１１１および／または別のシステム（例えば、アンカー・システム１１３）に格納されてよい。したがって、実体のシステム１１１は、運用情報のデジタル要約をブロックチェーンに格納することに関連付けられたトランザクション識別情報を取得してよい。
【００５２】
代替として、ステップ３１１は、ステップ３２１と結合されてよい。すなわち、識別情報の検証およびトランザクションが同時に要求されてよい。それに応じて、ステップ３１２がステップ３２２と結合されてよく、ステップ３１３が３２３と結合されてよい。
【００５３】
図４は、さまざまな実施形態に従って、データの固定および検証のための方法４００の例を示している。方法４００は、図１のシステム１１０の１つまたは複数のコンポーネント（例えば、実体のシステム１１１、ブロックチェーン・システム１１２、アンカー・システム１１３、監査システム１１４）によって実装されてよい。前述したように、実体のシステム１１１およびアンカー・システム１１３は、別々のシステムとして示されているが、１つまたは複数のコンピューティング・デバイスを備えている認証システム１１８に統合されてよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法４００は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。
【００５４】
一部の実施形態では、ステップ４１１で、監査システム１１４が、実体のシステム１１１と共に監査要求を開始してよい。例えば、監査機関のシステムが、実体のシステム１１１との通信を開始し、監査用のデータを提供するように実体に要求してよい。本明細書では、通常、監査するために実体のシステム１１１によって提供されるデータを監査データと呼ぶ。要求された監査データは、１つまたは複数のトランザクションに関する運用情報の１つまたは複数の完全なセットであってよく、または運用情報の一部（例えば、アカウント活動ログ、ユーザ識別情報および権限付与レベルなどのアカウント・ユーザ情報など）であってよい。実体のシステム１１１によって提供された監査データが真実である場合、監査データは、運用情報と同じであるはずである。
【００５５】
ステップ４１２で、実体のシステム１１１は、要求された監査データを監査システム１１４に送信してよい。したがって、監査システム１１４は、運用情報に対する認証に関する監査データを取得してよい。例えば、監査データは、１つまたは複数の実行されたトランザクションに対応するとされている、１つまたは複数のトランザクションのログを含んでよい。以降のステップは、監査データが過去のトランザクションに本当に対応しているかどうかを認証するために実行されてよい。このようにして、監査データの操作を防ぐことができる。
【００５６】
ステップ４２１で、監査システム１１４は、アンカー・システム１１３を介して監査データの検証を開始してよい。監査システム１１４は、監査データをアンカー・システム１１３に転送してよい。本明細書では、アンカーまたは固定は、関連付けること、またはその他の方法で関連付けを確立することを意味してよい。アンカー・システム１１３は、相関関係を格納する。例えば、アンカー・システム１１３は、ブロックチェーン・トランザクション識別情報とデジタル要約の相関関係を格納する。アンカー・システム１１３は、相関関係を実体のシステム１１１から取得していてよい。
【００５７】
ステップ４２２で、それに応じて、アンカー・システム１１３が、監査データに基づいてブロックチェーン・トランザクション識別情報を取得してよい。例えば、監査データは、監査対象の実行されたトランザクションの識別情報を含んでよい。実行されたトランザクションは、ブロックチェーン・トランザクション識別情報に関連付けられてよい。ブロックチェーン・トランザクションは、図３と併せて上で説明されたブロックチェーン・トランザクションであることができる。前述したように、アンカー・システム１１３は、実行されたトランザクションに対応するデジタル要約をブロックチェーンに格納するブロックチェーン・トランザクションに対応するブロックチェーン・トランザクション識別情報を格納していてよい。アンカー・システム１１３は、ブロックチェーン・トランザクション識別情報を、監査システム１１４から直接、または実体のシステム１１１から、取得してよい。ステップ４２２で取得されたこのブロックチェーン・トランザクション識別情報は、第３のブロックチェーン・トランザクション識別情報（例えば、第３のトランザクション・ハッシュ）と呼ぶことができる。図３に関連して上で説明されたブロックチェーン・トランザクション識別情報と同様に、第３のブロックチェーン・トランザクション識別情報は、ブロックチェーン・システム１１２上のデジタル要約に関連付けられる。このデジタル要約は、すでにブロックチェーン・システム１１２に格納されている監査対象の運用情報のデジタル要約である。第３のブロックチェーン・トランザクション識別情報を使用して、ブロックチェーン・システム１１２からデジタル要約を識別および取得することができる。このステップで、アンカー・システム１１３は、対応するデジタル要約を識別および取得するために、第３のブロックチェーン・トランザクション識別情報をブロックチェーン・システム１１２に送信することができる。
【００５８】
アンカー・システム１１３は、監査データのデジタル要約を生成してもよい。このデジタル要約は、第３のデジタル要約と呼ぶことができる。
【００５９】
ステップ４２３で、ブロックチェーン・システム１１２が、第３のブロックチェーン・トランザクション識別情報に関連付けられたデジタル要約のブロックチェーンに格納されたコピーをアンカー・システム１１３に送信してよい。
【００６０】
ステップ４２４で、アンカー・システム１１３が、第３のブロックチェーン・トランザクション識別情報に関連付けられたデジタル要約のブロックチェーンに格納されたコピーが、生成された第３のデジタル要約と一致するかどうかを、検証してよい。
【００６１】
ステップ４３１で、アンカー・システム１１３が、検証結果を監査システム１１４に返してよい。第３のブロックチェーン・トランザクション識別情報に関連付けられたデジタル要約のブロックチェーンに格納されたコピーが、生成された第３のデジタル要約と一致する場合、検証結果は、監査データが真正であることを示してよい。そうでない場合、検証結果は、監査データが不正であることを示してよい。
【００６２】
前述したように、一部の実施形態では、アンカー・システム１１３が監査システム１１４と統合されてよい。一部の他の実施形態では、ステップのうちの一部または全部が、アンカー・システム１１３の代わりに、監査システム１１４によって実行されてよい。例えば、監査システム１１４は、第３のブロックチェーン・トランザクション識別情報を、実体のシステム１１１またはアンカー・システム１１３から取得してよい。代替として、監査システム１１４は、それ自身のデータベースから第３のブロックチェーン・トランザクション識別情報を取得してよく、このデータベースは、実行されたトランザクションとブロックチェーン・トランザクション識別情報の間の対応関係を格納してよい。監査システム１１４は、ブロックチェーン・トランザクション識別情報に基づいて、実行されたトランザクションに関連付けられた運用情報のデジタル要約を取得してよい。監査システム１１４は、監査データの第３のデジタル要約を生成してもよい。次に、監査システム１１４は、第３のデジタル要約をブロックチェーンから取得されたデジタル要約と比較し、監査データを検証してよい。
【００６３】
図５は、さまざまな実施形態に従って、ブロックチェーンベースの認証を実装するための方法５１０の例のフロー・チャートを示している。方法５１０は、図１のシステム１１０の１つまたは複数のコンポーネント（例えば、認証システム１１８）によって実装されてよい。例えば、ステップ５１４〜５１７は、認証システム１１８のアンカー・システム１１３によって実行されてよい。例えば、ステップ５０１〜５０４および５１１〜５１３は、認証システム１１８の実体のシステム１１１およびアンカー・システム１１３の組み合わせによって実行されてよい。方法５１０は、さまざまなハードウェア・マシンおよび／またはソフトウェアを備えているシステムによって実装されてよい。例えば、認証システム１１８は、１つまたは複数のシステムまたはデバイス（例えば、コンピュータ、サーバ）によって実装されてよい。方法５１０を実装するシステムは、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合され、システム（例えば、プロセッサ）に方法５１０を実行させるように１つまたは複数のプロセッサによって実行可能な命令を使用して構成された、１つまたは複数の非一時的コンピュータ可読記憶媒体（例えば、１つまたは複数のメモリ）とを備えてよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法５１０は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。方法５１０の実装の例は、図３〜４を参照して上で説明されている。
【００６４】
一部の実施形態では、一部の任意選択的なステップが、ステップ５１４の前に実行されてよい。任意選択的なステップ５０１は、ユーザからのログインに応答して、このログインの身元情報のデジタル要約（例えば、第１のデジタル要約）を生成することを含む。任意選択的なステップ５０２は、身元情報のデジタル要約（例えば、第１のデジタル要約）を、ブロックチェーンに格納するために、ブロックチェーンの１つまたは複数のノードに送信することを含む。任意選択的なステップ５０３は、身元情報の第１のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報（例えば、第１のブロックチェーン・トランザクション識別情報）を取得することを含む。
【００６５】
任意選択的なステップ５０４は、ユーザの要求通りにトランザクション（例えば、金融トランザクション）を実行することを含む。任意選択的なステップ５１１は、実行されたトランザクションに関連付けられた運用情報のデジタル要約（例えば、第２のデジタル要約）を生成することを含む。一部の実施形態では、運用情報の第２のデジタル要約は、運用情報のハッシュ値を含む。特定のデータのハッシュまたはハッシュ値は、ハッシュ値（例えば、データに対するハッシュ・アルゴリズムの実行の数値結果）を意味してよい。例えば、特定のデータ（例えば、運用情報）のデジタル要約を生成することは、データに対してハッシュ・アルゴリズムを実行して、数値結果を取得することを含んでよい。運用情報の内容は、監査要求事項に従って構成されてよい。運用情報は、トランザクションのトランザクション情報ならびに身元情報のデジタル要約、身元情報、および身元情報のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報（例えば、第１のブロックチェーン・トランザクション識別情報）のうちの１つまたは複数を含んでよい。
【００６６】
一部の実施形態では、トランザクションのトランザクション情報が、トランザクションを実行するための１つまたは複数のＵＲＬを含んでよい。トランザクションのトランザクション情報は、１つまたは複数のＵＲＬを呼び出すための１つまたは複数のパラメータ（例えば、アカウントＩＤ）および１つまたは複数のＵＲＬの呼び出しから返された１つまたは複数の結果（例えば、最終預金残高）を含んでよい。例えば、運用情報は、実行されたトランザクションに関連付けられたトランザクション情報および第１のデジタル要約を含んでよい。特定の例では、運用情報内のトランザクション情報は、トランザクションを実行するために呼び出されるＵＲＬを含んでいる、トランザクションを実行することの要求を含んでよい。別の例の場合、運用情報は、トランザクションを要求するか、または許可するユーザの識別情報を含んでもよい。別の例の場合、運用情報は、動作の実行結果（例えば、送金額または残高）を含んでもよい。一部の実施形態では、識別情報は、トランザクションの実行を要求するか、または許可するユーザの権限付与レベルを含み、この権限付与レベルは、ユーザがトランザクションを実施または承認するための十分に高い権限付与レベルを持っているかどうかを検証するために、使用することができる。
【００６７】
任意選択的なステップ５１２は、運用情報のデジタル要約（例えば、第２のデジタル要約）を、ブロックチェーンに格納するために、ブロックチェーンの１つまたは複数のノードに送信することを含む。一部の実施形態では、運用情報のデジタル要約を、ブロックチェーンに格納するためにブロックチェーンの１つまたは複数のノードに送信することが、運用情報の第２のデジタル要約および運用情報のデジタル要約を生成するために使用される暗号プロセス（例えば、ＳＨＡ−２５６ハッシュ）をブロックチェーン契約に書き込むことと、１つまたは複数のノードに、ブロックチェーン契約をデプロイするためのブロックチェーン・トランザクションを開始させることとを含む。さらに詳細については、前述したステップ３２２を参照することができる。
【００６８】
任意選択的なステップ５１３は、運用情報の第２のデジタル要約に関連付けられたブロックチェーン・トランザクション識別情報（例えば、第２のブロックチェーン・トランザクション識別情報）を取得することを含む。一部の実施形態では、トランザクション識別情報は、ブロックチェーン契約をデプロイするブロックチェーン・トランザクションのトランザクション・ハッシュ値を含む。トランザクション・ハッシュの例については、前述した第１のブロックチェーン・トランザクション識別情報および第２のブロックチェーン・トランザクション識別情報を参照できる。
【００６９】
ステップ５１４は、実行されたトランザクションに関連付けられた運用情報（例えば、ステップ５０４〜５１３で実行されたトランザクションに関連付けられた運用情報）に対して、認証に関する監査データを取得することを含む。ここで、本明細書は、「実行されたトランザクション」を参照する。当業者は、本明細書では、実行されたトランザクションが、複数の実行されたトランザクションまたは実行されたトランザクションの一部を含むことができるということを、理解するべきである。監査データは、実体によって提供されるか、または監査用の他の場所から取得されてよい。監査データは、監査する必要があるか、またはその他の方法で検証する必要がある、任意のタイプの記録データを含んでよい。以降のステップによって、運用情報との一致に基づいて、監査データの信頼性が検証されてよい。さらに詳細については、前述したステップ４１１、４１２、および４２１を参照することができる。
【００７０】
ステップ５１５は、監査データのデジタル要約（例えば、第３のデジタル要約）を生成することを含む。一部の実施形態では、監査データの第３のデジタル要約を生成することが、運用情報の第２のデジタル要約を生成するために使用される暗号プロセス（例えば、ＳＨＡ−２５６ハッシュ）に基づいて監査データの第３のデジタル要約を生成することを含む。
【００７１】
ステップ５１６は、運用情報のデジタル要約をブロックチェーンから取得することを含む。ここで、ブロックチェーンからの監査データに対応するはずであるデジタル要約が、取得されてよい。一部の実施形態では、デジタル要約をブロックチェーンから取得することが、監査対象のトランザクションに関連付けられたブロックチェーン・トランザクション識別情報に従ってデジタル要約を取得することを含む。一部の実施形態では、監査システムが、監査データ内の監査対象のトランザクションに関する情報に基づいて、ブロックチェーン・トランザクション識別情報を取得してよい。監査データが真正である状況では、ブロックチェーン・トランザクション識別情報は、ステップ５１３で第２のデジタル要約に関連付けられた第２のブロックチェーン・トランザクション識別情報と同じはずである。さらに詳細については、前述したステップ４２２および４２３を参照することができる。
【００７２】
ステップ５１７は、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約（例えば、第３のデジタル要約）を検証することによって、監査データの信頼性を決定することを含む。さらに詳細については、前述したステップ４２４を参照することができる。一部の実施形態では、ステップ５１７は、監査データの生成された第３のデジタル要約が取得されたデジタル要約と一致するということの決定に応答して、監査データが真正であるということを決定することと、監査データの生成された第３のデジタル要約が取得されたデジタル要約と一致しないということの決定に応答して、監査データが不正であるということを決定することとを含む。
【００７３】
図６は、さまざまな実施形態に従って、ブロックチェーンベースの認証を実装するためのコンピュータ・システム６１０の例のブロック図を示している。システム６１０は、図１のシステム１１０の１つまたは複数のコンポーネント（例えば、認証システム１１８）の実装の例であってよい。方法５１０は、コンピュータ・システム６１０によって実装されてよい。コンピュータ・システム６１０は、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合され、システムまたはデバイス（例えば、プロセッサ）に方法５１０を実行させるように１つまたは複数のプロセッサによって実行可能な命令を使用して構成された、１つまたは複数の非一時的コンピュータ可読記憶媒体（例えば、１つまたは複数のメモリ）とを備えてよい。コンピュータ・システム６１０は、命令（例えば、ソフトウェア命令）に対応するさまざまなユニット／モジュールを備えてよい。一部の実施形態では、コンピュータ・システム６１０は、認証装置と呼ばれてよい。認証装置は、実行されたトランザクションに関連付けられた運用情報に対する認証に関する監査データを取得するための取得モジュール６１１と、監査データのデジタル要約を生成するための生成モジュール６１２と、運用情報のデジタル要約をブロックチェーンから取得するための取得モジュール６１３と、運用情報の取得されたデジタル要約に対して、監査データの生成されたデジタル要約を検証することによって、監査データの信頼性を決定するための決定モジュール６１４とを備えてよい。
【００７４】
図に示されているように、実行されたトランザクションに関連付けられた運用情報のデジタル要約を生成し、このデジタル要約をブロックチェーンに格納することによって、運用情報の表現を安全に維持することができ、検証のためにアクセス可能にすることができる。デジタル要約は、今後の監査のために、ブロックチェーンの記録データに格納される。ハッシュ処理を含んでいるブロックチェーンの合意ルールに基づいて、格納されたデータの改ざんを防ぐことができる。運用情報のデジタル要約表現は、平文情報を隠蔽し、プライバシーを保護することもできる。ブロックチェーン・トランザクション識別情報を照会することによって、ブロックチェーンに格納されたデジタル要約を、検証のためにブロックチェーンから取得することができる。このようにして、監査データのオリジナリティおよび信頼性を保証することができ、監査の不正行為の可能性を低くする。
【００７５】
本明細書に記載された技術は、１つまたは複数の専用コンピューティング・デバイスによって実装される。それらの専用コンピューティング・デバイスは、デスクトップ・コンピュータ・システム、サーバ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド・デバイス、ネットワーク・デバイス、あるいは本技術を実装するために配線論理および／またはプログラム論理を組み込む任意のその他デバイスまたはデバイスの組み合わせであってよい。それらの専用コンピューティング・デバイスは、パーソナル・コンピュータ、ラップトップ、携帯電話、カメラ付き携帯電話、スマートフォン、パーソナル・デジタル・アシスタント、メディア・プレーヤー、ナビゲーション・デバイス、電子メール・デバイス、ゲーム機、タブレット・コンピュータ、ウェアラブル・デバイス、またはこれらの組み合わせとして実装されてよい。コンピューティング・デバイスは、通常、オペレーティング・システム・ソフトウェアによって制御され、調整される。従来のオペレーティング・システムは、特に、実行のためにコンピュータ・プロセッサを制御およびスケジューリングし、メモリ管理を実行し、ファイル・システム、ネットワーク、Ｉ／Ｏサービスを提供し、グラフィカル・ユーザ・インターフェイス（ＧＵＩ：ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）などのユーザ・インターフェイス機能を提供する。本明細書に記載されたさまざまなシステム、装置、ストレージ媒体、モジュール、およびユニットは、専用コンピューティング・デバイス、あるいは１つまたは複数の専用コンピューティング・デバイスの１つまたは複数のコンピューティング・チップにおいて実装されてよい。一部の実施形態では、本明細書に記載された命令は、専用コンピューティング・デバイス上の仮想マシンにおいて実装されてよい。それらの命令は、実行されたときに、専用コンピューティング・デバイスに、本明細書に記載されたさまざまな方法を実行させてよい。この仮想マシンは、ソフトウェア、ハードウェア、またはこれらの組み合わせを含んでよい。例えば、仮想マシンは、イーサリアム内でスマート・コントラクト用の実行時環境を提供するイーサリアム仮想マシン（ＥＶＭ：Ｅｔｈｅｒｅｕｍ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）ソフトウェアを含んでよい。
【００７６】
図７は、本明細書に記載された実施形態のいずれかが実装されてよいコンピュータ・システム７００を示すブロック図である。システム７００は、本明細書に記載されたノードのいずれかにおいて実装されてよく、ブロックチェーン契約を実装するために、対応するステップを実行するように構成されてよい。コンピュータ・システム７００は、情報を伝達するためのバス７０２またはその他の通信機構、情報を処理するためにバス７０２に結合された１つまたは複数のハードウェア・プロセッサ７０４を含んでいる。ハードウェア・プロセッサ７０４は、例えば、１つまたは複数の汎用マイクロプロセッサであってよい。
【００７７】
コンピュータ・システム７００は、情報およびプロセッサ７０４によって実行可能な命令を格納するためにバス７０２に結合された、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などのメイン・メモリ７０６、キャッシュ、および／またはその他の動的ストレージ・デバイスも含んでいる。メイン・メモリ７０６は、プロセッサ７０４によって実行可能な命令の実行中にテンポラリ変数またはその他の中間情報を格納するために使用されてもよい。そのような命令は、プロセッサ７０４によってアクセス可能なストレージ媒体に格納された場合、コンピュータ・システム７００を、命令で指定された動作を実行するようにカスタマイズされた専用マシンにする。コンピュータ・システム７００は、プロセッサ７０４用の静的情報および命令を格納するためにバス７０２に結合された、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）７０８またはその他の静的ストレージ・デバイスをさらに含んでいる。磁気ディスク、光ディスク、またはＵＳＢサム・ドライブ（フラッシュ・ドライブ）などのストレージ・デバイス７１０が、情報および命令を格納するために提供され、バス７０２に結合される。
【００７８】
コンピュータ・システム７００は、コンピュータ・システムと組み合わせてコンピュータ・システム７００が専用マシンになることを引き起こすか、または専用マシンになるようにプログラムする、カスタマイズされた配線論理、１つまたは複数のＡＳＩＣもしくはＦＰＧＡ、ファームウェア、および／またはプログラム論理を使用して、本明細書に記載された技術を実装してよい。一実施形態によれば、本明細書に記載された動作、方法、およびプロセスは、プロセッサ７０４がメイン・メモリ７０６に含まれている１つまたは複数の命令の１つまたは複数のシーケンスを実行することに応答して、コンピュータ・システム７００によって実行される。そのような命令は、ストレージ・デバイス７１０などの別のストレージ媒体からメイン・メモリ７０６に読み取られてよい。メイン・メモリ７０６に含まれている命令のシーケンスの実行は、プロセッサ７０４に、本明細書に記載されたプロセスのステップを実行させる。代替の実施形態では、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、配線接続された回路が使用されてよい。
【００７９】
メイン・メモリ７０６、ＲＯＭ７０８、および／またはストレージ７１０は、非一時的ストレージ媒体を含んでよい。「非一時的媒体」という用語および類似の用語は、本明細書において使用されるとき、マシンを特定の方法で動作させるデータおよび／または命令を格納する媒体を指しており、この媒体は、一時的信号を除外する。そのような非一時的媒体は、不揮発性媒体および／または揮発性媒体を含んでよい。不揮発性媒体の例としては、ストレージ・デバイス７１０などの、光ディスクまたは磁気ディスクが挙げられる。揮発性媒体の例としては、メイン・メモリ７０６などの、動的メモリが挙げられる。非一時的媒体の一般的形態の例としては、フロッピー・ディスク、フレキシブル・ディスク、ハード・ディスク、半導体ドライブ、磁気テープ、または任意のその他の磁気データ・ストレージ媒体、Ｃ−ＲＯＭ、任意のその他の光データ・ストレージ媒体、穴のパターンを有する任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、任意のその他のメモリ・チップまたはメモリ・カートリッジ、ならびにこれらのネットワーク化されたバージョンが挙げられる。
【００８０】
コンピュータ・システム７００は、バス７０２に結合されたネットワーク・インターフェイス７１８も含んでいる。ネットワーク・インターフェイス７１８は、１つまたは複数のローカル・ネットワークに接続された１つまたは複数のネットワーク・リンクに結合している双方向データ通信を提供する。例えば、ネットワーク・インターフェイス７１８は、総合デジタル通信網（ＩＳＤＮ：ｉｎｔｅｇｒａｔｅｄ  ｓｅｒｖｉｃｅｓ  ｄｉｇｉｔａｌ  ｎｅｔｗｏｒｋ）カード、ケーブル・モデム、衛星モデム、または対応するタイプの電話回線とのデータ通信接続を提供するためのモデムであってよい。別の例として、ネットワーク・インターフェイス７１８は、互換性のあるＬＡＮとのデータ通信接続を提供するためのローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）カード（またはＷＡＮと通信するためのＷＡＮコンポーネント）であってよい。無線リンクが実装されてもよい。いずれかのそのような実装では、ネットワーク・インターフェイス７１８は、さまざまなタイプの情報を表すデジタル・データ・ストリームを運ぶ電気信号、電磁信号、または光信号を送信および受信する。
【００８１】
コンピュータ・システム７００は、ネットワーク、ネットワーク・リンク、およびネットワーク・インターフェイス７１８を介して、メッセージを送信し、プログラム・コードを含むデータを受信することができる。インターネットの例では、サーバが、インターネット、ＩＳＰ、ローカル・ネットワーク、およびネットワーク・インターフェイス７１８を介して、アプリケーション・プログラムの要求されたコードを送信してよい。
【００８２】
受信されたコードは、受信されたときにプロセッサ７０４によって実行されてよく、かつ／または後で実行するために、ストレージ・デバイス７１０またはその他の不揮発性ストレージに格納されてよい。
【００８３】
上記のセクションにおいて説明されたプロセス、方法、およびアルゴリズムの各々は、コンピュータ・ハードウェアを備えている１つまたは複数のコンピュータ・システムまたはコンピュータ・プロセッサによって実行されるコード・モジュールにおいて具現化され、完全に、または部分的に自動化されてよい。プロセスおよびアルゴリズムは、特定用途向け回路において部分的または全体的に実装されてよい。
【００８４】
前述したさまざまな特徴およびプロセスが、互いに独立して使用されてよく、またはさまざまな方法で組み合わせられてよい。可能性のあるすべての組み合わせおよび部分的組み合わせが、本明細書の範囲に含まれるよう意図されている。加えて、一部の実装では、特定の方法またはプロセスのブロックが省略されてよい。また、本明細書に記載された方法およびプロセスは、いずれかの特定のシーケンスに限定されず、それらに関連するブロックまたは状態を、適切な他のシーケンスで実行することができる。例えば、説明されたブロックまたは状態は、具体的に開示された順序以外の順序で実行されてよく、または複数のブロックまたは状態が、単一のブロックまたは状態と組み合わせられてよい。ブロックまたは状態の例は、直列、並列、または何らかのその他の方法で実行されてよい。ブロックまたは状態は、開示された実施形態に追加されるか、または開示された実施形態から削除されてよい。本明細書に記載されたシステムおよびコンポーネントの例は、説明された方法とは異なって構成されてよい。例えば、要素が、開示された実施形態に追加されるか、開示された実施形態から削除されるか、または開示された実施形態と比較して再配置されてよい。
【００８５】
本明細書に記載された方法のさまざまな動作は、関連する動作を実行するように（例えば、ソフトウェアによって）一時的に構成されるか、または永続的に構成される１つまたは複数のプロセッサによって、少なくとも部分的に実行されてよい。一時的に構成されるか、または永続的に構成されるかにかかわらず、そのようなプロセッサは、本明細書に記載された１つまたは複数の動作または機能を実行するように動作するプロセッサ実装エンジンを構成してよい。
【００８６】
同様に本明細書に記載された方法は、少なくとも部分的にプロセッサ実装であってよく、特定の１つまたは複数のプロセッサがハードウェアの例である。例えば、方法の動作の少なくとも一部が、１つまたは複数のプロセッサまたはプロセッサ実装エンジンによって実行されてよい。さらに、１つまたは複数のプロセッサが、「クラウド・コンピューティング」環境内で、または「ＳａａＡ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）」として、関連する動作の実行をサポートするように動作してもよい。例えば、動作の少なくとも一部は、（プロセッサを含んでいるマシンの例として）コンピュータのグループによって実行されてよく、それらの動作は、ネットワーク（例えば、インターネット）を介して、および１つまたは複数の適切なインターフェイス（例えば、アプリケーション・プログラム・インターフェイス（ＡＰＩ））を介してアクセス可能である。
【００８７】
特定の動作の実行は、単一のマシン内に存在するだけでなく、複数のマシンにわたってデプロイされて、プロセッサ間で分散されてよい。一部の実施形態では、プロセッサまたはプロセッサ実装エンジンは、単一の地理的位置（例えば、住居環境内、オフィス環境内、またはサーバ・ファーム内）に配置されてよい。他の実施形態では、プロセッサまたはプロセッサ実装エンジンは、複数の地理的位置にわたって分散されてよい。
【００８８】
本明細書全体を通じて、複数のインスタンスが、単一のインスタンスとして説明されたコンポーネント、動作、または構造を実装してよい。１つまたは複数の方法の個別の動作が別々の動作として示され、説明されているが、個別の動作のうちの１つまたは複数が同時に実行されてよく、各動作が、示された順序で実行される必要はない。構成において別々のコンポーネントとして提示された構造および機能は、結合された構造またはコンポーネントとして実装されてよい。同様に、単一のコンポーネントとして提示された構造および機能は、別々のコンポーネントとして実装されてよい。これらおよびその他の変形、変更、追加、および改良は、本明細書における対象の範囲に含まれる。
【００８９】
対象の概要が特定の実施形態を参照して説明されているが、本明細書の実施形態のより広い範囲を逸脱することなく、それらの実施形態に対してさまざまな修正および変更が行われてよい。「発明を実施するための形態」は、制限する意味で受け取られるべきではなく、さまざまな実施形態の範囲は、添付の特許請求の範囲に資格が与えられるあらゆる同等のものと共に、添付の特許請求の範囲によってのみ定義される。さらに、本明細書において使用されている関連用語（「第１の」、「第２の」、「第３の」など）は、どのような順序、高さ、または重要性も意味しておらず、ある要素を別の要素から区別するために使用されている。さらに、「１つの（ａ）」、「１つの（ａｎ）」、および「複数の」という用語は、本明細書では数量の制限を意味しておらず、言及されている項目が少なくとも１つ存在すること意味している。
【図１】
0006871386.tif 000002
【図２】
0006871386.tif 000003
【図３】
0006871386.tif 000004
【図４】
0006871386.tif 000005
【図５】
0006871386.tif 000006
【図６】
0006871386.tif 000007
【図７】
0006871386.tif 000008