(57)【要約】  本発明は、例えばビットコインブロックチェーンのようなブロックチェーン技術に関する。本発明は、リンクされた又は関連付けられたエンティティ構造の公開鍵を生成する方法（及び対応するシステム）を提供する。公開鍵を生成するために決定キーに関数が適用され、前記決定キーは、親決定キーを生成するために親エンティティ識別子に、又は子決定キーを生成するために前記親決定キーと子エンティティ識別子との和に、ハッシュ関数を適用することにより生成される。さらに、エンティティによりトランザクション上で会計する、コンピュータにより実施される方法が提供され、前記トランザクションはピアツーピア分散台帳（ブロックチェーン）に記録され、前記方法は、第１分類種類に基づき公開アドレスを分類するために、エンティティの前記公開アドレスを前記第１分類種類の１又は複数の識別子に関連付けるステップと、通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第１識別子を受信するステップと、前記第１識別子に関連付けられた第１公開アドレスセットを決定するステップであって、前記第１公開アドレスセットは前記公開アドレスのサブセットである、ステップと、前記第１識別子に関連付けられた前記第１公開アドレスセットに基づき、前記ピアツーピア分散台帳内の第１トランザクションセットを決定するステップであって、前記第１トランザクションセットは前記トランザクションのサブセットである、ステップと、を含む、コンピュータにより実施される。
2019508950.tif 000002
【特許請求の範囲】
【請求項１】
第１分類種類に基づき公開アドレスを分類するために、複数のエンティティの前記公開アドレスを前記第１分類種類の１又は複数の識別子に関連付けるステップと、
通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第１識別子を受信するステップと、
前記第１識別子に関連付けられた第１公開アドレスセットを決定するステップであって、前記第１公開アドレスセットは前記公開アドレスのサブセットである、ステップと、
前記第１識別子に関連付けられた前記第１公開アドレスセットに基づき、ブロックチェーン内の第１トランザクションセットを識別するステップと、
を含む、コンピュータにより実施される方法。
【請求項２】
前記通信ネットワークから、前記第１識別子に関連付けられた第１データアイテムを受信するステップと、
前記第１データアイテム及び前記第１トランザクションセットに基づき、第１データアウトプットを生成するステップと、
を更に含む、請求項１に記載のコンピュータにより実施される方法。
【請求項３】
通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第２識別子に関連付けられた第２データアイテムを受信するステップと、
前記第２識別子に関連付けられた第２公開アドレスセットを決定するステップであって、前記第２公開アドレスセットは、前記公開アドレスのサブセットである、ステップと、
前記第２識別子に関連付けられた前記第２公開アドレスセットに基づき、前記ブロックチェーン内の第２トランザクションセットを決定するステップであって、前記第２トランザクションセットはトランザクションのサブセットである、ステップと、
前記第２データアイテム及び前記第２トランザクションセットに基づき、第２データアウトプットを生成するステップと、
前記第１データアウトプットの第１アウトプットハッシュ表現を生成するために、前記第１データアウトプットに対して第１ハッシュ演算を実行するステップと、
前記第２データアウトプットの第２アウトプットハッシュ表現を生成するために、前記第２データアウトプットに対して第２ハッシュ演算を実行するステップと、
前記第１アウトプットハッシュ表現と前記第２アウトプットハッシュ表現を結合するステップと、
前記結合された第１アウトプットハッシュ表現及び第２アウトプットハッシュ表現の第３ハッシュ表現を生成するために、前記結合された第１アウトプットハッシュ表現及び第２アウトプットハッシュ表現に対して第３ハッシュ演算を実行するステップと、
を更に含む、請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記第３アウトプットハッシュ表現を記憶装置に格納するステップ、を更に含む、請求項３に記載のコンピュータにより実施される方法。
【請求項５】
前記第１データアウトプット及び前記第２データアウトプットを結合するステップと、
前記結合された第１データアウトプット及び第２データアウトプットのハッシュ表現を生成するために、前記結合された第１データアウトプット及び第２データアウトプットに対してハッシュ演算を実行するステップと、
を更に含む、請求項３に記載のコンピュータにより実施される方法。
【請求項６】
第２分類種類に基づき前記公開アドレスを分類するために、前記エンティティの前記公開アドレスを前記第２分類種類の１又は複数の識別子に関連付けるステップと、
前記通信ネットワークから、前記第２分類種類の前記１又は複数の識別子のうちの第３識別子を受信するステップと、
前記第３識別子及び前記第１識別子に関連付けられた第３公開アドレスセットを決定するステップであって、前記第３公開アドレスセットは前記公開アドレスのサブセットである、ステップと、
前記第３識別子及び前記第１識別子に関連付けられた前記第３公開アドレスセットに基づき、前記ブロックチェーン内の第３トランザクションセットを決定するステップであって、前記第３トランザクションセットはトランザクションのサブセットである、ステップと、
を更に含む、請求項１乃至５のいずれか一項に記載のコンピュータにより実施される方法。
【請求項７】
前記第１分類種類は前記エンティティの識別情報により前記公開アドレスの分類を表す、請求項１乃至６のいずれか一項に記載のコンピュータにより実施される方法。
【請求項８】
前記第１分類種類の前記１又は複数の識別子は、
前記エンティティの名称、
前記名称の１６進コード、
前記エンティティのAustralian  Business  Number、
ネットワークアドレス、又は、
前記エンティティのAustralian  Company  Number、
のうちの１又は複数を含む、請求項１乃至７のいずれか一項に記載のコンピュータにより実施される方法。
【請求項９】
前記第２分類種類は前記エンティティの会計種類により前記公開アドレスの分類を表す、請求項６に記載のコンピュータにより実施される方法。
【請求項１０】
前記第２分類種類の前記１又は複数の識別子は、
貸し方会計、
借り方会計、
受取会計、
受取会計、
給与会計、及び／又は、
利息会計、
のうちの１又は複数を有する、請求項９に記載のコンピュータにより実施される方法。
【請求項１１】
前記エンティティの前記公開アドレスを前記第１分類種類の前記１又は複数の識別子に関連付けるステップは、
ルックアップテーブルのエントリに、前記第１分類種類の前記１又は複数の識別子を前記エンティティの前記公開アドレスに関連付けて格納するステップであって、前記ルックアップテーブルの各エントリは、前記第１分類種類の前記１又は複数の識別子のうちの１つ及び前記公開アドレスのうちの１つを含む、ステップ、を含む、
請求項１乃至１０のいずれか一項に記載のコンピュータにより実施される方法。
【請求項１２】
前記エンティティの前記公開アドレスを前記第１分類種類の前記１又は複数の識別子に関連付けるステップは、
スクリプトを用いて、前記第１分類種類の前記１又は複数の識別子を前記ブロックチェーン内の前記公開アドレスに関連付けるステップ、を含む、
請求項１乃至１０のいずれか一項に記載のコンピュータにより実施される方法。
【請求項１３】
前記第１分類種類は前記エンティティをリンクする木構造により前記公開アドレスの分類を表す、請求項１に記載のコンピュータにより実施される方法。
【請求項１４】
前記第１分類種類の前記１又は複数の識別子は、前記エンティティに関連付けられた決定キーを含み、前記決定キーは前記木構造に基づき生成される、請求項１３に記載のコンピュータにより実施される方法。
【請求項１５】
前記エンティティは、前記木構造の中の親エンティティ及び前記親エンティティに関連付けられた子エンティティを有し、
前記親エンティティは、決定キーのうちの第１決定キーに関連付けられ、前記子エンティティは、前記決定キーのうちの第２決定キーに関連付けられ、
前記第１決定キーは、前記親エンティティに関連付けられた親指示に基づき決定され、前記第２決定キーは、前記第１決定キー及び前記子エンティティに関連付けられた子指示に基づき決定される、
請求項１３又は１４に記載のコンピュータにより実施される方法。
【請求項１６】
前記通信ネットワークから前記親指示を受信するステップと、
前記親指示に基づき前記第１決定キーを決定するステップと、
前記第１決定キー及び前記子指示に基づき前記第２決定キーを決定するステップと、
前記第２決定キーに関連付けられた第４公開アドレスセットを決定するステップであって、前記第４公開アドレスセットは前記公開アドレスのサブセットである、ステップと、
前記第２決定キーに関連付けられた前記第４公開アドレスセットに基づき、前記ブロックチェーン内の第４トランザクションセットを決定するステップであって、前記第４トランザクションセットはトランザクションのサブセットである、ステップと、
前記第４トランザクションセットに基づき第３データアウトプットを生成するステップと、
を更に含む、請求項１５に記載のコンピュータにより実施される方法。
【請求項１７】
前記第４公開アドレスセットを決定するステップは、前記第２決定キーに基づき前記第４公開アドレスセットを決定するステップ、を更に含む、請求項１６に記載のコンピュータにより実施される方法。
【請求項１８】
前記公開アドレスは、非対称暗号対の公開鍵を有し、前記非対称暗号対の各々は、前記公開鍵のうちの１つ及び前記公開鍵のうちの前記１つに対応する秘密鍵を有する、請求項１乃至１７のいずれか一項に記載のコンピュータにより実施される方法。
【請求項１９】
前記ブロックチェーンは、ビットコインプロトコルに従い生成される、請求項１乃至１８のいずれか一項に記載のコンピュータにより実施される方法。
【請求項２０】
前記公開アドレスは、前記ビットコインプロトコルで使用される前記エンティティのビットコインアドレスを有する、請求項１９に記載のコンピュータにより実施される方法。
【請求項２１】
コンピュータシステムであって、
少なくとも１つのプロセッサであって、
第１分類種類に基づき公開アドレスを分類するために、複数のエンティティの前記公開アドレスを前記第１分類種類の１又は複数の識別子に関連付け、
通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第１識別子を受信し、
前記第１識別子に関連付けられた第１公開アドレスセットを決定し、前記第１公開アドレスセットは前記公開アドレスのサブセットであり、
前記第１識別子に関連付けられた前記第１公開アドレスセットに基づき、ブロックチェーン内の第１トランザクションセットを識別する、
よう構成される少なくとも１つのプロセッサを含むコンピュータシステム。
【請求項２２】
リンクされた又は関連付けられたエンティティ構造の公開鍵を生成する方法であって、
公開鍵を生成するために決定キーに関数を適用するステップであって、前記決定キーは、親決定キーを生成するために親エンティティ識別子に、又は子決定キーを生成するために前記親決定キーと子エンティティ識別子との和に、ハッシュ関数を適用することにより生成される、ステップ、
を含む方法。
【請求項２３】
請求項１乃至１８のいずれか一項に記載のステップを更に含む請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ビットコインブロックチェーンのようなピアツーピア分散技術に関する。本発明は、また、ブロックチェーン上のトランザクションのセキュア且つ効率的決定及び／又は識別のための暗号技術の使用に関し、結果として、非常に汎用的且つブロックチェーン基盤に関連して動作し及びそれと相互作用するプロセスを制御するために使用可能な技術的ソリューションを生じる。本発明は、別のコンピュータに基づく宛先にコピーする及び／又はそれへ送信するために、どのブロックチェーントランザクションセット（又はそれからのデータ）が選択されるかを決定するために使用できる。
【背景技術】
【０００２】
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピア電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタル資産の制御の転送を符号化するデータ構造であり、少なくとも１つのインプット及び少なくとも１つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
【０００３】
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード（マイナー）は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション（ＵＴＸＯ）に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、ｉ）トランザクションを受信した第１ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ｉｉ）マイナーにより構築された新しいブロックに追加し、ｉｉｉ）マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
【０００４】
ブロックチェーンは様々な利益を提供するので、多くの組織（エンティティ）が、この技術を彼らのコンピューティングインフラに組み込むことのできる方法を調査し始めている。エンティティは、彼らのデータの記憶及び／又は処理のための複雑な内部コンピューティングシステムを実装し得る。例えば、これらのシステムは、組織の活動により生成され及び／又はキャプチャされた大容量データを処理するために必要な大規模データベース構造に基づくことがある。例えば、金融システムは、生成され及びキャプチャされたデータが正確に処理され又は通信され得るように、種々のデータベースの管理及び同期を必要とする場合がある。しかしながら、ブロックチェーンは耐タンパー性及び永久記録のような利点を提供するので、データ及びイベントを記録するためにブロックチェーン技術を使用することが望ましいが、異なるコンピューティングアーキテクチャ及びプラットフォームが互いに関連して使用される必要のあるときに、技術的困難が生じる。ブロックチェーンプラットフォームは、エンティティの内部システムとインタフェースしない場合がある。したがって、異なるハードウェア及びソフトウェアシステムが使用されることから生じる統合及び通信問題が存在する。異なるシステム（例えばＤＢＭＳ）へ送信できるように、あるシステム（例えばブロックチェーン）からデータを識別し抽出することの困難は、些細な問題ではない。さらに、いずれの基本プラットフォームにも変更を必要としない方法で、このプラットフォームに跨る統合を達成することが望ましい。さらに、ブロックチェーンは、ブロックに構築されるトランザクション（Ｔｘｓ）にデータを格納する。ブロックチェーンから関連データを識別し及びアクセスすることは、困難なタスクであり、時間及び計算量の両方の観点でセキュア且つ効率的でもある方法で実行される必要がある。本発明は、少なくともこれらの技術的関心事を解決する。
【０００５】
本願明細書を通じて、用語「含む、有する（comprise）」又は「comprises」若しくは「comprising」のような変形は、記述される要素、整数若しくはステップ、又は要素、整数若しくはステップのグループ、の包含を意味すると理解されるが、任意の他の要素、整数若しくはステップ、又は要素、整数若しくはステップのグループを除外しない。
【０００６】
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
【０００７】
本開示に含まれる文書、動作、材料、装置、製品、等の議論は、これらの項目のうちのいずれか又は全部が従来基盤の部分を形成すること、又は本願の各請求項の優先日前に存在していたような本開示の関連分野における共通の一般知識であったとの承認として解釈されるべきではない。
【発明の概要】
【０００８】
本発明による方法及びシステムは添付の請求項において定められる。本発明は、暗号方法及び対応するシステムを提供し得る。本発明は、ブロックチェーンにより実施される方法／システムを提供し得る。本発明は、データのセキュアな識別、抽出、送信、処理、及び／又は更新のための制御システムを提供し得る。このデータは、ブロックチェーンから引き出され、アクセスされ、又はコピーされて良い。本発明は、暗号キーを用いてブロックチェーンを、データ記憶／処理リソースのような非ブロックチェーンにより実施されるコンピューティングリソースに統合する方法／システムを提供し得る。本発明は、暗号キーを用いて、ブロックチェーンからデータを識別し及び／又は抽出する方法／システムを提供し得る。本発明は、ブロックチェーンにより供給されるデータを非ブロックチェーンにより実施される記憶リソースに統合する方法／システムを提供し得る。エンティティは、組織、システム、又はネットワークとして参照されて良い。エンティティは、論理エンティティ、仮想、コンピュータに基づく又は物理エンティティであって良い。エンティティは、自然人を有して良い。
【０００９】
１又は複数のエンティティによるブロックチェーントランザクション（Ｔｘｓ）の効率的な識別、関連付け、又は決定のためのコンピュータにより実施される方法が提供され得る。ブロックチェーントランザクションは、ピアツーピア分散台帳（ブロックチェーン）に記録されて良い。
【００１０】
方法は、
第１分類種類に基づき公開アドレスを分類するために、エンティティの前記公開アドレスを前記第１分類種類の１又は複数の識別子に関連付けるステップであって、これは前記公開アドレスの少なくとも１つの識別子との論理的リンク又は関連付けを含んで良く、前記識別子は分類種類に属する、ステップと、
通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第１識別子を受信するステップと、
前記第１識別子に関連付けられた第１公開アドレスセットを決定するステップであって、前記第１公開アドレスセットは前記公開アドレスのサブセットである、ステップと、
前記第１識別子に関連付けられた前記第１公開アドレスセットに基づき、ブロックチェーン内の第１トランザクションセットを識別するステップと、
を含む。前記第１トランザクションセットは、前記ブロックチェーン上の前記トランザクションのサブセットであって良い。
【００１１】
方法は、第１ブロックチェーントランザクションセットから少なくともデータ部分（「トランザクションデータ」と呼ばれることがある）を抽出する又はコピーするステップ、及び／又は、抽出したトランザクションデータを、ブロックチェーンプラットフォーム又はネットワークの部分ではない計算リソースへ送信するステップ、を更に有して良い、
公開アドレスは、暗号鍵から導出され又はそれに基づき導出されて良い。これは、決定キーであって良い。
【００１２】
追加又は代替として、本発明は、リンクされた又は関連付けられたエンティティ構造の公開鍵を生成する方法を提供し得る。公開鍵を生成するために決定キーに関数が適用され、前記決定キーは、親決定キーを生成するために親エンティティ識別子に、又は子決定キーを生成するために前記親決定キーと子エンティティ識別子との和に、ハッシュ関数を適用することにより生成される。
【００１３】
鍵は、公開／秘密鍵ペアの部分を形成して良い。「マスタ」又は「ルート」鍵／ペアとして指定される１つの鍵又は鍵ペアが存在して良い。ティティの中のサブエンティティ、ユニット又は要素は、ルートから導出されるサブキー又はペアに関連付けられて良い。サブキーは、決定論的方法で生成されて良い。サブキーは、実質的に以下に提供される例に記載されるように生成され又は決定されて良い。サブキーは、別の（先行する）キーに基づき生成され、導出され、又は決定されて良い。サブキーの生成は、ＥＣＣ技術の使用を含んで良い。サブキーは、メッセージ（Ｍ）又は識別子の暗号ハッシュに基づく決定キー（deterministic  key：ＤＫ）を用いて生成され、導出され、又は決定されて良い。メッセージ又は識別子は、ランダム、疑似ランダム、予め定められ又は選択されて良い。好適な実施形態では、メッセージ／識別子は、例えばアカウント番号、患者ＩＤ、ネットワークノード識別子、会社識別子、等のような意義のある値に対応するよう、選択され、構成され、又は生成される。メッセージ又は識別子は、エンティティ又はサブエンティティ／要素に関連する何らかの意味を有して良い。メッセージは、エンティティ又は要素へのリンク、関連付け、又は参照を提供して良い。サブキーは、関連する公開親キー及び決定キーと生成器（Ｇ）とのスカラ乗算のスカラ和に基づき決定されて良い。メッセージ／識別子は、ブロックチェーントランザクション（Ｔｘ）内のメタデータの中に格納されて良い。メッセージ／識別子は、更なるサブキーを提供するために、再ハッシュされて良い。
【００１４】
本発明の幾つかの実施形態では、方法は、第１分類種類に基づき公開アドレスを分類するために、公開アドレスを第１分類種類の１又は複数の識別子に関連付けるステップを有して良い。このように、方法は、分類された公開アドレスに基づき、ピアツーピア分散台帳（ブロックチェーン）に記録されているトランザクション（Ｔｘｓ）を効率的に決定できる。その結果、本開示で開示される方法は、ブロックチェーンに送信されているトランザクションからデータが識別され及び／又は抽出される必要のある任意の種類のシステムにとって特に有用である。有用なアプリケーションの例は、ブロックチェーンに記録されたトランザクション上の会計及び報告を含み得るが、本発明はこの使用、適用、又は文脈に関して限定されないことに留意することが重要である。
【００１５】
方法は、
前記通信ネットワークから、前記第１識別子に関連付けられた第１データアイテムを受信するステップと、
前記第１会計項目及び前記第１トランザクションセットに基づき、第１データアウトプットを生成するステップと、を更に含んで良い。
【００１６】
便宜上及び簡単のために、非限定的方法で、データアイテムは、「会計項目」として参照されることがあり、データアウトプットは「会計報告」として参照されることがある。
【００１７】
方法は、通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第２識別子に関連付けられた第２会計項目を受信するステップと、
前記第２識別子に関連付けられた第２公開アドレスセットを決定するステップであって、前記第２公開アドレスセットは、前記公開アドレスのサブセットである、ステップと、
前記第２識別子に関連付けられた前記第２公開アドレスセットに基づき、前記ピアツーピア分散台帳の第２トランザクションセットを決定するステップであって、前記第２トランザクションセットは前記トランザクションのサブセットである、ステップと、
前記第２会計項目及び前記第２トランザクションセットに基づき、第２会計報告を生成するステップと、
前記第１会計報告の第１報告ハッシュ表現を生成するために、前記第１会計報告に対して第１ハッシュ演算を実行するステップと、
前記第２会計報告の第２報告ハッシュ表現を生成するために、前記第２会計報告に対して第２ハッシュ演算を実行するステップと、
前記第１報告ハッシュ表現と前記第２報告ハッシュ表現を結合するステップと、
前記結合された第１報告ハッシュ表現及び第２報告ハッシュ表現の第３ハッシュ表現を生成するために、前記結合された第１報告ハッシュ表現及び第２報告ハッシュ表現に対して第３ハッシュ演算を実行するステップと、を更に含んで良い。
【００１８】
方法は、前記第３報告ハッシュ表現を記憶装置に格納するステップ、を更に含んで良い。
【００１９】
方法は、
前記第１会計報告及び前記第２会計報告を結合するステップと、
前記結合した第１会計報告及び第２会計報告に対してハッシュ演算を実行して、前記結合した第１会計報告及び第２会計報告のハッシュ表現を生成するステップと、を更に含んで良い。
【００２０】
方法は、
第２分類種類に基づき前記公開アドレスを分類するために、前記エンティティの前記公開アドレスを前記第２分類種類の１又は複数の識別子に関連付けるステップと、
前記通信ネットワークから、前記第２分類種類の前記１又は複数の識別子のうちの第３識別子を受信するステップと、
前記第３識別子及び前記第１識別子に関連付けられた第３公開アドレスセットを決定するステップであって、前記第３公開アドレスセットは前記公開アドレスのサブセットである、ステップと、
前記第３識別子及び前記第１識別子に関連付けられた前記第３公開アドレスセットに基づき、前記ピアツーピア分散台帳内の第３トランザクションセットを決定するステップであって、前記第３トランザクションセットは前記トランザクションのサブセットである、ステップと、を更に含んで良い。
【００２１】
第１分類種類は、前記エンティティの識別情報により前記公開アドレスの分類を表して良い。
【００２２】
前記第１分類種類の前記１又は複数の識別子は、
前記エンティティの名称、
前記名称の１６進コード、
ネットワークノード識別子、
前記エンティティのAustralian  Business  Number、及び／又は、
前記エンティティのAustralian  Company  Number、
のうちの１又は複数を含んで良い。
【００２３】
前記第２分類種類は、前記エンティティの会計種類により前記公開アドレスの分類を表して良い。
【００２４】
前記第２分類種類の前記１又は複数の識別子は、
貸し方会計、
借り方会計、
受取会計、
受取会計、
給与会計、及び、
利息会計、
のうちの１又は複数を有して良い。
【００２５】
前記エンティティの前記公開アドレスを前記第１分類種類の前記１又は複数の識別子に関連付けるステップは、
ルックアップテーブルのエントリに、前記第１分類種類の前記１又は複数の識別子を前記エンティティの前記公開アドレスに関連付けて格納するステップであって、前記ルックアップテーブルの各エントリは、前記第１分類種類の前記１又は複数の識別子のうちの１つ及び前記公開アドレスのうちの１つを含む、ステップ、を含んで良い。
【００２６】
前記エンティティの前記公開アドレスを前記第１分類種類の前記１又は複数の識別子に関連付けるステップは、
スクリプトを用いて、前記第１分類種類の前記１又は複数の識別子を前記ピアツーピア分散台帳内の前記公開アドレスに関連付けるステップ、を含んで良い。
【００２７】
第１分類種類は、前記エンティティをリンクする木構造により前記公開アドレスの分類を表して良い。
【００２８】
前記第１分類種類の前記１又は複数の識別子は、前記エンティティに関連付けられた決定キーを含んで良く、前記決定キーは前記木構造に基づき生成される。
【００２９】
前記エンティティは、前記木構造の中の親エンティティ及び前記親エンティティに関連付けられた子エンティティを有して良く、
前記親エンティティは、前記決定キーのうちの第１決定キーに関連付けられ、前記子エンティティは、前記決定キーのうちの第２決定キーに関連付けられ、
前記第１決定キーは、前記親エンティティに関連付けられた親指示に基づき決定され、前記第２決定キーは、前記第１決定キー及び前記子エンティティに関連付けられた子指示に基づき決定される。
【００３０】
前記方法は、
前記通信ネットワークから前記親指示を受信するステップと、
前記親指示に基づき前記第１決定キーを決定するステップと、
前記第１決定キー及び前記子指示に基づき前記第２決定キーを決定するステップと、
前記第２決定キーに関連付けられた第４公開アドレスセットを決定するステップであって、前記第４公開アドレスセットは前記公開アドレスのサブセットである、ステップと、
前記第２決定キーに関連付けられた前記第４公開アドレスセットに基づき、前記ピアツーピア分散台帳内の第４トランザクションセットを決定するステップであって、前記第４トランザクションセットは前記トランザクションのサブセットである、ステップと、
前記第４トランザクションセットに基づき第３会計報告を生成するステップと、を更に含んで良い。
【００３１】
前記第４公開アドレスセットを決定するステップは、前記第２決定キーに基づき前記第４公開アドレスセットを決定するステップ、を更に含んで良い。
【００３２】
公開アドレスは、非対称暗号対の公開鍵を有し、非対称暗号対の各々は、公開鍵のうちの１つ及び公開鍵のうちの１つに対応する秘密鍵を有して良い。
【００３３】
ピアツーピア分散台帳は、ビットコインプロトコルに従い生成されたブロックチェーンであって良い。
【００３４】
公開アドレスは、ビットコインプロトコルで使用されるエンティティのビットコインアドレスを有して良い。
【００３５】
コンピュータソフトウェアプログラムであって、プロセッサにより実行されると該プロセッサに上述の方法のうちのいずれか１つを実行させる機械実行可能命令を有する、コンピュータソフトウェアプログラムが提供される。
【００３６】
エンティティによるトランザクションの効率的決定のためのコンピュータシステムが提供され、前記トランザクションはピアツーピア分散台帳に記録され、前記コンピュータシステムは、
プロセッサであって、
第１分類種類に基づき公開アドレスを分類するために、エンティティの前記公開アドレスを前記第１分類種類の１又は複数の識別子に関連付け、
通信ネットワークから、前記第１分類種類の前記１又は複数の識別子のうちの第１識別子を受信し、
前記第１識別子に関連付けられた第１公開アドレスセットを決定し、前記第１公開アドレスセットは前記公開アドレスのサブセットであり、
前記第１識別子に関連付けられた前記第１公開アドレスセットに基づき、前記ピアツーピア分散台帳内の第１トランザクションセットを決定し、前記第１トランザクションセットは前記トランザクションのサブセットである、よう構成される。
【００３７】
本発明は、リンクされた又は関連付けられたエンティティ構造の公開鍵を生成する方法を提供し得る。方法は、
公開鍵を生成するために決定キーに関数を適用するステップであって、前記決定キーは、親決定キーを生成するために親エンティティ識別子に、又は子決定キーを生成するために前記親決定キーと子エンティティ識別子との和に、ハッシュ関数を適用することにより生成される、ステップ、を含んで良い。方法は、上述のいずれかの特徴を更に有して良い。
【００３８】
本発明の方法に関する上述のいずれかの特徴は、対応するシステムに適用可能であって良く、逆も同様である。
【図面の簡単な説明】
【００３９】
本開示の特徴は、非限定的な例を用いて説明される。類似する番号は類似する要素を示す。
【図１】本開示による会計サーバを含む暗号通貨システムを示す。
【図２】本開示によるピアツーピア分散台帳上のトランザクションの効率的決定のためのコンピュータにより実施される方法を示す。
【図３Ａ】本開示による、エンティティの公開アドレスを分類種類の識別子に関連付ける一例を示す。
【図３Ｂ】本開示による、エンティティの公開アドレスを１より多くの分類種類の識別子に関連付ける一例を示す。
【図４Ａ】木構造に構成されたエンティティネットワークへの本開示の例示的適用を示す。
【図４Ｂ】木構造に構成されたエンティティネットワークへの本開示の例示的適用を示す。
【図５】本開示に記載の方法を実施するために使用されるコンピュータシステムの例示的な概略図を示す。
【発明を実施するための形態】
【００４０】
図１は、本開示によるサーバ１１１を含む暗号通貨システム１００を示す。本例では、サーバは会計サーバであるが、他の実施形態では、サーバは他の種類の目的又は機能のために配置されて良い。
【００４１】
暗号通貨システム１００は、暗号通貨を送信し及び受信するために、エンティティ１０３、１０５−１〜１０５−７にプラットフォームを提供する。エンティティ１０３、１０５−１〜１０５−７は、通信ネットワーク１０１により互いに接続される。本開示の暗号通貨システム１００は、暗号通貨システム１００を介して実施されるトランザクション（Ｔｘｓ）を記録するために、ピアツーピア分散台帳（つまりブロックチェーン）１０９を使用する。公開共有データベース（つまりブロックチェーン）１０９のコピーは、通貨処理端末１０７に格納される。１つの通貨処理端末１０７のみが図１に示されるが、本開示の範囲から逸脱することなく、１つより多くの通貨処理端末１０７が暗号通貨システム１００内に存在して良い。
【００４２】
本開示の暗号通貨システム１００は、説明の目的のためにブロックチェーンを使用するビットコインシステム１００として記載される。別の例では、暗号通貨システム１００は、他の暗号通貨プラットフォーム、例えばイーサリアム（Ethereum）であり得る。さらに、暗号通貨システム１００及び本開示の方法はピアツーピア分散台帳（つまりブロックチェーン）１０９に記録されたトランザクションを会計し及び報告する文脈で記載されるが、暗号通貨システム１００及びこれらの方法は異なる方法で使用できる。本発明は会計目的の使用に限定されない。
【００４３】
ビットコインシステム１００では、１又は複数のトランザクション（Ｔｘｓ）は、エンティティ１０３とエンティティ１０５−１〜１０５−７との間で行われて良い。例えば、特定数のビットコイン（ＢＴＣ）がエンティティ１０３からエンティティ１０５−１へ転送される。トランザクションは、ビットコインプロトコルに従い定められ処理される。例示的なビットコイントランザクション（Ｔｘ）は以下の表１に示される。
【００４４】
［表１］例示的なビットコイントランザクション
【００４５】
【表１】
2019508950.tif 000003
表１の上述のトランザクションは、ブロックチェーンプロトコルに従い構成されるデータ構造であり、複数のフィールド及びスクリプトを含む。これらのフィールド及びスクリプトは、ビットコイントランザクション（Ｔｘ）を実施するために、通貨処理端末１０７により使用される情報及びコマンドを含む。留意すべきことに、トランザクションは、異なる目的のために異なるフィールド及びスクリプトを有して良い。
【００４６】
トランザクション（Ｔｘ）は、標準的に、例えばトランザクションのハッシュ値、ビットコインプロトコルのバージョン番号、インプット数、アウトプット数、トランザクションのサイズ、等を含むトランザクションの簡単な説明を含む。
【００４７】
「インプット（Input）」フィールド（「In」）は、ビットコインが受信される前のトランザクション（「prev_out」）への参照を含む。また、「アウトプット（Output）」フィールド（「Out」）は、エンティティにより使用される公開アドレス又はビットコインアドレスへ送信されるべきビットコイン数（「値（value）」）、及びビットコインの送信されるべき公開アドレス又はビットコインアドレス（「scriptPubKey」に含まれる）を含む。表１に示す例では、前のトランザクション「０４３７cd７f８５２５ceed２３２４３５９c２d０ba２６００６d９２d８５６a９c２０fa０２４１１０６ee５a５９７c９」から受信したビットコインは、２つの公開アドレスへ送信される。
【００４８】
上述のトランザクションは、通貨処理端末１０７へ転送される。通貨処理端末１０７は、ビットコインプロトコルでは「マイナー」としても参照されることがある。通貨処理端末１０７は、過去に起こった特定数のトランザクション（つまり、ブロック）をグループ化し、プルーフオブワーク（proof  of  work）メカニズムを用いてこれらのトランザクションを検証する。
【００４９】
ブロックが検証されると、検証されたブロックは、前に検証された他のブロックと結合される。これらのブロックは、ビットコイン又はイーサリアムプロトコルにおいて「ブロックチェーン」として参照されるピアツーピア分散台帳１０９を構成する。ブロックチェーン１０９のコピーは、通貨処理端末１０７に格納され、公衆によりアクセス可能である。ビットコインシステムのブロックチェーンに記録されるトランザクションは、例えばｈｔｔｐｓ：／／ｂｌｏｃｋｃｈａｉｎ．ｉｎｆｏにおいて見付けることができる。
【００５０】
ビットコインプロトコルに関連して知られているように、アドレスは暗号公開鍵のハッシュされたバージョンである。公開鍵は、公開／秘密鍵ペアの部分を形成する。したがって、全てのアドレスは、エンティティ（人間に、論理的、仮想的、又はコンピュータに基づくエンティティ）により所有される又はそれに関連付けられる秘密鍵にリンクされる。
【００５１】
留意すべきことに、ブロックチェーンの使用されるビットコインプロトコルに従い動作する暗号通貨システム１００において、ビットコインを受信するエンティティ１０５−１〜１０５−７は、エンティティ１０３からビットコインを受信するために、複数の公開アドレス又はビットコインアドレスを有して良い。他方で、エンティティ１０３は、エンティティ１０５−１〜１０５−７からビットコインを受信するために、複数の公開アドレス又はビットコインアドレスを有して良い。したがって、特定の分類に関連付けられたトランザクションを識別することは困難である。例えば、ブロックチェーンにアクセスすることにより、特定のエンティティに関連付けられたトランザクションを識別することは困難である。さらに、特定の会計種類（例えば、借り方会計、貸し方会計、等）に関連付けられたトランザクションを識別することも困難である。この結果、オフブロック目的でブロックチェーンに格納されたデータを使用する際に困難を生じる。例えば、組織がブロックチェーンにより実施される技術により提供される利益を役立てるために、通貨転送目的でブロックチェーンプラットフォームを利用したい場合、彼らは、更なる記憶及び／又は処理のために、関連データを、ブロックチェーンから、サーバ上のデータベースのような内部システムへインポートする必要がある場合がある。上述のように関連するブロックチェーントランザクション（Ｔｘ）を識別する際の問題により、このデータ抽出処理は難しい技術的タスクになる。例えば、ブロックチェーン１０９に記録されているトランザクション上で、例えば会計、通信、処理、又は報告のためにデータを使用することは困難になる。
【００５２】
本例では、簡単のために、私達は、会計報告のために本発明の実施形態を使用することを議論する。会計報告は、ブロックチェーンに記録されているトランザクション上で報告するために、本開示において使用される。会計報告は、１又は複数の会計項目を含む。会計項目は、異なる形式を取り得る。基本的に、会計項目は、回答されるべき質問を表す。例えば、会計項目は、「何個のトランザクションがエンティティ１０５−１と行われたか？」という質問を表して良い。この質問に対する回答は、エンティティ１０５−１とのトランザクション数を表す値である。
【００５３】
会計報告に含まれるべき会計項目は、選択するために、エンティティに関連付けられたユーザのためにユーザインタフェース上に提示されて良い。例えば、会計項目は、ユーザの使用しているコンピュータのコンピュータ画面上に提示される。ユーザは、コンピュータに関連付けられた入力装置（例えば、キーボード、ポインティングデバイス、又はタッチスクリーン）を用いて、会計報告に含まれるべき会計項目のうちの１又は複数を選択する。会計項目がユーザにより選択されると、これらの会計項目は、通信ネットワーク１０１を介して会計サーバ１１１へ送信される。続いて、以下に記載される方法が、会計サーバ１１１上で実行され、会計項目のうちの選択された１又は複数に対応する値を計算する。
【００５４】
会計サーバ１１１は、さらに、会計項目のうちの選択された１又は複数及び対応する値を電子ファイルに組み込むことにより、会計報告を生成する。部分的に、会計報告は、会計項目のうちの選択された１又は複数及び対応する値を含む電子集計表であり得る。生成された会計報告は、記憶装置に格納され、又はユーザの使用しているコンピュータ若しくは事前にユーザの指定した別のコンピュータへ送信されて良い。
【００５５】
エンティティ１０３に関連付けられたユーザにより選択され得る例示的な会計項目は、表２に示される。これらの会計項目は、エンティティ１０３がトランザクションを行うエンティティ１０５−１（「Ducks  Myth  Electronics」）に関連する会計項目１〜５を含む。
【００５６】
［表２］例示的な会計項目
【００５７】
【表２】
2019508950.tif 000004
図２は、本開示による、エンティティとのトランザクションの効率的決定のためのコンピュータにより実施される方法２００を示す。トランザクションは、暗号通貨システム１００により行われ、ブロックチェーン１０９に記録される。
【００５８】
本例では、方法２００は、エンティティ１０３に関連付けられるトランザクション上で会計するために会計サーバ１１１で実施される。
【００５９】
具体的に、方法２００は、第１分類種類に基づき公開アドレスを分類するために、エンティティ１０５−１〜１０５−７の公開アドレスを、第１分類種類の１又は複数の識別子に関連付ける２１０。
【００６０】
第１分類種類は、特定の方法で公開アドレスの分類を表す。本例の第１分類種類は、エンティティ１０３、１０５−１〜１０５−７の識別情報により公開アドレスの分類を表す。したがって、第１分類種類の１又は複数の識別子は、エンティティ１０３、１０５−１〜１０５−７の固有の識別子を示す。本開示のエンティティの識別情報は、エンティティの名称、又はエンティティの名称から変換された名称の１６進コードにより表されて良い。図１に示すように、例えば、エンティティ１０３の名称は「アリス（Alice）」であり、エンティティ１０５−１の名称は「Ducks  Myth  Electronics」である。他の例では、エンティティの識別情報は、ＡＢＮ（Australian  Business  Number）、ＡＣＮ（Australian  Company  Number）、又は「ABC１４１１４８００３８９」のような内部の英数字クライアント識別子によっても表すことができる。
【００６１】
他の例では、公開アドレスは、異なる方法で分類されて良い。例えば、公開アドレスは、エンティティの会計種類により分類できる。したがって、第１分類種類の１又は複数の識別子は、以下の会計：貸し方会計、借り方会計、受取会計、支払会計、給与会計、及び利息会計のうちの任意の１又は複数を含む、公開アドレスに関連付けられた特定の会計種類を示す。本開示の範囲から逸脱することなく、識別子は他の種類の会計を示して良い。
【００６２】
一例として、エンティティ１０３は、エンティティ１０５−１とトランザクションを行い、エンティティ１０５−１の名称は「Ducks  Myth  Electronics」である。方法２００は、エンティティ１０５−１の名称をこのトランザクションに関連付ける。
【００６３】
関連付けが確立されると、方法２００は、トランザクション上で会計するために関連付けを使用する。例えば、エンティティ１０３に関連付けられたユーザは、彼又は彼女のコンピュータに関連付けられた入力装置を用いて、第１識別子（例えば「Ducks  Myth  Electronics」）に関連付けられた会計項目１（例えば「エンティティ１０５−１とのトランザクションの数」）を選択する。選択された会計項目１は、通信ネットワーク１０１を介して会計サーバ１１１へ送信される。
【００６４】
会計サーバ１１１で、方法２００は通信ネットワーク１０１から第１識別子（「Ducks  Myth  Electronics」）を受信する２２０。特に、方法２００は、通信ネットワーク１０１から、第１識別子（「Ducks  Myth  Electronics」）に関連付けられた会計項目１を受信する。
【００６５】
方法２００は、ステップ２１０で確立された関連付けから、第１識別子（「Ducks  Myth  Electronics」）に関連付けられた第１公開アドレスセットを決定する２３０。ここで、第１公開アドレスセットは公開アドレスのサブセットである。具体的に、方法２００は、第１識別子（「Ducks  Myth  Electronics」）に関連付けられた第１公開アドレスセットを決定するために、第１識別子（「Ducks  Myth  Electronics」）により関連付けを検索する。結果として、「Ducks  Myth  Electronics」により使用される第１公開アドレスセットが決定される。
【００６６】
方法２００は、第１識別子（「Ducks  Myth  Electronics」）に関連付けられた第１公開アドレスセットに基づき、ピアツーピア分散台帳１０９（特に、本例ではブロックチェーン１０９）内の第１トランザクションセットを更に決定する２４０。ここで、第１トランザクションセットは、ブロックチェーン１０９に記録されたトランザクションのサブセットである。例えば、方法２００は、通貨処理端末１０７からブロックチェーン１０９をダウンロードし、「Ducks  Myth  Electronics」により使用される第１公開アドレスセットのうちの任意の１つの公開アドレスを有するトランザクションについてブロックチェーン１０９を検索する。結果として、「Ducks  Myth  Electronics」により行われる全てのトランザクションが決定される。
【００６７】
会計項目１（「エンティティ１０５−１とのトランザクションの数」）及び上述の決定された第１トランザクションセットに基づき、方法２００は第１会計報告を生成する。例えば、方法２００は、第１トランザクションセットの中のトランザクションの数を計数することにより、エンティティ１０５−１（「Ducks  Myth  Electronics」）とのトランザクションの数を示す対応する値を決定する。さらに、方法２００は、会計項目１（「エンティティ１０５−１とのトランザクションの数」）及びそれらの対応する値を含む電子集計表を作成することにより、第１会計報告を生成する。
【００６８】
ユーザは、複数の会計項目を選択して良い。この場合、方法２００は、ステップ２１０〜２４０を繰り返し、これらの会計項目及び対応する値を含む会計報告を生成する。例示的な会計報告は以下の表３に示される。
【００６９】
［表３］例示的な会計報告
【００７０】
【表３】
2019508950.tif 000005
以上から分かるように、異なる会計項目に基づき、方法２００は、貸借対照表、損益計算書、棚卸し報告書、受け渡し報告書、カスタムレポート、課金及び支払報告書を含む会計目的の異なる会計報告、並びに、本開示の範囲から逸脱することなく会計目的以外の目的の他の報告書を生成できる。例示的な貸借対照表、及び例示的な損益計算書は、それぞれ表４及び表５に示される。
【００７１】
［表４］例示的な貸借対照表
【００７２】
【表４】
2019508950.tif 000006
［表５］例示的な損益計算書
【００７３】
【表５】
2019508950.tif 000007
図３Ａは、本開示による、エンティティの公開アドレスを分類種類の識別子に関連付ける一例を示す。
【００７４】
図３Ａに示す例では、ルックアップテーブル３１０は、エンティティの公開アドレスを分類種類の識別子に関連付けるために使用される。ルックアップテーブル３１０の各エントリは、２つのフィールド、つまり「公開アドレス」フィールド３１１及び「クライアントＩＤ」フィールド３１３を含む。エントリの「公開アドレス」フィールド３１１の値は、トランザクションで使用される特定の公開アドレスを示す。エントリの「クライアントＩＤ」フィールド３１３の値は、公開アドレスに関連付けられたエンティティの固有識別情報を示す。留意すべきことに、別の例では、「クライアントＩＤ」フィールド３１３は、公開アドレスに関連付けられた会計種類により公開アドレスを分類するために、異なる分類種類、例えば会計種類により置き換えられて良い。
【００７５】
エンティティ１０３に関連するトランザクションは、ルックアップテーブル３１０に格納されていない公開アドレスを用いるエンティティにより生じ、方法２００はエントリをルックアップテーブル３１０に追加する。例えば、支払が、エンティティ１０３から、ルックアップテーブル３１０に格納されていないエンティティ１０５−１（「Ducks  Myth  Electronics」）により使用される公開アドレスへ行われ、方法２００は、ルックアップテーブル３１０の第１エントリ及び第３エントリに示されるように、ルックアップテーブル３１０にエントリを追加し、エンティティ１０５−１（「Ducks  Myth  Electronics」）により使用される公開アドレスに関連付けて、ルックアップテーブル３１０のエントリにエンティティ１０５−１（「Ducks  Myth  Electronics」）の識別子を格納する。結果として、ルックアップテーブル３１０の各エントリは、特定の分類種類の識別子のうちの１つと公開アドレスのうちの１つとを、それらをエントリに含めることにより、関連付ける。
【００７６】
エンティティ１０５−１（「Ducks  Myth  Electronics」）と関連付けられた会計項目がユーザにより選択され、該会計項目が通信ネットワーク１０１を介して会計サーバ１１１へ送信される場合、方法２００は、「Ducks  Myth  Electronics」（つまりエンティティ１０５−１）により使用される第１公開アドレスセットを決定するために、「クライアントＩＤ」フィールド３１３内に「Ducks  Myth  Electronics」を有するエントリについてルックアップテーブル３１０を検索する。本例では、本例で決定された第１公開アドレスセットは、ルックアップテーブル３１０の第１エントリ及び第３エントリに含まれる公開アドレスを含む。
【００７７】
さらに、方法２００は、ステップ２４０を参照して上述したように、エンティティ１０５−１（「Ducks  Myth  Electronics」）に関連付けられた第１公開アドレスセットに基づき、ピアツーピア分散台帳１０９（特に、ブロックチェーン１０９）内の第１トランザクションセットを決定する。したがって、「Ducks  Myth  Electronics」により行われる全てのトランザクションが決定される。方法２００は、さらに、上述のように、第１トランザクションセットに基づき、第１会計報告を生成して良い。第１会計報告は、会計サーバ１１１から、ユーザの使用しているコンピュータ又は事前にユーザの指定したコンピュータへ送信され、ユーザ又は第三者の閲覧のためにコンピュータの画面に表示される。
【００７８】
別の例では、ユーザは、第１分類種類の第２識別子（「iVision  Pty  Ltd」、つまりエンティティ１０５−３）に関連付けられた第２会計項目（例えば「エンティティ１０５−３とのトランザクションの数」）を更に選択する。ユーザは、第２会計項目を、通信ネットワーク１０１を介して会計サーバ１１１へ送信する。
【００７９】
方法２００は、通信ネットワーク１０１から、第２識別子（「iVision  Pty  Ltd」）に関連付けられた第２会計項目を受信する。方法２００は、第２識別子（「iVision  Pty  Ltd」）に関連付けられた第２公開アドレスセットを更に決定する。ここで、第２公開アドレスセットは、公開アドレスのサブセットである。特に、方法２００は、「iVision  Pty  Ltd」（つまりエンティティ１０５−３）により使用される第２公開アドレスセットを決定するために、「クライアントＩＤ」フィールド３１３内に「iVision  Pty  Ltd」を有するエントリについて、ルックアップテーブル３１０を検索する。本例で決定された第２公開アドレスセットは、ルックアップテーブル３１０の第２エントリに含まれる公開アドレスを含む。
【００８０】
方法２００は、次に、第２識別子（「iVision  Pty  Ltd」）に関連付けられた第２公開アドレスセットに基づき、ブロックチェーン１０９内の第２トランザクションセットを決定する。ここで、第２トランザクションセットは、ブロックチェーン１０９内のトランザクションのサブセットである。
【００８１】
方法２００は、さらに、上述のように、第２会計項目及び第２トランザクションセットに基づき、第２会計報告を生成する。
【００８２】
方法２００は、さらに、上記の生成された第１会計報告に対して第１ハッシュ演算を実行して、第１会計報告のための第１報告ハッシュ表現を生成し、並びに、第２会計報告に対して第２ハッシュ演算を実行して、第２会計報告の第２報告ハッシュ表現を生成する。方法２００は、第１報告ハッシュ表現及び第２報告ハッシュ表現を結合する。方法は、さらに、結合した第１報告ハッシュ表現及び第２報告ハッシュ表現に対して第３ハッシュ演算を実行して、結合した第１報告ハッシュ表現及び第２報告ハッシュ表現の第３ハッシュ表現を生成する。このように、第１報告ハッシュ表現及び第２報告ハッシュ表現は、単一のハッシュ表現に統合される。
【００８３】
別の例では、方法２００は、第１会計報告及び第２会計報告を結合し、結合した第１会計報告及び第２会計報告に対してハッシュ演算を実行して、結合した第１会計報告及び第２会計報告のハッシュ表現を生成する。
【００８４】
ルックアップテーブル３１０は、２つの分類種類によりエンティティの公開アドレスを分類するために、追加フィールド（以後、第２分類種類として参照される）を含んで良い。このように、エンティティに関連付けられた公開アドレスは、エンティティの識別情報及び公開アドレスに関連付けられた会計種類の両方により分類される。さらに、本開示の範囲から逸脱することなく、公開アドレスは、更に多くの分類種類により分類されて良い。
【００８５】
図３Ｂは、本開示による、エンティティの公開アドレスを１より多くの分類種類の識別子に関連付ける一例を示す。
【００８６】
図３Ｂに示す例では、ルックアップテーブル３２０の各エントリは、公開アドレスに関連付けられた会計種類に基づき公開アドレスを更に分類するために、「公開アドレス」フィールド３１１及び「クライアントＩＤ」フィールド３１３（つまり上述の第１分類種類）に加えて、更なる「会計種類」フィールド３１５（つまり第２分類種類）を含む。会計種類の識別子は、貸し方会計、借り方会計、受取会計、支払会計、給与会計、及び利息会計のうちの１又は複数を含む特定会計種類を表す。本開示の範囲から逸脱することなく、識別子は他の種類の会計を示して良い。
【００８７】
この場合、支払が、エンティティ１０３から、エンティティ１０５−１（「Ducks  Myth  Electronics」）により使用される公開アドレスへと行われる場合、図３Ａを参照して上述したように、エンティティ１０５−１（「Ducks  Myth  Electronics」）により使用される公開アドレスに関連付けられたルックアップテーブル３２０の新しいエントリに、エンティティ１０５−１（「Ducks  Myth  Electronics」）の識別情報である識別子を格納することに加えて、方法２００は、さらに、会計種類により公開アドレスを分類するために、公開アドレスを、公開アドレスに関連付けられた特定会計種類に関連付ける。ルックアップテーブル３２０の第１エントリに示すように、第１エントリの中の公開アドレスは「借り方会計」に更に関連付けられ、第３エントリの中の公開アドレスは「貸し方会計」に更に関連付けられる。
【００８８】
ユーザは、第１分類種類（つまり、エンティティの識別情報）の第１識別子（「Ducks  Myth  Electronics」、つまりエンティティ１０５−１）及び第２分類種類（つまり、公開アドレスに関連付けられた会計種類）の第３識別子（「貸し方会計」）に関連付けられた第３会計項目（例えば、「エンティティ１０５−１との貸し方会計でのトランザクションの数」）を選択する。ユーザは、第３会計項目を、通信ネットワーク１０１を介して会計サーバ１１１へ送信する。
【００８９】
方法２００は、通信ネットワーク１０１から、第１分類種類の第１識別子（「Ducks  Myth  Electronics」）及び第２分類種類の第３識別子（「貸し方会計」）に関連付けられた第３会計項目を受信する。方法２００は、第３識別子（「貸し方会計」）及び第１識別子（「Ducks  Myth  Electronics」）に関連付けられた第３公開アドレスセットを更に決定する。ここで、第３公開アドレスセットは、公開アドレスのサブセットである。図３Ｂに示す例では、方法２００は、貸し方会計において「Ducks  Myth  Electronics」（つまり、エンティティ１０５−１）により使用される第３公開アドレスセットを決定するために、「クライアントＩＤ」フィールド３１３の中に「Ducks  Myth  Electronics」、及び「会計種類」フィールド３１５の中に「貸し方会計」の両方を有するエントリについてルックアップテーブル３２０を検索する。図３Ｂに示すように、本例で決定された第３公開アドレスセットは、ルックアップテーブル３２０の第３エントリに含まれる公開アドレスだけを含む。
【００９０】
方法２００は、更に、第３公開アドレスセットに基づき、ピアツーピア分散台帳１０９（特に、ブロックチェーン１０９）の中の第３トランザクションセットを決定する。ここで、第３トランザクションセットは、トランザクションのサブセットである。方法２００は、さらに、第３トランザクションセットに基づき更なる会計報告を生成し、上述のように更なる会計報告を記憶装置に格納して良い。
【００９１】
留意すべきことに、ルックアップテーブル３１０又は３２０に示されるエントリは、エンティティ１０３に関連して行われるトランザクションの部分を表して良く、ルックアップテーブル３１０又は３２０は他の例ではより多くのエントリを含んで良い。
【００９２】
本開示による、エンティティの公開アドレスを分類種類の識別子に関連付ける一例を以下に記載する。
【００９３】
本例では、支払が、エンティティ１０３から、エンティティ１０５−１（「Ducks  Myth  Electronics」）により使用される公開アドレスに行われる場合、方法２００は、エンティティ１０５−１により使用される公開アドレスを、トランザクション自体の中でエンティティ１０５−１の識別情報である識別子（「Ducks  Myth  Electronics」）に関連付ける。例えば、方法２００は、トランザクション内のスクリプトを使用して、エンティティ１０５−１により使用される公開アドレスを、ブロックチェーン１０９の中のエンティティ１０５−１の識別情報である識別子（「Ducks  Myth  Electronics」）に関連付ける。
【００９４】
この場合、エンティティ１０５−１（「Ducks  Myth  Electronics」）に関連付けられた会計項目がユーザにより選択され、該会計項目が通信ネットワーク１０１を介して会計サーバ１１１へ送信される場合、方法２００は、「Ducks  Myth  Electronics」により行われるブロックチェーン１０９内のトランザクションを決定するために、「Ducks  Myth  Electronics」により使用される公開アドレスに一致するトランザクションについて、ブロックチェーン１０９を検索する。方法２００は、更に、上述の決定されたトランザクションに基づき会計報告を生成して良い。方法２００は、更に、記憶装置に会計報告を格納して良い。
【００９５】
図４Ａ及び４Ｂは、木構造に構成されたエンティティネットワークへの本開示の例示的適用を示す。
【００９６】
図４Ａに示される例示的な適用では、エンティティネットワーク４００は、木構造に構成される複数のエンティティ４０１〜４１３を含む。エンティティネットワーク４００は、伝統的に木構造に構造化された小売店ネットワークを表すために図４Ａに示されるが、エンティティネットワーク４００は、本開示の範囲から逸脱することなく、他のエンティティネットワークを表して良い。
【００９７】
図４Ａに示す木構造に構成されたチェックアウト端末４０７〜４１３に関連付けられた公開アドレスを分類するために、図４Ｂのルックアップテーブル４２０内の「決定キー」フィールド４１３として示される、「決定キー」と称される分類種類が本例において導入される。したがって、この分類種類の識別子は、木構造によりリンクされたエンティティ４０１〜４１３の各々に関連付けられた特定決定キーを表す。
【００９８】
図４Ａに示すように、小売店ネットワーク４００の中のストア及びチェックアウト端末４０１〜４１３は、木構造に構成される。具体的に、エンティティ又はストア４０１は、木の最上部にあり、２つの子エンティティ又はストア４０３及び４０５を有する。子エンティティ又はストア４０３は、ストア４０３にインストールされた又はストア４０３に関連付けられたチェックアウト端末である子エンティティ４０７及び４０９の親エンティティでもある。同様に、子エンティティ又はストア４０５は、ストア４０５にインストールされた又はストア４０５に関連付けられたチェックアウト端末である子エンティティ４１１及び４１３の親エンティティでもある。ストア４０１〜４０５の各々は、関連する小売商指示（merchant  indication：ＭＩＤ）（例えば、ストアの名称）を有し、各チェックアウト端末４０７〜４１３は、関連する端末指示（terminal  indication：ＴＩＤ）（例えば、チェックアウト端末に割り当てられた製造者識別番号）を有する。トランザクションは、チェックアウト端末４０７〜４１３において、チェックアウト端末４０７〜４１３に関連付けられた公開アドレスを用いて行われる。
【００９９】
エンティティ４０１〜４１３に関連付けられた決定キーは、決定キーがエンティティ４０１〜４１３に決定論的にマッピングされるように、決定される。具体的に、ルートエンティティ又はストア４０１に関連付けられた決定キーは、ルートエンティティ又はストア４０１に関連付けられたＭＩＤに基づく。例えば、ルートエンティティ又はストア４０１に関連付けられた決定キーは、ルートエンティティ４０１に関連付けられたＭＩＤに基づき暗号関数セットを実行することにより、決定され得る。ルートエンティティ４０１に関連付けられたＭＩＤ（「ＭＩＤ４０１」）に基づく暗号ハッシュアルゴリズムＳＨＡ−２５６を用いることにより、ルートエンティティ４０１に関連付けられた生成器値（ＧＶ４０１）を生成する一例が以下に示される。
【０１００】
ＧＶ４０１＝ＳＨＡ−２５６（ＭＩＤ４０１）    （式-１）
子エンティティ又はストア４０３及び４０５について、子エンティティ又はストア４０３及び４０５の各々に関連付けられた決定キー（例えば、ストア４０３では「ＧＶ４０３」、又はストア４０５では「ＧＶ４０５」）は、親エンティティ４０１（本例では、ルートエンティティ４０１）に関連付けられた決定キー（つまり「ＧＶ４０１」）及びそれ自身のＭＩＤ（例えば、ストア４０３では「ＭＩＤ４０３」、又はストア４０５では「ＭＩＤ４０５」）に基づき決定される。例えば。
【０１０１】
ＧＶ４０３＝ＳＨＡ−２５６（ＧＶ４０１＋ＭＩＤ４０３）    （式２）
ＧＶ４０５＝ＳＨＡ−２５６（ＧＶ４０１＋ＭＩＤ４０５）    （式３）
チェックアウト端末４０７及び４０９について、チェックアウト端末４０７及び４０９の各々に関連付けられた決定キー（例えば、チェックアウト端末４０７では「ＧＶ４０７」又はチェックアウト端末４０９では「ＧＶ４０９」）は、その親エンティティ４０３に関連付けられた決定キー（つまり「ＧＶ４０３」）及びそれ自身のＴＩＤ（例えば、チェックアウト端末４０７では「ＴＩＤ４０７」又はチェックアウト端末４０９では「ＴＩＤ４０９」）に基づき決定される。同様に、チェックアウト端末４１１及び４１３について、チェックアウト端末４１１及び４１３の各々に関連付けられた決定キー（例えば、チェックアウト端末４１１では「ＧＶ４１１」又はチェックアウト端末４１３では「ＧＶ４１３」）は、その親エンティティ４０５に関連付けられた決定キー（つまり「ＧＶ４０５」）及びそれ自身のＴＩＤ（例えば、チェックアウト端末４１１では「ＴＩＤ４１１」又はチェックアウト端末４１３では「ＴＩＤ４１３」）に基づき決定される。例えば、
ＧＶ４０７＝ＳＨＡ−２５６（ＧＶ４０３＋ＴＩＤ４０７）    （式４）
ＧＶ４０９＝ＳＨＡ−２５６（ＧＶ４０３＋ＴＩＤ４０９）    （式５）
ＧＶ４１１＝ＳＨＡ−２５６（ＧＶ４０５＋ＴＩＤ４１１）    （式６）
ＧＶ４１３＝ＳＨＡ−２５６（ＧＶ４０５＋ＴＩＤ４１３）    （式７）
さらに、これらの決定キーは、ストア４０１〜４０５及びチェックアウト端末４０７〜４１３により使用されるそれぞれの公開アドレスを導出するために使用される。例えば。
【０１０２】
公開アドレス＝Ｆ（決定キー）    （式８）
ここで、Ｆ（）は、決定キーに基づき公開アドレスを生成する関数である。
【０１０３】
チェックアウト端末（例えば、チェックアウト端末４０７）に関連するトランザクションが生じ、方法２００は、ルックアップテーブル４２０にエントリを追加して良い。例えば、支払が、顧客から、チェックアウト４０７に関連付けられた決定キーから導出されるチェックアウト端末４０７により使用される公開アドレスへ、行われる。チェックアウト端末４０７により使用される公開アドレスがルックアップテーブル４２０に格納されていない場合、ルックアップテーブル４２０の第１エントリ及び第３エントリに示されるように、方法２００は、新しいエントリをルックアップテーブル４２０に追加し、チェックアウト端末４０７に関連付けられた決定キー（つまり「ＧＶ４０７」）を、ルックアップテーブル４２０の新しいエントリに、チェックアウト端末４０７により使用される公開アドレスに関連付けて、格納する。他の例では、チェックアウト端末４０７に関連付けられた決定キーは、トランザクションが生じる前に、ルックアップテーブル４２０のエントリに既に格納されている。この場合、方法２００は、公開アドレスを決定キーに関連付けるために、チェックアウト端末４０７により使用される公開アドレスを、決定キーの格納されたエントリに格納する。結果として、ルックアップテーブル４２０の各エントリは、チェックアウト端末４０７〜４１３のうちの１つに関連付けられた決定キー及びチェックアウト端末４０７〜４１３のうちの１つにより使用される公開アドレスのうちの１つを含む。
【０１０４】
営業日の終わりに、ストア４０３のストアマネジャは、ストア４０３の会計報告を得たいと望む場合がある。ストアマネジャは、例えばストア４０３に関連付けられたＭＩＤを入力することにより、ストア４０３に関連付けられた会計項目（例えば、「ストア４０３とのトランザクションの数」）を選択する。本例では、ストア４０３に関連付けられた会計項目及びＭＩＤは、通信ネットワーク１０１を介して会計サーバ１１１へ送信される。
【０１０５】
方法２００は、通信ネットワーク１０１から、ストア４０３に関連付けられたＭＩＤ及び会計項目を受信する。方法２００は、ストア４０３がルートストアである場合、ストア４０３に関連付けられた第１決定キー及びストア４０３に関連付けられたＭＩＤを決定する。ストア４０３がルートストアではない場合、第１決定キーは、親ストア４０１に関連付けられた決定キー及びストア４０３に関連付けられたＭＩＤに基づき決定されて良い。方法２００は、更に、第１決定キー及びチェックアウト端末４０７及び４０９のそれぞれのＴＩＤに基づき、ストア４０３の子エンティティ又はチェックアウト端末４０７及び４０９に関連付けられた決定キー（例えば「ＧＶ４０７」、「ＧＶ４０９」）を決定する。
【０１０６】
「決定キー」フィールド４１３の中にチェックアウト端末４０７及び４０９に関連付けられた決定キー「ＧＶ４０７」及び「ＧＶ４０９」のうちのいずれか１つを有するエントリについて、ルックアップテーブル４２０を検索することにより、方法２００は、決定キー「ＧＶ４０７」及び「ＧＶ４０９」に関連付けられた第４公開アドレスセットを決定する。ここで、第４公開アドレスセットは、公開アドレスのサブセットである。図４Ｂに示すように、上述の決定された第４公開アドレスセットは、ルックアップテーブル４２０の最初の３個のエントリの「公開アドレス」フィールド４１１に含まれる公開アドレスを含む。
【０１０７】
方法２００は、更に、上述の第４公開アドレスセットに基づき、ブロックチェーン１０９内の第４トランザクションセットを決定する。ここで、第４トランザクションセットは、トランザクションのサブセットである。方法２００は、更に、上述のように、第４トランザクションセットに基づき、第３会計報告を生成する。方法２００は、更に、記憶装置に会計報告を格納して良い。
【０１０８】
ストア４０１〜４０５及びチェックアウト端末４０７〜４１３により使用される公開アドレスは、それら個々の決定キーから導出されるので、方法２００は、チェックアウト端末４０７〜４１３に関連付けられた決定キーを（式８）に適用することにより、ルックアップテーブル４２０を検索することなく、第４公開アドレスセットを決定できる。
【０１０９】
留意すべきことに、本開示では、公開アドレスは、非対称暗号対の公開鍵を有し、非対称暗号対の各々は、公開鍵のうちの１つ及び公開鍵のうちの１つに対応する秘密鍵を有する。非対称暗号対の各々は、楕円曲線暗号（Elliptic  Curve  Cryptography：ＥＣＣ）アルゴリズムに基づき生成されて良い。
【０１１０】
さらに、ビットコインシステムでは、公開アドレスは、ビットコインプロトコルで使用されるエンティティのビットコインアドレスである。
【０１１１】
図５は、記載の方法を実施するために使用されるコンピュータシステム５００の例示的な概略図を示す。コンピュータシステム５００は、会計サーバ１１１の一例であり得る。
【０１１２】
コンピュータシステム５００は、プロセッサ５１０、メモリ装置５２０、バス５３０、及び通信インタフェース５４０を含む。プロセッサ５１０、メモリ装置５２０、及び通信インタフェース５４０は、互いに通信するためにバス５３０により接続される。コンピュータシステム５００の通信インタフェース５４０は、図１に示すように、コンピュータシステム５００を通信ネットワーク１０１に接続するために使用される。通信インタフェース５４０は、インターネットインタフェース、ＷＬＡＮインタフェース、セルラ電信電話ネットワークインタフェース、公衆交換電話ネットワーク（Public  Switch  Telephone  Network：ＰＳＴＮ）インタフェース、及び光通信ネットワークインタフェース、又は任意の他の適切な通信インタフェースであって良い。
【０１１３】
プロセッサ５１０は、メモリ５２０に格納された機械実行可能命令を実行して、図１〜図４Ｂを参照して上述した例示的な方法を実施する。機械実行可能命令は、コンピュータソフトウェアプログラムに含まれる。コンピュータソフトウェアプログラムは、本例ではメモリ装置５２０内に存在する。他の例では、コンピュータソフトウェアプログラムは、コンピュータシステム５００の部分ではないコンピュータ可読媒体に格納され、コンピュータ可読媒体からメモリ装置５２０に読み込まれる。具体的に、プロセッサ５１０は、
第１分類種類に基づき公開アドレスを分類するために、エンティティの公開アドレスを第１分類種類の１又は複数の識別子に関連付け、
通信ネットワークから、第１分類種類の１又は複数の識別子のうちの第１識別子を受信し、
第１識別子に関連付けられた第１公開アドレスセットを決定し、第１公開アドレスセットは公開アドレスのサブセットであり、
第１識別子に関連付けられた第１公開アドレスセットに基づき、ピアツーピア分散台帳内の第１トランザクションセットを識別する、よう構成される。
【０１１４】
理解されるべきことに、本開示の例示的な方法は、種々の技術を用いて実施され得る。例えば、本願明細書に記載の方法は、適切なコンピュータ可読媒体上に存在する一連の機械実行可能命令により実装されて良い。適切なコンピュータ可読媒体は、揮発性（例えば、ＲＡＭ）及び／又は不揮発性（例えば、ＲＯＭ、ディスク）メモリ、搬送波、及び伝送媒体を含み得る。例示的な搬送波は、ローカルネットワーク又はインターネットのような公衆にアクセス可能なネットワークに沿ってデジタルデータストリームを伝達する電気、電磁気、又は光信号の形式を取って良い。
【０１１５】
理解されるべきことに、特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「決定する」、「取得する」、「受信する」又は「送信する」又は「生成する」等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理（電子）量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
【図１】
2019508950.tif 000008
【図２】
2019508950.tif 000009
【図３Ａ】
2019508950.tif 000010
【図３Ｂ】
2019508950.tif 000011
【図４Ａ】
2019508950.tif 000012
【図４Ｂ】
2019508950.tif 000013
【図５】
2019508950.tif 000014
【国際調査報告】
2019508950.tif 000015
2019508950.tif 000016
2019508950.tif 000017