(57)【要約】【課題】様々な目的のためにトランザクションのブロックチェーンを参照することができ、台帳検証および情報検索のために当事者が後でアクセスすることができるようにする。【解決手段】一例は、トランザクションのコミットメント手続き時に候補トランザクションを特定することと、アカウントに関連付けられたコミットされたトランザクションを取り出すことと、候補トランザクションに関連付けられた優先度を判断することと、コミットされたトランザクションに関連付けられたデータの優先度を判断することと、候補トランザクションに関連付けられた優先度をコミットされたトランザクションに関連付けられたデータの優先度と比較することと、候補トランザクションをブロックチェーンにコミットするか候補トランザクションを拒否するかを判断することとのうちの１つまたは複数を含むことができる。【選択図】図６
2019004463.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
トランザクション・コミットメント手続き時に候補トランザクションを特定することと、
アカウントに関連付けられたコミットされたトランザクションを取り出すことと、
前記候補トランザクションに関連付けられた優先度を判断することと、
前記コミットされたトランザクションに関連付けられたデータの優先度を判断することと、
前記候補トランザクションに関連付けられた前記優先度を前記コミットされたトランザクションに関連付けられたデータの前記優先度と比較することと、
前記候補トランザクションをブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断することと
を含む方法。
【請求項２】
前記候補トランザクションに関連付けられた金額を判断することと、
前記コミットされたトランザクションに関連付けられた前記データを判断することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記候補トランザクションに関連付けられたスクリプトを特定することをさらに含み、前記スクリプトは、予定支払い金額と、予定支払い日と、発信アカウントと、宛先アカウントと、支払い条件と、前記候補トランザクションの契約当事者によって検証された秘密鍵とのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項４】
前記データを１つまたは複数の予定支払いとして特定することと、
前記予定支払いの優先度と債務額とを特定することと、
前記候補トランザクションに関連付けられた前記優先度および債務額を前記予定支払いの前記優先度および債務額と比較することと、
前記比較に応答して、前記候補トランザクションを前記ブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断することと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記ブロックチェーンから優先度ツリー・データ構造を取り出すことと、
前記優先度ツリー構造から前記予定支払いを特定することと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記候補トランザクションに関連付けられた前記優先度は日付を含む、請求項１に記載の方法。
【請求項７】
前記データに関連付けられた予定支払いリストを特定することと、
前記予定支払いリスト内のすべての予定支払いの署名を検証することと、
１つまたは複数の未処理の予定支払いを特定することと、
前記未処理の予定支払いに担保アカウントがリンクされているかを検証することと
をさらに含む、請求項１に記載の方法。
【請求項８】
プロセッサを含む装置であって、
トランザクション・コミットメント手続き時に候補トランザクションを特定し、
アカウントに関連付けられたコミットされたトランザクションを取り出し、
前記候補トランザクションに関連付けられた優先度を判断し、
前記コミットされたトランザクションに関連付けられたデータの優先度を判断し、
前記候補トランザクションに関連付けられた前記優先度を前記コミットされたトランザクションに関連付けられたデータの前記優先度と比較し、
前記候補トランザクションをブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断する
手段を具備する、装置。
【請求項９】
前記装置は、
前記候補トランザクションに関連付けられた金額を判断し、
前記コミットされたトランザクションに関連付けられた前記データを判断する
手段をさらに具備する、請求項８に記載の装置。
【請求項１０】
前記装置は、
前記候補トランザクションに関連付けられたスクリプトを特定するようにさらに構成され、前記スクリプトは、予定支払い金額と、予定支払い日と、発信アカウントと、宛先アカウントと、支払い条件と、前記候補トランザクションの契約当事者によって検証された秘密鍵とのうちの１つまたは複数を含む、請求項８に記載の装置。
【請求項１１】
前記装置は、
前記データを１つまたは複数の予定支払いとして特定し、
前記予定支払いの優先度と債務額とを特定し、
前記候補トランザクションに関連付けられた前記優先度および債務額を前記予定支払いの前記優先度および債務額と比較し、
前記比較に応答して、前記候補トランザクションを前記ブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断する
手段をさらに具備する、請求項８に記載の装置。
【請求項１２】
前記装置は、
前記ブロックチェーンから優先度ツリー・データ構造を取り出し、
前記優先度ツリー構造から前記予定支払いを特定する
手段をさらに具備する、請求項１１に記載の装置。
【請求項１３】
前記候補トランザクションに関連付けられた前記優先度は日付を含む、請求項８に記載の装置。
【請求項１４】
前記装置は、
前記データに関連付けられた予定支払いリストを特定し、
前記予定支払いリスト内のすべての予定支払いの署名を検証し、
１つまたは複数の未処理の予定支払いを特定し、
前記未処理の予定支払いに担保アカウントがリンクされているかを検証する
手段をさらに具備する、請求項８に記載の装置。
【請求項１５】
請求項１から７のいずれか一項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【請求項１６】
請求項１５に記載のコンピュータ・プログラムを記載したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般にはトランザクションのコミットメントの管理に関し、より詳細にはブロックチェーンにおけるトランザクションの実行および妥当性確認に関する。
【背景技術】
【０００２】
任意の種類の情報を記憶するためのパブリック台帳として、ブロックチェーンを使用することができる。ブロックチェーンは主として金融トランザクションに使用されるが、資産（すなわち、製品、パッケージ、サービス、ステータスなど）を含む、どのような種類の情報でも記憶することができる。ブロックチェーンを使用して、任意種類の情報をブロックチェーンの不変台帳（ledger）に安全に記憶することができる。分散型コンセンサスは、１つの中央データベースを使用してトランザクション妥当性を規定する場合などの従来の集中型コンセンサスとは異なる。分散方式は、権限と信用を分散型ネットワークに委譲し、そのネットワークのノードがそれぞれのトランザクションをパブリック「ブロック」に連続的かつ順次に記録することができるようにし、ブロックチェーンと呼ばれる固有の「チェーン」を作成する。ハッシュ・コードによる暗号技術を使用して、トランザクション・ソースの認証を安全にするとともに、中央の介在の必要をなくす。
【０００３】
ブロックチェーンの異なるインスタンス上のスマート・コントラクトの大多数によってサポートされているリアルタイム・トランザクションを除き、金融業界ではコミットされたトランザクションがますます使用されるようになっている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ますます普及する可能性が高いコミットされたトランザクションの例としては、債務の決済、担保の決済、分割ローン／分割払い、ローン、個人間貸付などがある。「ｎｅｔ  Ｄ」は、国際取引の社会で一般的に用いられる商習慣であり、例えば、「ｎｅｔ３０」という表記は、３０日以内に全額支払いが求められることを示す。金融サービス管理のために一般的に使用されているかまたは広く受け入れられている任意の商習慣を、ブロックチェーン・インフラストラクチャに適応化させる必要がある可能性がある。
【課題を解決するための手段】
【０００５】
例示の一動作方法は、トランザクション・コミットメント手続き時に候補トランザクションを特定することと、アカウントに関連付けられたコミットされたトランザクションを取り出すことと、前記候補トランザクションに関連付けられた優先度を判断することと、前記コミットされたトランザクションに関連付けられたデータの優先度を判断することと、前記候補トランザクションに関連付けられた前記優先度を前記コミットされたトランザクションに関連付けられたデータの前記優先度と比較することと、前記候補トランザクションをブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断することとを含むことができる。
【０００６】
別の例示の一実施形態は、プロセッサを含む装置であって、前記プロセッサは、トランザクション・コミットメント手続き時に候補トランザクションを特定し、アカウントに関連付けられたコミットされたトランザクションを取り出し、前記候補トランザクションに関連付けられた優先度を判断し、前記コミットされたトランザクションに関連付けられたデータの優先度を判断し、前記候補トランザクションに関連付けられた前記優先度を前記コミットされたトランザクションに関連付けられたデータの前記優先度と比較し、前記候補トランザクションをブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断するように構成された装置を含むことができる。
【０００７】
さらに別の例示の一実施形態は、命令を記憶するように構成された非一時的コンピュータ可読記憶媒体であって、前記命令は実行されるとプロセッサに、トランザクション・コミットメント手続き時に候補トランザクションを特定することと、アカウントに関連付けられたコミットされたトランザクションを取り出すことと、前記候補トランザクションに関連付けられた優先度を判断することと、前記コミットされたトランザクションに関連付けられたデータの優先度を判断することと、前記候補トランザクションに関連付けられた前記優先度を前記コミットされたトランザクションに関連付けられたデータの前記優先度と比較することと、前記候補トランザクションをブロックチェーンにコミットするかまたは前記候補トランザクションを拒否するかを判断することとを実行させる非一時的コンピュータ可読記憶媒体を含むことができる。
【図面の簡単な説明】
【０００８】
【図１】例示の実施形態による非マイナ・ピア・ノード構成を示す図である。
【図２】例示の実施形態によるマイナ・ピア・ノード構成を示す図である。
【図３】例示の実施形態によるアカウント管理のためのツリー構成を示す図である。
【図４】例示の実施形態による支払い処理構成を示す論理流れ図である。
【図５】例示の実施形態による、トランザクション検証および妥当性確認構成を示す論理流れ図である。
【図６】例示の実施形態による、新規トランザクションと既知のトランザクションとブロックチェーンとの相互作用を示すシステム信号方式図である。
【図７】例示の実施形態による、ブロックチェーンにおけるトランザクション妥当性確認を管理する例示の方法を示す流れ図である。
【図８】例示の実施形態によるブロックチェーンにおけるトランザクション妥当性確認を管理する例示の方法を示す別の流れ図である。
【図９】例示の実施形態のうちの１つまたは複数に対応するように構成された例示のネットワーク・エンティティを示す図である。
【発明を実施するための形態】
【０００９】
本明細書で一般的に説明し、図面に示す本出願の構成要素は、多様な異なる構成で構成および設計することができることが容易にわかるであろう。したがって、添付図面に示されている方法、装置、非一時的コンピュータ可読媒体およびシステムのうちの少なくとも１つの以下の実施形態の詳細な説明は、特許請求の範囲に記載されている本出願の範囲を限定することを意図したものではなく、選択された実施形態を代表しているに過ぎない。
【００１０】
本明細書全体を通して記載されている本出願の特徴、構造または特性は、１つまたは複数の実施形態において任意の適合する方式で組み合わせてもよい。例えば、本明細書全体を通じて、「例示の実施形態」、「実施形態によっては」という語句またはその他の同様の表現は、その実施形態に関連して記載されている特定の特徴、構造または特性が、少なくとも１つの実施形態に含まれ得ることを指す。したがって、本明細書全体を通じて「例示の実施形態」、「実施形態によっては」、「他の実施形態では」という語句またはその他の同様の表現は、必ずしもすべてが実施形態の同じグループを指すとは限らず、記載されている特徴、構造または特性を１つまたは複数の実施形態において任意の適合する方式で組み合わせてもよい。
【００１１】
さらに、実施形態の説明で「メッセージ」という用語を使用していることがあるが、本出願は、パケット、フレーム、データグラムなどの多くの種類のネットワーク・データに適用することができる。「メッセージ」という用語は、パケット、フレーム、データグラムおよびこれらのあらゆる同等物も含む。また、例示の実施形態において特定の種類のメッセージおよび信号方式を示すことがあるが、それらは特定の種類のメッセージには限定されず、本出願は特定の種類の信号方式には限定されない。
【００１２】
本出願は、一実施形態では信用台帳におけるトランザクションのコミットメントを管理することに関し、別の実施形態では新規トランザクションを特定することと、それらの新規トランザクションをコミットするか否かを判断するためにそれらのトランザクションを既知のトランザクション・データと比較することとに関する。
【００１３】
例示の実施形態は、ブロックチェーンに記憶され、編成され、アクセスされるユーザ・アカウント情報を提供する。また、ブロックチェーンに対してコミットされようとしている新規トランザクションであって、妥当ではない新規トランザクションを含む可能性のあるアカウントは、アカウント更新プロセスによって停止または「凍結」することができる。トランザクションが正常に妥当性確認された場合、そのトランザクションはブロックチェーンにコミットすることができ、ユーザ・アカウント情報に反映させることができる。一般に、コミットされたトランザクションは、法が支持されることを可能にするコントラクト上の署名または押印がある場合に正当である。ブロックチェーンは、特定のコントラクトを支持するための必要な証拠となるデジタル署名を含むデジタル・コントラクトに対する、オフライン署名および押印プロセスを可能にする。自分のアカウントからトランザクションを許可することができるため、疑わしい、または妥当でないアカウントがある場合、そのアカウントを凍結することができる。一例として、ユーザＡは、別のユーザＢに１００ドルを支払う必要があるとする。当日、ユーザＡは自分のアカウントに２００ドルが入金されたが、この金額はユーザＢに対する予定された１００ドルの支払いを実行せずに、ただちに送金された。この場合、ユーザＡのアカウントにある１００ドルはユーザＢのために凍結されるため、ブロックチェーン・システムによって２回目の送金は処理されないことになる。アカウントを効率的に凍結するために、特に、期限時刻またはその他の条件が異なる複数種類のコミットされたトランザクションがある場合には、現在のユーザ・アカウント残高に関係なく、より早い予定支払い日を有するより後の特定のコミットされたトランザクションを提供することができる。
【００１４】
図１に、例示の実施形態による非マイナ・ピア・ノード構成を示す。図１を参照すると、この例１００は、ピア・マネージャ・ノード１１２と、ウォレット・モジュール１１４と、トランザクション・データのブロックチェーン記憶部１１６と、リアルタイム・トランザクション用テンプレート１１８と、コミット済みトランザクション用テンプレート１２２とを有し得る、ブロックチェーンに加わる非マイナ・ノード１１０を含む。コミットされたブロックチェーン・トランザクションの大多数は、一般に、特定のテンプレートには準拠しない。しかし、特にユーザ・アカウント残高を決算し、トランザクション優先度およびその他の必要なトランザクション情報を特定しようとする場合には、データを体系化し、データにアクセスするために、テンプレートに準拠する必要がある。
【００１５】
図２に、例示の実施形態によるマイナ・ピア・ノード構成を示す。図２を参照すると、マイナ・ノード構成１５０は、ピア・マネージャ１３２、ウォレット１３４、ブロックチェーン・データのブロックチェーン記憶部１３６、リアルタイム・トランザクション検証モジュール１４２など、様々なモジュールを備えた例示のマイナ・ノード１３０を含む。さらに、アカウントを凍結するか否か１４４、および、前もって将来の支払いを計画するか否か１４６の決定は、ブロックチェーン・データを調べ、後の予定支払いのため、または特定の結果を保留にするアカウントの凍結を決定するため、あるいはその両方のために利用可能性を確認することができるか否かを判断する論理を必要とする。認識されず、履歴のない支払い、例えば抵当権付き住宅ローンではない支払いのためのアカウントが凍結される場合があり、車の支払いまたはその他の一般的な普通の支払いでは拒否の疑いがあってアカウント凍結などが生じることがある。
【００１６】
図３に、例示の実施形態によるアカウント管理のためのツリー構成を示す。図３において、コミット済みトランザクション用基本テンプレートは、日付、「送金元」アカウント番号、「送金先」アカウント番号、金額および担保アカウント番号などの情報を含むことができる。アカウントに関連付けられたコミットされたトランザクションはすべて、妥当性確認プロセスで考慮される必要がある。この構成では、ブロックチェーンにはデータとしてトランザクションだけではなく、予定支払い（すなわち将来の支払い）も記憶される。トランザクションが予定支払いの実行である場合、そのトランザクションは、ブロックチェーンのトランザクション・データに記憶されている予定支払い識別子を参照する必要がある。使用されるトランザクション・テンプレートは、支払い日と支払い額とデジタル署名とを含む。優先度ツリー構成は、アカウントを凍結するための迅速な検証を可能にする。キャッシュが、未使用トランザクション・アウトプット（ＵＴＸＯ）のキー値データベースと、予定支払いのツリー構造とを維持する。この構成１７０では、アカウントごとにツリー構造が維持される。この例では、複数のアカウント１７２ないし１７６が存在することができる。例えば、１つの特定のアカウント１７４では、ツリーは年１７８、月１８２を特定するデータを維持し、その他の時間枠単位を特定してもよい。一実施形態では、データは債務の決済、担保の決済、担保の決済、分割ローン／分割払い、ローン、個人間貸付、名前、住所、電話番号、生体認証情報、日付、時刻、デバイスの種類、通貨、金融保証などを含むことができる。
【００１７】
金融の例では、相対的時間枠ごとに支払い／債務の総額を容易に特定することができる。この例では、最初の支払い１８４は特定の時間枠の支払いであり、異なる期間については他の支払い１８６および１８８が特定される。このツリー構造は、特定の時点または時間（すなわち１日）の前の債務の総額を計算する手立てとなる。ツリー内のノードは、指定日より前であるために参照を必要としない場合があり、現在の支払い計画プロセスの計算手続きにとってまったく関係がない場合がある。
【００１８】
例示の実施形態によると、新規の金融トランザクションを特定することができ、そのトランザクションの設定照会優先度は、期限切れであるが未実行のコミットされたすべてのトランザクションの中で最も低くすることができる。日付を例にとると、優先度は当日（すなわち本日）に設定することができる。ツリー構成は、昨日までに支払うべき金額を合計ツリーから二分探索法により、迅速に検索することができるようにする。アカウント残高＜未払い金額の場合、この現在の金融トランザクションは拒否され得る。アカウント残高＞＝未払い金額の場合、この金融トランザクションは、他の検証が成功すれば受け入れられ得る。
【００１９】
別の例では、コミットされたトランザクションに対する新規支払いが特定され、照会優先度が、コミットされたトランザクションにおいて指定された優先度に設定され、これが新規支払いトランザクションによって参照される。要求された支払いよりも高い優先度を有する予定支払いの金額を、新規支払いトランザクションの基礎とすることができる。それら支払いが特定され、より優先度が高い未払い金額＞新規支払い後のアカウント残高である場合、この新規金融トランザクションを拒否することができる。より優先度の高い未払い金額＜＝新規支払い後のアカウント残高である場合、他の検証手段が成功すればこの金融トランザクションを受け入れることができる。予定支払いのツリー構造記憶部が、支払い優先度によって枝分かれする非葉ノードを含んでよく、その場合、予定支払い日が優先度判断基準の一例である。非葉ノードごとに合計金額を記憶することができる。マイナ・ノードの迅速な検証プロセスによって、集中型金融システムの「凍結」動作を模倣した最優先トランザクションの実行により、悪意のあるユーザに秘密鍵を知られることなく、アカウントを「凍結」可能な検証論理を提供することができる。この検証論理は、照会優先度を取り出すことと、要求されたトランザクションよりも高い優先度を有する未払い金額の額を検索することと、要求された現在のトランザクションを拒否するかまたは受け入れることとを提供することができる。
【００２０】
図４に、例示の実施形態による支払い処理構成の論理流れ図２００を示す。図４を参照すると、この例は、ノードが新たな予定支払いリスト「ｐ」を受け取ること２１２を含む。この流れを使用して、コミットされたトランザクションの優先度ツリーの維持に含まれるプロセスを示す。第１の判断は、リスト内のすべての署名が、要件に従って完全かつ正しいか否かを判断し２１４、完全かつ正しくない場合、そのリストが拒否されること２１５を含むことができる。また、別の判断を使用して、すべての支払いが処理されたか否かを判断する２１６。すべての支払いが処理された場合、プロセスは完了し２１７、処理されていない場合は、「ｑ」を使用して次の支払い項目を示すことができ、これをキャッシュ内のq.FromAccountのツリーに挿入することができる２１８。また、別の判断は、「ｑ」が担保アカウントを有するか否かの判断であり２２２、有する場合、それをキャッシュ内のq.GuaranteeAccountのツリーに追加することができ２２４、さらに他のトランザクションがあればそのトランザクションについてこのプロセスが繰り返される。
【００２１】
図５に、例示の実施形態によるトランザクション検証および妥当性確認構成の論理流れ図を示す。図５を参照すると、この例２５０は、特定のアカウントを凍結するか否かを判断するために使用可能な様々な動作を含む。このプロセスは、検証対象のトランザクションｔｘと、出金額の合計であるtotalOut値とから開始し、値totalinはゼロである２５２。トランザクション（ｔｘ）が予定支払いを支払うことであるか否かが判断される２５４。予定支払いである場合、キャッシュ内で支払い項目「ｑ」が特定され、ｄがq.dateに設定され、送金元アカウント・ツリーおよび担保アカウント・ツリーのキャッシュ内でｑがマークされる２５６。次に、トランザクション入力および出力が「ｑ」と整合するか否かを判断するための確認が行われる２５８。整合しない場合、妥当性確認は失敗し、キャッシュ内のすべてのマークが消去される２６２。ｔｘが予定支払いを支払うことでない場合、「ｄ」が、優先度を本日現在の最下位に設定するｎｏｗ（）に設定される２５５。次に、まだ検証されていない入力トランザクションがあるか否かが判断される２６１。ない場合、「totalin」値が「totalout」以上であるかが判断され２６３、そうである場合、妥当性確認は成功とみなされ、キャッシュ内のマークされたＵＴＸＯがすべて、マークされたツリー・ノードとともに消去される２６７。「totalin」値が「totalout」値以上でない場合２６３、妥当性確認は失敗し、キャッシュからマークが消去される２６５。２６１でまだ検証されていないトランザクションがある場合、トランザクション値「txin」が次に検証する入力に設定され２６４、ＵＴＸＯキャッシュ内に値「txin.previoustransactionhash」、「txin」および「previoustransactionoutputindex」が存在するか否かが判断され２６６、存在しない場合、妥当性確認は失敗する。存在する場合、値「amount」および「lockscript」が、パラメータ「txin.previoustransactionhash」、「txin」および「previoustransactionoutputindex」とともにcache.get関数の結果に設定され、それによってキャッシュ内のＵＴＸＯをマークする２６８。txin.unlockscriptがロックスクリプトのロックを解除する署名を含むか否かを判断する別の判断が行われる２７２。含む場合、txin.unlockscriptに対応するアカウント「ｕ」が特定され、日付「ｄ」の前の合計負債額が凍結にされ、残高がアカウント内のＵＴＸＯの合計に設定される２７４。含まない場合、「totalin」＋金額が残高−凍結部分以上であるか否かが判断される２７６。そうである場合、妥当性確認は失敗する２６５。そうでない場合、「totalin」が「totalin」＋金額に設定される２７８。
【００２２】
図６に、例示の実施形態による、新規トランザクション３００と既知のトランザクションとブロックチェーンとの相互作用を示すシステム・メッセージング図を示す。図６を参照すると、システム３００は、ソフトウェア、ハードウェア、または両者の組み合わせとすることができるいくつかの構成要素またはモジュールを含むことができる。図６を参照すると、例示のシステムは、第１の構成要素である着信トランザクション３１０と、第２の構成要素である消費者のアカウント情報３２０と、第３の構成要素であるブロックチェーン３３０との間で通信させることができる。動作時、特定のアカウント３２０について新規の候補ブロックチェーン・トランザクション３１２が特定される。アカウントに関する情報が取り出され３１４、この新規のトランザクションの優先度が判断される３１６。これは、トランザクションの内容、アカウント識別子、またはトランザクションに含まれる様々なパラメータのうちのいずれかに基づくことができる。優先度に従って、コミットされたトランザクションも特定される３１８。この新規トランザクションを拒否すべきかコミットすべきかを判断するために３２４、優先度が比較される３２２。この判断で使用されるその他の情報は、アカウント残高およびアカウント履歴であってもよい。この新規トランザクションをコミットするという判断がなされたと仮定すると３２６、ブロックチェーンを更新することができ、この更新をブロックチェーンに反映させる３３２ためにユーザ・アカウント情報３２８も更新することができる。
【００２３】
一実施形態では、第１の構成要素と第２の構成要素と第３の構成要素とは、サーバ、コンピュータまたはその他の計算デバイスなどの別々のデバイスまたは単一のデバイスとすることができる。他の実施形態では、第１の構成要素と第２の構成要素とが単一のデバイスとして収納され、または動作してよく、第１の構成要素と第３の構成要素とが単一のデバイスとして収納され、または動作してもよく、第２の構成要素と第３の構成要素とが単一のデバイスとして収納され、または動作してもよい。これらの構成要素またはデバイス３１０、３２０および３３０は、互いに直接接続されるか、または有線または無線方式で互いに通信可能に結合されてよく、ローカルまたはリモートあるいはその両方に存在してもよい。
【００２４】
図７に、例示の実施形態による、ブロックチェーンにおけるトランザクション妥当性確認の管理の一例の流れ図を示す。図７を参照すると、この方法４００は、トランザクション・コミットメント手続き時に候補トランザクションを特定すること４１２と、アカウントに関連付けられたコミットされたトランザクションを取り出すこと４１４と、候補トランザクションに関連付けられた優先度を判断すること４１６と、コミットされたトランザクションに関連付けられたデータの優先度を判断すること４１８と、候補トランザクションに関連付けられた優先度をコミットされたトランザクションに関連付けられたデータの優先度と比較すること４２２と、ブロックチェーンに候補トランザクションをコミットするかまたは候補トランザクションを拒否するかを判断すること４２４とを含むことができる。
【００２５】
この方法は、候補トランザクションに関連付けられた金額を判断することと、コミットされたトランザクションに関連付けられたデータを判断することとをさらに含むことができる。また、この方法は、候補トランザクションに関連付けられた、予定支払い額と、予定支払い日と、発信アカウントと、宛先アカウントと、支払い条件と、この候補トランザクションの契約当事者によって検証された秘密鍵とのうちの１つまたは複数を含むスクリプトを特定することと、データを１つまたは複数の予定支払いとして特定することと、予定支払いの優先度および債務額を特定することと、候補トランザクションに関連付けられた優先度および債務額を予定支払いの優先度および債務額と比較することと、この比較に応答して、ブロックチェーンに候補トランザクションをコミットするか、この候補トランザクションを拒否するかを判断することとを含むことができる。この方法は、ブロックチェーンから優先度ツリー・データ構造を取り出すことと、優先度ツリー構造から予定支払いを特定することとをさらに設けることができる。候補トランザクションに関連付けられた優先度は、いくつかある属性の中でも、優先度を特定するために使用される日付を含むことができる。また、この方法は、データに関連付けられた予定支払いリストを特定することと、予定支払いリスト内のすべての予定支払いの署名を検証することと、１つまたは複数の未処理の予定支払いを特定することと、未処理の予定支払いに担保アカウントがリンクされているか否かを検証することとを含むことができる。
【００２６】
図８に、例示の実施形態によるブロックチェーンにおけるトランザクション妥当性確認の管理の一例の別の流れ図を示す。この方法４５０は、トランザクション・コミットメント手続き時に候補トランザクションを特定すること４５２と、以前にコミットされたトランザクションを特定すること４５４と、以前にコミットされたトランザクションに基づいて現在利用可能な見積残高を特定すること４５６と、以前にコミットされたトランザクションに関連付けられた内容に基づいて以前にコミットされたトランザクションの優先度を判断すること４５８と、以前にコミットされたトランザクションの内容と候補トランザクションの内容とに基づいて候補トランザクションに優先度を割り当てること４６２と、候補トランザクションの優先度に基づいて、ブロックチェーンに候補トランザクションをコミットするか候補トランザクションを拒否するかを判断すること４６４とを含むことができる。
【００２７】
トランザクションがコミットされるとき、それらのトランザクションの内容がブロックチェーンに記憶され、消費者の支出傾向を特定するために取り出すことができる。保留トランザクションは、以前のトランザクションと現在の保留トランザクションとに優先度を割り当てることができるようになるまで保留状態にすることができる。例えば、前のトランザクションが、消費者が自分の車の支払いと不動産ローン支払いとをすぐに支払っているが、他の様々な支払いについては延滞する場合、候補トランザクションの内容を特定し、コミットされたトランザクションと比較して候補トランザクションの現在割り当てられている優先度を特定し、次にこの優先度を使用して、この消費者が現在の候補トランザクションを含む債務を支払う可能性が高いか否かを判断することができる。
【００２８】
上述の実施形態は、ハードウェアで、またはプロセッサによって実行されるコンピュータ・プログラムで、またはファームウェアで、またはこれらの組み合わせで実装可能である。コンピュータ・プログラムは、記憶媒体などのコンピュータ可読媒体上に具現化することができる。例えば、コンピュータ・プログラムは、ランダム・アクセス・メモリ（「ＲＡＭ」）、フラッシュ・メモリ、読み取り専用メモリ（「ＲＯＭ」）、消去可能プログラマブル読み取り専用メモリ（「ＥＰＲＯＭ」）、電気的消去可能プログラマブル読み取り専用メモリ（「ＥＥＰＲＯＭ」）、レジスタ、ハード・ディスク、取り外し可能ディスク、コンパクト・ディスク読み取り専用メモリ（「ＣＤ−ＲＯＭ」）、または、当技術分野で知られているその他の任意の形態の記憶媒体に存在することができる。
【００２９】
プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに例示の記憶媒体を結合することができる。別の態様では、記憶媒体はプロセッサと一体であってもよい。プロセッサと記憶媒体とは、特定用途向け集積回路（「ＡＳＩＣ」）に存在してもよい。別の態様では、プロセッサと記憶媒体とが別個の構成要素として存在してもよい。例えば、図９に、上記の構成要素などのうちのいずれかを表すかまたはいずれかに集積可能な例示のネットワーク要素５００を示す。
【００３０】
図９に示すように、メモリ５１０とプロセッサ５２０とは、本明細書に記載のアプリケーションまたは一組の動作を実行するために使用される、ネットワーク・エンティティ５００の個別の構成要素とすることができる。アプリケーションは、ソフトウェアにおいてプロセッサ５２０が理解するコンピュータ言語でコーディングすることができ、メモリ５１０などのコンピュータ可読媒体に記憶することができる。コンピュータ可読媒体は、ソフトウェアを記憶することができるメモリなどの有形のハードウェア構成要素を含む、非一時的コンピュータ可読媒体であってよい。また、ソフトウェア・モジュール５３０は、ネットワーク・エンティティ５００の一部であって本明細書に記載の機能のうちの１つまたは複数を実現するためにプロセッサ５２０によって実行可能なソフトウェア命令を含む、別の個別のエンティティとすることができる。ネットワーク・エンティティ５００の上記の構成要素に加えて、ネットワーク・エンティティ５００は、通信信号（図示せず）を受信し、送信するように構成された、送信機と受信機の対も有することができる。
【００３１】
システム、方法および非一時的コンピュータ可読媒体のうちの少なくとも１つの例示の実施形態について添付図面に示し、上記の詳細な説明で説明したが、本出願は開示した実施形態には限定されず、以下の特許請求の範囲に記載され、定義される多くの再構成、変更および代替が可能であることがわかるであろう。例えば、様々な図面のシステムの機能は本明細書に記載のモジュールまたは構成要素のうちの１つまたは複数によって、または分散アーキテクチャで実行することができ、送信機、受信機または両者の対を含むことができる。例えば、個々のモジュールによって実行される機能の全部または一部がこれらのモジュールのうちの１つまたは複数のモジュールによって実行されてもよい。さらに、本明細書に記載の機能は、様々な時点に、モジュールまたは構成要素の内部または外部の様々な事象に関連して実行することができる。また、様々なモジュール間で送信される情報は、データ・ネットワーク、インターネット、音声ネットワーク、インターネット・プロトコル・ネットワーク、無線デバイス、有線デバイスのうちの少なくとも１つを介して、または複数のプロトコルを介して、あるいはこれらの両方によってモジュール間で送信することができる。また、モジュールのうちのいずれかによって送信または受信されるメッセージは、直接、または他のモジュールのうちの１つまたは複数を介して、あるいはその両方によって送信または受信することができる。
【００３２】
当業者は、「システム」がパーソナル・コンピュータ、サーバ、コンソール、携帯情報端末（ＰＤＡ）、携帯電話、タブレット・コンピューティング・デバイス、スマートフォン、またはその他の任意の適合するコンピューティング・デバイス、あるいはデバイスの組み合わせとして具現化可能であることがわかるであろう。上述の機能を「システム」によって実行されるものとして示したことは、本出願の範囲をいかなる意味でも限定することを意図したものではなく、多くの実施形態の一例を示すことを意図したものである。実際に、本明細書で開示されている方法、システムおよび装置は、コンピューティング技術と整合する局所化形態または分散形態で実装可能である。
【００３３】
実装の独立性をよりはっきりと強調するために、本明細書に記載のシステムの特徴の一部をモジュールとして示したことに留意されたい。例えば、モジュールは、超大規模集積（ＶＬＳＩ）回路またはゲート・アレイ、ロジック・チップ、トランジスタ、またはその他の個別構成要素などのオフ・ザ・シェルフ半導体として実装可能である。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイス、グラフィクス処理ユニットなどのプログラマブル・ハードウェア・デバイスで実装することもできる。
【００３４】
モジュールは、様々な種類のプロセッサによる実行のために少なくとも一部をソフトウェアで実装することもできる。例えば、実行可能コードの知られているユニットは、例えばオブジェクト、プロシージャまたは関数として編成可能なコンピュータ命令の１つまたは複数の物理ブロックまたは論理ブロックを含むことができる。しかし、知られているモジュールの実行可能コードは物理的に一緒に配置される必要はなく、論理的に一緒に結合されるとモジュールを構成し、モジュールの言及された目的を実現する、異なる場所に記憶された別々の命令を含んでもよい。また、モジュールは、例えばハード・ディスク・ドライブ、フラッシュ・デバイス、ランダム・アクセス・メモリ（ＲＡＭ）、テープ、またはデータを記憶するために使用されるその他の任意の媒体とすることができるコンピュータ可読媒体に記憶してもよい。
【００３５】
実際に、実行可能コードのモジュールは、単一の命令または多くの命令とすることができ、異なるプログラムにわたり、いくつかのメモリ・デバイスにわたっていくつかの異なるコード区分に均等に分散されてもよい。同様に、本明細書ではモジュール内でオペレーショナル・データを特定し、示している場合があり、これは、任意の適合する形態で具現化可能であり、任意の適合する種類のデータ構造内で編成可能である。オペレーショナル・データは、単一のデータ・セットとしてまとめてもよく、または、異なる記憶デバイスを含む異なる場所に分散してもよく、少なくとも一部が、単にシステムまたはネットワーク上の電子信号として存在してもよい。
【００３６】
本明細書で一般的に説明し、図面に示されている本出願の構成要素は、多様な異なる構成で構成し、設計することができることが容易にわかるであろう。したがって、実施形態の詳細な説明は、特許請求の範囲に記載されている本出願の範囲を限定することを意図したものではなく、単に本出願の選択された実施形態を代表しているに過ぎない。
【００３７】
当業者は、上記が、異なる順序のステップを使用して、または開示されているものとは異なる構成におけるハードウェア要素を使用して、あるいはその両方により実践してもよいことが容易にわかるであろう。したがって、本出願について上記の好ましい実施形態に基づいて説明したが、特定の変更、変形および代替構成が明らかとなることが、当業者には明らかであろう。
【００３８】
本出願の好ましい実施形態について説明したが、記載されている実施形態は例示に過ぎず、本出願の範囲は、（例えばプロトコル、ハードウェア・デバイス、ソフトウェア・プラットフォームなど）そのすべての均等物および変更を含めて考慮した場合の添付の特許請求の範囲によってのみ定義されるべきであることを理解すべきである。
【符号の説明】
【００３９】
１１０  非マイナ・ピア
１１２  ピア・マネージャ
１１４  ウォレット
１１６  ブロックチェーン記憶部
１１８  リアルタイム・トランザクション用テンプレート
１２２  コミット済みトランザクション用テンプレート
１３０  マイナ・ノード
１３２  ピア・マネージャ
１３４  ウォレット
１３６  ブロックチェーン記憶部
３１０  トランザクション
３２０  アカウント情報
３３０  ブロックチェーン
５２０  プロセッサ
５１０  メモリ
５３０  ソフトウェア・モジュール
【図１】
2019004463.tif 000003
【図２】
2019004463.tif 000004
【図３】
2019004463.tif 000005
【図４】
2019004463.tif 000006
【図５】
2019004463.tif 000007
【図６】
2019004463.tif 000008
【図７】
2019004463.tif 000009
【図８】
2019004463.tif 000010
【図９】
2019004463.tif 000011