(57)【要約】本発明は、一般に、データのセキュアな処理、送信、及び交換のための暗号技術に関する。本発明はまた、ビットコイン（登録商標）ブロックチェーン（これに限定されるものではない）等、ピアツーピア分散型台帳（元帳）に関する。詳細には、本発明は、暗号的に制御されるセキュアな方法でデータを識別、保護、抽出、送信、及び更新するための制御ソリューションに関する。本発明はまた、相異なるコンピューティングシステムの間でデータを通信する能力及びシステム相互運用性に関する。本発明は、エンティティの関心第１構造に関連付けられた少なくとも１つの公開ルート鍵及び関連付けられる１つ以上の公開サブ鍵を含む第１構造公開鍵のセットを識別するステップと、少なくとも１つの公開ルート鍵と関連付けられる１つ以上の公開サブ鍵との間の決定論的関連付けを導出するステップと、ブロックチェーンからの複数のトランザクション（TXs）からデータを抽出するステップと、を含む、コンピュータにより実行される方法（及び対応するシステム）を提供する。上記のデータは、第１構造と少なくとも１つのさらなる構造との間のブロックチェーントランザクション（Tx）を示すデータと、第１構造に関連付けられた第１構造公開鍵と、を含む。第１構造公開鍵は、暗号公開／秘密鍵の一部である。この方法は、決定論的関連付けを用いて、抽出されたトランザクションデータに対して、第１構造公開鍵のセットのうちの少なくとも一部をマッチングすることにより、関心第１構造についての出力を生成するステップを含む。１つ以上の公開サブ鍵は、楕円曲線暗号（ECC）とメッセージ（M）の暗号ハッシュに基づく決定論的鍵（DK）とを用いて生成又は決定される。１つ以上の公開サブ鍵は、関連付けられる公開親鍵と、決定論的鍵（DK）とジェネレータ（G）とのスカラー乗算と、のスカラー加算に基づいて決定される。
2019511151.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
エンティティの関心第１構造に関連付けられた少なくとも１つの公開ルート鍵及び関連付けられる１つ以上の公開サブ鍵を含む第１構造公開鍵のセットを識別するステップと、
前記少なくとも１つの公開ルート鍵と前記関連付けられる１つ以上の公開サブ鍵との間の決定論的関連付けを導出するステップと、
ブロックチェーンからの複数のトランザクション（TXs）からトランザクションデータを抽出するステップであって、前記トランザクションデータは、
前記関心第１構造と少なくとも１つのさらなる構造との間のトランザクション（Tx）を示すデータと、
前記関心第１構造に関連付けられた第１構造公開鍵であって、前記第１構造公開鍵は暗号公開／秘密鍵の一部である、第１構造公開鍵と、
を含む、ステップと、
前記決定論的関連付けを用いて、前記の抽出されたトランザクションデータに対して、前記第１構造公開鍵のセットのうちの少なくとも一部をマッチングすることにより、前記関心第１構造についての出力を生成するステップと、
を含む、方法。
【請求項２】
前記１つ以上の公開サブ鍵は、楕円曲線暗号（ECC）とメッセージ（M）の暗号ハッシュに基づく決定論的鍵（DK）とを用いて生成又は決定される、請求項１記載の方法。
【請求項３】
ｉ）前記メッセージは、意味、リンク、及び／又は関連付けを伝達するように選択、構成、又は作成される、且つ／又は
ｉｉ）前記１つ以上の公開サブ鍵は、関連付けられる公開親鍵と、決定論的鍵（DK）とジェネレータ（G）とのスカラー乗算と、のスカラー加算に基づいて生成又は決定される、請求項２記載の方法。
【請求項４】
前記少なくとも１つの公開ルート鍵と前記関連付けられる１つ以上の公開サブ鍵との間の前記決定論的関連付けを導出するステップは、前記公開サブ鍵を決定するためのルールを決定することを含む、請求項１乃至３いずれか一項記載の方法。
【請求項５】
前記少なくとも１つの公開ルート鍵と前記関連付けられる１つ以上の公開サブ鍵との間の前記決定論的関連付けは、ツリー階層である又はツリー階層に基づく、請求項１乃至４いずれか一項記載の方法。
【請求項６】
前記第１構造公開鍵のセットを識別するステップは、前記少なくとも１つの公開ルート鍵を識別することと、前記少なくとも１つの公開ルート鍵に基づいて、前記１つ以上の公開サブ鍵を決定することと、を含む、請求項１乃至５いずれか一項記載の方法。
【請求項７】
前記ブロックチェーンからの前記複数のトランザクションから前記トランザクションデータを抽出するステップは、前記複数のトランザクションから、
トランザクション入力値と、
トランザクション出力値と、
前記トランザクションを示す前記データに基づいて、前記トランザクション入力値又は前記トランザクション出力値を導出するためのルールと、
前記トランザクションについてのタイムスタンプと、
のうちの１つ以上を抽出することをさらに含む、請求項１乃至６いずれか一項記載の方法。
【請求項８】
前記関心第１構造と前記少なくとも１つのさらなる構造との間の前記トランザクションは、暗号通貨の交換又は移転に関する、あるいは、暗号通貨の交換又は移転を含む、請求項１乃至７いずれか一項記載の方法。
【請求項９】
前記関心第１構造と前記少なくとも１つのさらなる構造との間の前記トランザクションは、契約の取り交わし、商品若しくはサービス取引、又は、トークン化された資産の移転に関する、請求項１乃至８いずれか一項記載の方法。
【請求項１０】
前記関心第１構造と前記少なくとも１つのさらなる構造との間の前記トランザクションは、契約の取り交わしに関し、該契約は、法定通貨と引き換えられる特定の権利を保有者に付与する、請求項９記載の方法。
【請求項１１】
コンピュータベースのリソースに前記の生成された出力を転記又は送信するステップ
を含む、請求項１乃至１０いずれか一項記載の方法。
【請求項１２】
前記の生成された出力を転記するステップは、前記の生成された出力を１つ以上の転記ファイルに書き込むことと、第１構造秘密鍵を用いて、前記１つ以上の転記ファイルに署名することと、を含み、前記第１構造秘密鍵は、前記第１構造秘密鍵及び関連付けられた第１構造公開鍵を含む非対称暗号ペアの一部である、請求項１１記載の方法。
【請求項１３】
前記の生成された出力を、前記エンティティのコンピュータベースのストレージ設備又は内部データベースに格納するステップ
を含む、請求項１乃至１２いずれか一項記載の方法。
【請求項１４】
前記の生成された出力を、公開データベース又はブロックチェーンに格納するステップ
を含む、請求項１乃至１３いずれか一項記載の方法。
【請求項１５】
前記の生成された出力は、ブロックチェーントランザクション内のメタデータとして前記ブロックチェーンに格納される、請求項１４記載の方法。
【請求項１６】
前記の生成された出力を、データベース又はブロックチェーンに格納するために、前記の生成された出力をハッシュ化する且つ／又は前記の生成された出力に署名するステップ
を含む、請求項１乃至１５いずれか一項記載の方法。
【請求項１７】
コンピュータにより実行される方法であって、
構造の１つ以上の要素を、別の暗号鍵から導出された暗号サブ鍵に関連付けるステップであって、前記構造は、階層的なエンティティに関連付けられている又は階層的なエンティティを反映している、ステップと、
ブロックチェーントランザクション（Tx）から、要素のサブ鍵を含む又は要素のサブ鍵に関連するデータを抽出又はコピーするステップと、
前記エンティティに関連付けられた非ブロックチェーンベースのコンピュータシステムに、前記の抽出されたデータを送信するステップと、
を含む、方法。
【請求項１８】
ブロックチェーンをスキャン、トラバース、及び／又は分析して、要素のサブ鍵を含む又は要素のサブ鍵に関連する前記データを含む１つ以上のブロックチェーントランザクション（TXs）を識別するステップ
をさらに含む、請求項１７記載の方法。
【請求項１９】
前記の抽出されたデータを処理して出力を生成するステップ
をさらに含む、請求項１７又は１８記載の方法。
【請求項２０】
宛先に前記出力を通信するステップ
をさらに含む、請求項１９記載の方法。
【請求項２１】
請求項１乃至２０いずれか一項記載の方法を実行するよう構成されているコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、データのセキュアな処理、送信、及び交換のための暗号技術に関する。本開示はまた、ビットコイン（登録商標；以下省略）ブロックチェーン及び関連技術（これらに限定されるものではない）等、ピアツーピア分散型台帳（元帳）に関する。詳細には、本開示は、暗号的に制御されるセキュアな方法でデータを識別、保護、抽出、送信、及び更新するための制御ソリューションに関する。本開示はまた、相異なるコンピューティングシステムの間でデータを通信する能力及びシステム相互運用性に関する。
【背景技術】
【０００２】
ブロックチェーンは、トランザクションから構成されるブロックから構成されるコンピュータベースの非中央集権型の分散型システムとして実装されるピアツーピア電子台帳である。各トランザクションは、ブロックチェーンシステムにおける参加者の間のデジタル資産の移管を符号化したデータ構造であり、少なくとも１つの入力及び少なくとも１つの出力を含む。各ブロックは、前のブロックのハッシュを含み、ブロックが一緒にチェーン状に連なって、ブロックチェーンの最初からブロックチェーンに書き込まれた全てのトランザクションの永続的で変更できないレコードが作成される。トランザクションは、その入力及び出力に埋め込まれたスクリプトとして知られる小さなプログラムを含み、これらは、トランザクションの出力がどのように誰によってアクセスされ得るかを指定する。ビットコインプラットフォームにおいて、これらのスクリプトは、スタックベースのスクリプト言語を使用して記述される。
【０００３】
トランザクションがブロックチェーンに書き込まれるためには、これが「検証」されなければならない。ネットワークノード（マイナー）は、有効でないトランザクションがネットワークから拒否されることで、各トランザクションが有効であることを保証するための作業を実行する。ノードにインストールされたソフトウェアクライアントは、そのロッキングスクリプト及びアンロッキングスクリプトを実行することにより、未使用トランザクション（UTXO）に対してこの検証作業を実行する。ロッキングスクリプト及びアンロッキングスクリプトの実行によりTRUE（真）と評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、ｉ）トランザクションを受信した第１ノードにより検証され−トランザクションが検証された場合には、このノードは、ネットワークにおける他のノードにトランザクションを中継し−、ｉｉ）マイナーにより構築された新たなブロックに追加され、ｉｉｉ）マイニングされなければならない、すなわち、過去のトランザクションの公開台帳に追加されなければならない。
【０００４】
ブロックチェーン技術が、暗号通貨実装の使用について最も広く知られているが、デジタルアントレプレナーは、新たなシステムを実装するために、ビットコインが基づく暗号セキュリティシステムとブロックチェーン上に格納され得るデータとの両方の使用を模索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動化されたタスク及びプロセスに使用できれば、非常に有利であろう。そのようなソリューションは、それらの用途においてより多様でありながら、ブロックチェーンの利点（例えば、イベントの永続的で改ざんされにくいレコードの分散処理等）を利用することができるであろう。
【０００５】
現在の研究の一領域は、「スマートコントラクト（契約）」の実装にブロックチェーンを使用することである。スマートコントラクトは、マシンが読み取り可能な契約又は合意の条件の実行を自動化するように設計されたコンピュータプログラムである。自然言語で記述されるであろう従来の契約とは異なり、スマートコントラクトは、結果を生成するために入力を処理することができるルールを含み、次いで、その結果に応じてアクションを実行させることができる、マシンが実行可能なプログラムである。ブロックチェーン関連の別の関心領域は、ブロックチェーンを介して現実世界のエンティティを表現及び移転するための「トークン」（又は「カラードコイン」）の使用である。潜在的に機密の又は秘密のアイテムは、識別可能な意味又は値を有しないトークンにより表現され得る。したがって、トークンは、現実世界のアイテムがブロックチェーンから参照されることを可能にする識別子として機能する。
【０００６】
本開示において、これらの技術は、データ及び資産が、異なるコンピュータシステムの間で移転されることを可能にする新規で有利な構成において使用され、その１つはブロックチェーンである。大規模の組織又はエンティティ内で使用されるコンピュータシステムは、非常に大きく複雑で技術的に多様なことがしばしばある。データのセキュリティは、通常、最も重要である。システムに格納されるデータへのアクセス及びそのようなデータの利用は、効率的でコスト効果が高い必要がある。実際においてしばしば階層的である大規模の組織内で複雑なコンピューティングシステムを使用することから生じる技術的困難の少なくとも一部を克服する必要がある。
【０００７】
本文書において、本発明の１つの可能な使用又は適用を例示するために、財務会計コンテキストが用いられる。しかしながら、この例は、例示の目的に過ぎず、本発明は、この点において限定されるものではないことに留意することが重要である。代わりに、本発明は、組織に関連付けられた任意のタイプの非ブロックチェーン実装のコンピューティングシステムとともに使用するための、一般的で暗号的に実施されるブロックチェーンベースのソリューションを提供する。
【０００８】
例示的な使用に関連して、エンティティの総勘定元帳は、エンティティ内で発生する全ての財務トランザクションをまとめた勘定の集合である。この勘定の集合の構造は、通常、個々のエンティティ自体により設定され、現金、支払勘定、経費勘定、並びに、買付及び貸付等、事業財務諸表において報告される勘定を含み得る。いくつかの状況において、総勘定元帳は、複数のサブ元帳に細分化され得る。そのような場合、総勘定元帳内の各サブ元帳は、エンティティが追跡する必要がある各勘定についての貨幣的交換に基づく財政状態の個別収支又は現在収支を保持することができる。
【０００９】
エンティティについての会計設定は、数百又は数千の別個の報告ポイント、すなわち、ビジネスユニット、部門、商品等により、比較的複雑になる可能性がある。例えば、商品ラインごとに１つ、部門ごとに１つ等、パラレルブック（parallel  books）が必要とされることがある。
【００１０】
大規模のエンティティは、大きなデータベース構造に基づく複雑な財務システムを実装して、総勘定元帳についての勘定を管理することがある。例えば、財務システムは、取り込まれたデータが正確に報告され得るように、様々なデータベースの管理及び同期を必要とすることがある。
【００１１】
本文書において、全ての形態の電子的でコンピュータベースの分散型台帳を含むように「ブロックチェーン」という用語が使用される。これらは、ピアツーピアのコンセンサスベースのブロックチェーン及びトランザクションチェーン技術、認可型台帳及び認可不要型台帳、共有台帳、並びにこれらの変形を含むが、これらに限定されるものではない。他のブロックチェーン実装も提案及び開発されているが、ブロックチェーン技術の最も広く知られている用途はビットコイン台帳である。本開示において、ビットコインが、便宜及び例示の目的で参照され得るが、本発明は、ビットコインブロックチェーンとともに使用することに限定されるものではなく、代替のブロックチェーン実装及びプロトコルも本発明の範囲内に属することに留意すべきである。
【発明の概要】
【００１２】
本発明は、特許請求の範囲において定められる。
【００１３】
本発明は、暗号方法及び対応するシステムを提供し得る。本発明は、ブロックチェーン実装の方法／システムを提供し得る。本発明は、データのセキュアな識別、抽出、送信、処理、及び／又は更新のための制御システムを提供し得る。本発明は、暗号鍵を使用して、ブロックチェーンを、非ブロックチェーン実装のコンピューティングリソース（例えば、データ格納／処理リソース）と統合する方法／システムを提供し得る。本発明は、暗号鍵を使用して、ブロックチェーンからデータを抽出する且つ／又はブロックチェーンをソースとする該データを非ブロックチェーン実装の格納リソースへと統合する方法／システムを提供し得る。本発明は、ピアツーピア分散型台帳（すなわちブロックチェーン）において又はピアツーピア分散型台帳から、エンティティの関心（第１）構造についてのレコードを生成する、コンピュータにより実行される方法を提供し得る。エンティティは、組織、システム、又はネットワークと呼ばれることがある。
【００１４】
本発明は、特に、データのセキュアな処理であって、そのインテグリティが新規な暗号技術の使用により保たれる、データのセキュアな処理を可能にするので、従来技術に対する顕著な利点を提供する。本発明はまた、異なる設計、構造、アーキテクチャ、及びプロトコルで実装されている別個のコンピュータシステムの間のデータの通信及び交換を可能にする。したがって、本発明は、システム相互運用性を提供する。本発明は、既存のコンピュータシステムとブロックチェーンとの間のファシリテータ又はインタフェースとして機能するための暗号鍵の使用を、一方の構造又はプロトコルの改造の必要なく可能にする。本発明は、例えばデータベースといった、潜在的に多数の複雑なシステムの管理及び同期を容易にするので、データ処理の高められた性能及び効率を提供する。
【００１５】
エンティティは、例えば、システムコンポーネント、アカウント、データレコード、又はネットワークエンティティ等といった複数の要素から構成され得る。エンティティは、階層関係において編成された又は関連付けられた複数の要素を有する階層的なエンティティであり得る。エンティティ内のこれらの要素は、要素の構造を形成し得る。これは、階層構造であり得る。構造は、エンティティ内のこれらの要素の間の関係又は関連付けを規定又は反映しているチェーン又はツリー状階層を含み得る。構造内のこれらの要素は、エンティティ内のサブエンティティ、ユニット、又は他の集合体に関連付けられ得る。
【００１６】
エンティティ、及び／又は構造内の１つ以上の要素は、それぞれの暗号鍵に関連付けられ得る。この鍵は、公開／秘密鍵ペアの一部を形成し得る。「ルート」鍵／ペアとして指定される１つの鍵又は鍵ペアが存在し得る。構造内のさらなる要素は、このルートから導出されるサブ鍵又はペアに関連付けられ得る。サブ鍵は、決定論的に生成され得る。サブ鍵は、「サブ鍵生成の方法」と題する以下のセクションにおいて実質的に説明されるように生成又は決定され得る。サブ鍵は、別の（前の）鍵に基づいて、生成、導出、又は決定され得る。サブ鍵の生成は、ECC技術の使用を含み得る。サブ鍵は、メッセージ（M）の暗号ハッシュに基づく決定論的鍵（DK）を使用して、生成、導出、又は決定され得る。メッセージは、ランダム、擬似ランダム、予め規定されたもの、又は選択されたものであり得る。好ましい実施形態において、メッセージは、例えば口座番号等の意味のある値に対応するように選択、構成、又は作成される。メッセージは、エンティティ又はサブエンティティ／要素に関連する何らかの意味を有し得る。メッセージは、エンティティ又は要素へのリンク、関連付け、又は参照を提供し得る。サブ鍵は、関連付けられる公開親鍵と、決定論的鍵とジェネレータ（G）とのスカラー乗算と、のスカラー加算に基づいて決定され得る。メッセージは、ブロックチェーントランザクション（Tx）内に又はブロックチェーントランザクション（Tx）内のメタデータとして格納され得る。メッセージは、さらなるサブ鍵を提供するために再ハッシュ化され得る。
【００１７】
発明は、
構造の１つ以上の要素を、別の暗号鍵から導出された暗号サブ鍵に関連付けるステップと、
ブロックチェーントランザクション（Tx）から、要素のサブ鍵を含む又は要素のサブ鍵に関連するデータを抽出するステップと、
非ブロックチェーンベースのコンピュータシステムに抽出されたデータを送信するステップと、
を含み得る。非ブロックチェーンベースのコンピュータシステムは、ブロックチェーンの一部ではないことがある。
【００１８】
この方法は、ブロックチェーンをスキャン、トラバース、及び／又は分析して、要素の暗号サブ鍵を含む又は要素の暗号サブ鍵に関連するデータを含む１つ以上のブロックチェーントランザクション（TXs）を識別するステップを含み得る。
【００１９】
この方法は、抽出されたデータを処理して出力を生成するステップをさらに含み得る。一実施形態において、出力は、結果、計算、レポート、決定、又は、財務会計レコード等のレコードであり得る。この方法は、ネットワークを介して宛先に出力を通信するステップを含み得る。
【００２０】
追加的又は代替的に、発明は、
第１構造に関連付けられた少なくとも１つの公開ルート鍵及び関連付けられる１つ以上の公開サブ鍵を含む第１構造公開鍵のセットを識別するステップと、
少なくとも１つの公開ルート鍵と関連付けられる１つ以上の公開サブ鍵との間の決定論的関連付けを導出するステップと、
ピアツーピア（P2P）分散型台帳（ブロックチェーン）からの複数のブロックチェーントランザクションからトランザクションデータ／情報を抽出（コピー）するステップであって、抽出されたデータは、少なくとも、
第１構造と少なくとも１つのさらなる構造との間のトランザクションを示すデータと、
第１構造に関連付けられた第１構造公開鍵であって、第１構造公開鍵は、第１構造公開鍵及び第１構造秘密鍵を含む暗号ペアの一部である、第１構造公開鍵と、
を含む、ステップと、
決定論的関連付けを用いて、抽出されたトランザクションデータに対して第１構造公開鍵のセットをマッチングすることにより、関心第１構造についての出力（例えば財務会計レコード）を生成するステップと、
を含み得る。
【００２１】
第１構造と少なくとも１つのさらなる構造との間のトランザクションは、１つのパーティから別のパーティへの資産の移転を含み得る。資産は、トークン化された資産、又は何らかの種類のデジタル資産であり得る。これは、暗号通貨の一部であり得る。トランザクションは、１つのパーティから別のパーティに資産の所有権及び／又は管理を移転し得る。
【００２２】
ブロックチェーンは、暗号通貨に関連し得る。例えば、ブロックチェーンは、ビットコインブロックチェーンであり得る。代替的に、別の暗号通貨又はブロックチェーンプロトコルが使用されてもよい。
【００２３】
第１構造は、アイテムの規定されたグループ、例えば、エンティティ内の要素、を表し得る。アイテムは、物理的なものでも論理的なものでもよく、例えば勘定であり得る。例えば、第１構造は、ユーザの第１グループ、部門、若しくはチーム等の第１ビジネスユニット；エンティティの第１商品若しくはサービス；又は、エンティティ全体に関連付けられ得る。
【００２４】
少なくとも１つのさらなる構造は、エンティティ内に存在し得る。例えば、少なくとも１つのさらなる構造は、第２ビジネスユニット、又は、第２商品若しくはサービスに関連付けられ得る。
【００２５】
代替的に、少なくとも１つのさらなる構造は、さらなるエンティティ内に存在してもよい。例えば、少なくとも１つのさらなる構造は、さらなるエンティティのビジネスユニット、さらなるエンティティの商品若しくはサービス、又は、さらなるエンティティ全体に関連付けられ得る。
【００２６】
第１構造公開鍵のセットは、少なくとも１つの公開ルート鍵及び関連付けられる全ての公開サブ鍵を含み得る。
【００２７】
少なくとも１つの公開ルート鍵と関連付けられる１つ以上の公開サブ鍵との間の決定論的関連付けを導出するステップは、関連付けられる親鍵から公開サブ鍵を決定するためのルールを決定することを含み得る。例えば、サブ鍵を決定するためのルールは、シード値を生成するためにメッセージのハッシュを決定することを含み得る。
【００２８】
少なくとも１つの公開ルート鍵と関連付けられる１つ以上の公開サブ鍵との間の決定論的関連付けは、ツリー階層であり得る。代替的に、決定論的関連付けは、チェーン階層であってもよい。
【００２９】
各公開サブ鍵は、エンティティ内の仮想的な若しくは物理的な又は論理的なアイテム（例えば勘定）を表し得る。
【００３０】
第１構造公開鍵のセットを識別するステップは、少なくとも１つの公開ルート鍵を識別することと、少なくとも１つの公開ルート鍵に基づいて、１つ以上の公開サブ鍵を決定することと、を含み得る。少なくとも１つの公開ルート鍵は、内部データベースから、例えば勘定科目表といったデータを取得することにより識別され得る。
【００３１】
ブロックチェーンからの複数のトランザクションからトランザクションデータを抽出するステップは、複数のトランザクションから、以下のデータ項目、すなわち、
トランザクション入力値と、
トランザクション出力値と、
トランザクションを示すデータに基づいて、トランザクション入力値又はトランザクション出力値を導出するためのルールと、
トランザクションについてのタイムスタンプと、
ブロックチェーンのブロックのブロック番号と、
のうちの１つ以上を抽出又はコピーすることをさらに含み得る。
【００３２】
第１構造とさらなる構造との間のトランザクションは、通貨取引、契約の取り交わし、商品若しくはサービス取引、又はその他に関し得る。通貨取引に関して、トランザクションは、ビットコイン等の暗号通貨取引に関してもよいし、例えばトークン量の暗号通貨を使用することによる法定通貨取引に関してもよいことが理解されよう。
【００３３】
P2P分散型台帳からの複数のトランザクションレコードからトランザクション情報を抽出するステップは、財務会計レコードを生成するために以前には抽出されなかったトランザクションレコードを識別することを含み得る。一例において、この方法は、P2P分散型台帳のブロックのブロック番号を識別し、ブロック番号を、以前に生成された財務会計レコードと比較するステップを含み得る。
【００３４】
この方法は、コンピュータベースのリソースに出力を転記するステップを含み得る。これは、例えば、データベースシステム等の任意のタイプのコンピュータベースのシステム、又は、財務会計元帳であり得る。これは、エンティティ及び／又はエンティティのサブエンティティに関連するデータの格納のために配置及び構成され得るという点で、エンティティの内部に存在し得る。コンピュータベースのリソースは、エンティティの総勘定元帳であり得る。
【００３５】
代替的に、財務会計元帳は、エンティティの総勘定元帳のサブ元帳であってもよい。上述したように、エンティティの総勘定元帳は、一般に、エンティティ内で発生する全ての財務トランザクションをまとめた勘定の集合を表す。
【００３６】
コンピュータベースのリソースに生成された出力を転記するステップは、自動的に実行され得る。換言すると、これは、人手の介在を必要としない、コンピュータにより実行される自動化されたプロセスであり得る。
【００３７】
生成された出力を転記するステップは、周期的に（定期的に）実行され得る。これは、予め定められた時間期間の後又は規定された時間であり得る。
【００３８】
生成された出力を転記するステップは、生成された出力を１つ以上の位置又はファイルに書き込むことを含み得る。これは、例えば転記ファイルと呼ばれ得る。１つ以上の転記ファイルは、JSON、XML、又はXBRL等の任意の適切なフォーマットを有し得る。１つ以上の転記ファイルは暗号化され得る。例えば、１つ以上の転記ファイルはハッシュ化され得る。さらなる例において、１つ以上の転記ファイルは、算出されたシークレットを用いて暗号化され得る。シークレットを算出する例は、「サブ鍵生成の方法」と題する以下のセクションにおいてさらに詳細に説明される。
【００３９】
この方法は、第１構造秘密鍵を用いて、１つ以上の転記ファイルに署名するステップを含み得、第１構造秘密鍵は、第１構造秘密鍵及び関連付けられた第１構造公開鍵を含む非対称暗号ペアの一部である。このように、１つ以上の転記ファイルは、１つ以上の転記ファイルに署名するために使用された第１構造秘密鍵に関連付けられた第１構造公開鍵を用いて検証され得る。
【００４０】
この方法は、生成された出力を格納するステップを含み得る。１つの特定の例において、生成された出力は、エンティティの又はエンティティ内の内部データベース又は他のストレージ設備に記録され得る。別の例において、生成された出力は、分散型ハッシュテーブル等の、集中型であっても分散型であってもよい公開データベースに格納され得る。特定の例において、生成された出力は、トランザクション（Tx）の形でブロックチェーンに格納され得る。例えば、生成された出力は、ブロックチェーントランザクション（Tx）（内）のメタデータとして記録され得る。トランザクションのハッシュ値が、関心第１構造の秘密鍵を用いて署名され得る。
【００４１】
この方法は、データをデータベース又はブロックチェーンに格納するために、生成された出力を暗号化するステップを含み得る。
【００４２】
この方法は、生成された出力を、データベース、ストレージ設備、又はブロックチェーンに格納するために、生成された出力をハッシュ化する且つ／又は生成された出力に署名するステップを含み得る。
【００４３】
この方法は、生成された出力を分析するステップを含み得る。一例において、この方法は、関心第１構造のキャッシュフローを決定するステップを含み得る。さらなる例において、この方法は、関心第１構造についての資産及び／又は負債を決定するステップを含み得る。
【００４４】
生成された財務会計レコードを転記するステップは、生成された財務会計レコードを、専用会計システムに利用可能にすることを含み得る。専用会計システムは、エンティティのための専用会計ソフトウェアを実行するよう構成され得る。
【００４５】
本開示の実施形態に従うと、本発明の方法のいずれかの実施形態を実行するよう構成されているコンピュータシステムが提供される。これは、ブロックチェーンにおいて、エンティティの関心第１構造についてのレコードを生成するよう構成され得、
第１構造に関連付けられた少なくとも１つの公開ルート鍵及び関連付けられる１つ以上の公開サブ鍵を含む第１構造公開鍵のセットを識別し、
少なくとも１つの公開ルート鍵と関連付けられる１つ以上の公開サブ鍵との間の決定論的関連付けを導出する
よう構成されている処理デバイスと、
ピアツーピア（P2P）分散型台帳からの複数のトランザクションレコードからトランザクション情報を抽出するよう構成されているネットワークインタフェースであって、抽出された情報は、少なくとも、
第１構造と少なくとも１つのさらなる構造との間のトランザクションを示す情報と、
第１構造に関連付けられた第１構造公開鍵であって、第１構造公開鍵は、第１構造公開鍵及び第１構造秘密鍵を含む暗号ペアの一部である、第１構造公開鍵と、
を含む、ネットワークインタフェースと、
を有し、
処理デバイスは、決定論的関連付けを用いて、抽出されたトランザクション情報に対して第１構造公開鍵のセットをマッチングすることにより、関心第１構造についての財務会計レコードを生成するようさらに構成されている。
【００４６】
上述した方法のうちのいずれか１つを処理デバイスに実行させるマシン読み取り可能な命令を含むコンピュータプログラムが提供される。
【図面の簡単な説明】
【００４７】
本開示の実施形態が、添付の図面を参照して、非限定的な例により説明される。
【図１】財務会計レコードを生成する例示的なシステムの概略図。
【図２】財務会計レコードを生成する例示的なコンピュータシステムの別の概略図。
【図３】財務会計レコードを生成するための会計構成を決定する、コンピュータにより実行される例示的な方法のフローチャート。
【図４】ルート公開鍵と１つ以上の公開サブ鍵との間の決定論的関連付けを示す概略図。
【図５】P2P分散型台帳（ブロックチェーン）から情報を抽出して財務会計レコードを生成する、コンピュータにより実行される例示的な方法のフローチャート。
【図６】生成された財務会計レコードを財務会計元帳に転記する、コンピュータにより実行される例示的な方法のフローチャート。
【図７】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【図８】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【図９】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【図１０】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【図１１】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【図１２】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【図１３】以下で説明されるように、親鍵からサブ鍵を導出する例示的な技術であって、本発明の態様に関連して使用するのに適した例示的な技術の態様を示す図。
【発明を実施するための形態】
【００４８】
概要
本開示は、一般に、データの識別、抽出、送信、処理、及び／又は更新において、ビットコインブロックチェーン等のピアツーピア（P2P）分散型台帳（以後「ブロックチェーン」）を使用する方法及びシステムに関する。本発明は、ブロックチェーンに転記されたデータを使用して、組織（エンティティ）内で提供されるコンピュータベースのリソースにおいて、データを補強する、データに追加する、又はデータと統合するためのセキュアで暗号的に実施されるソリューションを提供する。コンピュータベースのリソースは、データベース、会計システム、又は、データの格納及び／又は処理のための任意の他のタイプのコンピュータベースの設備であってよい。このシステムは、ブロックチェーンの一部ではなく、組織の内部にあるため、「内部」システムと呼ばれることがある。
【００４９】
本発明は、エンティティ又はサブエンティティに関連付けられた要素に暗号鍵を割り当てることにより、データ制御及びセキュリティソリューションを提供する。これらの要素は、要素間の関係により規定又は指定される（リニア又はツリー）構造に編成される。構造内の各要素は、暗号公開／秘密鍵ペアに関連付けられ、ルート鍵ペアが、構造の最高位に位置する。構造においてより低位の要素は、前の鍵ペアから決定論的に導出された鍵ペアに関連付けられる。この決定論的導出は、好ましくは、「サブ鍵生成の方法」と題する以下のセクションにおいて実質的に説明される方法に従って実行され得る。したがって、暗号鍵ペアの階層が、エンティティ内の要素間の階層関係を反映するように生成される。以下の例において、「勘定」という用語が、「要素」の代わりに使用され得る。
【００５０】
本発明の性質をこの使用領域又は適用領域に限定する意図はなく、純粋に例示の目的で、本発明を使用して、エンティティの関心構造についての財務会計レコードを生成する例が提供される。この財務目的の態様は、本発明の本質ではなく、本発明は、任意のタイプのデータの制御、送信、及びセキュリティのために、任意のタイプのコンピュータベースの内部システムと組み合わせて使用され得ることに留意することが重要である。
【００５１】
この例において、関心構造は、例えば、エンティティ内の部門又はサブエンティティ等のビジネスユニットであってもよいし、出力（例えば会計レコード）が生成されるべきエンティティ全体を表してもよい。代替的に、関心構造は、財務会計レコードが生成されるべきであり、任意的に、例えば、エンティティの総勘定元帳に転記されるべき、関心商品若しくはサービス、又はエンティティの任意の適切な構造に関連してもよい。
【００５２】
本開示の実施形態は、顕著な利点を提供する。例えば、ビットコインブロックチェーン等の公開ブロックチェーンを使用して、財務トランザクションのレコードを生成することが利点である。なぜならば、ビットコインブロックチェーンは、本質的に分散されているからである。これは、ビットコインブロックチェーン上のトランザクションレコードが、ネットワークにわたって同期されて格納されることを意味し、このことは、全ての情報が分散されて公表されることを保証する。
【００５３】
さらに、関心構造についての生成された財務会計レコードは、例えば、トランザクションレコードにおけるメタデータの形で、同じブロックチェーン上に記録され得る。これは、エンティティの活動の真の正確な反映である永続的で不変の公開レコードが形成されるという利点を提供する。これは、最終的には、監査者等の外部当事者の支援の必要性を取り除く可能性がある。
【００５４】
次に図１を参照すると、本開示の例示的な実施形態に従って会計レコードを生成するコンピュータシステム１０が示されている。財務会計レコードは、例えば、エンティティの総勘定元帳等の財務会計元帳に転記され得る。
【００５５】
この例において、コンピュータシステムは、動作を制御及び調整するよう構成されているプロセッサ１２、メモリ１４、及びネットワークインタフェース１６を含み、これらは、バス１８を介して互いと通信する。ネットワークインタフェース１６は、この例においてはインターネット２２である通信ネットワークを介する、コンピュータシステム１０とビットコインブロックチェーン２０等のP2P分散型台帳との間の無線通信を容易にする。
【００５６】
メモリ１４は、以下において説明されるプロセスのための命令２４及びデータ２６を格納し、プロセッサ１２は、メモリ１４からの命令２４を実行して、上記のプロセスを実行する。コンピュータシステム１０が、独立したネットワーク要素として図示されているが、代替的に、コンピュータシステム１０は、別のネットワーク要素の一部であってもよく、コンピュータシステム１０により実行される機能は、複数のネットワーク要素の間で分散されてもよいことに留意されたい。コンピュータシステム１０は、第１エンティティのコンピュータシステムを表し得る。
【００５７】
図１は、第２エンティティのさらなるコンピュータシステム２８をさらに示している。これは、例示の目的に過ぎず、他のコンピュータシステム又はエンティティがネットワークの一部であってもよいことが理解されよう。
【００５８】
エンティティについての財務会計元帳／総勘定元帳
上述したように、総勘定元帳は、エンティティ内で発生する全ての財務トランザクションをまとめた勘定の集合である。これは、通常、エンティティの主財務記録として使用され、エンティティに関連する全ての財務トランザクション（勘定）を組み込む。これらは、資産勘定（例えば、現金及び現金同等物、有価証券、売掛金勘定、在庫、及び知的財産）と、負債勘定（例えば、支払手形、支払勘定、経費勘定、借入金）と、を含み得る。上記の勘定の例は、単に例示であり、限定として解釈されるべきではない。総勘定元帳における各勘定は、従来、各勘定についての貨幣的交換に基づくエンティティの財政状態の収支を保持する。
【００５９】
小規模のエンティティ及び大規模のエンティティの両方ともが、総勘定元帳を用いて勘定の記録を保持する必要があるが、より大規模のエンティティは、数千の又はさらには数十万の勘定を追跡する必要があることがある。そのような追跡は、大きな且つ潜在的に複雑なタスクになる可能性がある。非常に大きな総勘定元帳を保持することに付随するいくつかの困難が存在し、そのような元帳は、監査又は差引勘定するのにおそらく数日を要する。
【００６０】
これに関して、いくつかの組織は、総勘定元帳の複雑さを単純化するために、総勘定元帳内にサブ元帳を導入することを検討することがある。
【００６１】
総勘定元帳は、エンティティの内部監査及び外部監査の対象であり得る。監査は、特別に指定された監査者により行われる退屈で時間のかかるタスクであることが多い。しかしながら、総勘定元帳、又はサブ元帳のうちの１つ以上を、公に閲覧可能なブロックチェーン上に記録することにより、これは、監査者のタスクを容易にして軽減させ得る。
【００６２】
以下において、「財務会計元帳」という用語は、エンティティの総勘定元帳、又は総勘定元帳内のサブ元帳のうちの１つ以上を指し得る。しかしながら、本発明は、財務又は会計システムとともに使用することだけに限定されるものではなく、任意の他のタイプのコンピュータベースのシステムが使用されてもよい。
【００６３】
ビットコインブロックチェーン
以下で説明される実施形態は、ビットコインブロックチェーン（又はBlockchain）上のトランザクションレコードを特に参照し得るが、本開示は、任意のブロックチェーンを使用して実現され得ることが理解されよう。ビットコインブロックチェーンは、標準化のレベルが高く、関連する公開文書が大量にあることのみを理由として、単純化の目的で、本開示の態様を説明するために以下で使用される。
【００６４】
Blockchainは、ビットコインプロトコルに基づいて、システムに参加するネットワークノードにわたって分散される公開トランザクション台帳である。各ビットコイントランザクションがネットワークにブロードキャストされ、トランザクションが、承認され、次いで、ブロックへと集約される。次いで、これらのブロックが、Blockchain上に含められる。
【００６５】
ブロックチェーンの完全なコピーは、その最初からの、台帳に転記された全てのトランザクション（Tx）を含む。したがって、トランザクションレコードの継続的に増大するリストが提供される。Blockchain上に入力される各トランザクションは、暗号的に実施されるので、Blockchainは、データストアノードのオペレータによってでさえも、改ざん及び改訂に対して強化されている。
【００６６】
ビットコインブロックチェーンの透明性を理由として、トランザクション履歴は、トランザクションごとに公開される。トランザクションとトランザクションのレコードとは同じであること、すなわち、トランザクションのレコードが、トランザクション内に埋め込まれることは、Blockchainのさらなる利点である。
【００６７】
このようにして、データ交換に関連する情報が、実際のトランザクション（Tx）に取り込まれる。このレコードは永続的で不変なので、ビットコインを使用して行われる各トランザクションは、Blockchainにより容易にされるだけでなく、Blockchainに不変に記録される。したがって、これは、第三者がトランザクションレコードを別個のデータベースに保持する必要性を取り除く。
【００６８】
本開示の実施形態において、１つのパーティから別のパーティへのビットコインの支払を表すトランザクションレコードを格納するその設計された機能で使用される代わりに又はこれに加えて、Blockchainは、ビジネスユニット又は関心商品等の、エンティティ又は組織の関心構造についてのデータを生成するために、新規な態様で使用される。このようなデータは、例えば、会計レコードの生成等、何らかの予測可能な形で使用され得る。限定ではないが、単純化の目的で、以下の例示は「会計レコード」を参照する。この例において、生成された会計レコードは、エンティティの総勘定元帳に転記するのに又はエンティティの専用会計システムに提供するのに適している。
【００６９】
以下の例示的な実施形態は、公開台帳としてビットコインブロックチェーンを参照するが、本開示は、いかなるブロックチェーンプラットフォーム又はプロトコルにも適用されることを理解されたい。
【００７０】
コンピュータシステムの機能コンポーネント
コンピュータシステム４０の例示的な実装の表現が図２に示されており、コンピュータシステム４０の機能コンポーネントが、ハードウェアコンポーネントの代わりに図示されている。この例における機能コンポーネントは、ネットワークインタフェースが、ビットコインブロックチェーンへのアクセスを容易にするために提供されるように、図１に示されているコンピュータシステム１０のハードウェアコンポーネントを使用して実装され得る。
【００７１】
この例において、コンピュータシステム４０は、コンピュータシステム４０のコンポーネントの動作を制御及び調整する制御ユニット４２を有する。この制御ユニット４２は、例えば、図１に示されているプロセッサ１２により実現され得る。
【００７２】
さらに、コンピュータシステム４０は、インターネット２２を介する、ビットコインブロックチェーン２０上に格納されている情報へのアクセスを容易にするためのネットワークインタフェース４４を有する。
【００７３】
コンピュータシステム４０は、コンピュータシステム４０において受信及び／又は生成されたデータをデータストレージ５２に格納するデータベース管理システム（「DBMS」）５０をさらに有する。このようなデータは、代替的に、クラウドストレージ等のリモートデータベースに格納されてもよく、インターネット２２を介しネットワークインタフェース４４を介して、コンピュータシステム４０において受信されてもよいことが理解されよう。
【００７４】
データストレージ５２は、第１エンティティの会計構成データ５４を格納するメモリを含む。例えば、会計構成データ５４は、各勘定についての勘定名及び識別子を集めた勘定科目表を含み得る。これは、図４を参照してさらに詳細に説明されるように、公開ルート鍵に関する情報をさらに含み得る。
【００７５】
格納されている会計構成データ５４は、コンピュータシステム４０の会計構成決定器５６によりアクセスされ得る。
【００７６】
データストレージ５２は、コンピュータシステム４０の転記コンポーネント６０により作成された転記ファイル５８を格納するメモリをさらに含む。例えば、生成された財務会計レコードが、データストレージ５２に格納され得る１つ以上の転記ファイルに書き込まれ得る。
【００７７】
コンピュータシステム４０は、ネットワークインタフェース４４と通信して、インターネット２２を介して、ビットコインブロックチェーン２０上のトランザクションレコードからトランザクション情報を得るトランザクション情報収集器６２をさらに有する。
【００７８】
コンピュータシステム４０のマッチングコンポーネント６４は、会計構成決定器５６及びトランザクション情報収集器６２と通信する。マッチングコンポーネント６４は、エンティティのそれぞれの勘定に関連付けられている識別された公開鍵に対して、Blockchainからの抽出されたトランザクション情報をマッチングして、財務会計レコードを生成するよう構成されている。
【００７９】
上述したように、次いで、これらの生成された財務会計レコードが、１つ以上の転記ファイルに書き込まれ、データストレージ５２内のエンティティの総勘定元帳６６に転記され得る。
【００８０】
財務会計レコードを生成する例示的な方法の概要
以下において、財務会計レコードを生成する方法は、４つの主要な方法ステップ、すなわち、会計構成を決定するステップ（１００）、Blockchain上のトランザクションレコードからトランザクション情報を抽出するステップ（２００）、財務会計レコードを生成し、１つ以上の転記ファイルを作成するステップ（３００）、及び、１つ以上の転記ファイルをエンティティの総勘定元帳に転記するステップ（４００）、に分けられる。
【００８１】
関心第１構造は、会計レコードが生成されるべき、第１エンティティの任意の適切な構造であり得る。例えば、第１構造は、第１エンティティ全体に関連し得、生成された会計レコードは、第１エンティティの総勘定元帳に転記されることになる。別の例において、関心第１構造は、部門、チーム、又は、従業員の指定されたグループ等のビジネスユニットを表し得る。代替的に、関心第１構造は、複数のビジネスユニットにわたり得る第１商品又はサービスに関連してもよい。このように、生成される会計レコードを作成して、所望の商品又はサービスに関連付けられた勘定を分析することができる。
【００８２】
会計構成
次に図３及び図４を参照すると、会計構成を決定する（１００）ための方法ステップを示すフローチャート、及び、方法１００の方法ステップの一部の概略図が示されている。
【００８３】
詳細には、方法１００は、第１エンティティに関連付けられた少なくとも１つの公開ルート鍵及び関連付けられる１つ以上の公開サブ鍵を含む第１エンティティ公開鍵のセットを識別するステップを含み得る。公開サブ鍵の各々は、第１エンティティ内の勘定を表し得る。これに関して、第１エンティティ公開鍵のセットは、最初に、財務会計レコードが生成されるべき１つ以上の勘定を識別する（１００．１０）ことにより識別され得る。
【００８４】
さらなるステップにおいて、識別された１つ以上の勘定に関連付けられた少なくとも１つの公開ルート鍵が識別される（１００．２０）。これは、図２に示されているデータストレージ５４等の、第１エンティティの内部データストレージに格納されているデータにアクセスすることにより行われ得る。内部データストレージは、各勘定についての勘定名及び識別子を集めた勘定科目表を格納することができる。識別子は、関連付けられた公開ルート鍵を含み得る。図３に示されている例において、方法１００は、３つの異なるビジネスユニットの勘定を表し得る３つの公開ルート鍵を識別する。
【００８５】
方法１００は、識別された公開ルート鍵と１つ以上の公開サブ鍵との間の決定論的関連付けを決定するステップ１００．３０をさらに含む。換言すると、公開ルート鍵に依存する１つ以上の公開サブ鍵を導出するためのルールが決定される。図４に示されている特定の例において、決定論的関連付けは、識別された３つの公開ルート鍵の各々が、連続する子ツリーノード及び孫ツリーノードに関連付けられたツリー階層を規定している。
【００８６】
ステップ１００．３０における決定論的関連付けの決定に続いて、少なくとも１つの公開ルート鍵に関連付けられた１つ以上の公開サブ鍵が決定され、一部が、ステップ１００．１０における勘定科目表からの情報を使用して選択される。会計レコードが生成されるべき勘定の識別に応じて、公開ルート鍵に依存する公開サブ鍵の全て又は一部のみが決定されることが理解されよう。
【００８７】
図４に示されているこの特定の例において、４つの公開サブ鍵、すなわち、第１公開ルート鍵の第１子と、第２公開ルート鍵の第１子及び第１孫と、第３公開ルート鍵の第２子と、が、財務会計レコードの生成のために選択されている。これらの４つの公開サブ鍵は、例えば、これらの公開ルート鍵により表される３つの異なるビジネスユニットにわたる特定の商品又はサービスに関連付けられ得る。
【００８８】
１つの特定の例において、一連の連続する決定論的公開鍵が決定され得、ここで、各連続する公開鍵は、前の公開鍵に基づいて決定され得る。例えば、楕円曲線暗号（ECC）が使用され得る。これに関して、サブ鍵は、ランダム、擬似ランダム、又は予め規定されたものであり得るメッセージ（M）の暗号ハッシュに基づく決定論的鍵（DK）を最初に決定することにより決定され得る。次いで、サブ鍵は、関連付けられる公開親鍵と、決定論的鍵（DK）とジェネレータ（G）とのスカラー乗算と、のスカラー加算に基づいて決定され得る。決定論的鍵（DK）を再決定し、それによりサブ鍵を再決定するためには、メッセージ（M）及びジェネレータ（G）のみが必要である。これに関して、メッセージ（M）は、Blockchain上のトランザクションレコードのメタデータの形で、例えばインボイス番号の形で、格納され得る。
【００８９】
さらなる例において、メッセージは、次の世代の公開サブ鍵を決定するために再ハッシュ化され得る。
【００９０】
簡潔に上述した、連続する公開鍵を決定するためのステップは、「サブ鍵生成の方法」と題するセクションにおいて、以下でさらに詳細に説明及び例示される。
【００９１】
さらなるステップ１００．４０において、選択された公開鍵についての財務会計レコードに含められる情報を得るための１つ以上のルールが決定される。換言すると、方法ステップ１００．４０は、総勘定元帳について会計レコードが生成されるためにどの情報が必要とされるかと、この情報がどのように得られるかと、を決定する。
【００９２】
詳細には、この情報は、以下を含み得る：
トランザクション入力／出力；
転記する総勘定元帳の勘定；
逆転記する総勘定元帳の勘定；
トランザクションについての値を算出するためのルール；
トランザクションについての説明を導出するためのルール。
【００９３】
Blockchainからの情報の抽出
次に図５を参照すると、ビットコインブロックチェーンから情報を抽出する（２００）ための方法ステップを含む方法２００を示すフローチャートが示されている。
【００９４】
最初に、方法２００は、Blockchain上に記録されている複数のトランザクションからトランザクション情報を抽出するための、Blockchainの１つ以上のブロックを識別するステップ２００．１０を含む。例えば、１つ以上のブロックを識別するステップ２００．１０は、財務会計レコードを生成するために以前には使用されなかったトランザクションレコードを含むブロックに関連付けられた第１ブロック番号を識別することを含み得る。これは、Blockchain上の各トランザクションレコードの一部であるブロックの関連ブロック番号を識別することにより行われ得る。代替的に、１つ以上のブロックは、トランザクション日付又は時間に基づいて識別されることもある。上述したように、ビットコインブロックチェーン上のブロックは、規定された順序を有し、各ブロックは、前のブロックのハッシュを含む。
【００９５】
１つ以上のブロックが識別されると、エンティティの第１構造に関連付けられた複数のトランザクションレコードが、Blockchain上でスキャンされて、ステップ１００．３０において識別されたサブ鍵に対してマッチングされる（２００．２０）。
【００９６】
さらなるステップ２００．３０において、ステップ１００．４０において決定されたルールが、Blockchain上のマッチングされたトランザクションレコードの各々からトランザクション情報を抽出するために実行される。したがって、どの情報が抽出される必要があるかと、抽出された情報から所定の情報をどのように導出するかと、この情報を総勘定元帳にどこに／どのように転記するかと、が決定されることになる。
【００９７】
例えば、複数のトランザクションレコードからの以下の情報のうちの１つ以上が抽出される：
トランザクション入力値；
トランザクション出力値；
公開鍵；
メタデータ；
トランザクションを示す情報に基づいてトランザクション入力値又はトランザクション出力値を導出するためのルール；
トランザクションについてのタイムスタンプ；及び
P2P分散型台帳のブロックのブロック番号。
【００９８】
１つのブロック内のトランザクションレコードがスキャン及び処理されると、Blockchainにおける次のブロックが、第１エンティティに関連付けられたトランザクションレコードについてスキャンされる。
【００９９】
次いで、ステップ２００．３０からの抽出された情報を使用して、財務会計レコードが生成される（２００．４０）。
【０１００】
トランザクションレコード
以下において、ビットコインブロックチェーン上に格納されるトランザクションレコードがさらに詳細に考察される。
【０１０１】
ビットコインブロックチェーン上の各トランザクションレコードは、少なくとも、第１構造に関連付けられた第１構造公開鍵を含む。これは、エンティティの第１構造が、ビットコインブロックチェーン上に格納されているトランザクションに関係していることを示す。
【０１０２】
さらに、ビットコインブロックチェーン上の各トランザクション（Tx）は、少なくとも、第１エンティティとさらなるエンティティとの間のトランザクションを示す情報を含む。任意のタイプのエンティティが、第１エンティティとさらなるエンティティとの間で交換可能であり、トランザクションにおいて格納され得ることに留意されたい。
【０１０３】
トランザクションの例は、暗号通貨交換等のビットコイントランザクション、法定トランザクション、（任意のタイプの移転可能な契約又は資産を表す）トークン、契約、並びに、任意のタイプの商品及びサービスを含み得る。
【０１０４】
トークン
トークンは、資産、又は、多くの例のうちのほんの少しを挙げると、法定通貨と引き換えられる特定の権利（仮想銀行券）を保有者に付与する契約、財産の所有権（例えば権利証）を示す契約、又は、イベントへの参加権（チケット）を付与する契約といった契約を表し得る。商品及びサービスは、多くの例のうちのほんの少しを挙げると、新商品又は中古商品、（例えば、時間で請求される）労働、完結した仕事（例えば芝生の刈り取り）を含み得る。
【０１０５】
トークンは、契約により表される／契約を表す交換可能なエンティティである。契約は、いくつかの形態のうちの１つの形態をとることができる。例えば、契約は、権利を保有者に付与したり、財産の所有権を示したりすることができる。トークンの値は、契約によって指定されることがあり、「ペギングレート（pegging  rate）」を介して、基になるBTC金額にリンクされる。トークンは、ビットコインプロトコル等の暗号通貨プロトコルを使用する新規なタイプのトランザクションを介して交換可能である。トランザクションに関するビットコイン値は、権利契約をデジタル形式で表すトークンとして機能する。契約自体は、具体的な実施形態に応じて、トランザクション上に格納されることもあるし、公にアクセス可能な位置において保持されることもあるし、契約の当事者により秘密に保有されることもある。契約がトランザクション上に格納されない場合、トランザクションは、契約への固有のポインタを格納することができる。
【０１０６】
トークンは分割可能であり得る。分割可能なトークンは、トランザクション出力に関する値が、複数の新たなトークンにわたって割り当てることができるより小さな量に細分化することができるものである。分割可能なトークンの例は、法定通貨のための又は競走馬のシェア（shares）のためのトークンを含む。分割可能な契約は、ゼロでないペギングレートを指定するものとして規定され得る。換言すると、トークン値は、基になるビットコイン値に紐付けられる。代替的に、トークンは、分割不可能であることもある。分割不可能なトークンは、保有者の権利を固定値において指定する契約であり、例えば、家又はオーストラリア1000ドルと引き換えるための契約である。したがって、分割不可能なトークンは、基になるビットコインの値にリンクされない。
【０１０７】
トークンは、有効であるためには、トークン発行者によりデジタル署名されなければならない。トークン発行者は、例えば、権利証の登記機関等の機関であり得る。トークン発行者は、支払の見返りに、トークンをユーザに発行することができる。次いで、そのトークンは、そのトークンにリンクされた契約が、法定通貨と引き換える権利を表すかサービスを受ける権利を表すかにかかわらず、そのトークンにリンクされた契約を行使する権利をユーザに付与することができる。
【０１０８】
上記に従ったトークンの例は、以下を含む：
・契約の発行者により出力されたトランザクションのBTC値に固定される法定通貨トークン。例えば、「このトークン（ビットコイントランザクション）の使用者は、1000  satoshisごとに1シェア（10セント）の割合で、このトークンの一部をカナダドル（CAD）と引き換える権利がある」。
・集団の複数のメンバーにより所有される競走馬。
・所有権が権利証によるものである任意のアイテム。例えば、家又は他の財産はこのように扱われ得る。
・コンサートチケットを表す電子契約。これは本質的に分割不可能である。
・無記名債（分割不可能）
・商品／サービスに与えられる一意な識別子（バーコード又はRFID等）。使用される場合、この識別子は、さらに好ましくは、認可されたエンティティの署名により検証される。署名がなければ、それほどセキュアではない「商品／サービス」カテゴリに分類される（後述）。
・サービスを受ける権利のための契約。これは、実際のサービス自体と同じではなく、サービスを受ける権利のみがあることに留意されたい。この権利は交換可能である。例えば、シドニー都市圏内での最大３時間までの芝生の刈り取りのための、Michael’s  Mowingからのバウチャー。このバウチャー（契約書）の保有者は、このバウチャーを実際のサービスと引き換えることができる。
【０１０９】
トークンは、例えば1シェア＝10セントCAD、1シェア＝1ルピア、又は、1シェア＝アイテム又は財産（競走馬、家等）の1％所有権等、シェアの値を指定しなければならない。
【０１１０】
転記ファイル
次に図６を参照すると、１つ以上の転記ファイルを作成する方法３００の方法ステップを示すフローチャートが示されている。
【０１１１】
方法３００は、ステップ２００．４０からの生成された会計レコードを１つ以上の転記ファイルに書き込むステップ３００．１０を含む。これは、総勘定元帳への転記目的のための指定された情報を統合することを含み得る。例えば、生成された会計レコードが、日付ごとに統合されることもあるし、あるいは、各会計レコードが、個々のファイルを表すこともある。
【０１１２】
１つ以上の転記ファイルは、JSON、XML、又はXBRL等であるがこれらに限定されるものではない任意の適切なフォーマットを有し得る。フォーマットは、総勘定元帳により予め規定され得る。
【０１１３】
方法３００は、１つ以上の転記ファイルをハッシュ化するステップ３００．２０をさらに含み得る。例えば、暗号ハッシュアルゴリズムは、256ビットの転記ファイルハッシュを生成するためのSHA-256を含み得る。
【０１１４】
方法３００は、転記ファイルのハッシュに署名するステップ３００．３０をさらに含み得る。転記ファイルのハッシュは、例えば、秘密鍵及び関連付けられた公開鍵を有する非対称暗号ペアの一部である上記秘密鍵を用いて署名され得る。このようにして、転記ファイルの署名付きハッシュが、関連付けられた公開鍵を用いて検証され得る。
【０１１５】
１つ以上の転記ファイルをハッシュ化するステップ３００．２０に続いて、ハッシュが、永続的で変更不可能な証拠のために、Blockchain上に格納される（３００．４０）。例えば、転記ファイルのハッシュは、トランザクションレコードのメタデータの形で格納され得る。P2SHを参照して上述したように、転記ファイルは、スクリプト内の「一時的」公開鍵の形で格納され得る。
【０１１６】
特定の例において、エージェントアプリケーションを使用して、転記ファイルのハッシュとBlockchain上のブロック番号範囲とを、契約トランザクションとして記録することができる。
【０１１７】
総勘定元帳への転記
以下において、１つ以上の転記ファイルを第１エンティティの総勘定元帳に転記する方法４００の方法ステップが説明される。
【０１１８】
上述したように、総勘定元帳は、エンティティ内で発生する全てのトランザクションをまとめた勘定の集合である。１つ以上の転記ファイルを総勘定元帳に転記する方法４００は、１つ以上の転記ファイルにセキュアにアクセスすることと、１つ以上の転記ファイルが、承認されたソースからのものであることを検証することと、を含み得る。これに関して、方法４００は、ステップ３００．３０において使用された秘密署名鍵に関連付けられた公開鍵を取得して署名を検証することを含み得る。
【０１１９】
１つ以上の転記ファイルが成功裡に検証されると、１つ以上の転記ファイルが総勘定元帳に適用される。
【０１２０】
専用会計システム
一例において、財務会計レコードは、財務会計レコードがエンティティの専用会計システムに提供され得るように生成される。例えば、エンティティの専用会計システムは、エンティティのための専用会計ソフトウェアを実行するよう構成され得る。
【０１２１】
ビットコイントランザクションは、エンティティの取引状況の一部を形成するだけでよいことが理解されよう。このような場合、ビットコインブロックチェーン上のトランザクションレコードを利用している生成された財務会計レコードが、既存の会計モデルに組み込まれ得る。
【０１２２】
サブ鍵生成の方法
本発明に従うと、オリジナルの（マスター）鍵からサブ鍵を生成する必要がある。これを実現するための方法が、これを実行することができる１つの方法の例示のために提供される。以下は、本発明に従って使用され得る又は本発明とともに使用するよう適合され得る技術の例示的な使用を提供する。以下の説明は、図７〜図１３を参照して提供される。
【０１２３】
図７は、通信ネットワーク５を介して第２ノード７と通信する第１ノード３を含むシステム１を示している。第１ノード３は、関連付けられた第１処理デバイス２３を有し、第２ノード７は、関連付けられた第２処理デバイス２７を有する。第１ノード３及び第２ノード７は、コンピュータ、電話機、タブレットコンピュータ、モバイル通信デバイス、コンピュータサーバ等といった電子デバイスを含み得る。一例において、第１ノード３は、クライアント（ユーザ）デバイスであり得、第２ノード７は、サーバであり得る。
【０１２４】
第１ノード３は、第１ノードマスター秘密鍵（V1C）及び第１ノードマスター公開鍵（P1C）を有する第１非対称暗号ペアに関連付けられている。第２ノード７は、第２ノードマスター秘密鍵（V1S）及び第２ノードマスター公開鍵（P1S）を有する第２非対称暗号ペアに関連付けられている。換言すると、第１ノード及び第２ノードは各々、それぞれの公開−秘密鍵ペアを有する。
【０１２５】
第１ノード３及び第２ノード７それぞれの第１非対称暗号ペア及び第２非対称暗号ペアは、ウォレットについての登録等の登録プロセス中に生成され得る。各ノードの公開鍵は、通信ネットワーク５を介して等、公に共有され得る。
【０１２６】
第１ノード３及び第２ノード７の両方において共通シークレット（CS）を決定するために、第１ノード３及び第２ノード７は、通信ネットワーク５を介して秘密鍵を通信することなく、それぞれの方法３００及び方法４００のステップを実行する。
【０１２７】
第１ノード３により実行される方法３００は、少なくとも第１ノードマスター秘密鍵（V1C）及びジェネレータ値（GV）に基づいて、第１ノード第２秘密鍵（V2C）を決定する（３３０）ことを含む。ジェネレータ値は、第１ノードと第２ノードとの間で共有されるメッセージ（M）に基づき得、このことは、以下でさらに詳細に説明されるように、通信ネットワーク５を介してメッセージを共有することを含み得る。方法３００はまた、少なくとも第２ノードマスター公開鍵（P1S）及びジェネレータ値（GV）に基づいて、第２ノード第２公開鍵（P2S）を決定する（３７０）ことを含む。方法３００は、第１ノード第２秘密鍵（V2C）及び第２ノード第２公開鍵（P2S）に基づいて、共通シークレット（CS）を決定する（３８０）ことを含む。
【０１２８】
重要なことに、同じ共通シークレット（CS）が、第２ノード７においても方法４００により決定され得る。方法４００は、第１ノードマスター公開鍵（P1C）及びジェネレータ値（GV）に基づいて、第１ノード第２公開鍵（P2C）を決定する（４３０）ことを含む。方法４００は、第２ノードマスター秘密鍵（V1S）及びジェネレータ値（GV）に基づいて、第２ノード第２秘密鍵（V2S）を決定する（４７０）ことをさらに含む。方法４００は、第２ノード第２秘密鍵（V2S）及び第１ノード第２公開鍵（P2C）に基づいて、共通シークレット（CS）を決定する（４８０）ことを含む。
【０１２９】
通信ネットワーク５は、ローカルエリアネットワーク、ワイドエリアネットワーク、セルラネットワーク、無線通信ネットワーク、インターネット等を含み得る。これらのネットワークにおいて、データは、電線、光ファイバ等の通信媒体を介して、又は、無線で、伝送され得、これらのネットワークは、例えば盗聴者１１により、盗聴を受ける可能性がある。方法３００、４００は、第１ノード３及び第２ノード７の両方が、通信ネットワーク５を介して共通シークレットを送信することなく、共通シークレットを独立して決定することを可能にし得る。
【０１３０】
したがって、共通シークレット（CS）は、潜在的にセキュアでない通信ネットワーク５を介して秘密鍵を送信する必要なく、各ノードによりセキュアに且つ独立して決定され得るという１つの利点がある。その後、共通シークレットは、秘密鍵として（又は秘密鍵の基礎として）使用され得る。
【０１３１】
方法３００、４００は、追加のステップを含み得る。図８を参照されたい。方法３００は、第１ノード３において、メッセージ（M）及び第１ノード第２秘密鍵（V2C）に基づいて、署名付きメッセージ（SM1）を生成することを含み得る。方法３００は、通信ネットワークを介して第２ノード７に第１署名付きメッセージ（SM1）を送信する（３６０）ことをさらに含む。次いで、第２ノード７は、第１署名付きメッセージ（SM1）を受信するステップ４４０を実行することができる。方法４００はまた、第１ノード第２公開鍵（P2C）を用いて第１署名付きメッセージ（SM1）を検証するステップ４５０と、第１署名付きメッセージ（SM1）を検証した結果に基づいて、第１ノード３を認証するステップ４６０と、を含む。有利なことに、これは、（第１署名付きメッセージが生成された生成元である）第１ノードと称されるものが第１ノード３であることを第２ノード７が認証することを可能にする。これは、第１ノード３のみが、第１ノードマスター秘密鍵（V1C）にアクセスでき、したがって、第１ノード３のみが、第１署名付きメッセージ（SM1）を生成するための第１ノード第２秘密鍵（V2C）を決定できる、という仮定に基づく。同様に、例えばピアツーピアシナリオにおいて、第１ノード３が第２ノード７を認証できるように、第２署名付きメッセージ（SM2）が、第２ノード７において生成され、第１ノード３に送信され得ることを理解されたい。
【０１３２】
第１ノードと第２ノードとの間でメッセージ（M）を共有することは、様々な方法で実現され得る。一例において、メッセージは、第１ノード３において生成され、次いで、通信ネットワーク５を介して第２ノード７に送信され得る。代替的に、メッセージは、第２ノード７において生成され、次いで、通信ネットワーク５を介して第２ノード７に送信されてもよい。いくつかの例において、メッセージ（M）は、公開され得、したがって、セキュアでないネットワーク５を介して伝送され得る。１つ以上のメッセージ（M）は、データストア１３、１７、１９に格納され得る。メッセージの共有は様々な方法で実現され得ることが、当業者には理解されよう。
【０１３３】
有利なことに、共通シークレット（CS）の再作成を可能にするためのレコードが、このレコード自体が秘密に格納される又はセキュアに送信される必要なく、保持され得る。
【０１３４】
登録方法１００、２００
図９を参照して、登録方法１００、２００の例が説明される。方法１００は、第１ノード３により実行され、方法２００は、第２ノード７により実行される。これは、第１ノード３及び第２ノード７それぞれの第１非対称暗号ペア及び第２非対称暗号ペアを確立することを含む。
【０１３５】
これらの非対称暗号ペアは、公開鍵暗号化において使用されるような、関連付けられた秘密鍵及び公開鍵を含む。この例において、これらの非対称暗号ペアは、楕円曲線暗号（ECC）及び楕円曲線演算の特性を用いて生成される。
【０１３６】
方法１００、２００において、これは、第１ノードが、共通ECCシステム、及びベースポイント（G）を使用することについて合意する（１１０）こと、及び、第２ノードが、共通ECCシステム、及びベースポイント（G）を使用することについて合意する（２１０）こと、を含む（注：ベースポイントは、共通ジェネレータと呼ばれることがあるが、ジェネレータ値GVとの混同を避けるために、「ベースポイント」という用語が使用されている）。一例において、共通ECCシステムは、ビットコインにより使用されるECCシステムであるsecp256K1に基づき得る。ベースポイント（G）は、選択されてもよいし、ランダムに生成されてよいし、割り当てられてもよい。
【０１３７】
ここで第１ノード３に目を向けると、方法１００は、共通ECCシステム及びベースポイント（G）について同意する（１１０）ことを含む。これは、第２ノード７又は第３ノード９から、共通ECCシステム及びベースポイントを受信することを含み得る。代替的に、ユーザインタフェース１５が、第１ノード３に関連付けられ得、それにより、ユーザは、共通ECCシステム及び／又はベースポイント（G）を選択的に提供してもよい。さらに別の代替において、共通ECCシステム及びベースポイント（G）の一方又は両方が、第１ノード３によりランダムに選択されてもよい。第１ノード３は、通信ネットワーク５を介して、第２ノード７に、共通ECCシステム及びベースポイント（G）を使用することを示す通知を送信することができる。次いで、第２ノード７は、共通ECCシステム及びベースポイント（G）を使用することに対するアクノレッジメントを示す通知を送信することにより、同意する（２１０）ことができる。
【０１３８】
方法１００はまた、第１ノード３が、第１ノードマスター秘密鍵（V1C）及び第１ノードマスター公開鍵（P1C）を含む第１非対称暗号ペアを生成する（１２０）ことを含む。これは、共通ECCシステムにおいて指定された許容範囲内のランダムな整数に少なくとも部分的に基づいて、第１ノードマスター秘密鍵（V1C）を生成することを含む。これはまた、以下の式１に従って、第１ノードマスター秘密鍵（V1C）とベースポイント（G）との楕円曲線点乗算に基づいて、第１ノードマスター公開鍵（P1C）を決定することを含む：
P1C  =  V1C  x  G          （式１）
【０１３９】
したがって、第１非対称暗号ペアは以下を含む：
V1C：第１ノードにより秘密のまま保たれる第１ノードマスター秘密鍵
P1C：公に知られるようになる第１ノードマスター公開鍵
【０１４０】
第１ノード３は、第１ノードマスター秘密鍵（V1C）及び第１ノードマスター公開鍵（P1C）を、第１ノード３に関連付けられた第１データストア１３に格納することができる。セキュリティのために、第１ノードマスター秘密鍵（V1C）は、鍵が秘密のまま保たれることを確実にするために、第１データストア１３のセキュアな部分に格納され得る。
【０１４１】
方法１００は、図９に示されているように、通信ネットワーク５を介して第２ノード７に第１ノードマスター公開鍵（P1C）を送信する（１３０）ことをさらに含む。第２ノード７は、第１ノードマスター公開鍵（P1C）を受信する（２２０）と、第１ノードマスター公開鍵（P1C）を、第２ノード７に関連付けられた第２データストア１７に格納する（２３０）ことができる。
【０１４２】
第１ノード３と同様に、第２ノード７の方法２００は、第２ノードマスター秘密鍵（V1S）及び第２ノードマスター公開鍵（P1S）を含む第２非対称暗号ペアを生成する（２４０）ことを含む。第２ノードマスター秘密鍵（V1S）も、許容範囲内のランダムな整数である。次いで、第２ノードマスター公開鍵（P1S）が、以下の式２により決定される：
P1S  =  V1S  x  G          （式２）
【０１４３】
したがって、第２非対称暗号ペアは以下を含む：
V1S：第２ノードにより秘密のまま保たれる第２ノードマスター秘密鍵
P1S：公に知られるようになる第２ノードマスター公開鍵
【０１４４】
第２ノード７は、第２非対称暗号ペアを、第２データストア１７に格納することができる。方法２００は、第１ノード３に第２ノードマスター公開鍵（P1S）を送信する（２５０）ことをさらに含む。次いで、第１ノード３は、第２ノードマスター公開鍵（P1S）を受信し（１４０）、第２ノードマスター公開鍵（P1S）を格納する（１５０）ことができる。
【０１４５】
いくつかの代替において、それぞれのマスター公開鍵は、第３ノード９（信頼できるサードパーティ等）により受信され、第３ノード９に関連付けられた第３データストア１９に格納されてもよいことを理解されたい。これは、認証局等、パブリックディレクトリとして機能するサードパーティを含み得る。したがって、いくつかの例において、第１ノードマスター公開鍵（P1C）は、共通シークレット（CS）が必要とされると判定された場合にのみ、第２ノード７により要求され受信され得る（逆も同様）。
【０１４６】
登録ステップは、初期セットアップとして１回だけ発生する必要があり得る。
【０１４７】
セッション開始及び第１ノード３による共通シークレットの決定
共通シークレット（CS）を決定する例が、図１０を参照して説明される。共通シークレット（CS）は、第１ノード３と第２ノード７との間の、特定のセッション、時間、トランザクション、又は他の目的のために使用され得、同じ共通シークレット（CS）を使用することは望ましくない又はセキュアではない場合がある。したがって、共通シークレット（CS）は、異なるセッション、時間、トランザクション等の間で変更され得る。
【０１４８】
以下は、上述されたセキュアな送信技術の例示のために提供される。
【０１４９】
メッセージ（M）の生成３１０
この例において、第１ノード３により実行される方法３００は、メッセージ（M）を生成する（３１０）ことを含む。メッセージ（M）は、ランダム、擬似ランダム、又はユーザにより規定されたものであり得る。一例において、メッセージ（M）は、Unix（登録商標；以下省略）時間及びノンス（並びに任意の値）に基づく。例えば、メッセージ（M）は、以下として提供され得る：
Message  (M)  =  UnixTime  +  nonce          （式３）
（メッセージ（M）＝Unix時間＋ノンス）
【０１５０】
いくつかの例において、メッセージ（M）は任意である。しかしながら、メッセージ（M）は、いくつかの用途において有用であり得る選択的な値（口座番号、Unix時間等）を有し得ることを理解されたい。
【０１５１】
方法３００は、通信ネットワーク５を介して第２ノード７にメッセージ（M）を送信する（３１５）ことを含む。メッセージ（M）は、メッセージ（M）が秘密鍵に関する情報を含まないため、セキュアでないネットワークを介して伝送され得る。
【０１５２】
ジェネレータ値（GV）の決定３２０
方法３００は、メッセージ（M）に基づいて、ジェネレータ値（GV）を決定するステップ３２０をさらに含む。この例において、これは、メッセージの暗号ハッシュを決定することを含む。暗号ハッシュアルゴリズムの例は、256ビットのジェネレータ値（GV）を生成するためのSHA-256を含む。すなわち、
GV  =  SHA-256(M)          （式４）
である。
【０１５３】
他のハッシュアルゴリズムが使用されてもよいことを理解されたい。これは、セキュアハッシュアルゴリズム（SHA）ファミリーにおける他のハッシュアルゴリズムを含み得る。いくつかの具体例は、SHA3-224、SHA3-256、SHA3-384、SHA3-512、SHAKE128、SHAKE256を含め、SHA-3サブセットにおけるインスタンスを含む。他のハッシュアルゴリズムは、RACE  Integrity  Primitives  Evaluation  Message  Digest（RIPEMD）ファミリーにおけるハッシュアルゴリズムを含み得る。具体例は、RIPEMD-160を含み得る。他のハッシュ関数は、Zemor-Tillichハッシュ関数及びナップザックベースのハッシュ関数に基づくファミリーを含み得る。
【０１５４】
第１ノード第２秘密鍵の決定３３０
方法３００は、次いで、第２ノードマスター秘密鍵（V1C）及びジェネレータ値（GV）に基づいて、第１ノード第２秘密鍵（V2C）を決定するステップ３３０を含む。これは、以下の式５に従った、第１ノードマスター秘密鍵（V1C）とジェネレータ値（GV）とのスカラー加算に基づき得る：
V2C  =  V1C  +  GV          （式５）
【０１５５】
したがって、第１ノード第２秘密鍵（V2C）は、ランダムな値ではなく、第１ノードマスター秘密鍵から決定論的に導出される。暗号ペアにおける対応する公開鍵、すなわち、第１ノード第２公開鍵（P2C）は、以下の関係を有する：
P2C  =  V2C  x  G          （式６）
【０１５６】
式５から式６へのV2Cの代入は、以下の式７を与える：
P2C  =  (V1C  +  GV)  x  G          （式７）
上記の式において、「+」演算子は、楕円曲線点加算を指す。楕円曲線暗号代数が分配的であることに留意すれば、式７は、以下として表現され得る：
P2C  =  V1C  x  G  +  GV  x  G          （式８）
【０１５７】
最後に、式１を式８に代入すると、以下の式が与えられ得る：
P2C  =  P1C  +  GV  x  G          （式９．１）
P2C  =  P1C  +  SHA-256(M)  x  G          （式９．２）
【０１５８】
したがって、対応する第１ノード第２公開鍵（P2C）は、第１ノードマスター公開鍵（P1C）及びメッセージ（M）の知識を所与として導出可能である。第２ノード７は、方法４００に関して以下でさらに詳細に説明されるように、第１ノード第２公開鍵（P2C）を独立して決定するためのそのような知識を有し得る。
【０１５９】
メッセージ及び第１ノード第２秘密鍵に基づく第１署名付きメッセージ（SM1）の生成３５０
方法３００は、メッセージ（M）及び決定された第１ノード第２秘密鍵（V2C）に基づいて、第１署名付きメッセージ（SM1）を生成する（３５０）ことをさらに含む。署名付きメッセージを生成することは、デジタル署名アルゴリズムを適用してメッセージ（M）にデジタル署名することを含む。一例において、これは、楕円曲線デジタル署名アルゴリズム（ECDSA）において第１ノード第２秘密鍵（V2C）をメッセージに適用して、第１署名付きメッセージ（SM1）を得ることを含む。ECDSAの例は、secp256k1、secp256r1、secp384r1、se3cp521r1によるECCシステムに基づくものを含む。
【０１６０】
第１署名付きメッセージ（SM1）は、第２ノード７において、対応する第１ノード第２公開鍵（P2C）を用いて検証され得る。第１署名付きメッセージ（SM1）のこの検証は、第１ノード３を認証するために第２ノード７により用いられ得、このことは、以下の方法４００において説明される。
【０１６１】
第２ノード第２公開鍵の決定３７０’
次いで、第１ノード３は、第２ノード第２公開鍵（P2S）を決定する（３７０）ことができる。上述したように、第２ノード第２公開鍵（P2S）は、少なくとも第２ノードマスター公開鍵（P1S）及びジェネレータ値（GV）に基づき得る。この例において、公開鍵は、秘密鍵とベースポイント（G）との楕円曲線点乗算として決定される（３７０’）ので、第２ノード第２公開鍵（P2S）は、式６と同様に、以下として表現され得る：
P2S  =  V2S  x  G          （式１０．１）
P2S  =  P1S  +  GV  x  G          （式１０．２）
【０１６２】
式１０．２についての数学的証明は、第１ノード第２公開鍵（P2C）についての式９．１を導出するために上述したのと同じである。第１ノード３は、第２ノード７とは独立して、第２ノード第２公開鍵を決定する（３７０）ことができることを理解されたい。
【０１６３】
第１ノード３における共通シークレットの決定３８０
次いで、第１ノード３は、決定された第１ノード第２秘密鍵（V2C）及び決定された第２ノード第２公開鍵（P2S）に基づいて、共通シークレット（CS）を決定する（３８０）ことができる。共通シークレット（CS）は、以下の式１１を用いて第１ノード３により決定され得る：
S  =  V2C  x  P2S          （式１１）
【０１６４】
第２ノード７において実行される方法４００
次いで、第２ノード７において実行される対応する方法４００が説明される。これらのステップの一部は、第１ノード３により実行された上述したステップと同様であることを理解されたい。
【０１６５】
方法４００は、第１ノード３から通信ネットワーク５を介してメッセージ（M）を受信する（４１０）ことを含む。これは、ステップ３１５において第１ノード３により送信されたメッセージ（M）を含み得る。次いで、第２ノード７は、メッセージ（M）に基づいて、ジェネレータ値（GV）を決定する（４２０）。第２ノード７によりジェネレータ値（GV）を決定するステップ４２０は、第１ノードにより実行された上述したステップ３２０と同様である。この例において、第２ノード７は、第１ノード３とは独立して、この決定するステップ４２０を実行する。
【０１６６】
次のステップは、第１ノードマスター公開鍵（P1C）及びジェネレータ値（GV）に基づいて、第１ノード第２公開鍵（P2C）を決定する（４３０）ことを含む。この例において、公開鍵は、秘密鍵とベースポイント（G）との楕円曲線点乗算として決定される（４３０’）ので、第１ノード第２公開鍵（P2C）は、式９と同様に、以下として表現され得る：
P2C  =  V2C  x  G          （式１２．１）
P2C  =  P1C  +  GV  x  G          （式１２．２）
【０１６７】
式１２．１及び式１２．２についての数学的証明は、式１０．１及び式１０．２について上述したものと同じである。
【０１６８】
第２ノード７による第１ノード３の認証
方法４００は、第１ノード３と称されるものが第１ノード３であることを認証するために第２ノード７により実行されるステップを含み得る。前述したように、これは、第１ノード３から第１署名付きメッセージ（SM1）を受信する（４４０）ことを含む。次いで、第２ノード７は、ステップ４３０において決定された第１ノード第２公開鍵（P2C）を用いて、第１署名付きメッセージ（SM1）における署名を検証する（４５０）ことができる。
【０１６９】
デジタル署名を検証することは、上述したように、楕円曲線デジタル署名アルゴリズム（ECDSA）に従って行われ得る。重要なことに、第１ノード第２秘密鍵（V2C）を用いて署名された第１署名付きメッセージ（SM1）は、対応する第１ノード第２公開鍵（P2C）のみを用いて正しく検証されるべきである。なぜならば、V2C及びP2Cは、暗号ペアを形成するからである。これらの鍵は、第１ノード３の登録の際に生成された第１ノードマスター秘密鍵（V1C）及び第１ノードマスター公開鍵（V1C）に対して決定論的であるので、第１署名付きメッセージ（SM1）を検証することは、第１署名付きメッセージ（SM1）を送信した第１ノードと称されるものが、登録中の第１ノード３と同じであることを認証する基礎として用いられ得る。したがって、第２ノード７は、さらに、第１署名付きメッセージを検証した（４５０）結果に基づいて、第１ノード３を認証するステップ４６０を実行することができる。図１１を参照されたい。
【０１７０】
第２ノード７による共通シークレットの決定
方法４００は、第２ノード７が、第２ノードマスター秘密鍵（V1S）及びジェネレータ値（GV）に基づいて、第２ノード第２秘密鍵（V2S）を決定する（４７０）ことをさらに含み得る。第１ノード３により実行されたステップ３３０と同様に、第２ノード第２秘密鍵（V2S）は、以下の式に従った、第２ノードマスター秘密鍵（V1S）とジェネレータ値（GV）とのスカラー加算に基づき得る：
V2S  =  V1S  +  GV          （式１３．１）
V2S  =  V1S  +  SHA-256(M)          （式１３．２）
【０１７１】
次いで、第２ノード７は、第１ノード３とは独立して、以下の式１４に基づいて、第２ノード第２秘密鍵（V2S）及び第１ノード第２公開鍵（P2C）に基づく共通シークレット（CS）を決定する（４８０）ことができる：
S  =  V2S  x  P2C          （式１４）
【０１７２】
第１ノード３及び第２ノード７により決定された共通シークレット（CS）の証明
第１ノード３により決定された共通シークレット（CS）は、第２ノード７において決定された共通シークレット（CS）と同じである。式１１及び式１４が同じ共通シークレット（CS）を提供するという数学的証明が説明される。
【０１７３】
第１ノード３により決定された共通シークレット（CS）に目を向けると、式１０．１は、以下のように式１１に代入され得る：
S  =  V2C  x  P2S          （式１１）
S  =  V2C  x  (V2S  x  G)
S  =  (V2C  x  V2S)  x  G          （式１５）
【０１７４】
第２ノード７により決定された共通シークレット（CS）に目を向けると、式１２．１は、以下のように式１４に代入され得る：
S  =  V2S  x  P2C          （式１４）
S  =  V2S  x  (V2C  x  G)
S  =  (V2S  x  V2C)  x  G          （式１６）
【０１７５】
ECC代数は可換的であるので、式１５と式１６とは等価である。なぜならば、
S  =  (V2C  x  V2S)  x  G  =  (V2S  x  V2C)  x  G          （式１７）
であるからである。
【０１７６】
共通シークレット（CS）及び秘密鍵
ここで、共通シークレット（CS）は、第１ノード３と第２ノード７との間のセキュアな通信のための、秘密鍵として又は対称鍵アルゴリズムにおける秘密鍵の基礎として、使用され得る。
【０１７７】
共通シークレット（CS）は、楕円曲線点(xS,  yS)の形式であり得る。これは、ノード３、７により合意された標準的な公知の演算を用いて、標準鍵フォーマットに変換され得る。例えば、xS値は、AES256暗号化のための鍵として使用され得る256ビットの整数であり得る。これはまた、下記の長さの鍵を必要とする用途では、RIPEMD160を用いて、160ビットの整数に変換され得る。
【０１７８】
共通シークレット（CS）は、必要に応じて決定され得る。重要なことに、第１ノード３は、共通シークレット（CS）がメッセージ（M）に基づいて再決定され得るので、共通シークレット（CS）を格納する必要がない。いくつかの例において、使用される１つ以上のメッセージ（M）は、マスター秘密鍵に必要とされるのと同じセキュリティレベルを有することなく、データストア１３、１７、１９（又は他のデータストア）に格納され得る。いくつかの例において、メッセージ（M）は公開され得る。
【０１７９】
しかしながら、用途に応じて、共通シークレット（CS）が、第１ノードマスター秘密鍵（V1C）と同じくセキュアに保たれるならば、共通シークレット（CS）は、第１ノードに関連付けられた第１データストア（X）に格納され得る。
【０１８０】
有利なことに、この技術を使用して、単一のマスター鍵暗号ペアに基づいて、複数のセキュアな秘密鍵に対応し得る複数の共通シークレットを決定することができる。
【０１８１】
ジェネレータ値（鍵）の階層
例えば、一連の連続するジェネレータ値（GV）が決定され得、ここで、各連続するGVは、前のジェネレータ値（GV）に基づいて決定され得る。例えば、複数の連続する単一目的鍵を生成するためにステップ３１０〜３７０及びステップ４１０〜４７０を繰り返す代わりに、これらのノードの間の事前の合意により、以前に使用されたジェネレータ値（GV）が、両方のパーティにより繰り返し再ハッシュ化されて、ジェネレータ値の階層が確立され得る。実際、メッセージ（M）のハッシュに基づくジェネレータ値は、次の世代のジェネレータ値（GV’）についての次の世代のメッセージ（M’）とすることができる。これを行うことは、さらなるプロトコル確立送信、特に、各世代の共通シークレットについての複数のメッセージの送信の必要なく、連続する世代の共有されるシークレットが算出されることを可能にする。次の世代の共通シークレット（CS’）は、以下のように算出され得る。
【０１８２】
まず、第１ノード３及び第２ノード７の両方は、独立して、次の世代のジェネレータ値（GV’）を決定する。これは、ステップ３２０及び４２０と同様であるが、以下の式を用いて改められる：
M’  =  SHA-256(M)          （式１８）
GV’  =  SHA-256(M’)          （式１９．１）
GV’  =  SHA-256(SHA-256(M))          （式１９．２）
【０１８３】
次いで、第１ノード３は、上述したステップ３７０及び３３０と同様であるが以下の式を用いて改められるように、次の世代の第２ノード第２公開鍵（P2S’）及び第１ノード第２秘密鍵（V2C’）を決定することができる：
P2S’  =  P1S  +  GV’  x  G          （式２０．１）
V2C’  =  V1C  +  GV’          （式２０．２）
【０１８４】
次いで、第２ノード７は、上述したステップ４３０及び４７０と同様であるが以下の式を用いて改められるように、次の世代の第１ノード第２公開鍵（P2C’）及び第２ノード第２秘密鍵（V2S’）を決定することができる：
P2C’  =  P1C  +  GV’  x  G          （式２１．１）
V2S’  =  V1S  +  GV’          （式２１．２）
【０１８５】
次いで、第１ノード３及び第２ノード７は各々、次の世代の共通シークレット（CS’）を決定することができる。詳細には、第１ノード３は、以下の式２２を用いて次の世代の共通シークレット（CS’）を決定する：
CS’  =  V2C’  x  P2S’          （式２２）
【０１８６】
第２ノード７は、以下の式２３を用いて次の世代の共通シークレット（CS’）を決定する：
CS’  =  V2S’  x  P2C’          （式２３）
【０１８７】
さらなる世代（CS’’、CS’’’等）を同様に算出して、チェーン階層を生成することができる。この技術は、第１ノード３及び第２ノード７の両方が、オリジナルのメッセージ（M）又は最初に算出されたジェネレータ値（GV）と、これがどのノードに関連するかと、を追跡することを必要とする。これは、公に知られる情報なので、この情報の保持に関するセキュリティ上の問題はない。したがって、この情報は、（ハッシュ値を公開鍵にリンクする）「ハッシュテーブル」において保持され、ネットワーク５を介して（例えばTorrentを用いて）自由に分散され得る。さらに、階層における個々の共通シークレット（CS）が損なわれたとしても、秘密鍵V1C、V1Sがセキュアなまま保たれていれば、これは、階層におけるいかなる他の共通シークレットのセキュリティにも影響を及ぼさない。
【０１８８】
鍵のツリー構造
上述したチェーン（リニア）階層と同様に、ツリー構造の形態の階層が生成され得る。ツリー構造を用いると、認証鍵、暗号化鍵、署名鍵、支払鍵等といった、異なる目的のための様々な鍵が決定され得、これにより、これらの鍵は全て、セキュアに維持される単一のマスター鍵にリンクされる。これが、様々な異なる鍵を含むツリー構造９０１を示している図１２において最もよく示されている。これらの各々を使用して、別のパーティとの共有されるシークレットを作成することができる。ツリー分岐は、いくつかの方法で実現され得るが、それらのうちの３つが、以下で説明される。
【０１８９】
（ｉ）マスター鍵スポーニング
チェーン階層において、各新たな「リンク」（公開／秘密鍵ペア）は、オリジナルのマスター鍵に、多重再ハッシュ化メッセージを加算することにより、作成される。例えば（分かりやすくするために、第１ノード３の秘密鍵のみが示されるが）：
V2C  =  V1C  +  SHA-256(M)          （式２４）
V2C’  =  V1C  +  SHA-256(SHA-256(M))          （式２５）
V2C’’  =  V1C  +  SHA-256(SHA-256(SHA-256(M)))          （式２６）
...等である。
【０１９０】
分岐を作成するために、任意の鍵が、サブマスター鍵として使用され得る。例えば、V2C’が、通常のマスター鍵について行われるようにV2C’にハッシュを加算することにより、サブマスター鍵キー（V3C）として使用され得る：
V3C  =  V2C’  +  SHA-256(M)          （式２７）
【０１９１】
サブマスター鍵（V3C）自体は、例えば、以下の次の世代の鍵（V3C’）を有し得る：
V3C’  =  V2C’  +  SHA-256(SHA-256(M))          （式２８）
【０１９２】
これは、図１３に示されているように、マスター鍵スポーニング（spawning）方法を使用するツリー構造９０３を提供する。
【０１９３】
（ｉｉ）論理的関連付け
この方法において、ツリーにおける全てのノード（公開／秘密鍵ペア）は、チェーンとして（又は任意の他の形で）生成され、ツリーにおけるノード間の論理的関係が、ツリーにおける各ノードがポインタを使用してその親ノードに単に関連付けられるテーブルにより維持される。したがって、ポインタを使用して、セッションについての共通秘密鍵（CS）を決定するための関連する公開／秘密鍵ペアを決定することができる。
【０１９４】
（ｉｉｉ）メッセージ多重性
新たな秘密／公開鍵ペアは、チェーン又はツリーにおける任意のポイントに新たなメッセージを導入することにより、生成され得る。メッセージ自体は、任意であってもよいし、何らかの意味又は機能（例えば、これは、「現実の」銀行口座番号に関連する場合がある、等）を伝達してもよい。新たな秘密／公開鍵ペアを形成するためのそのような新たなメッセージはセキュアに保持されることが望ましい場合がある。
【図１】
2019511151.tif 000003
【図２】
2019511151.tif 000004
【図３】
2019511151.tif 000005
【図４】
2019511151.tif 000006
【図５】
2019511151.tif 000007
【図６】
2019511151.tif 000008
【図７】
2019511151.tif 000009
【図８】
2019511151.tif 000010
【図９】
2019511151.tif 000011
【図１０】
2019511151.tif 000012
【図１１】
2019511151.tif 000013
【図１２】
2019511151.tif 000014
【図１３】
2019511151.tif 000015
【国際調査報告】
2019511151.tif 000016
2019511151.tif 000017