(57)【要約】      （修正有）【課題】ブロックチェーンのためのリソースの公平性のためのシステム、方法および非一時的コンピュータ可読媒体を提供する。【解決手段】動作の例は、ブロックチェーン・ネットワークによってトランザクションをユーザ・デバイスから受信することと、１つまたは複数の検証ノードから、トランザクションを検証するために入札をブロックチェーン・ネットワーク内のノードにサブミットすることと、１つまたは複数の検証ノードによって、サブミットされた入札に基づいてトランザクション・パラメータを計算することと、１つまたは複数の検証ノードによって、トランザクションを検証することと、ブロックチェーン・ネットワーク内のノードによってトランザクションを実行することと、トランザクションのチャージバックを計算することと、チャージバックを１つまたは複数の検証ノードのうちの少なくとも１つに配信することとのうちの１つまたは複数を含む。【選択図】図１
2019160316.tif 000002
【特許請求の範囲】
【請求項１】
トランザクションをサブミットするように構成されたユーザ・デバイスと、
複数のノードのうちの１つまたは複数の検証ノードを含んでいる、前記ユーザ・デバイスに接続されたブロックチェーン・ネットワークであって、前記トランザクションの受信に応答して、
前記１つまたは複数の検証ノードから、前記トランザクションを検証するために入札をサブミットすることと、
前記１つまたは複数の検証ノードによって、前記サブミットされた入札に基づいてトランザクション・パラメータを計算することと、
前記１つまたは複数の検証ノードによって、前記トランザクションを検証することと、
前記トランザクションを実行することと、
前記トランザクションのチャージバックを計算することと、
前記チャージバックを前記１つまたは複数の検証ノードのうちの少なくとも１つに配信することとを実行するように構成されている、前記ブロックチェーン・ネットワークとを備えている、システム。
【請求項２】
前記ブロックチェーン・ネットワークが許可型ブロックチェーン・ネットワークである、請求項１に記載のシステム。
【請求項３】
前記ブロックチェーン・ネットワークが、前記トランザクション・パラメータに基づいて、前記ユーザ・デバイスに対してトランザクション料金を請求する、請求項２に記載のシステム。
【請求項４】
前記トランザクション料金が、サブミットされた入札の合計および既定の期間内に前記ブロックチェーン・ネットワークによって検証できるトランザクションの量に基づく、請求項３に記載のシステム。
【請求項５】
前記ブロックチェーン・ネットワークが、前記１つまたは複数の検証ノードごとに前記チャージバックを計算し、特定の検証ノードへの前記チャージバックが、異なる検証ノードのスループットに基づく価格と、前記特定の検証ノードのスループットに基づく価格の組み合わせに基づく、請求項１乃至４のいずれかに記載のシステム。
【請求項６】
前記特定の検証ノードへの前記チャージバックが、前記特定の検証ノードおよび前記異なる検証ノードそれぞれへの部分割り当てにさらに基づき、前記部分割り当てが、前記ブロックチェーン・ネットワーク内のノードの総数に基づく、請求項５に記載のシステム。
【請求項７】
前記異なる検証ノードが、前記特定の検証ノード以外のどの他の検証ノードよりも速く前記トランザクションを検証する前記ブロックチェーン・ネットワークのノードである、請求項５又は６に記載のシステム。
【請求項８】
ブロックチェーン・ネットワークによって、ユーザ・デバイスからトランザクションを受信することと、
１つまたは複数の検証ノードから、前記トランザクションを検証するために入札を前記ブロックチェーン・ネットワーク内のノードにサブミットすることと、
前記１つまたは複数の検証ノードによって、前記サブミットされた入札に基づいてトランザクション・パラメータを計算することと、
前記１つまたは複数の検証ノードによって、前記トランザクションを検証することと、
前記ブロックチェーン・ネットワーク内のノードによって、前記トランザクションを実行することと、
前記トランザクションのチャージバックを計算することと、
前記チャージバックを前記１つまたは複数の検証ノードのうちの少なくとも１つに配信することとを含んでいる、方法。
【請求項９】
前記ブロックチェーン・ネットワークが許可型ブロックチェーン・ネットワークである、請求項８に記載の方法。
【請求項１０】
前記ブロックチェーン・ネットワークが、前記トランザクション・パラメータに基づいて、前記ユーザ・デバイスに対してトランザクション料金を請求する、請求項９に記載の方法。
【請求項１１】
前記トランザクション料金が、サブミットされた入札の合計および既定の期間内に前記ブロックチェーン・ネットワークによって検証できるトランザクションの量に基づく、請求項１０に記載の方法。
【請求項１２】
前記ブロックチェーン・ネットワークが、前記１つまたは複数の検証ノードごとに前記チャージバックを計算し、特定の検証ノードへの前記チャージバックが、異なる検証ノードのスループットに基づく価格と、前記特定の検証ノードのスループットに基づく価格の組み合わせに基づく、請求項８乃至１１のいずれかに記載の方法。
【請求項１３】
前記特定の検証ノードへの前記チャージバックが、前記特定の検証ノードおよび前記異なる検証ノードそれぞれへの部分割り当てにも基づき、前記部分割り当てが、前記ブロックチェーン・ネットワーク内のノードの総数に基づく、請求項１２に記載の方法。
【請求項１４】
前記異なる検証ノードが、前記特定の検証ノード以外のどの他の検証ノードよりも速く前記トランザクションを検証する前記ブロックチェーン・ネットワークのノードである、請求項１２又は１３に記載の方法。
【請求項１５】
命令を含んでいるコンピュータ・プログラムであって、前記命令が、プロセッサによって読み取られたときに、前記プロセッサに、
ブロックチェーン・ネットワークによって、ユーザ・デバイスからトランザクションを受信することと、
１つまたは複数の検証ノードから、前記トランザクションを検証するために入札を前記ブロックチェーン・ネットワーク内のノードにサブミットすることと、
前記１つまたは複数の検証ノードによって、トランザクション・パラメータを計算することと、
前記１つまたは複数の検証ノードによって、前記トランザクションを検証することと、
前記ブロックチェーン・ネットワーク内のノードによって、前記トランザクションを実行することと、
前記トランザクションのチャージバックを計算することと、
前記チャージバックを前記１つまたは複数の検証ノードのうちの少なくとも１つに配信することとを実行させる、コンピュータ・プログラム。
【請求項１６】
前記ブロックチェーン・ネットワークが許可型ブロックチェーン・ネットワークである、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記ブロックチェーン・ネットワークが、前記トランザクション・パラメータに基づいて、前記ユーザ・デバイスに対してトランザクション料金を請求する、請求項１５又は１６に記載のコンピュータ・プログラム。
【請求項１８】
前記トランザクション料金が、サブミットされた入札の合計および既定の期間内に前記ブロックチェーン・ネットワークによって検証できるトランザクションの量に基づく、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記ブロックチェーン・ネットワークが、前記１つまたは複数の検証ノードごとに前記チャージバックを計算し、特定の検証ノードへの前記チャージバックが、異なる検証ノードのスループットに基づく価格と、前記特定の検証ノードのスループットに基づく価格の組み合わせに基づく、請求項１５乃至１８のいずれかに記載のコンピュータ・プログラム。
【請求項２０】
前記特定の検証ノードへの前記チャージバックが、前記特定の検証ノードおよび前記異なる検証ノードそれぞれへの部分割り当てにも基づき、前記部分割り当てが、前記ブロックチェーン・ネットワーク内のノードの総数に基づく、請求項１９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、ブロックチェーン・ネットワークに関連し、より詳細には、ブロックチェーンのためのリソースの公平性（resource equity）に関連する。
【背景技術】
【０００２】
台帳は、一般に、トランザクションが記録される会計簿（account book of entry）として定義される。分散型台帳は、複数のコンピュータに全体的または部分的に複製された台帳である。暗号分散型台帳（ＣＤＬ：Cryptographic Distributed Ledger）は、不可逆性（トランザクションが記録された後に、そのトランザクションを無効にすることができない）、アクセス可能性（いずれかの関係者がＣＤＬに全体的または部分的にアクセスできる）、経時的でタイムスタンプが付けられている（すべての関係者が、トランザクションがいつ台帳に追加されたかを知る）、合意に基づく（トランザクションが、ネットワーク上の関係者によって、通常は全員一致で、承認された場合にのみ追加される）、検証可能性（すべてのトランザクションが暗号によって検証され得る）という特性のうちの少なくとも一部を有することができる。ブロックチェーンは、ＣＤＬの例である。本明細書における説明および図は、ブロックチェーンに関して説明されているが、本出願は任意のＣＤＬに同様に適用される。
【０００３】
分散型台帳は、継続的に増大するレコードのリストであり、通常は、他のブロックに関連する暗号学的ハッシュを格納することなどの、暗号手法を適用する。ブロックチェーンは、分散型台帳の１つの一般的例であり、情報を格納するためのパブリックな台帳として使用されてよい。ブロックチェーンは、主に金融トランザクションに使用されるが、商品およびサービスに関連するさまざまな情報（すなわち、製品、パッケージ、状態など）を格納することができる。非集中的方式は、権限および信用を非集中的ネットワークに提供し、そのノードが継続的かつ連続的にトランザクションをパブリックな「ブロック」に記録できるようにし、ブロックチェーンと呼ばれる一意の「チェーン」を作成する。暗号は、トランザクション・ソース（transaction source）の認証を保護するためにハッシュ・コードを介して使用され、中央の仲介を取り除く。ブロックチェーンは、ブロックチェーンのブロック内の継続的に増大するレコードのリストを維持する分散データベースであり、変更不可能な特性のため、改ざんおよび改訂から保護される。各ブロックは、タイムスタンプおよび前のブロックへのリンクを含む。ブロックチェーンは、情報の保持、追跡、転送、および検証に使用され得る。ブロックチェーンは分散システムであるため、トランザクションをブロックチェーン台帳に追加する前に、すべてのピアが合意状態に達する必要がある。
【０００４】
従来、プルーフ・オブ・ステーク割り当てモデル（proof of stake（PoS） allocationmodels）は、参加者を不要な危険にさらし、ブロックチェーン・ネットワーク内の最も重要なノードに報酬を与えるのではなく、トークンおよびノードが少数のトークン所有者に集中することを促進する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そのため、特にプライベート・ブロックチェーン・ネットワークまたは許可型（permissioned）ブロックチェーン・ネットワークにおいて、ノードへのより公平なトークンの割り当てが必要である。
【課題を解決するための手段】
【０００６】
１つの実施形態例は、トランザクションをサブミットするように構成された１つまたは複数のユーザ・デバイス、およびブロックチェーン・ネットワークを含んでいるシステムを提供してよい。ブロックチェーン・ネットワークは、複数のノードのうちの１つまたは複数の検証ノードを含み、ユーザ・デバイスに接続される。ブロックチェーン・ネットワークは、トランザクションを受信することに応答して、１つまたは複数の検証ノードから、トランザクションを検証するために入札のサブミット（submit bids）のうちの１つまたは複数を実行することと、１つまたは複数の検証ノードによって、サブミットされた入札に基づいてトランザクション・パラメータを計算することと、１つまたは複数の検証ノードによってトランザクションを検証することと、トランザクションを実行することと、トランザクションのチャージバック（chargeback）を計算することと、チャージバックを１つまたは複数の検証ノードのうちの少なくとも１つに配信することとを実行するように構成される。
【０００７】
別の実施形態例は、ブロックチェーン・ネットワークによってトランザクションをユーザ・デバイスから受信することと、１つまたは複数の検証ノードから、トランザクションを検証するために入札をブロックチェーン・ネットワーク内のノードにサブミットすることと、１つまたは複数の検証ノードによって、サブミットされた入札に基づいてトランザクション・パラメータを計算することと、１つまたは複数の検証ノードによって、トランザクションを検証することと、ブロックチェーン・ネットワーク内のノードによってトランザクションを実行することと、トランザクションのチャージバックを計算することと、チャージバックを１つまたは複数の検証ノードのうちの少なくとも１つに配信することとのうちの１つまたは複数を含む方法を提供してよい。
【０００８】
さらに別の実施形態例は、命令を含んでいるコンピュータ・プログラム、およびそのコンピュータ・プログラムを記憶する記憶媒体を提供してよく、それらの命令は、プロセッサによって読み取られたときに、プロセッサに、ブロックチェーン・ネットワークによってトランザクションをユーザ・デバイスから受信することと、１つまたは複数の検証ノードから、トランザクションを検証するために入札をブロックチェーン・ネットワーク内のノードにサブミットすることと、１つまたは複数の検証ノードによって、トランザクション・パラメータを計算することと、１つまたは複数の検証ノードによって、トランザクションを検証することと、ブロックチェーン・ネットワーク内のノードによってトランザクションを実行することと、トランザクションのチャージバックを計算することと、チャージバックを１つまたは複数の検証ノードのうちの少なくとも１つに配信することとのうちの１つまたは複数を実行させる。
【図面の簡単な説明】
【０００９】
【図１】実施形態例に記載されている、ブロックチェーン・システムのネットワーク図である。
【図２】実施形態例に記載されている、インセンティブ・メカニズム（incentive mechanism）の計算を示す図である。
【図３】実施形態例に記載されている、アセット共有のシナリオに関する、例示的なピア・ノード・ブロックチェーン・アーキテクチャの構成（peer node blockchain architecture configuration）を示す図である。
【図４】実施形態例に記載されている、例示的なピア・ノード・ブロックチェーン構成を示す図である。
【図５】実施形態例に記載されている、許可型ブロックチェーン・ネットワークを示す図である。
【図６】実施形態例に記載されている、トランザクションおよびチャージバックを実行するためのシステム・メッセージ図である。
【図７】実施形態例に記載されている、トランザクションのチャージバックを計算してブロックチェーン内で配信する例示的な方法のフロー図である。
【図８】実施形態例に記載されている、ブロックチェーン内でトランザクション料金に資金を提供する例示的な方法のフロー図である。
【図９】実施形態例に記載されている、本明細書において説明される１つまたは複数の動作に従って、ブロックチェーンに対してさまざまな動作を実行するように構成された例示的な物理的インフラストラクチャを示す図である。
【図１０】実施形態例に記載されている、契約当事者間での例示的なスマート・コントラクトの構成、およびブロックチェーンに対してスマート・コントラクトの条件を実施するように構成された仲介サーバを示す図である。
【図１１】実施形態例のうちの１つまたは複数をサポートするように構成された例示的なコンピュータ・システムを示す図である。
【発明を実施するための形態】
【００１０】
本明細書の図において概略的に説明され、示されているように、本明細書のコンポーネントが、多種多様な異なる構成で配置および設計されてよいということが、容易に理解されるであろう。したがって、添付の図において表された方法、装置、コンピュータ・プログラム、およびシステムのうちの少なくとも１つの実施形態に関する以下の詳細な説明は、請求されている適用の範囲を制限するよう意図されておらず、単に選択された実施形態を代表している。
【００１１】
本明細書全体を通して説明された特徴、構造、または特性は、１つまたは複数の実施形態において、任意の適切な方法で組み合わせられてよい。例えば、語句「実施形態例」、「一部の実施形態」、またはその他の同様の言葉の使用は、本明細書全体を通じて、実施形態に関連して説明された特定の特徴、構造、または特性が少なくとも１つの実施形態に含まれてよいということを指している。したがって、語句「実施形態例」、「一部の実施形態において」、「その他の実施形態において」、またはその他の同様の言葉の出現は、本明細書全体を通じて、必ずしもすべてが実施形態の同じグループを指しておらず、説明された特徴、構造、または特性は、１つまたは複数の実施形態において、任意の適切な方法で組み合わせられてよい。
【００１２】
加えて、「メッセージ」という用語が実施形態の説明において使用されていることがあるが、本出願は、パケット、フレーム、データグラムなどの多くの種類のネットワーク・データに適用されてよい。「メッセージ」という用語は、パケット、フレーム、データグラム、および任意のこれらと同等のものも含む。さらに、特定の種類のメッセージおよび信号伝達が実施形態例において示されることがあるが、それらは特定の種類のメッセージに限定されず、本出願は特定の種類の信号伝達に限定されない。
【００１３】
本出願は、一実施形態ではブロックチェーン・ネットワークに関連しており、さらに別の実施形態では、分散型台帳（ブロックチェーンなど）での、公平なリソースに基づくトランザクションの検証を提供することに関連している。
【００１４】
実施形態例は、ブロックチェーンのためのリソースの公平性を実現する方法、デバイス、ネットワーク、またはシステム、あるいはその組み合わせを提供する。ビットコインなどのオープンなパブリック・ブロックチェーン・ネットワークが最初にブロックチェーン技術の使用を世に広めたが、プライベート・ブロックチェーンまたは許可型ブロックチェーンには、ビジネス・ネットワーク内での多くの有望な応用が存在している。ブロックチェーン・ネットワークは、確立された一連の参加者によって維持され、ブロックチェーンの「ノード」を操作してトランザクションを検証する参加者を補償するために、インセンティブ構造が使用される。例えば、一般的に使用される方式の１つは、プルーフ・オブ・ステークである。プルーフ・オブ・ステークでは、デジタル・トークンの供給を保持している関係者は、ブロックチェーン・トランザクションを検証する能力を取得し、それらの関係者の作業の見返りに、追加のトークンが支払われる。問題は、プルーフ・オブ・ステークのような合意アルゴリズムが、価値が変動するトークンの大量の供給を保持するよう参加者に対して要求し、したがって参加者を不要な危険にさらすことである。プルーフ・オブ・ステークを使用して付与される報酬が、実行された作業の量ではなく、保持されているトークンの数に比例するため、プルーフ・オブ・ステークは、分散ネットワークを促進すること、またはビジネス・ネットワーク内の最も重要な関係者に報酬を与えることではなく、トークンおよびノードが少数のトークン所有者に集中することを促進する。
【００１５】
同様に、暗号通貨に基づく信用システム（trust system）と暗号通貨に基づかない信用システムの間には断絶が存在し、それぞれが独自の長所を持っている。許可型ブロックチェーンでは、暗号通貨を導入せずに、公平なモデルに従うことが課題である。本出願は、許可型ブロックチェーン・ネットワーク内のトランザクションを処理するためにインセンティブ・メカニズムを使用して、公平な計算の公平性モデル（equitable compute equity model）に伴うこの課題に対処する。
【００１６】
ブロックチェーン・ネットワークのための検証ノードになることは、非常に高価である可能性があり、多くの場合、特殊なハードウェアの必要性を要求する。暗号化および暗号解読の絶え間ない必要性は、電気で支払わなければならない大量の計算リソースを消費することがある。分散型台帳の性質は、ノード自身がどんなに多くのトランザクションを台帳にサブミットしても、すべてのノードが同じ量の作業を実行しなければならないということを意味している。このことは、ブロックチェーン・ネットワークが実際には極めて少数のノードを含むことがあるという潜在的な欠点を生む。
【００１７】
パブリック・ブロックチェーンでは、このような問題を防ぐために、インセンティブが合意に組み込まれている。ビットコインおよびイーサリアムはプルーフ・オブ・ワーク・システムを使用し、このシステムでは、台帳がサードパーティのマイナーによって操作され、マイナーは、新しいブロックに組み込まれるトランザクションを検証するための計算を実行する。見返りとして、検証ノード（マイナー）は、それらの検証ノードが署名するブロックにトークンが埋め込まれて、報酬を受ける。それらの報奨金は、労力に対して検証ノードに報酬を与え、他の人がネットワークに参加することを促進する。プルーフ・オブ・ステーク・システムでは、デジタル通貨を所有している一連の関係者によって台帳が維持され、このデジタル通貨は、トランザクションの新しいブロックに署名する能力をそれらの関係者に与える。関係者の投資を保護することに加えて（ブロックチェーンに価値がない場合、関係者の通貨も価値がなくなる）、関係者は、新しいコインを含んでいるブロックに署名することに対して報酬を受ける。したがって、報酬は、トークンまたはデジタル通貨の保持に比例する。
【００１８】
ブロックチェーンは、互いに通信する複数のノードを含んでいる分散システムである。ブロックチェーンは、チェーンコード（例えば、スマート・コントラクトなど）と呼ばれるプログラムを操作し、状態および台帳のデータを保持し、トランザクションを実行する。一部のトランザクションは、チェーンコード上で呼び出される動作である。一般に、ブロックチェーン・トランザクションは、特定のブロックチェーン・メンバーによって「署名」されなければならず、署名されたトランザクションのみが、ブロックチェーンにコミットされてよく、ブロックチェーンの状態に影響を与える。署名されていない他のトランザクションは、無視される。管理機能およびパラメータのための１つまたは複数の特殊なチェーンコードが存在することがあり、それらは、システム・チェーンコードと総称される。
【００１９】
ノードは、ブロックチェーン・システムの通信エンティティである。「ノード」は、異なる種類の複数のノードが同じ物理サーバ上で実行され得るという意味で、論理機能を実行してよい。ノードは、信頼できるドメイン（trust domains）内でグループ化され、さまざまな方法でそれらのノードを制御する論理エンティティに関連付けられる。ノードは、トランザクション呼び出しを署名者（例えば、ピア）にサブミットし、トランザクション提案を順序付けサービス（ordering service）（例えば、順序付けノード（ordering node））にブローキャストするクライアントまたはサブミット・クライアント・ノードなどの、さまざまな種類を含んでよい。別の種類のノードは、クライアントがサブミットしたトランザクションを受信し、トランザクションをコミットし、ブロックチェーン・トランザクションの台帳の状態およびコピーを維持することができるピア・ノードであることができる。ピアは署名者の役割を持つこともできるが、これは必須要件ではない。順序付けサービス・ノードまたは整理者（orderer）は、すべてのノードのための通信サービスを実行するノードであり、トランザクションをコミットするとき、およびブロックチェーンの世界状態（world state）（通常は制御情報および設定情報を含んでいる初期ブロックチェーン・トランザクションの別の名前）を変更するときの、システム内の各ピア・ノードへのブロードキャストなどの、配信保証を実施する。
【００２０】
台帳は、ブロックチェーンのすべての状態遷移の順序付けられた不正使用防止機能付きレコードである。状態遷移は、参加している関係者（例えば、クライアント・ノード、順序付けノード、署名者ノード、ピア・ノードなど）によってサブミットされたチェーンコード呼び出し（すなわち、トランザクション）から生じてよい。トランザクションは、１つまたは複数のオペランド（作成、更新、削除など）として台帳にコミットされているアセットのキーと値のペアのセットをもたらしてよい。台帳は、変更不可能な順序付けられたレコードをブロックに格納するために使用されるブロックチェーン（チェーンとも呼ばれる）を含む。台帳は、ブロックチェーンの現在の状態を維持する状態データベースも含む。通常は、１つのチャネルにつき１つの台帳が存在する。各ピア・ノードは、それらのピア・ノードがメンバーになっているチャネルごとに、台帳のコピーを維持する。
【００２１】
チェーンは、ハッシュ・リンク・ブロック（hash-linked blocks）として構造化されたトランザクション・ログであり、各ブロックはＮ個のトランザクションのシーケンスを含んでおり、Ｎは１以上である。ブロック・ヘッダーは、ブロックのトランザクションのハッシュ、および前のブロックのヘッダーのハッシュを含んでいる。このようにして、台帳のすべてのトランザクションが順序付けられ、暗号によって互いにリンクされてよい。したがって、ハッシュ・リンクを壊さずに台帳データを改ざんすることはできない。最も最近追加されたブロックチェーンのブロックのハッシュは、それ以前に発生したチェーン上のすべてのトランザクションを表し、すべてのピア・ノードが一貫性のある信頼できる状態にあることを保証できるようにする。チェーンは、ブロックチェーンのワークロードの追加専用という性質を効率的にサポートするピア・ノードのファイル・システム（すなわち、ローカル、取り付けられたストレージ、クラウドなど）に格納されてよい。
【００２２】
変更不可能な台帳の現在の状態は、チェーンのトランザクション・ログに含まれているすべてのキーの最新の値を表す。現在の状態は、チャネルに知られている最新のキーの値を表すため、世界状態と呼ばれることもある。チェーンコード呼び出しは、台帳の現在の状態のデータに対してトランザクションを実行する。それらのチェーンコードの相互作用を効率的にするために、最新のキーの値が状態データベースに格納されてよい。状態データベースは、単にチェーンのトランザクション・ログへのインデックス付きビューであってよく、したがって、いつでもチェーンから再生成され得る。状態データベースは、ピア・ノードの起動時に、トランザクションが受け取られる前に、自動的に回復されて（必要な場合は、生成されて）よい。
【００２３】
図１は、実施形態例に従って、ブロックチェーン・システムのネットワーク図を示している。図１を参照すると、ブロックチェーン・システム１００は１つまたは複数のユーザ・デバイス１０４を含んでいる。ユーザ・デバイス１０４は、ユーザ・デバイス１０４に関連付けられたユーザのトランザクション１２０を生成するコンピュータである。トランザクション１２０は、ブロックチェーン・ネットワーク１０８によって処理される任意のトランザクションであってよく、商品またはサービスの購入トランザクション、ドキュメントまたはレコードの転送、イベントの記録または通知、および投票関連の情報を含むが、これらに限定されない。ブロックチェーン・システム１００は、ユーザの代わりにトランザクションを処理するブロックチェーン・ネットワーク１０８を含む。好ましい実施形態では、ブロックチェーン・ネットワーク１０８は、プライベート・ブロックチェーン・ネットワークまたは許可型ブロックチェーン・ネットワーク１０８である。ただし、ブロックチェーン・ネットワーク１０８は、パブリック・ブロックチェーン・ネットワーク１０８であってもよい。
【００２４】
ブロックチェーン・ネットワーク１０８は、ブロックチェーン・ノード１１２Ａ、１１２Ｂ、１１２Ｃを含み、これらのブロックチェーン・ノードは、トランザクション１２０を受信して処理し、ブロックチェーン・ネットワーク１０８に関連付けられたすべての活動を管理する。図１は、ブロックチェーンのノード１（１１２Ａ）、ノード２（１１２Ｂ）、およびノード３（１１２Ｃ）として識別された３つのブロックチェーン・ノード１１２を含んでいるブロックチェーン・ネットワーク１０８を示している。３つのノード１１２が示されているが、ブロックチェーン・ネットワーク１０８内には任意の数のノード１１２が存在してよいということが、理解されるべきである。少なくとも１つのノード１１２が、１１６Ａ、１１６Ｂ、および１１６Ｃとして識別されたインセンティブ管理機能１１６を含んでおり、インセンティブ管理機能１１６は、ブロックチェーン・システム１００内のトランザクション・パラメータおよびトランザクション検証に対する補償を計算して管理する。一部の実施形態では、ブロックチェーン・システム１０８のすべてのノード１１２またはノード１１２の大部分が、インセンティブ管理機能１１６を含む。示されている実施形態では、各ノード１〜３（１１２Ａ〜１１２Ｃ）が、インセンティブ管理機能１１６Ａ〜１１６Ｃをそれぞれ含んでいる。ノード１（１１２Ａ）は、トランザクション１２０を受信し、トランザクション１２０をブロックチェーン・ネットワーク１０８にサブミットする（すなわち、ノード１（１１２Ａ）はコミッターである）。
【００２５】
インセンティブ管理機能１１６は、トークンの所有ではなくトランザクション１２０を検証する作業に基づいて参加者に報酬を与えるインセンティブ・プロセスを開発することによって、ブロックチェーン・ネットワーク１０８が、プルーフ・オブ・ステークまたはプルーフ・オブ・ワークのような暗号通貨に基づく信用システムの欠点を克服できるようにする。新しいプロセスが、ブロックチェーン・ネットワーク１０８内のどのノード１１２も制御していないトランザクションごとに価格を確立し、できるだけ多くのトランザクション１２０を検証するための動機をすべてのノード１１２に与える。このメカニズムは、１トランザクション当たりの料金をユーザに請求することによってこれを実現し、この料金の価格は、ノード１１２によって、インセンティブ管理機能１１６内で計算される比例割り当てオークション・メカニズム（proportional allocation auction mechanism）にサブミットされた入札によって、決定される。比例割り当てメカニズムは、すべての入札しているノード１１２による入札の総量に対する競争入札者（ノード１１２）の入札の割合に比例して、固定リソース（例えば、計算リソース、メモリ）へのアクセスを競争入札者（ノード１１２）に提供する。
【００２６】
その後、トランザクション料金（およびトランザクション・コストの仮定）が、トランザクションを検証する速度を最大化するための動機をノード１１２に与える式を使用して、合意に参加しているノード１１２に配信される。このプロセスは、ノード１１２が、検証されるトランザクションの数を減らして価格をつり上げることによって、トランザクションの価格に暗黙的に影響を与えることを許さない。このプロセスは、ノード１１２が、より安価なハードウェア上でブロックチェーンを操作して、より遅いトランザクション速度のコストをブロックチェーン・ネットワーク１０８の他の部分に対して強制しようとすることも阻止する。
【００２７】
このプロセスは、署名者、整理者、およびコミッターなどのトランザクションの役割を割り当てることに適用されてもよく、この割り当ては、ブロックチェーン・ネットワーク１０８に提供されるサービスによって決まることがある。計算リソースの割り当てを望まないノード１１２は、単にトランザクションを処理するための料金を支払うことができる。さらに、現在存在している均一で不公平なモデルとは対照的に、料金のネッティング（fee netting）および調整を提供する（公正なチャージバック・システムのための手段をノード１１２の運用者に与える）ために、料金台帳４３０がノード１１２間で維持されてよい。料金台帳４３０は、インセンティブ管理機能１１６内にあってよく、またはブロックチェーン・ネットワーク１０８内の信頼できるノード１１２に一意的に割り当てられてよい。
【００２８】
図２は、実施形態例に従って、インセンティブ・メカニズムの計算を示している。図２を参照すると、インセンティブ管理機能は、トランザクション検証に参加することを望んでいるすべてのノードから入札を受信することに応答して、トランザクション・パラメータを計算する（４１５）。インセンティブ管理機能１１６は、ノード１１２がブロックチェーン・ネットワーク１０８にサブミットした入札に基づいて、特定の期間内に、参加している各ノード１１２に一定の数のトランザクションを割り当てる。この期間は任意であり、事前に決定され、参加している各ノード１１２で同じ期間が使用されている限り、任意の長さの時間であってよい。まず、インセンティブ管理機能１１６は、ブロックチェーン・ネットワーク１０８がすべてのノード１１２によって１つの期間につき検証できるトランザクションの数を決定する。方程式（１）では、この数に値Ｌが割り当てられている。検証されたトランザクション１２０は、ブロックチェーンの台帳に追加される。すべての入札が受信された後に、インセンティブ管理機能１１６は、参加している各ノードｉ１１２によってブロックチェーン・ネットワーク１０８にサブミットされたトランザクションの数を計算する。各ノードｉ１１２は、参加しているすべてのノード１１２がｓｕｍ（ｗｉ）に等しい入札をサブミットするように、入札ｗｉをサブミットし、ｘｉ個のトランザクションをネットワークにサブミットする能力を受け取る。次に、インセンティブ管理機能１１６は、参加しているノード１１２ごとに次のようにｘｉを計算する。
【００２９】
（１）ｘｉ  ＝  （ｗｉ／ｓｕｍ（ｗｉ））＊Ｌ
【００３０】
例えば、１つの期間（１分）内に検証されるＬ＝１０のトランザクション、ｗｉ＝ノードｉ１１２の１ドルの入札、およびｓｕｍ（ｗｉ）＝１０ドルを仮定すると、ｘｉ  ＝  （１／１０）＊１０であり、ノードｉによって１分ごとに１つのトランザクションがブロックチェーン・ネットワークにサブミットされてよい。
【００３１】
次に、インセンティブ管理機能１１６は、方程式（２）を使用して、参加しているすべてのノードｉ１１２についてトランザクション価格Ｐを計算する。インセンティブ管理機能１１６は、次のようにＰを計算する。
【００３２】
（２）Ｐ  ＝  ｓｕｍ（Ｗｉ）／Ｌ
【００３３】
現在の例と同じパラメータを使用して、Ｐ＝１０ドル／１０＝１ドルのトランザクション価格（料金）になる。トランザクション価格Ｐは、参加しているすべてのノードｉ１１２で同じである。有利なことに、このプロセスのトランザクション価格Ｐは、トークンの価格またはノード１１２の共同体によって確立される料金によってではなく、需要によって全体的に決定される。
【００３４】
トランザクション価格Ｐが決定された後に、チャージバックを介して、入札による収入を検証ノード１１２に割り当てることができる。チャージバックは、中央機関によって、またはブロックチェーン・ネットワーク１０８をインスタンス化する前にすべての関係者が合意した分散アルゴリズムによって管理され得る。図２はインセンティブ管理機能１１６を含んでいるノード１１２のみを示しているが、他の実施形態では、ノード１１２の代わりに、中央機関または信頼できるエンティティがチャージバックの計算を実行するということが理解されるべきである。ブロックチェーン・ネットワーク１０８のスループットが、最も遅いノード１１２の速度であるため、チャージバックの式が価格決定力を遅いノード１１２に与えないということは、重要である。
【００３５】
ブロックチェーン・ネットワーク１０８は、Ｐ＊Ｌの総収入を受け取る。現在の例の場合、総収入はＰ＊Ｌ＝１ドル＊１０＝１０ドルになる。参加している各ノード１１２には、式ｆ（Ｌ）に従ってトランザクションの総数の一部が割り当てられる。実際に使用される式ｆ１およびｆ２は適用に依存してよく、異なるパラメータは、参加している各ノード１１２への異なる支払いの割り当てを生成する。例えば送信された金銭または発送であるトランザクションを受信する関係者によって操作されるノード１１２は、それらの関係者がブロックチェーン・ネットワーク１０８に参加するように、チャージバックによって援助され得る。例えば、発送ネットワーク（shipping network）は、ブロックチェーン・ネットワーク１０８に参加するために、多数のポートを必要とすることがある。別の例として、トランザクションを受信する大規模な関係者が、それらの関係者にトランザクションを送信する小規模な関係者を援助する（大規模な小売業者が卸売業者を援助するなど）。各ノードｉ１１２は、次の計算（３）に従って支払いを受け取る。
【００３６】
（３）Ｐａｙｍｅｎｔｉ  ＝  Ｐ−ｉ  ＊  ｆ１（Ｌ）  −  Ｐｉ  ＊  ｆ２（Ｌ）
【００３７】
Ｐ−ｉは、ブロックチェーン・ネットワーク１０８内の別の（異なる）ノード１１２のスループットに基づく実勢価格であり、Ｐｉは、ノードｉのトランザクションのスループットに基づく価格である。Ｐ−ｉは、ノードｉ１１２を除く、ブロックチェーン・ネットワーク１０８内のいずれかの他の参加しているノード１１２のスループットに基づくトランザクション価格を示す。したがって、４つの参加しているノード１１２を含むブロックチェーン・ネットワーク１０８の場合、現在のノードｉがたまたまノード３であれば、Ｐ−３は、ノード１、２、または４のスループット（すなわち、「ブロックチェーン・ネットワーク１０８内の別のノード１１２のスループット」）からのトランザクション価格を使用して計算されたトランザクション価格を意味する。
【００３８】
実勢価格は、ブロックチェーン・ネットワーク１０８内の別のノード１１２のスループットを使用したトランザクション価格である。計算においてどの他のノード１１２が使用されるかは、式に応じて変わる可能性があるが、式は、選択された任意の他のノード１１２に適用できる。各ノード１１２のスループットが、２番目のペナルティ項を介してのみ、それらのノードの支払いに対して影響を与えるため、この式は効果的である。その結果、各ノードの支払いは、それらのノードが処理するトランザクションの数において増加し、ノード１１２がスループットを最大化して、トランザクションを検証するために効率的なハードウェアに投資することを促進する。例えば、ｆ１＝Ｌ＝１０およびｆ２＝（Ｎ−１）／Ｎを仮定すると（Ｎは参加しているノード１１２の数）、Ｎ＝４、ｆ２＝（Ｎ−１）／Ｎ＝（４−１）／４＝３／４である。その後、各ノードは、他のノード１１２のスループットよりも遅らせるためのペナルティによって割り引かれたＬ／Ｎを受信する。−ｉが、ノードｉ１１２よりも速いノード１１２（例えば、最も速いノード１１２など）に基づいて設定された場合、支払いは収入を超えない。最も重要な参加しているノード１１２（最も多くのトランザクション１２０を受信するノード）が検証ノード１１２になることを促進するために、トランザクション１２０のフローによって決まるように式をカスタマイズすることもできる。このオプションは、投資に対する正の利益を得るための十分なトークンを有しているノードによってノードが操作されるプルーフ・オブ・ステーク・プロトコルを上回る別の利点を提供する。ノード１１２は、ブロックチェーン・ネットワーク１０８に参加し、トランザクションを素早く処理することによってブロックチェーン・ネットワーク１０８の運用を強化するために十分なリソースを割いていることに対して、報酬を受ける。これに対して、プルーフ・オブ・ステーク・ネットワークは、ブロックチェーン・ネットワークを運用するために役立つ活動ではなく、リソースをホストすることに関係のない、トークンを所有することに対して報酬を与える。
【００３９】
図３は、実施形態例に従って、ブロックチェーン・アーキテクチャの構成２００を示している。図３を参照すると、ブロックチェーン・アーキテクチャ２００は、特定のブロックチェーン要素（例えば、ブロックチェーン・ノードのグループ２０２）を含んでよい。ブロックチェーン・ノード２０２は、１つまたは複数のノード２０４〜２１０を含んでよい（単に例として、４つのノードが示されている）。これらのノードは、ブロックチェーン・トランザクションの追加および検証プロセス（合意）などの、複数の活動に参加する。ブロックチェーン・ノード２０４〜２１０のうちの１つまたは複数は、トランザクションに署名してよく、アーキテクチャ２００内のすべてのブロックチェーン・ノードのための順序付けサービスを提供してよい。ブロックチェーン・ノードは、ブロックチェーン認証を開始し、ブロックチェーン層２１６に格納されたブロックチェーンの変更不可能な台帳に書き込もうとしてよく、この書き込みのコピーが、基盤になる物理的インフラストラクチャ２１４にも格納されてよい。ブロックチェーンの構成は、格納されたプログラム／アプリケーション・コード２２０（例えば、チェーンコード、スマート・コントラクトなど）にアクセスして実行するためにアプリケーション・プログラミング・インターフェイス（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ）２２２にリンクされた１つまたは複数のアプリケーション２２４を含んでよく、プログラム／アプリケーション・コード２２０は、参加者によって要求されてカスタマイズされた構成に従って作成することができ、それら自身の状態を維持し、それら自身のアセットを制御し、外部の情報を受信することができる。ブロックチェーンの構成は、トランザクションとしてデプロイし、分散型台帳に追加することによって、すべてのブロックチェーン・ノード２０４〜２１０にインストールすることができる。
【００４０】
ブロックチェーン・ベースまたはプラットフォーム２１２は、ブロックチェーン・データのさまざまな層と、サービス（例えば、暗号信用サービス（cryptographic trust services）２１８、仮想実行環境２１６など）と、新しいトランザクションを受信して格納し、データ・エントリにアクセスしようとしている監査人にアクセスを提供するために使用されてよい、基盤になる物理的コンピュータ・インフラストラクチャ２１４とを含んでよい。ブロックチェーン層２１６は、プログラム・コードを処理し、物理的インフラストラクチャ２１４に参加させるために必要な仮想実行環境へのアクセスを提供するインターフェイスを公開してよい。暗号信用サービス２１８は、アセット交換トランザクションなどのトランザクションを検証し、情報をプライベートに保つために使用されてよい。
【００４１】
図３のブロックチェーン・アーキテクチャの構成は、ブロックチェーン・プラットフォーム２１２によって公開された１つまたは複数のインターフェイスおよび提供されたサービスを介して、プログラム／アプリケーション・コード２２０を処理および実行してよい。アプリケーション・コード２２０は、ブロックチェーンのアセットを制御してよい。例えば、アプリケーション・コード２２０は、データを格納および転送することができ、スマート・コントラクトおよび条件を含む関連するチェーンコードまたは実行の対象になるその他のコード要素の形態で、ノード２０４〜２１０によって実行されてよい。非限定的な例として、リマインダ、更新、または変更、更新の対象になるその他の通知、あるいはその組み合わせなどを実行するために、スマート・コントラクトが作成されてよい。スマート・コントラクト自体は、権限付与およびアクセスの要件ならびに台帳の使用に関連付けられたルールを識別するために使用され得る。例えば、ノードからの入札は、ブロックチェーン層２１６に含まれている１つまたは複数の処理エンティティ（例えば、仮想マシン）によって処理されてよい。その後、アプリケーション・コード２２０は、トランザクション価格（図示されていない）および検証ノード２２８へのチャージバックを計算してよい。物理的インフラストラクチャ２１４は、本明細書に記載されたデータまたは情報のいずれかを取り出すために利用されてよい。
【００４２】
チェーンコード内で、高水準のアプリケーションおよびプログラミング言語を使用して、スマート・コントラクトが作成され、その後、ブロックチェーン内のブロックに書き込まれてよい。スマート・コントラクトは、ブロックチェーン（例えば、ブロックチェーン・ピアの分散ネットワーク）への登録、格納、または複製、あるいはその組み合わせが実行される実行可能コードを含んでよい。トランザクションは、スマート・コントラクトが満たされていることに関連付けられた条件に応答して実行され得る、スマート・コントラクト・コードの実行である。スマート・コントラクトの実行は、デジタル・ブロックチェーン台帳の状態に対する信頼できる変更をトリガーしてよい。スマート・コントラクトの実行によって引き起こされるブロックチェーン台帳に対する変更は、１つまたは複数の合意プロトコルを介して、ブロックチェーン・ピアの分散ネットワーク全体に自動的に複製されてよい。
【００４３】
スマート・コントラクトは、データをキーと値のペアの形式でブロックチェーンに書き込んでよい。さらに、スマート・コントラクト・コードは、ブロックチェーンに格納された値を読み取り、それらをアプリケーションの動作において使用することができる。スマート・コントラクト・コードは、さまざまな論理演算の出力をブロックチェーンに書き込むことができる。このコードは、仮想マシンまたはその他のコンピューティング・プラットフォーム内の一時的データ構造を作成するために使用されてよい。ブロックチェーンに書き込まれたデータは、パブリックになること、またはプライベートとして暗号化されて維持されること、あるいはその両方が行われ得る。スマート・コントラクトによって使用／生成される一時的データは、提供された実行環境によってメモリ内に保持され、ブロックチェーンに必要なデータが識別された後に削除される。
【００４４】
チェーンコードは、追加機能と共に、スマート・コントラクトのコード解釈を含んでよい。本明細書に記載されているように、チェーンコードは、コンピューティング・ネットワーク上にデプロイされるプログラム・コードであってよく、合意プロセス中に、チェーン・バリデータ（chain validators）によって一緒に実行されて検証される。チェーンコードは、ハッシュを受信し、以前に格納された特徴抽出機能（feature extractor）の使用によって作成されたデータ・テンプレートに関連付けられたハッシュをブロックチェーンから取り出す。ハッシュ識別子のハッシュと、格納された識別子テンプレート・データから作成されたハッシュが一致する場合、チェーンコードは、権限付与キーを、要求されたサービスに送信する。チェーンコードは、暗号の詳細に関連付けられたデータをブロックチェーンに書き込んでよい。図３では、インセンティブ管理１１６を含んでいるブロックチェーン・プラットフォーム２１２は、トランザクションで入札しようとしているブロックチェーン・ノードから入札を受信する２２６。１つの機能は、チャージバックをノードに与える２２８ことであってよく、このチャージバックは、ノード２０４〜２１０のうちの１つまたは複数に提供されてよい。
【００４５】
図４は、一実施形態例に従って、ブロックチェーンのノード間のトランザクション・フロー２５０の例を示している。図４を参照すると、トランザクション・フローは、アプリケーション・クライアント・ノード２６０またはクライアント・デバイスによって署名ピア・ノード（endorsing peer node）２８１に送信されるトランザクション提案２９１を含んでよい。署名ピア・ノード２８１は、クライアントの署名を検証し、チェーンコード関数を実行してトランザクションを開始してよい。出力は、チェーンコードの結果、チェーンコードに読み取られたキー／値のバージョンのセット（読み取られたセット）、およびチェーンコードに書き込まれたキー／値のセット（書き込まれたセット）を含んでよい。提案応答２９２が、承認されている場合は署名と共に、クライアント・ノード２６０に返送される。クライアント・ノード２６０は、署名をトランザクションのペイロード２９３にまとめて、順序付けサービス・ノード２８４にブロードキャストする。その後、順序付けサービス・ノード２８４は、順序付けられたトランザクションをチャネル上でブロックとしてすべてのピア・ノード２８１〜２８３に配信する。ブロックチェーンへのコミットの前に、各ピア・ノード２８１〜２８３がトランザクションを検証してよい。例えば、ピア・ノードは、指定されたピア・ノードの正しい割り当てが結果に署名し、トランザクションのペイロード２９３に対する署名を認証したことを確認するために、署名ポリシーをチェックしてよい。
【００４６】
再び図４を参照すると、クライアント・ノード２６０が、要求を構築してピア・ノード２８１（署名者）に送信することによって、トランザクション２９１を開始する。クライアント・ノード２６０は、ＮＯＤＥ、ＪＡＶＡ、ＰＹＴＨＯＮなどのサポートされているソフトウェア開発キット（ＳＤＫ：ｓｏｆｔｗａｒｅ  ｄｅｖｅｌｏｐｍｅｎｔ  ｋｉｔ）を利用するアプリケーションを含んでよく、このアプリケーションは、使用可能なＡＰＩを利用してトランザクション提案を生成する。提案は、データが台帳から読み取られること、または台帳に書き込まれること（すなわち、アセットの新しいキーと値のペアを書き込むこと）、あるいはその両方を実行できるように、チェーンコード関数を呼び出すことを求める要求である。ＳＤＫは、トランザクション提案を、適切に設計された形式（例えば、遠隔手続呼び出し（ＲＰＣ：ｒｅｍｏｔｅ  ｐｒｏｃｅｄｕｒｅ  ｃａｌｌ）を経由するプロトコル・バッファ）にパッケージ化するためのシム（shim）として機能し、クライアントの暗号認証情報を受け取って、トランザクション提案の一意の署名を生成してよい。
【００４７】
それに応じて、署名ピア・ノード２８１は、（ａ）トランザクション提案が適切に形成されていること、（ｂ）トランザクションが過去にすでにサブミットされていないこと（リプレイ・アタック保護）、（ｃ）署名が有効であること、および（ｄ）そのチャネルに対する提案された操作を実行するための適切な権限がサブミッター（例では、クライアント・ノード２６０）に与えられていることを検証してよい。署名ピア・ノード２８１は、トランザクション提案の入力を、呼び出されるチェーンコード関数への引数として受け取ってよい。その後、チェーンコードが、現在の状態データベースに対して実行され、応答値、読み取りセット、および書き込みセットを含んでいるトランザクション結果を生成する。ただしこの時点では、台帳に対する更新は行われない。提案応答２９２で、値のセットが、署名ピア・ノード２８１の署名とともに、提案応答２９２としてクライアント・ノード２６０のＳＤＫに返され、このＳＤＫが、アプリケーションが使用するためのペイロードを構文解析する。
【００４８】
それに応じて、クライアント・ノード２６０のアプリケーションが、署名ピアの署名を検査／検証し、提案応答を比較して、提案応答２９２が同じであるかどうかを判定する。チェーンコードが単に台帳に問い合わせた場合、アプリケーションは問い合わせ応答を検査し、通常は、トランザクションを順序付けサービス・ノード２８４にサブミットしない。クライアント・アプリケーションが、台帳を更新するためにトランザクション２９１を順序付けサービス・ノード２８４にサブミットしようとしている場合、アプリケーションは、サブミットする前に、指定された署名ポリシーが満たされているかどうか（すなわち、トランザクション２９１に必要なすべてのピア・ノードがトランザクションに署名したかどうか）を判定する。ここで、クライアント・ノード２６０は、トランザクションの複数の関係者のうちの１つのみを含んでよい。この場合、各クライアント・ノード２６０は、それ自身の署名ノードを含んでよく、各署名ノードがトランザクションに署名する必要がある。アーキテクチャは、アプリケーションが応答２９２を検査しないことを選択するか、またはその他の方法で署名されていないトランザクションを転送する場合でも、署名ポリシーが、ピア・ノード２８１〜２８３によってまだ実施され、コミット検証フェーズで維持されるようにする。
【００４９】
検査に成功した後に、ステップ２９３で、クライアント・ノード２６０が、署名をトランザクションにまとめ、順序付けノード２８４へのトランザクション・メッセージ２９３内でトランザクション提案およびトランザクション応答をブロードキャストする。トランザクション２９３は、読み取り／書き込みセット、署名ピアの署名、およびチャネルＩＤを含んでよい。順序付けノード２８４は、その動作を実行するために、トランザクション２９３の内容全体を検査する必要はなく、代わりに順序付けノード２８４は、単に、トランザクションをネットワーク内のすべてのチャネルから受信して、チャネル別に経時的に順序付けし、チャネルごとにトランザクションのブロックを作成してよい。
【００５０】
トランザクションのブロックは、順序付けノード２８４からチャネル上のすべてのピア・ノード２８１〜２８３に配信される。いずれかの署名ポリシーが満たされていることを保証するため、および読み取りセットがトランザクションの実行によって生成されて以来、読み取りセットの変数に関して台帳の状態に対する変更がないことを保証するために、ブロック内のトランザクション２９４が検証される。ブロック内のトランザクション２９４は、有効または無効であるとしてタグ付けされる。さらに、ステップ２９５で、各ピア・ノード２８１〜２８３は、ブロックをチャネルのチェーンに追加し、有効なトランザクション２９４ごとに、書き込みセットが現在の状態データベースにコミットされる。トランザクション（呼び出し）が変更不可能なようにチェーンに追加されたことをクライアント・アプリケーションに通知するため、およびトランザクション２９４が有効にされたか、または無効にされたかを通知するために、イベントが発行される。
【００５１】
図５は許可型ブロックチェーン・ネットワーク３１０の例を示しており、許可型ブロックチェーン・ネットワーク３１０は、分散型の非集中的ピアツーピア・アーキテクチャ、ならびにユーザの役割および権限を管理する認証局３１８を特徴とする。この例では、ブロックチェーン・ユーザ３０２は、トランザクションを許可型ブロックチェーン・ネットワーク３１０にサブミットしてよい。この例では、トランザクションは、デプロイ、呼び出し、または問い合わせであることができ、ＳＤＫを利用するクライアント側のアプリケーションを介して、ＲＥＳＴ  ＡＰＩを介して直接的に、または同様の方法によって、発行されてよい。信頼できるビジネス・ネットワークは、監査人（例えば、米国の株式市場における証券取引委員会）などの規制者システム（regulator system）３１４にアクセスを提供してよい。一方、ノード３１２のブロックチェーン・ネットワーク運用者システムは、規制者システム３１４を「監査人」として登録し、ブロックチェーン・ユーザ３０２を「クライアント」として登録するなどの、メンバーの権限を管理する。監査人を、台帳への問い合わせのみに制限することができ、一方、特定の種類のチェーンコードのデプロイ、呼び出し、および問い合わせを行うための権限をクライアントに与えることができる。
【００５２】
ブロックチェーン開発者システム３１６は、チェーンコードおよびクライアント側のアプリケーションを書き込む。ブロックチェーン開発者システム３１６は、ＲＥＳＴインターフェイスを介して、チェーンコードをネットワークに直接デプロイすることができる。従来のデータ・ソース３３０からの認証情報をチェーンコードに含めるために、開発者システム３１６は、帯域外接続を使用してデータにアクセスすることができる。この例では、ブロックチェーン・ユーザ３０２は、ピア・ノード３１２を介してネットワークに接続する。ピア・ノード３１２は、いずれかのトランザクションを開始する前に、ユーザの登録およびトランザクション証明書を認証局３１８から取得する。場合によっては、ブロックチェーン・ユーザ３０２は、許可型ブロックチェーン・ネットワーク３１０上でトランザクションを実行するために、それらのデジタル証明書を有しなければならない。一方、チェーンコードを動作させようとしているブロックチェーン・ユーザ３０２は、従来のデータ・ソース３３０上のそれらのブロックチェーン・ユーザ３０２の認証情報を検証することが必要になることがある。ユーザの権限付与を確認するために、チェーンコードは、従来の処理プラットフォーム３２０を介して、このデータへの帯域外接続を使用することができる。
【００５３】
図６は、実施形態例に従って、トランザクションおよびチャージバックを実行するためのシステム・メッセージ図を示している。図６を参照すると、システム図４００は、１人または複数のユーザ４１０、１つまたは複数のブロックチェーン・ノード４２０、および料金台帳４３０を含んでいる。１人または複数のユーザ４１０は、ノード４２０を含んでいるブロックチェーン・ネットワーク１０８への新しいトランザクションを作成する（４１２）。ノード４２０は、トランザクションを受信し（４１３）、受信したトランザクション４１３を他のノード４２０に通知する。それに応じて、検証入札プロセス（validation bidding process）に参加することを望むノード４２０は、入札をブロックチェーン・ネットワーク１０８のノード４２０にサブミットする（４１４）。ノードは、図２を参照して説明されたように、トランザクション・パラメータを計算する（４１５）。トランザクション４１２の実行に備えて、ノード４２０は、トランザクションのペイロードをブロックチェーンに解放する（４１８）。その後、トランザクション４１４の入札をサブミットしたノード４２０は、トランザクションを検証する（４２１）。トランザクション４２１を検証するノード４２０は、検証されたトランザクションを、分散型台帳（図示されていない）のトランザクションのコピーに追加する。トランザクションを検証するために、検証ノード４２０が入札またはトランザクションをサブミットする必要がないということに注意するべきである。
【００５４】
トランザクション４１２の種類に応じて、トランザクションが検証された（４２１）後に、ノード４２０が、トランザクションのペイロード４１８に基づいてトランザクションを実行する（４２２）。一実施形態では、その後、入札プロセスに関与する各ノード４２０は、図２に示されている計算の結果に応じて、１つまたは複数のノード４２０へのチャージバックを計算する（４２３）。別の実施形態では、ブロックチェーン・ネットワーク内の信頼できるエンティティ（ノード４２０であってよい）が、１つまたは複数のノード４２０へのチャージバックを計算する（４２３）。その後、ノード４２０は、料金台帳を更新し（４２４）、料金台帳に対して責任を負う信頼できるエンティティが、既定の時間（すなわち、日、週、月、四半期などの最後）にチャージバックを１つまたは複数のノード４２０に配信する（４２５）。これによって、有利なことに、絶え間ない中断およびコストを伴わずに、料金がブロックチェーン・ネットワーク１０８内を流れることができるようにしてよい。
【００５５】
図７は、実施形態例に従って、トランザクションのチャージバックを計算してブロックチェーン内で配信する例示的な方法のフロー図５００を示している。図７を参照すると、方法５００は、トランザクションを検証するためにノードが入札をサブミットすること（５０４）を含んでよい。ノード４２０の総数よりも少ないノード４２０が入札をサブミットしてよく、少なくとも１つのノード４２０が入札をサブミットする。方法５００は、トランザクション価格およびノードごとのトランザクション数を計算するステップ（５０８）を含んでもよい。これらの計算は、多くの形態を取ってよく、図２は、可能性のある一連の計算を示している。方法５００は、トランザクションの検証に備えて、トランザクションをブロックチェーンにサブミットするステップ（５１２）を含んでもよい。方法５００は、ノードがブロックチェーン・トランザクションを検証するステップ（５１６）を含んでもよい。トランザクションを検証するステップは、ブロックチェーン技術において十分理解されている。方法５００は、チャージバックを計算するステップ（５２０）を含んでもよい。この計算は、図２の例においても表されており、トランザクションを検証したノード４２０に支払われる量である。最後に、方法５００は、トランザクションの検証に対する補償としてノード４２０がチャージバックを受信するステップ（５２４）を含んでもよい。最後に、方法５００は、トランザクションをサブミットしたノードまたはクライアント・デバイスに対して、トランザクション料金を請求することを含んでもよい（図示されていない）。
【００５６】
図８は、実施形態例に従って、トランザクション料金を計算する例示的な方法のフロー図５５０を示している。方法５５０は、トランザクション料金に資金を提供することを求める要求を受信すること（５５４）を含んでよい。方法５５０は、資金提供されるトランザクション料金の数値に基づいて各トランザクション料金を計算するステップ（５５８）を含んでもよい。方法５５０は、資金提供されるトランザクション料金を請求するステップ（５６２）を含んでもよい。方法５５０は、資金提供されるトランザクション料金を支払うための資金を受信するステップ（５６６）を含んでもよい。方法５５０は、資金提供されるトランザクション料金に関連する情報を格納するステップ（５７０）を含んでもよい。
【００５７】
図９は、実施形態例に記載されている動作の例示的な方法のうちの１つまたは複数に従って、ブロックチェーンに対してさまざまな動作を実行するように構成された例示的な物理的インフラストラクチャを示している。図９を参照すると、例示的な構成６００は、ブロックチェーン６２０およびスマート・コントラクト６４０を含んでいる物理的インフラストラクチャ６１０を含んでおり、物理的インフラストラクチャ６１０は、実施形態例のいずれかに含まれている動作のステップ６１２のいずれかを実行してよい。ステップ／動作６１２は、１つまたは複数のフロー図または論理図あるいはその両方において説明されたか、または示されたステップのうちの１つまたは複数を含んでよい。これらのステップは、コンピュータ・システムの構成の物理的インフラストラクチャ６１０上に存在する１つまたは複数のスマート・コントラクト６４０またはブロックチェーン６２０あるいはその両方に書き込まれるか、またはこれらから読み取られる、出力されたか、または書き込まれた情報を表してよい。実行されたスマート・コントラクト６４０またはブロックチェーン６２０あるいはその両方から、データが出力され得る。物理的インフラストラクチャ６１０は、１つまたは複数のコンピュータ、サーバ、プロセッサ、メモリ、または無線通信デバイス、あるいはその組み合わせを含んでよい。
【００５８】
図１０は、実施形態例に従って、契約当事者間での例示的なスマート・コントラクトの構成、およびブロックチェーンに対してスマート・コントラクトの条件を実施するように構成された仲介サーバを示している。図１０を参照すると、構成６５０は、通信セッション、アセット転送セッションまたはプロセスあるいは手順を表してよく、これらは、１つまたは複数のユーザ・デバイス６５２または６５６あるいはその両方を明示的に識別するスマート・コントラクト６４０によって動作させられる。スマート・コントラクトの実行、動作、および実行結果は、サーバ６５４によって管理されてよい。スマート・コントラクト６４０の内容は、スマート・コントラクト・トランザクションの関係者であるエンティティ６５２および６５６のうちの１つまたは複数によるデジタル署名を要求してよい。スマート・コントラクト６４０の実行結果は、ブロックチェーン・トランザクションとしてブロックチェーンに書き込まれてよい。
【００５９】
前述の実施形態は、ハードウェアにおいて、プロセッサによって実行されるコンピュータ・プログラムにおいて、ファームウェアにおいて、またはこれらの組み合わせにおいて実装されてよい。コンピュータ・プログラムは、ストレージ媒体などのコンピュータ可読媒体に具現化されてよい。例えば、コンピュータ・プログラムは、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）、フラッシュ・メモリ、読み取り専用メモリ（ＲＯＭ：read-only memory）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ：erasable programmable read-only memory）、電子的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ：electrically erasable programmable read-only memory）、レジスタ、ハード・ディスク、取り外し可能なディスク、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：compact disk read-only memory）、または従来技術において知られた任意のその他の形態のストレージ媒体に存在してよい。
【００６０】
例示的なストレージ媒体は、プロセッサがストレージ媒体から情報を読み取り、ストレージ媒体に情報を書き込むことができるように、プロセッサに接続されてよい。代替方法では、ストレージ媒体はプロセッサと一体であってよい。プロセッサおよびストレージ媒体は、特定用途向け集積回路（ＡＳＩＣ：application specific integrated circuit）に存在してよい。代替方法では、プロセッサおよびストレージ媒体は、個別のコンポーネントとして存在してよい。例えば、図１１は、前述したコンポーネントのいずれかなどで表すか、またはそれらに統合されてよい、例示的なコンピュータ・システム・アーキテクチャ７００を示している。
【００６１】
図１１は、本明細書に記載された本出願の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。いずれにせよ、コンピューティング・ノード７００は、前述した機能のいずれかを実装すること、または実行すること、あるいはその両方を行うことができる。コンピューティング・ノード７００内には、他の多数の汎用または特殊用途のコンピューティング・システム環境または構成で運用できるコンピュータ・システム／サーバ７０２が存在する。コンピュータ・システム／サーバ７０２と共に使用するのに適した周知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などを含むが、これらに限定されない。
【００６２】
コンピュータ・システム／サーバ７０２は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム／サーバ７０２は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【００６３】
図１１に示すように、クラウド・コンピューティング・ノード７００内のコンピュータ・システム／サーバ７０２は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム／サーバ７０２のコンポーネントは、１つまたは複数のプロセッサまたは処理ユニット７０４、システム・メモリ７０６、およびシステム・メモリ７０６を含むさまざまなシステム・コンポーネントをプロセッサ７０４に接続するバスを含んでよいが、これらに限定されない。
【００６４】
バスは、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、１つまたは複数の任意の種類のバス構造を表す。例として、そのようなアーキテクチャは、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカル・バス、およびＰＣＩ（Peripheral Component Interconnects）バスを含むが、これらに限定されない。
【００６５】
コンピュータ・システム／サーバ７０２は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ７０２によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。システム・メモリ７０６は、一実施形態では、他の図のフロー図を実装する。システム・メモリ７０６は、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）７１０またはキャッシュ・メモリ７１２あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ７０２は、その他の取り外し可能／取り外し不可、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体（図示されておらず、通常は「ハード・ドライブ」と呼ばれる）に対する読み取りと書き込みを行うために、ストレージ・システム７１４を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク（例えば、「フロッピー・ディスク」）に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、１つまたは複数のデータ媒体インターフェイスによってバスに接続することができる。下で詳細に示され、説明されるように、メモリ７０６は、本出願のさまざまな実施形態の機能を実行するように構成された一連の（例えば、少なくとも１つの）プログラム・モジュールを備える少なくとも１つのプログラム製品を含んでよい。
【００６６】
例えば、一連の（少なくとも１つの）プログラム・モジュール７１８を含んでいるプログラム／ユーティリティ７１６がメモリ７０６に格納されてよいが、これに限定されず、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの組み合わせは、それぞれネットワーク環境の実装を含んでよい。プログラム・モジュール７１８は、通常、本明細書に記載された本出願のさまざまな実施形態の機能または方法あるいはその両方を実行する。
【００６７】
当業者によって理解されるように、本出願の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化されてよい。したがって、本出願の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェアの態様とハードウェアの態様を組み合わせる実施形態の形態を取ってよく、これらはすべて、本明細書では、一般に「回路」、「モジュール」、または「システム」と呼ばれてよい。さらに、本出願の形態は、コンピュータ可読プログラム・コードが具現化されている１つまたは複数のコンピュータ可読媒体において具現化されたコンピュータ・プログラム製品の形態を取ってよい。
【００６８】
また、コンピュータ・システム／サーバ７０２は、キーボード、ポインティング・デバイス、ディスプレイ７２２などの１つまたは複数の外部デバイス７２０、ユーザがコンピュータ・システム／サーバ７０２と情報をやりとりできるようにする１つまたは複数のデバイス、またはコンピュータ・システム／サーバ７０２が１つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス（例えば、ネットワーク・カード、モデムなど）、あるいはその組み合わせと通信してもよい。このような通信は、Ｉ／Ｏインターフェイス７２４を介して行うことができる。さらに、コンピュータ・システム／サーバ７０２は、ローカル・エリア・ネットワーク（ＬＡＮ：local area network）、一般的な広域ネットワーク（ＷＡＮ：wide area network）、またはパブリック・ネットワーク（例えば、インターネット）、あるいはその組み合わせなどの１つまたは複数のネットワークと、ネットワーク・アダプタ７２６を介して通信することができる。図示されているように、ネットワーク・アダプタ７２６は、バスを介してコンピュータ・システム／サーバ７０２の他のコンポーネントと通信する。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム／サーバ７０２と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【００６９】
システム、方法、およびコンピュータ・プログラムのうちの少なくとも１つの実施形態例が添付の図面において示され、前述の詳細な説明において説明されたが、本出願が、開示された実施形態に限定されず、以下の特許請求の範囲によって示され、定義されているように、多数の再配置、変更、および置き換えを行うことができるということが理解されるであろう。例えば、さまざまな図のシステムの機能は、本明細書に記載されたモジュールまたはコンポーネントのうちの１つまたは複数によって、あるいは分散アーキテクチャにおいて実行することができ、送信器、受信器、またはその両方のペアを含んでよい。例えば、個々のモジュールによって実行される機能の全部または一部は、それらのモジュールのうちの１つまたは複数によって実行されてよい。さらに、本明細書に記載された機能は、さまざまな時間に、さまざまなイベントに関して、モジュールまたはコンポーネントの内部または外部で、実行されてよい。また、さまざまなモジュールの間で送信される情報は、データ・ネットワーク、インターネット、音声ネットワーク、インターネット・プロトコル・ネットワーク、無線デバイス、有線デバイスのうちの少なくとも１つを介して、または複数のプロトコルを介して、あるいはその組み合わせを介して、モジュール間で送信され得る。また、モジュールのいずれかによって送信または受信されるメッセージは、直接的に、または他のモジュールのうちの１つまたは複数を介して、あるいはその両方によって、送信または受信されてよい。
【００７０】
当業者は、「システム」を、パーソナル・コンピュータ、サーバ、コンソール、ＰＤＡ（personal digital assistant）、携帯電話、タブレット・コンピューティング・デバイス、スマートフォン、または任意のその他の適切なコンピューティング・デバイス、あるいはデバイスの組み合わせとして具現化できるということを、理解するであろう。「システム」によって実行されている前述の機能を提示することは、本出願の範囲を限定するように全く意図されておらず、多くの実施形態のうちの１つの例を提供するよう意図されている。実際に、本明細書で開示された方法、システム、および装置は、計算技術に一致する局所的な分散された形態で実装されてよい。
【００７１】
本明細書において説明されたシステムの特徴の一部が、それらの実装の独立性を特に強調するために、モジュールとして提示されていることに、注意するべきである。例えば、モジュールは、カスタム超大規模集積（ＶＬＳＩ：very large-scale integration）回路またはゲート・アレイ、論理チップなどの市販の半導体、トランジスタ、またはその他の個別のコンポーネントを備えているハードウェア回路として実装されてよい。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理デバイス、グラフィックス処理ユニットなどの、プログラム可能なハードウェア・デバイスにおいて実装されてもよい。
【００７２】
モジュールは、さまざまな種類のプロセッサによって実行するために、ソフトウェアにおいて少なくとも部分的に実装されてもよい。例えば、実行可能コードの識別されたユニットは、例えばオブジェクト、プロシージャ、または関数として編成されてよいコンピュータ命令の１つまたは複数の物理的または論理的ブロックを備えてよい。それにもかかわらず、識別されたモジュールの実行ファイルは、物理的に一緒に配置される必要はなく、異なる位置に格納された異種の命令を含んでよく、それらの命令は、論理的に一緒に結合された場合にモジュールを構成し、モジュールの規定された目的を達成する。さらに、モジュールはコンピュータ可読媒体に格納されてよく、このコンピュータ可読媒体は、例えば、ハード・ディスク・ドライブ、フラッシュ・デバイス、ランダム・アクセス・メモリ（ＲＡＭ）、テープ、またはデータの格納に使用される任意のその他の媒体であってよい。
【００７３】
実際に、実行可能コードのモジュールは、単一の命令であるか、または多くの命令であることができ、複数の異なるコード・セグメントにわたって、異なるプログラム間および複数のメモリ・デバイスにまたがって、分散されてもよい。同様に、操作可能なデータが、識別され、本明細書ではモジュール内で示されてよく、任意の適切な形態で具現化され、任意の適切な種類のデータ構造内で編成されてよい。操作可能なデータは、単一のデータ・セットとして収集されてよく、または異なるストレージ・デバイスを含む、異なる位置にわたって分散されてよく、システムまたはネットワーク上の単なる電子信号として、少なくとも部分的に存在してよい。
【００７４】
本明細書の図において概略的に説明され、示されているように、本出願のコンポーネントが、多種多様な異なる構成で配置および設計されてよいということが、容易に理解されるであろう。したがって、実施形態の詳細な説明は、請求される本出願の範囲を限定するよう意図されておらず、単に、本出願の選択された実施形態を表している。
【００７５】
当業者は、開示された順序とは異なる順序でステップを使用して、または開示された構成におけるハードウェア要素とは異なるハードウェア要素を使用して、あるいはその両方を使用して、前述の内容を実践できるということを、容易に理解するであろう。したがって、本出願は、これらの好ましい実施形態に基づいて説明されたが、特定の変更、変形、および代替の構造が明白であるということは、当業者にとって明らかであろう。
【００７６】
本出願の好ましい実施形態が説明されたが、説明された実施形態が単なる例であり、それらの実施形態と同等のものおよびそれらの実施形態に対する変更の完全な範囲（例えば、プロトコル、ハードウェア・デバイス、ソフトウェア・プラットフォームなど）で考えた場合、本出願の範囲が添付の特許請求の範囲のみによって定義されるべきであるということが、理解されるべきである。
【符号の説明】
【００７７】
１００  ブロックチェーン・システム
１０４  ユーザ・デバイス
１０８  ブロックチェーン・ネットワーク
１１２  ブロックチェーン・ノード
１１６  インセンティブ管理機能
１２０  トランザクション
２００  ブロックチェーン・アーキテクチャ
２０２  ブロックチェーン・ノード
２１２  ブロックチェーン・ベースまたはプラットフォーム
２１４  物理的コンピュータ・インフラストラクチャ
２１６  ブロックチェーン層
２１８  暗号信用サービス
２２０  プログラム／アプリケーション・コード
２２２  アプリケーション・プログラミング・インターフェイス
２２４  アプリケーション
２６０  アプリケーション・クライアント・ノード
２８１  署名ピア・ノード
２８４  順序付けサービス・ノード
２９１  トランザクション提案
２９２  提案応答
２９３  トランザクションのペイロード
２９４  トランザクション
３０２  ブロックチェーン・ユーザ
３１０  許可型ブロックチェーン・ネットワーク
３１２  ピア・ノード
３１４  規制者システム
３１６  ブロックチェーン開発者システム
３１８  認証局
３２０  処理プラットフォーム
３３０  データ・ソース
４１０  ユーザ
４２０  ブロックチェーン・ノード
４３０  料金台帳
６１０  物理的インフラストラクチャ
６２０  ブロックチェーン
６４０  スマート・コントラクト
６５２  ユーザ・デバイス、エンティティ
６５４  サーバ
６５６  ユーザ・デバイス、エンティティ
７００  コンピュータ・システム・アーキテクチャ、クラウド・コンピューティング・ノード
７０２  コンピュータ・システム／サーバ
７０４  処理ユニット
７０６  システム・メモリ
７１０  ランダム・アクセス・メモリ
７１２  キャッシュ・メモリ
７１４  ストレージ・システム
７１６  プログラム／ユーティリティ
７１８  プログラム・モジュール
７２０  外部デバイス
７２２  ディスプレイ
７２４  Ｉ／Ｏインターフェイス
７２６  ネットワーク・アダプタ
【図１】
2019160316.tif 000003
【図２】
2019160316.tif 000004
【図３】
2019160316.tif 000005
【図４】
2019160316.tif 000006
【図５】
2019160316.tif 000007
【図６】
2019160316.tif 000008
【図７】
2019160316.tif 000009
【図８】
2019160316.tif 000010
【図９】
2019160316.tif 000011
【図１０】
2019160316.tif 000012
【図１１】
2019160316.tif 000013