実施態様は本明細書では例として説明されているが、当業者は、実施態様は説明される例または図に限定されないことを認識するであろう。図およびそれに対する詳細な説明は実施態様を開示される特定の形式に限定することを意図せず、それとは逆に意図は、添付のクレームによって定義される精神および範囲に含まれるすべての修正、均等物、および代替物を包含することが理解されるべきである。本明細書で使用される見出しは、構成目的のみのためであり、説明またはクレームの範囲を制限するために使用されることを意図しない。本出願を通して使用されるように、語「~し得る(may)」は、強制的な意味(すなわち、~する必要があることを意味する)ではなく、許容的な意味(すなわち、~する可能性があることを意味する)で使用される。同様に、語「含む(include)」、「含み(including)」、および「含む(includes)」は、包含することを意味するが、それらに限定されない。
値の取引を行うための分散型ピアツーピアシステムに基づく暗号通貨はますます当たり前になってきている。ピアツーピアシステム(「ブロックチェーンサーバー」と呼ばれることもある)は、ブロックチェーン資産を、ブロックチェーンまたはブロックチェーンデータと呼ばれることもある、分散型台帳内に格納し得る。ブロックチェーンは、いかなる単一実体によっても所有されていない複数の分散型コンピュータサーバーによって管理される経済的トランザクションの順序付けられた連続レコードを含む。ブロックチェーン内のデータの各ブロックは、保護されて、先行するブロックへのハッシュポインタの使用によってブロックチェーン内のデータの先行するブロックに結合されている。ブロックチェーン内のデータの各ブロックは、1つ以上のブロックチェーン資産、他のデータ、および先行するブロックへのハッシュポインタを含む。ハッシュポインタは、前のブロックのアドレスおよび、ブロックヘッダとして知られている、前のブロック内に含まれるデータの圧縮バージョンを含む。ブロックチェーン内のある参加者は、トランザクションを検証し、それらを、プルーフオブワーク機構、プルーフオブステーク機構、または別の合意機構などの、合意機構によって新しいブロック内に含めることによってブロックを作成することを選択し得る。プルーフオブワーク機構は、必須のハッシュ値およびブロックの有効性の証拠としてブロックを既存のチェーンにリンクするポインタ値を用いたデータの暗号ブロックのマイニングに伴う計算の複雑性に依存し得る。合意機構は、分散プロセスおよびシステムの間でブロックチェーンの単一のデータ値または状態に関する合意を達成するためにブロックチェーンシステム内で使用されるフォールトトレラント機構である。ブロックチェーン内の参加者の一人以上は、トランザクションを検証し、それらを合意機構によって新しいブロック内に含めて、固有の履歴をもつ固有のレコードを作成し得る。ブロックチェーンの単一のレコードを偽造することは、ブロックのデータを偽造し、次いで以後全ての1つ1つのブロックを偽造することを必要とし、それは、合意を操作するために必要な資源に起因して実行不可能と見なされるであろう。
ピアツーピアブロックチェーンサーバーは、特定の暗号通貨に対する合意プロトコルに従って暗号通貨トランザクションをコミットし得る。合意プロトコルはブロックチェーンサーバーが、ブロックチェーンの複数のコピーの存在を、合意規則(ブロックチェーンのどのバージョンが有効であるかに関するブロックチェーンサーバー間での合意)に基づき、正規コピーを選択して解決するのを可能にする。ビットコインおよびイーサリアムなどの暗号通貨に対して、ブロックチェーンサーバーはプルーフオブワーク合意モデルを使用し得る。プルーフオブワーク合意モデルでは、コンピュータは、ハッシュと呼ばれる複雑な計算数学問題を解決することによって「作業」を実行していることを「証明」し得る。コンピュータがかかる問題を、データのブロックを「ハッシング」することによって解決する場合、そのアルゴリズム作業では、ブロックのトランザクションも検証されて、完了したトランザクションはブロックチェーン内のブロックとして公開で記録されて格納される。ブロックをブロックチェーンに追加することは、「マイニング(mining)」と呼ばれ得る。かかる複雑な数学問題を解決することは、コンピュータに、かなりの量の電力およびエネルギーを要するプログラムを実行することを要求し、それはビザンチン環境における協力のために経済的インセンティブを生み出す。ビザンチン環境は、相互に不完全な情報を有するコンピューティング装置の分散コンピューティングシステムを指す。
これらの暗号通貨システムは、デジタル署名を利用してメッセージに署名し得、メッセージは、有効に署名される場合、1つの口座から別の口座へのトークン(デジタル通貨価値)の移転を示す分散台帳に対する更新となり得る。いつでも、トークンの移動は、その最も単純な形において、トークンがそれに制限されている公開鍵(口座またはアドレス)の置換と関連付けられた秘密鍵からの暗号署名である要件によって制限される。いくつかの実施態様では、トークンは資産を表すために使用され得る。ブロックチェーンは、非集中型の、分散無信頼システムを提供して、参加者が値を転送し、スマートコントラクトに参加等するのを可能にする。例えば、ビットコイン、イーサリアム、イオタ、Zcash、Monero、カルダーノなどの、暗号通貨は、ブロックチェーンを利用して操作する。デジタル暗号署名(シグネチャ)は提案されたトランザクションを記述するメッセージが真正であるかどうか、およびトランザクションが有効であるかどうかを判断するために使用される。対応する署名が1つ以上の秘密鍵(複数可)を使用して生成された場合、メッセージは真正であると見なされる。グローバル台帳内に示されるとおりに、トランザクションを実行するために十分である、残高または特権と鍵ペアが関連付けられている場合、トランザクションは有効であると見なされる。
例えば、トランザクションを記述するメッセージは、暗号関数を使用して秘密鍵でデジタル的に署名され得る。秘密鍵は、そのトランザクションを許可する権限を与えられた当事者によってだけ知られていることを意図する。例を継続すると、特定の量の暗号通貨を、署名者の公開鍵から導出される送信元アドレスから、宛先アドレスに転送するためのトランザクションを記述するメッセージは、送信元秘密鍵の所有者によってデジタル的に署名され得る。例えば、特定の量の暗号通貨は、ブロックチェーン資産の一部であり得る。メッセージは次いで、1つ以上のブロックチェーンサーバーに送信され得る。ブロックチェーンサーバーは、そのメッセージを受信して、デジタル署名をチェック(検証)し得る。デジタル署名が有効で、トランザクションがブロックチェーン規則に従う場合、ブロックチェーンサーバーはメッセージを処理して、メッセージ内のデータをブロックチェーンにコミットし得、それは、認可された当事者の秘密鍵と関連付けられた残高または権利を更新し得、宛先アドレス(コミットされたトランザクション内のデジタル通貨の受領者と関連付けられたアドレス)と関連付けられた残高または権利も更新し得る。いくつかの状況では、ブロックチェーンシステムは、他のブロックチェーンサーバー間の合意が達成されるまで待機するなど、データをコミットする前に様々なチェックを実行し得る。これらのチェックは、条件の共有セットを確立し得、署名自体の範囲外である。
本開示で説明されるのは、オフチェーン資産データ(ブロックチェーンからダウンロードされるブロックチェーン資産データ)の交換、オフチェーン資産データを使用した支払いトランザクション(異なるタイプの口座からの支払いなど)の検証、および支払いトランザクションのオフチェーンでの完了のための、スマートカード、安全な支払い端末、携帯型コンピューティング装置(スマートフォン、ラップトップ、タブレットコンピュータ等)などの装置、ならびに秘密鍵などの、秘密の高度に安全な格納および使用を可能にする他の装置である。
「オフライン」と「オフチェーン」との間に違いがあることが理解されるべきである。オフライントランザクションは、インターネットなどの、ネットワークへの接続なしで実施される。オフチェーントランザクションは、特定のトランザクションに応じて、インターネットに接続されている間(オンラインの間)、またはオフラインの間に実施され得る。本明細書では、用語「オフチェーン」は、トランザクションをブロックチェーンに記録することなく、資産データを交換する支払いトランザクションを指すために使用される。用語「オフチェーン資産データ」は、スマートカード、スマートフォン、もしくはブロックチェーンサーバーではない別のコンピューティング装置などの、装置上に格納されているオンチェーン資産の制限を解除するために使用され得る、デジタル通貨残高および/または1つ以上のデータを指す。
オフチェーン資産データを含む支払いトランザクションを、オフチェーントランザクションデータをブロックチェーンにコミットすることなく解決(検証および完了)し得る装置が以下で説明される。代わりに、オフチェーン資産データおよび他のデータは装置間で交換され得、受信装置は、複数の決算モデルの1つを使用してオフチェーン資産データを検証し得る。追加として、合意の取引規則が装置上で実行するソフトウェアによって強制され得る。一部の決済モデルでは、支払いトランザクションを受信する装置は、ブロックチェーンに問い合わせて、支払いトランザクション内のデータに対応するブロックチェーン内のブロックチェーン資産の存在など、支払いトランザクションの一部を検証し得る。例えば、第1の決済モデルに基づいて、受信装置は支払いトランザクションの一部に基づきブロックチェーンに問い合わせを行い、支払いトランザクションをブロックチェーンにコミットすることなく、ブロックチェーン資産を判断し得る。ブロックチェーン資産の判断に応答して、決済モデルは、支払いトランザクション内の支払い情報を検証し、支払い情報に基づき装置のメモリ内のオフチェーン資産データの値を調整するために使用され得る。例えば、装置は決済モデルを使用して、支払い金額、ブロックチェーントランザクション識別子(ID)、公開鍵、または他の情報などの、支払いトランザクション内に含まれている情報に基づいて、支払いトランザクションが有効と判断し得る。装置は、そのメモリ内に格納されているオフチェーン資産データを既に含み得、支払いトランザクションが有効であるという判断に応答して、装置はそのメモリ内のオフチェーン資産データの値を調整し得る。
例えば、第2の装置は、第1の装置のオフチェーン資産データの一部を含む支払いトランザクションを、ブロックチェーンに対して支払いトランザクションをコミットすることなく、ブロックチェーン内のブロックチェーン資産を示す支払いトランザクション内に含まれるデータに基づいて、解決し得る。従って、装置は、ブロックチェーントランザクション手数料を負担することなく、暗号通貨を、リアルタイムでまたは略リアルタイムで交換するために使用され得る。
例えば、装置は、ブロックチェーン内のブロックチェーン資産から転送されるブロックチェーン資産データを示すオフチェーン資産データを格納し得る。ブロックチェーン資産データは、ブロックチェーン内のブロックチェーン資産と関連付けられたトランザクション識別子(ID)またはトランザクションハッシュを含み得る。ユーザーは装置を利用して、オフチェーン資産データを利用する1つ以上の支払いトランザクションをオフチェーンで実施し得る。かかるトランザクションは、ネットワークを通して、支払いを送信すること、支払いを受信すること、または両方を含み得る。その後、ユーザーはその後、装置を安全な支払い端末に(または別の装置に)結合し得、安全な支払い端末または他の装置のネットワーク接続を利用して署名されたメッセージを1つ以上のブロックチェーンサーバーに送信してオフチェーン資産データの少なくとも一部をブロックチェーンにコミットし得る。オフチェーン資産データは、1つ以上の支払いトランザクションからの支払い情報、ダウンロードされたブロックチェーン資産データ、またはその任意の組合わせを含み得る。従って、各個々の支払いトランザクションをブロックチェーンにコミットし、各トランザクションに対するトランザクション費用を負担する代わりに、複数の「オフチェーン」トランザクションは、装置によって集約されて、単一のトランザクションでブロックチェーンにコミットされて、一回だけのトランザクション手数料を負担し得る。
いくつかの実施態様では、システムおよび方法は、安全な支払い端末を含み得る。安全な支払い端末は、汎用コンピューティング環境(GCE)および別個の安全なコンピューティング環境(SCE)、ならびにスマートカードであり得る第2のSCEを含み得る。SCEは、そのメモリへのアクセスおよびそのメモリ内に格納された情報の使用に対して1つ以上の制御を実装し得る。SCEは、認可されていないアクセスを防ぐために、データおよび機能を保護するために使用され得るモジュール、構成要素、ならびにデータも含み得る。安全な支払い端末は、ユーザーの自宅などの、施設に配置され得、インターネットなどの、ネットワークに通信可能に結合されたままであり得る。
GCEは、プロセッサ、メモリ、およびネットワークインタフェースを含み得る。GCEはディスプレイおよび入力インタフェース(キーパッドなど)も含み得る。いくつかの実施態様では、ディスプレイおよび入力インタフェースは、タッチスクリーンとして実装され得る。他の実装も可能である。
SCEは、専用プロセッサ、1つ以上の安全な暗号化メモリ装置、1つ以上の入力装置、1つ以上の出力装置、および改ざん防止検出装置または対抗策を含み得る。いくつかの実施態様では、装置のSCEは、支払い端末または他のコンピューティング装置のSCEおよび/もしくはGCEの様々な構成要素とやり取りして、情報の提示およびデータの受信を行い得る。安全な暗号化メモリはデジタル通貨値、秘密鍵、証明書(製造業者によって署名された装置の公開鍵)、ハッシュ値、トランザクションデータ、他の情報、またはそれらの任意の組合わせを格納し得る。
いくつかの実施態様では、安全な支払い端末は、1つ以上の装置を安全な支払い端末に結合するのを可能にするインタフェースを含み得るか、またはそれに結合され得る。例えば、安全な支払い端末は、1つ以上の装置スロットまたは開口部を含み得、それらは1つ以上の装置を受け入れるようなサイズにされ得る。安全な支払い端末は、スマートフォンなどの、携帯型コンピューティング装置との安全なペアリングを確立し得、装置スロットの1つを通して装置に結合し得る。ユーザーは、スマートフォンのタッチスクリーンまたは安全な支払い端末のタッチスクリーンの1つとやり取りして、ブロックチェーン上のブロックチェーン資産からブロックチェーン資産データの装置へのダウンロードを開始し得、それは、ブロックチェーン資産データをオフチェーン資産データとして安全なメモリ内に格納し得る。
装置は、オフチェーン資産データ、秘密鍵、1つ以上の証明書、トランザクション決済モデル、ソルトデータ(すなわち、公開鍵の交換など、一方向性関数に対する追加の入力として使用されるランダムまたは擬似ランダムデータ)、他の情報、またはそれらの任意の組合わせを格納するための安全なメモリを備えたSCEを含む携帯用電子機器であり得る。いくつかの実施態様では、装置は、支払い端末(SCEを含む安全な支払い端末または店頭(POS)支払い端末などの、SCEを含んでいない支払い端末)を通して、それ自身と別の装置との間の安全な通信を確立するように構成され得、それはSCEを含むこともあれば、含まないこともある。安全な通信は、データが通信リンクの終点(装置)においてのみ暗号化および暗号解読されるエンドツーエンド暗号化を有する通信を指す。安全な通信は、支払い端末、ネットワークスイッチなどの、1つ以上の介在装置を通して暗号化データの終点間(第1の装置と第2の装置との間)での交換を可能にする。例えば、第1の装置および第2の装置は秘密を交換し得、その後、第1の装置は暗号化メッセージをネットワークを通して第2の装置に送信し得る。データは第1の装置および第2の装置で暗号化および暗号解読されるが、それがネットワークをトラバースするときは暗号化されたままで、安全な通信を提供する。
さらに、第1の装置は、検証情報を安全な通信を通して第2の装置に提供し得る。第1の装置は、検証情報を安全な通信を通して第2の装置から受信もし得る。例えば、検証情報は、製造業者もしくは信頼できる当事者(trusted party)によって署名されたSCEに属する公開鍵または真正性の他の証印から成る証明書を含み得る。この証明書は、第2の装置を認証するために第1の装置によって使用されて、信頼関係を確立し得る。この信頼関係は、取引装置の信頼および合意規則の相互強制をオフチェーンで確立するために使用される。
次いで、第1の装置は、第2の装置上に格納されたオフチェーン資産データの一部を第2の装置に搬送しようとする第2の装置から支払いトランザクションを受信し得る。その部分は、オフチェーン資産データ以下であり得る。支払いトランザクションは、支払い情報および支払いトランザクションが有効であると判断するために第1の装置によって使用され得る他の情報を含み得る。第1の装置は、複数の決済モデルから1つの決済モデルを決定し、その決定された決済モデルに基づいて支払いトランザクションを処理して、支払いトランザクションをオフチェーンで検証および完了するように構成され得る。例えば、選択された決済モデルは、支払いトランザクションと共に、第1の装置によって使用され得る規則および他の情報を指定して、オフチェーン資産データをブロックチェーンにコミットすることなく、オフチェーン資産データを検証し得る。第1の装置は、選択された決済モデルを使用して、支払いトランザクションが有効であると判断して、トランザクションを完了し得る。第1の装置は次いで、支払いトランザクション内の支払い情報に基づいて第1の装置のメモリ内のオフチェーン資産データの値を調整し得る。
追加として、装置は、複数の支払いトランザクション(1つ以上の支払いの送信、1つ以上の支払いの受信、またはそれらの任意の組合わせ)を1つ以上の他の装置と実行するために使用され得る。各支払いトランザクションは、決済モデルに従って評価されて、支払いトランザクションが有効であると判断し得る。その後、装置は、安全な支払い端末に結合され得、それは、署名されたメッセージをブロックチェーンサーバーの1つ以上に送信するために使用されて、オフチェーン資産データの一部をブロックチェーンにコミットし得る。その部分は、オフチェーン資産データ以下であり得る。例えば、ユーザーは、オフチェーン資産データの半分をブロックチェーンにコミットすることを選択して、オフチェーン資産データ内の残りの半分を支払いトランザクションに対して利用可能なままにし得る。その部分は、オフチェーン資産データの任意のサブセットまたはオフチェーン資産データの全部を含み得る。他の実施態様も可能である。
装置、またはモバイルウォレットを備えたコンピューティング装置は、オフチェーン資産データに基づいて支払いトランザクションが有効であると判断するために使用され得、その後、オフチェーン資産データの一部をブロックチェーンにコミットするために使用され得ることが理解されるべきである。対面で、またはネットワークを通して、装置またはモバイルウォレットを備えたコンピューティング装置は、オフチェーン資産データをブロックチェーンにコミットすることなく、複数の決済モデルのうちの選択された決済モデルを使用して支払いトランザクションを完了するために使用され得る。トランザクションをオフチェーンで管理することにより、装置またはモバイルウォレットを備えたコンピューティング装置は、オフチェーン資産データ(またはその一部)をブロックチェーンにコミットする前に、オフチェーン資産データにおけるトランザクションを集約することにより中間トランザクション費用を回避し得る。
例えば、装置を安全な支払い端末に結合することなどにより、装置は、物理的機能を利用してブロックチェーン資産データをブロックチェーン内のブロックチェーン資産から装置のメモリに移動させ得る。安全な支払い端末は、ブロックチェーン資産データをブロックチェーンから受信し得、ブロックチェーン資産データを装置に提供し得、その装置は、ブロックチェーン資産データをオフチェーン資産データとしてその安全なメモリ内に格納し得る。装置は次いで、1つ以上の決済モデルを使用してオフチェーン資産データに基づき支払いトランザクションを実施するために使用され得る。決済モデルは、オフチェーン資産データを移動させている間にブロックチェーン規則を強制するために装置によって使用される規則およびプロセスを定義して、1つ以上の支払いトランザクションをオフチェーンで(支払いトランザクションの各々のオフチェーン資産データをブロックチェーンにコミットすることなく)実行するのを可能にし得る。装置のメモリ内のオフチェーン資産データは、支払いトランザクションに基づいて更新され得る。その後、装置は、署名されたメッセージを1つ以上のブロックチェーンサーバーに送信することにより、オフチェーン資産データの少なくとも一部をブロックチェーンにコミットし得る。
第1の装置がネットワークを通して第2の装置と通信する場合、第1および第2の装置は、ディフィーヘルマン鍵交換を実行して安全な通信リンクを確立し得る。安全な暗号化チャネルを形成する代替方法も使用され得る。一旦、安全な通信リンクが確立されると、第1の装置はその証明書(製造業者によって署名された装置の公開鍵)を暗号化して第2の装置に送信し得、第2の装置は、信頼できる製造業者の公開鍵に対する1つ以上のリストをチェックして、第1の装置の製造業者の真正性を検証し得る。両方の装置は公開鍵を有しており、それらは各々、他方の公開鍵が装置の製造業者によって署名されたことを検証し、その後にチャレンジレスポンスが続いて対応する秘密鍵の所有を検証して、デジタル通貨トランザクションを進める前に信頼関係を確立し得る。
各装置は、一意の鍵を有し得る。例えば、装置の製造業者は、グローバル一意コードまたは別の識別子を各装置に割り当て得る。代替として、一意の識別子は、ハードウェア回路識別子、日付およびタイムスタンプ、データ格納日および時間、秘密鍵、他の情報、またはそれらの任意の組合わせに基づいて、ハッシュ値として(自動的に)計算され得る。一意の識別子は、装置の安全なメモリ内に格納され得る。いくつかの実施態様では、一意の識別子は、安全なメモリの一部であり得る追記型(WORM)メモリ内に格納され得る。
いくつかの実施態様では、鍵は、物理複製困難関数(PUF)などの、物理的に格納された秘密の形を取り得る。製造時に、装置の製造業者は、その装置に対して一意の暗号化署名付き証明書を発行し得る。証明書は、製造業者の秘密鍵を使用して装置のPUFから導出された公開鍵に署名することによって作られ得る。PUFは、それが装置の物理的複製を防ぐので、提案されたシステムの全体的なセキュリティを劇的に高める。装置が複製され得る場合、「二重使用」を許可しない典型的な合意規則は合理的に強制できない。
いくつかの実施態様では、装置はメモリを含み得、それは、製造業者によって暗号化署名されて相手方の装置によって検証可能である、ファームウェアを格納し得る。さらに、ファームウェアは、装置のプロセッサに、ブロックチェーンにおいては一般的である、二重使用規則(デジタル通貨の2回以上の成功裏の使用を防ぐ規則)を強制させ得る。装置による二重使用規則の強制は、ユーザーが決済の信頼をブロックチェーンの合意機構から装置上にロードされたハードウェア/ファームウェアに移行するのを可能にする。一旦、装置がブロックチェーントランザクション規則を強制する高い信頼度があれば、異なる形のオフチェーン資産データが、トランザクションをブロックチェーンにコミットすることなく、かつブロックチェーンによって実行される一般的に使用される合意プロトコルを必要とすることなく、装置から装置へアトミックに渡され得る。例えば、ユーザーは、ブロックチェーン内のブロックチェーン資産に対応するブロックチェーン資産データをダウンロードし、ブロックチェーン資産データをオフチェーン資産データとして装置のメモリ内に格納して、1つ以上の支払いトランザクション(支払いデータの送信、支払いデータの受信、または両方)を実行し、オフチェーン資産データをコミットすることなく、1つ以上の支払いトランザクションに基づいてオフチェーン資産データの値を調整することが可能であろう。装置は、複数の決済モデルのうちの決定された決済モデルを利用して1つ以上の支払いトランザクションの各々の有効性を判断して、有効であると判断された支払いトランザクションの各々を完了し得る。その後、ユーザーは安全な支払い端末と共に装置を利用してオフチェーン資産データ(スマートカードなどの、装置上に蓄積されている)をブロックチェーンにコミットし得る。オフチェーン資産データはバックアップできず、オフチェーン資産データを格納する装置の所有はオフチェーン資産データの所有(所有権)を構成するので、装置上にロードされているオフチェーン資産データは無記名資産(bearer asset)となり得る。SCEの重複はPUFおよび対応する製造業者証明書の使用を通して回避されるであろう。
決済モデルのさらなる詳細は、様々な図示例に関して以下で説明される。オフチェーン資産データを使用して支払いトランザクションを可能にするシステムの1つの考えられる例が図1に関して以下で説明される。
図1は、一実施態様に従い、装置102を使用してデジタル通貨トランザクションをオフチェーンで解決するブロックチェーン資産トランザクションの略図100を示す。システムは装置102を含み得、それは、安全な支払い端末104(1)とインタフェースをとるように構成され得る。安全な支払い端末104(1)は、安全なコンピューティング環境(SCE)を含むので、「安全である」と見なされる。装置102は、安全な支払い端末104(1)に通信可能に結合され得る。例えば、ユーザー106(1)は、装置102(1)を、安全なコンピューティング環境を含み得る、安全な支払い端末104(1)の装置スロット108(1)に挿入し得る。装置スロット108(1)は、クレジットカードまたは電子カードに類似したフォームファクタを有する装置102を受け入れるためのサイズにされた装置スロットとして示されている。しかし、装置102は他のフォームファクタを有し得ること、および装置スロット108は装置102を受け入れるためのサイズにされた対応する構造を有し得ることが理解されるべきである。いくつかの実施態様では、装置102は、装置スロット108とのインタフェースを取るための電気接点を含み得る。装置102が異なるフォームファクタを有する場合などの、他の実施態様では、装置102は、近距離無線通信(NFC)または他の近距離無線通信など、安全な支払い端末104との無線通信を提供するための無線通信インタフェースを含み得る。
ユーザー106(1)は、114に示されるように、安全な支払い端末104(1)のタッチスクリーン110(1)と、モバイルウォレットを備えたコンピューティング装置112(1)のタッチスクリーンと、または両方とやり取りして、ブロックチェーン資産に対応するブロックチェーン資産データをブロックチェーンから装置102(1)上にダウンロードし得る。ブロックチェーン資産データは、装置102(1)のメモリ内にオフチェーン資産データとして格納され得る。例えば、ユーザー106(1)は、コンピューティング装置112(1)上のモバイルウォレットアプリケーションとやり取りして、ブロックチェーン資産データの、安全な支払い端末104(1)を通した、装置102(1)上へのダウンロードを開始し得る。
その後、ユーザー106(1)は、装置102(1)を装置スロット108(1)から取り外し得る。ユーザー106(1)は装置102(1)を利用して支払いトランザクションを安全な通信チャネルを通して別の装置102(2)に送信し得る。例えば、装置102(1)は、SCEを含んでいない、店頭(POS)支払い端末118(1)に結合され得る。ユーザー106(1)は、POS支払い端末118(1)とやり取りして装置102(1)から装置102(2)への支払い操作を開始し得る。例えば、装置102(1)は、POS支払い端末118(1)の1つ以上の通信インタフェースを利用して第2の装置102(2)との安全な通信を、標準的な暗号方式によって確立し得る。装置102は互いに検証するために追加の情報(証明書など)も交換して信頼関係を確立し得る。一旦、安全な通信および信頼関係が確立されると、装置102(1)は支払いトランザクション120(1)を装置102(2)に送信し得る。支払いトランザクション120(1)は装置102(1)上に格納されたオフチェーン資産データの一部を含み得る。
116に示されるように、オフチェーン資産データの第1の部分が第1の(送信)装置102(1)から第2の(受信)装置102(2)に第1の安全な通信を通して転送される。例えば、第1の装置102(1)は、支払いトランザクション120(1)を含む署名された暗号化メッセージを第2の装置102(2)に送信し得る。第2の装置102(2)は複数の決済モデルのうちの選択された1つを利用して、支払いトランザクション120(1)をブロックチェーンにコミットすることなく、支払いトランザクション120(1)を解決し得る。言い換えれば、装置102(1)は、装置102(2)とのオフチェーン支払いトランザクションを実行するために使用され得る。
装置102(1)は、そのメモリ内に格納されたオフチェーン資産データの値を調整し、同時に、装置102(2)は、支払いトランザクション120(1)に基づいてそのメモリ内に格納されたオフチェーン資産データの値を調整する。値をブロックチェーンに戻ってコミットする前に、残りの残高がその金額をカバーするのに十分であるという条件で、ユーザー106(1)は装置102(1)を使用して別の支払いトランザクション120を完了し得る。同様に、ユーザー106(2)は装置102(2)を使用して他の支払いトランザクション120を完了し得る。
122に示されるように、オフチェーン資産データの第2の部分が第1の装置102(1)から第3の装置102(3)に第2の安全な通信を通して転送され得る。この例では、ユーザー106(1)は装置102(1)を第2のPOS支払い端末118(2)に結合し得、第3の装置102(3)に対する第2の支払いトランザクション120(2)を開始し得る。例えば、装置102(1)は、POS支払い端末118(2)の1つ以上の通信インタフェースを利用して、第3の装置102(3)との第2の安全な通信を、鍵を交換することにより、確立し得る。装置102は互いに検証するために追加の情報(証明書など、それらそれぞれの製造業者によって署名された装置102の公開鍵であり得る)も交換して信頼関係を確立し得る。一旦、安全な通信および信頼関係が確立されると、装置102(1)は支払いトランザクション120(2)を装置102(3)に送信し得る。支払いトランザクション120(2)は装置102(1)上に格納されたオフチェーン資産データの第2の部分を含み得る。
第3の装置102(3)は複数の決済モデルのうちの選択された1つを使用して、支払いトランザクション120(2)が有効であると判断し、支払いトランザクション120(2)が有効であるという判断に応答して支払いトランザクション120(2)を完了し得る。さらに、装置102(1)は、支払いトランザクション120(2)に基づいてそのメモリ内に格納されたオフチェーン資産データの値を調整し得、同時に、装置102(3)は、支払いトランザクション120(2)に基づいてそのメモリ内に格納されたオフチェーン資産データの値を調整し得る。
その後、124に示されるように、支払いトランザクション120(1)と関連付けられたオフチェーン資産データの第1の部分は、装置102(2)からブロックチェーンに償還され得る。例えば、ユーザー106(2)は、装置102(2)を安全な支払い端末104(2)の装置スロット108(2)に挿入し得る。ユーザー106(2)は次いで、コンピューティング装置112(2)、安全な支払い端末104(2)、または両方を使用して署名されたメッセージを生成して、装置102(2)からのオフチェーン資産データの一部をブロックチェーンにコミットし得る。その部分は、支払いトランザクション120(1)からの第1の部分および他のオフチェーン資産データを含み得る。代替として、その部分は、第1の部分より少ないオフチェーン資産データを含み得る。他の実施態様も可能である。
装置102は、相互間の安全な通信を管理して、支払いトランザクションの各々をブロックチェーンにコミットすることなく、かつ従来型の合意プロトコルを使用することなく、オフチェーン資産データを伴う支払いトランザクションを実施するためのブロックチェーン規則を強制するように構成され得る。支払いトランザクションは、ネットワークを経由した安全な通信を通して、しかし、そのトランザクションをブロックチェーンにコミットすることなく(従って、それは「オフチェーン」である)、実施され得る。装置102は、ブロックチェーン資産データに対応するオフチェーン資産データを格納し、格納されたオフチェーン資産データを使用して支払いトランザクションを実施するために使用され得る。
装置102はクレジットカードに類似したフォームファクタを有するとして示されているが、装置102は他の形状およびサイズで実装され得ることが理解されるべきである。例えば、装置102のフォームファクタは、カード形状以外の何かであり得る。装置102は、SIMカードとして、ウェアラブルデバイスとして、スマートフォンまたは他のコンピューティング装置内の構成要素(ハードウェア、ソフトウェア、または両方)として等、実装され得る。1つの考えられるシステムが図2に関して以下で説明され、図2では装置102は、支払いトランザクション120をブロックチェーンにコミットすることなく、オフチェーン資産データに基づいて支払いトランザクション120を実行するために使用され得る。
図2は、一実施態様に従い、オフチェーン資産データに基づきPOS支払い端末118を通して支払いトランザクション120を実施するために装置102を利用するシステム200を示す。システム200は、1つ以上の装置102を含み得、その各々はオフチェーン資産データ234を格納し得る。オフチェーン資産データ234は、ブロックチェーン内の異なるブロックチェーン資産に対応するデータを含み得る。1つの考えられる例では、オフチェーン資産データ234は、単一の通貨タイプのブロックチェーン内の1つ以上のブロックチェーン資産に対応するブロックチェーン資産データ234を含み得る。別の考えられる例では、オフチェーン資産データ234は、異なる暗号通貨に対応するデータを含み得る。装置102は、各暗号通貨に対するオフチェーン資産データ234を、それらが混じり合わないような方法で、維持し得る。さらに、オフチェーン資産データ234を使用する支払いトランザクション120は、単一の暗号通貨タイプを含み得る。
装置102(1)はPOS支払い端末118(1)と通信して、別の装置102(2)との安全な通信を確立し得る。POS支払い端末118(1)は、インターネットを含み得る、ネットワーク206と通信するように構成され得る。さらに、POS支払い端末118(1)は、別のPOS支払い端末118(2)、ブロックチェーンデータ204を格納している1つ以上のブロックチェーンサーバー202、モバイルウォレットアプリケーションを備えたコンピューティング装置112、安全な支払い端末104(図1における)、他の装置、またはそれらの任意の組合わせなどの、1つ以上の他の装置とネットワーク206を通して通信し得る。1つ以上のブロックチェーンサーバー202は、デジタル資産のマイニングおよび関連したトランザクションならびにブロックチェーンデータ204の格納を含む、様々なブロックチェーン操作を実行するために協働する分散コンピューティング装置を含み得る。
従来型のトランザクションでは、暗号通貨トランザクション詳細を含む署名されたメッセージデータは、POS支払い端末118から1つ以上のブロックチェーンサーバー202に送信され得る。ブロックチェーンサーバー202は次いで、署名されたメッセージデータを処理し得る。署名されたメッセージデータがブロックチェーンサーバー202の1つ以上によって(合意モデルによって等)有効であると判断される場合、ブロックチェーンサーバー202の1つ以上は、メッセージからのトランザクション詳細を、そのトランザクション詳細をブロックチェーンデータ204に組み込むことにより、ブロックチェーンにコミットし得る。
ネットワーク206は単一のネットワーク要素として示されているが、ネットワーク206は装置102間の通信を容易にし得る1つ以上のネットワーク206を含み得ることが理解されるべきである。例えば、ネットワーク206は、近距離無線ネットワーク(例えば、ブルートゥース通信リンク、ローカルエリアネットワーク(有線または無線)、Wi-Fiなど)、ワイドエリアネットワーク(例えば、インターネット、WiMax、衛星、移動体通信、他のネットワーク等)、またはそれらの任意の組合わせを含み得る。いくつかの実施態様では、POS支払い端末118(1)(または安全な支払い端末104)は、第1の装置102(1)と第2の装置102(2)との間の通信を容易にし得る。他の実施態様では、POS支払い端末118(1)(または安全な支払い端末104)は、別のPOS支払い端末118(2)を通して、第1の装置102(1)と第2の装置102(2)との間の通信を容易にし得る。さらに、いくつかの実施態様では、POS支払い端末118(1)(または安全な支払い端末104)は、第1の装置102(1)とモバイルウォレットを備えたコンピューティング装置112との間の通信を容易にし得る。他の実施態様も可能である。
この例では、POS支払い端末118は、安全なコンピューティング環境(SCE)を含んでいない可能性がある。POS支払い端末118は、1つ以上の入出力(I/O)インタフェース210を含み得る。I/Oインタフェース210は、キーパッド、ディスプレイ、スイッチ、1つ以上のネットワーク送受信機、1つ以上の外部装置をPOS支払い端末118に結合するための1つ以上のポートもしくはコネクタ、他のインタフェース、またはそれらの任意の組合わせを含み得る。1つ以上の外部装置は、キーボード、スタイラス、トラックパッド、マウス、タッチスクリーン、別の入力装置またはそれらの任意の組合わせを含み得る。
POS支払い端末118は装置インタフェース212をさらに含み得る。1つ以上の装置インタフェース212は、装置102(1)、装置102(2)、または両方を受け入れるようなサイズにされた少なくとも1つの装置スロット108または開口部を含み得る。いくつかの実施態様では、1つ以上の装置インタフェース212は、装置102の少なくとも一部を受け入れて、任意選択で固定するように構成され得る。例えば、1つ以上の装置インタフェース212は装置102の一部を受け入れて固定するようなサイズにされた装置スロット108を含み得る。1つ以上の装置インタフェース212はまた、データを装置102に伝達して、データを装置102から受信し得る。
POS支払い端末118は、1つ以上の通信モジュール214も含み得、それらはI/Oインタフェース210と装置インタフェース212との間のやり取りを制御して、装置インタフェース212に結合された装置102の間、装置102(1)と別のPOS支払い端末118(2)に結合された装置102(2)との間、装置102とコンピューティング環境112との間等で、安全なセッションデータの転送を容易にし得る。
装置102は、POS支払い端末118が信頼できる端末である必要がないような方法で、安全な通信およびトランザクションを管理し得る。これは、装置102が店頭で使用されて購入トランザクションを完了するのを可能にする。例えば、装置102は、装置102間の全ての通信が暗号化されるように、安全な通信をネゴシエートするように構成されて、データが通信リンクの終点だけ(すなわち、装置102においてだけ)で暗号化および暗号解読されるエンドツーエンド暗号化を提供し得る。他の実施態様も可能である。
装置102は、POS支払い端末118の装置インタフェース212と通信するために1つ以上の通信インタフェース216を含み得る。例えば、装置102(1)は、POS支払い端末118(1)の装置インタフェース212(1)に通信可能に結合するように構成された1つ以上の通信インタフェース216(1)を含み得る。いくつかの実施態様では、1つ以上の通信インタフェース216(1)は、装置インタフェース212(1)にデータを伝達して、装置インタフェース212(1)からデータを受信し得る。
装置102は安全なコンピューティング環境(SCE)218をさらに含み得、それは、安全なオペレーティングシステム(OS)を利用し得、SCE218のメモリへの、およびメモリからのデータの転送に対する制御を実装し得る。SCE218は、1つ以上のハードウェアプロセッサ220、1つ以上の通信インタフェース222、1つ以上の決済モデル224、およびデータストア226を含み得る。プロセッサ220(1)は通信インタフェース222(1)を利用して、別の装置(装置102(2)など)との安全な通信を確立し、他の装置から受信したデータを検証および認証し得る。例えば、通信インタフェース222は、公開鍵228を交換するために使用されて安全な通信を確立し得る。
装置102はデータストア226を含み得、それは、1つ以上の公開鍵228、1つ以上の秘密鍵230、製造業者によって署名された装置の公開鍵228から成る1つ以上の証明書データ232、オフチェーン資産データ234、信頼できる証明書データ236、およびソルトデータ238を格納し得る。信頼できる証明書236は1つ以上の信頼できる製造業者公開鍵のリストを含み得る。ソルトデータ238は、暗号演算で使用され得るランダムまたは擬似ランダムデータを含み得る。いくつかの実施態様では、データストア226は、物理複製困難関数240をさらに含み得る。
いくつかの実施態様では、証明書データ232は、組み立てられた装置102の製造業者を指し得る。他の実施態様では、証明書データ232は、SCE218の製造業者、プロセッサ220の1つ以上の製造業者、データストア226を含む安全なメモリの製造業者、または別の構成要素の製造業者によって署名された装置の公開鍵228であり得る。さらに別の実施態様では、証明書232は、SCE218内に格納されたファームウェアまたは命令を実装するソフトウェア開発者によって署名された装置の公開鍵228を指し得る。他の実施態様も可能である。
例えば、装置102(1)は、その公開鍵228(1)を装置102(2)へ通信インタフェース222を経由して装置インタフェース212および任意選択でI/Oインタフェース210、ネットワーク206、およびPOS支払い端末118(2)を経由して送信し得る。装置102(2)は、その公開鍵228(2)、および公開鍵228(1)を使用するソルトデータ238(2)を暗号化して暗号化データを形成し得、その暗号化データを装置102(1)に送信し得る。装置102(1)は、暗号化データを受信および暗号解読して公開鍵228(2)およびソルトデータ238(2)を回復し得る。装置102(1)は次いで、公開鍵228(2)を使用してソルトデータ238(2)を暗号化して暗号化データを形成し得、その暗号化データを装置102(2)に送信し得、それは暗号化データを暗号解読してソルトデータ238(2)を検証し得る。ソルトデータ238(2)が有効な場合、安全な通信が確立されて、その後の装置102(1)と装置102(2)との間の通信が送信前に暗号化される。
装置102は、証明書データ232または真正性の他の証印などの、さらなる情報を交換して信頼関係を確立し得る。例えば、装置102(1)はその製造業者に関する情報および証明書データ232(1)を含む暗号化データを装置102(2)に送信し得る。装置102(2)は証明書データ232(1)を検証し得、それが検証されたことを装置102(1)に確認応答し得る。例えば、装置102(2)は信頼できる製造業者(信頼できる証明書データ236(2))のローカルリストを検索し得、それはデータストア226(2)内に格納され得、それを用いて信頼関係が確立され得る。例えば、製造業者または製造業者に関連したデータが信頼できる証明書データ236(2)内に含まれる場合、装置102(2)は装置102(1)の証明書232(1)を検証し得る。
装置102(2)は、その製造業者に関する情報および証明書232(2)を含む暗号化データを装置102(1)に送信し得る。装置102(1)は、信頼できる証明書データ236(1)のリストに基づいて、証明書データ232(2)が真正であると判断し得、それが検証されたことを装置102(2)に確認応答し得る。この検証の後、信頼関係が確立されている。
一旦、装置102(1)および102(2)が安全な通信を確立していて、それらの証明書232を使用して相互に検証していれば、装置102(1)(送信装置)は、支払いトランザクション120を含む暗号化データを装置102(2)(受信装置)に送信し得る。装置102(2)は、複数の決済モデル224(2)のうちの1つの決済モデル224を決定して支払いトランザクション120を検証および完了し得る。
代替形式の検証は、チャレンジレスポンス機構を使用して行われ得る。第1の装置102(1)はチャレンジデータを第2の装置102(2)に提供し得る。第2の装置102(2)は次いで、チャレンジデータに対するレスポンスを生成し得る。真正の装置だけがかかるレスポンスを生成することが可能なはずである。第2の装置102(2)は次いで、そのレスポンスを第1の装置102(1)に提供し得る。1つ以上のチャレンジレスポンスのラウンドを使用して、第1の装置102(1)は第2の装置102(2)の起源(provenance)を確認して、第2の装置102(2)が信頼できると見なし得る。
支払いトランザクション120は、受信装置102(2)のための適切な情報を含み、選択された決済モデル224(2)に基づき決済のために使用されているオフチェーン資産データを検証し得る。いくつかの実施態様では、装置102(1)は、装置102(2)からのソルトデータ238(2)を要求し得る。ソルトデータ238(2)は、支払いトランザクション120などの、一方向性関数への追加の入力として使用されるランダムまたは擬似ランダムデータを含み得る。それに応答して、装置102(2)はソルトデータ238(2)の一部を含む暗号化データをトランザクションでの使用のために装置102(1)に提供し得る。装置102(2)はまた、ソルトデータ238(2)内に格納された有効なソルトリスト内にその部分を記録し得る。
装置102(1)は、装置102(2)が支払いトランザクション120を検証するのを可能にする適切な情報を含む、支払いトランザクション120、およびソルトデータ238(2)の一部を含む暗号化データを生成し得る。装置102(1)は暗号化データを装置102(2)に送信し得る。追加として、装置102(1)は、データストア226(1)からのオフチェーン資産データ234(1)の値を暗号化データ内の支払い情報に基づいて調整し得る。暗号化データの受信に応答して、装置102(2)はソルトを検証し、選択された決済モデル224(2)を使用して適切な情報および決済モデル224(2)に基づき支払いトランザクション120を検証して(支払いトランザクション120が有効であると判断する)、支払いトランザクション120に基づきオフチェーン資産データ234(2)の値を調整し得る。さらに、装置102(2)は、ソルトデータ238(2)のその部分をソルトデータのリストから削除し得る。ソルトの使用は、トランザクションが、外部装置を使用して装置102(2)に対して複数回、再現されるのを防ぐ。
1つ以上の決済モデル224は、オフチェーン資産データ234をブロックチェーンにコミットすることなく、かつ一般的に使用される合意プロトコルを要求することなく、支払いトランザクション120を検証するために実装され得る規則およびプロセスの様々なセットを含み得る。例えば、決済モデル224は、支払いトランザクション120の確認および完了を可能にしながら、ブロックチェーン規則を強制するために装置102によって適用され得る。決済モデル224は、支払いトランザクション120を可能にするために装置102によって、オフチェーンで(言い換えれば、トランザクションをブロックチェーンにコミットすることなく)使用され得る。決済モデル224は、鍵(第1の)決済モデル、請求書(第2の)決済モデル、口座(第3の)決済モデル、当局(第4の)決済モデル、確率的(第5の)決済モデル、またはそれらの任意の組合わせを含み得るが、それらに限定されない。
決済モデル224の鍵決済モデルに関して、装置102(1)および102(2)は、ブロックチェーン内のデジタル資産に対応する秘密鍵230を交換し得、そのため秘密鍵230は支払いとして受理され得る。希少な取引可能資産(トークンまたは暗号通貨、すなわち、ブロックチェーン資産、と呼ばれることがある)がブロックチェーンデータ204上に存在することが理解されるべきである。ブロックチェーン資産を1つの口座から別の口座に移動させる能力は、ユーザー106(ブロックチェーン資産の所有者)が資金を使う能力を示し、従って、それらの資金の所有に等しい。典型的には、ブロックチェーン資産トランザクションは、秘密鍵230を使用してメッセージに署名することによって開始され得、署名されたメッセージは、送信元口座の秘密鍵230に基づく1つの口座から別の口座への資金の移動を示す。送信元口座が十分な資金を有していて、署名されたメッセージの署名が有効である場合、1つ以上のブロックチェーンサーバー202はそのトランザクションを処理し、資金がブロックチェーンデータ204上で送信元口座から受信口座へ転送される。かかるブロックチェーントランザクションはデジタル通貨データをブロックチェーンにコミットする。
鍵決済モデル内で、ブロックチェーントランザクションに署名するために使用されて、メッセージに署名してブロックチェーントランザクションをブロックチェーンにコミットするために使用される、秘密鍵230は、ブロックチェーン上のデジタル資産を表すために使用され得る。鍵決済モデルを使用して、装置102(1)は個々の秘密鍵230を、装置102(2)などの、別の装置に渡し得る。装置102(2)は、決済モデル224から鍵決済モデルを使用することにより秘密鍵230を支払いとして受理して、秘密鍵230に対応するブロックチェーンデータ204上のブロックチェーン資産をチェックし得る。決済モデル224(2)の選択された鍵決済モデルに基づき、装置102(2)は、装置102(1)は渡される秘密鍵230を永久に削除すること、およびその秘密鍵230の他のコピーは存在しないことを信頼し得る。秘密鍵230自体は従って、無記名資産となり得る。秘密鍵230は分割できないので、ブロックチェーン内の秘密鍵230によって表される値全体だけが、装置102(1)と装置102(2)との間で取引され得る。
代替として、装置102(1)は、2つ以上のトランザクションにおいて単一の秘密鍵230と関連付けられた資産を2人以上の当事者で細分することを選択し得る。これは、秘密鍵230および受信側装置102(2)が権利を有している値を共有することによって行われ得る。秘密鍵を共有することの欠点は、秘密鍵230が複数の場所に格納されることであり、いずれかのコピーが危険に曝されている場合、その秘密鍵230に由来する全てのトランザクションは危険に曝されるであろう。追加として、2つ以上の装置が、資産を、同じUTXOを使用して同じブロック内でブロックチェーンに償還して戻そうと試みた場合、トランザクションの1つだけがブロックチェーンに記録されるであろう。これは、両方の装置が資産残高を減らされて、新しい償還トランザクションに署名することができないという点において問題である。1つの潜在的なソリューションは、任意の量のその後の作業で代替トランザクションがブロックチェーン内へ採掘されたことを示す適切な証拠が提供された場合、装置が残高をリセットできるようにすることであろう。
ブロックチェーン内の資産を検証するために、装置102(2)は、ネットワーク206を通してブロックチェーンサーバー202に問い合わせを行って、秘密鍵230に対応するブロックチェーン資産を見つけ得ることが理解されるべきである。この検証は、秘密鍵を提供する前に、トランザクションID、公開鍵ハッシュ、またはスクリプトハッシュなどの、装置102(2)に提供されたデータを使用して実行され得る。例えば、装置102(2)は、秘密鍵230に関連したデータを含むクエリーを1つ以上のブロックチェーンサーバー202に送信し得る。装置102(2)は、ブロックチェーン内のブロックチェーン資産のアドレスおよび任意選択で他の情報(資産タイプ、資産価値、MD160ハッシュ(RIPEMD-160ハッシュと呼ばれることもあり、RIPEMDは、ベルギーのルーヴェンにあるルーヴェンカトリック大学のCOSIC研究グループにおいてHans Dobbertin、Antoon Bosselaers、およびBart Preneelによって開発された160ビット暗号化ハッシュをもつ、Research and Development in Advanced Communications technologies in Europe(RACE)Integrity Primatives Evaluation Message Digest(RIPEMD)を表す)、スクリプトハッシュ、トランザクションID、ブロック番号、現在のブロック難易度、総ブロック難易度、1つ以上のブロックチェーンヘッダ、対応するトランザクションのブロックヘッダへのマッピングを可能にするハッシュ、他のデータ、またはそれらの任意の組合わせ等)を含む応答を受信し得る。秘密鍵230がブロックチェーン内のブロックチェーン資産と関連付けられていることが分かる場合、装置102(2)は、1つ以上のブロックチェーンサーバー202から指示を受信し得、ブロックチェーン内の関連付けられた資産の特性に基づき支払いトランザクション120を受理または拒絶することを選択し得る。鍵決済モデルに従い、秘密鍵230と関連付けられたブロックチェーン資産がブロックチェーン内に存在して、支払いトランザクション120内の支払うべき金額に対応する値を有する場合、装置102(2)は秘密鍵230を支払いとして受理し得、秘密鍵230をオフチェーン資産データ234(2)として格納し得る。ブロックチェーンデータ204上の償還トランザクションは常に有限の金額がかかるので、この鍵ベースのトランザクションは、鍵を渡すことによって取引され得る実行可能な下限取引額を制限し得る。
別の決済モデル224は未使用のトランザクション出力(UTXO)決済モデルと呼ばれ得る。UTXOモデルでは、装置102(1)は、ハッシュロックによって資金を制限(encumber)する、UTXOを作成することによってブロックチェーン資産を制限し得る。いくつかの実施態様では、UTXOは、以前のトランザクションの未使用の出力に起因する新しいトランザクションに対する入力を表す。UTXOは、ブロックチェーンとやり取りすることなく装置102(1)上で作成され得る。装置102(2)は次いで、UTXOおよび関連付けられたデータ(事前ハッシュ画像など、UTXOの生成に関連して使用されるハッシュ関数に対する入力を表し得る)を受信し得、それらは、後に装置102(2)により、UTXOによってロックされた資金の制限を解除するために使用され得る。一例では、UTXOの償還は、署名されたメッセージを1つ以上のブロックチェーンサーバー202に提供することによって達成され得る。受信側装置102(2)は、支払い装置102(1)はUTXO決済モデルを使用して支払いをカバーするために十分な資金を有する口座からUTXOを作成したことを検証し得る。UTXOの値が装置102(2)を使用して償還される場合、装置102(2)は安全な支払い端末104に結合され得、最初にUTXOを1つ以上のブロックチェーンサーバー202にブロードキャストし、次いでそのUTXOを、口座情報および関連付けられたデータを提示することにより、その口座に償還するトランザクションを作成し得る。
UTXO決済モデルでは、ユーザー106は、UTXOをブロックチェーンデータ204に償還する前に、装置102を使用してUTXO(またはその一部)をオフチェーン資産データとして使い得、UTXOは、ブロックチェーンとやり取りすることなく、無記名資産として別の装置102に対して提示され得る。受信装置102は、UTXOはオンチェーンで償還可能である(UTXOはまだ使われておらず、ブロックチェーンに償還されていないことを意味する)ことを検証し得、UTXO決済モデルに基づきUTXOを含む支払いトランザクション120を受理し得る。装置102の文脈では、UTXOは、紙幣に類似していると考えられ得る。UTXO資金が償還される場合、UTXO資金の元の送信元アドレスは関連付けられたデータ(原像ハッシュなど)から知られるが、中間資金所有者は知られず、ブロックチェーンデータ204上に含まれないことが理解されるべきである。
いくつかの実施態様では、関連付けられたデータは原像ハッシュを含み得る。原像ハッシュは、所望の出力値を達成するためにハッシュ関数に提供され得る初期値を指す。ハッシュ関数は逆にするのが困難であり得、攻撃者がハッシュ関数の先験的な知識を有していないと仮定すると、攻撃者が任意の所与の出力値に対して原像ハッシュを判断するのを困難にし得る。従って、原像ハッシュはUTXOのロックを解除するための鍵として使用され得る。
UTXOは典型的には、些細ではない値を有しており、UTXOをブロックチェーンデータ204に償還する場合、各UTXOは、個々に処理されて検証されるトランザクション内で償還され得る。UTXOベースの資産取引の1つの考えられる利点は、装置102は、必要に応じて、必要なときにUTXOを生成し得ることである。また、UTXOを受信する受信装置102は、そのUTXOをブロックチェーンにコミットすることなく、ブロックチェーンデータ204に対して単純な読取りクエリーを行うことによってUTXOは償還可能であることを検証し得る。
装置102がハッキングされるか、失われるか、または不正アクセスされる場合、潜在的な損失はその装置上のUTXO(複数可)の値に局所化される。追加として、UTXOをブロックチェーンデータ204に償還する場合に些細ではない手数料が課される場合、各UTXOは些細ではない値を有しており、それは、UTXOの値に、実用的である、下限値を設定する。例えば、支払いトランザクションに対する現在の処理手数料が$0.05であり、オフチェーン資産データ234(すなわち、この例ではUTXO)が1ドルの価値がある場合、支払いトランザクションの償還はあるユーザー106にとっては理にかない得る。しかし、オフチェーン資産データ234(この例ではUTXO)が$0.10の価値でトランザクション手数料が$0.05である場合、手数料はUTXO値のかなりの部分となり、オフチェーン資産データ234を使用するUTXOトランザクションはあまり実用的ではない。
決済モデル224のさらに別のモデルは、装置102が、ブロックチェーンデータ204上のトランザクションを介して、オフチェーン資産データをブロックチェーン資産からロードされ得る口座決済モデルである。装置102は従って、ブロックチェーンデータ204内の公開アドレスに対応する初期残高を(物理複製困難関数(PUF)240から導出されたか、またはPUF240によって暗号化された秘密鍵230と共に)ロードされ得る。装置102(2)は、装置102(1)からの支払いトランザクション120を、トランザクションIDおよび関連付けられたデータを含むローディングトランザクションのコピーに基づいて検証し得る。装置102(1)または102(2)はその結果、それは特定のトランザクションIDから来たある額の資産を有することを知る。ブロックチェーンデータ204の特質のために、その特定の資産は何かを検証することは非常に困難である。例えば、ビットコインは、ほとんどの作業を、2009年にサトシ・ナカモトによって作成されたジェネシスブロック上に有するブロックチェーンとして定義される。しかし、ビットコインブロックチェーン内には多くの分岐があり、ビットコインキャッシュなどの、非常に類似した異なる資産がある。ユーザー106が資産を履歴的に検証しない限り、彼または彼女は正規のビットコインと見なされるものに騙され得る。従って、資産が何であるかの証拠を作成しようと試みる代わりに、トランザクションIDが受信装置102(2)に渡され得、装置102(2)は口座決済モデルを使用して、支払い(送信)装置102(1)上の残高に資金を供給したトランザクションIDがブロックチェーンデータ204内に本当に存在することを検証し得る。一旦、ブロックチェーン上のトランザクションIDの存在が、受信装置102(2)により口座決済モデルを使用して検証されると、装置102(2)は支払いトランザクション120を装置102(2)から受理して、SCE218(2)のデータストア226(2)内に格納されたオフチェーン資産データ234(2)の値を調整し得る。さらに、装置102(1)は、オフチェーン資産データ234(1)の値を支払いトランザクション120内に指定された額によって調整し得る。その後、オフチェーン資産データ234(2)(またはオフチェーン資産データ234(2)の一部)をブロックチェーンデータ204に償還して戻すために、装置102(2)はトランザクションにその秘密鍵230(2)で署名し得、その場合トランザクションは、オフチェーン資産データ234(2)の一部ならびに、装置102(2)の信頼性を示す証明書データ232(2)、および署名されたメッセージを1つ以上のブロックチェーンサーバー202に送信することにより一定額を代替オンチェーン口座に、または装置102(2)上の口座に償還するための署名された要求、などの公開鍵228(2)を含む。オフチェーン資産のオンチェーン資産への償還は、装置102が潜在的に少ないデータを保持して、オフチェーンシステムが不正アクセスされてそれらの資産を盗まれ得るユーザーの資金に対する任意のリスクを取り除くのを可能にする。
口座決済モデルを使用すると、装置102(2)は、ブロックチェーン内の支払いトランザクション120からのトランザクションIDを見つけるためにブロックチェーンに問い合わせを行い得る。一旦、見つかると、装置102(2)は、支払いトランザクション120内の支払い情報がトランザクションIDに対応するブロックチェーン資産よりも少ないことを検証し得る。トランザクションIDがブロックチェーン内で見つかって、そのトランザクションIDと関連付けられたブロックチェーン資産が、支払いトランザクション120内の支払い金額よりも大きい場合、装置102(2)は支払いトランザクション120を受理して、オフチェーン資産データ234(2)を更新し得る。例えば、装置102(2)は、トランザクションIDを含むクエリーを1つ以上のブロックチェーンサーバー202に送信し得る。1つ以上のブロックチェーンサーバー202がトランザクションIDと関連付けられたブロックチェーン資産をブロックチェーン内で見つけると、装置102(2)は、トランザクションIDに対応するブロックチェーン内のブロックチェーン資産のアドレス、および任意選択で他の情報(資産タイプ、資産価値、他のデータ、またはそれらの任意の組合わせ等)を含む応答を受信し得る。トランザクションIDがブロックチェーン内で見つからない場合、装置102(2)は1つ以上のブロックチェーンサーバー202から指示を受信し得、支払いトランザクション120を拒絶し得る。
口座決済モデルは、ブロックチェーンデータ204内の単一の資産タイプに対応する額が単一の償還トランザクション内で償還される場合にそれらが一緒に集約されるのを可能にして、償還プロセスと関連付けられたトランザクション費用を削減する。口座決済モデルはオフチェーン資産データが、特定の資産ではなく、口座残高として扱われるのを可能にする。従って、口座決済モデルは、オフチェーン資産データを、鍵またはUTXO決済モデルにおけるような紙幣(例えば、1ドル札、5ドル札など)ではなく、小銭(例えば、25セント硬貨、10セント硬貨、5セント硬貨、1セント銅貨など)のように処理し得る。
ハッキングまたは窃盗に起因した損失は、かかる窃盗または損失は2つ以上の特定の支払いトランザクション120に影響を及ぼし得るので、一層高い可能性がある。トランザクション残高は追加され得るが、各寄与トランザクションIDは、オフチェーン資産データの償還を検証するためにチェックされ得、それはオフチェーン資産データのブロックチェーンに対するコミットを、他の決済モデル224を用いたものよりも費用のかかるものにし得る。追加として、いくつかの実施態様では、装置102は制限された格納空間を有し得、そのため装置102は、オフチェーン資産データをブロックチェーンにコミットする必要がある前に、限られた数のトランザクションIDだけ保持することが可能であり得る。
いくつかの実施態様では、複数のトランザクションIDの代替性の欠如は、装置102の製造業者または第三者の信頼できる当局などの、経済的に動機を与えられたチェンジメーカーを有することによって改善され得る。チェンジメーカーは、ブロックチェーン資産データをブロックチェーン資産からスマートコントラクトに転送し得る。その後、ユーザー106は装置102を利用してスマートコントラクトからの変更を要求し得る。スマートコントラクトの条件が満足される場合、スマートコントラクトは変更を装置102に提供し得、装置102はその変更に基づいてオフチェーン資産データ234を更新し得る。これらのチェンジメーカーは、変更を行うための手数料を請求することを選択し得る。ユーザー106に対する利益は、より多くの変更が少数のトランザクションIDから来る可能性があり、トランザクションIDが償還操作の一部として検証される、口座決済モデルと比較して、その変更を償還するのをより安価にし得ることである。
さらに別の決済モデル224は、ローディングトランザクションが、装置102の製造業者もしくは別の当局などの、発行当局によって署名され得るか、または特定のアカウントから行われ得る、当局決済モデルを含み得る。この発行またはローディング当局署名は、オフチェーン資産データ234を、真正性の表示(ローディング当局の真正性の証明書または証拠など)と一緒に装置102に提供する。ローディング当局は、オフチェーン資産データ234をサービスとして装置102上にロードする企業実体であり得る。例えば、金融機関は、金融機関がオフチェーン資産データ234を装置102上にロードする「ローディング当局」サービスを提供し得る。
支払いトランザクション120を装置102で受信すると、装置102は、ローディング当局の信頼性に基づいて、支払いトランザクション120が有効であると判断する。これは、相手方装置(装置102(2)など)は、UTXOまたはトランザクションIDの存在を検証する必要がないことを意味する。代わりに、装置102(1)がロードされるとき、装置102(1)は、ローディング当局が証明するブロックチェーン資産から残高が来ることを知る。相手方が装置102(2)を介して支払いを受けている場合、相手方は、信頼できるローディング当局によってロードされているオフチェーン資産データでの支払いを要求し得る。装置102(2)は、オフチェーン資産データ234(1)と共に発行された署名された証明書を検査することによって、送信装置102(1)は信頼できるローディング当局要求を満足することを検証し得る。いくつかの実施態様では、受信装置102(2)は、それら当局の公開鍵228(2)を装置102(2)に追加することによって複数の当局による証明を受理するように構成され得る。当局が不正となる場合、ローディング当局の秘密鍵228の1つの違反または悪用は当局のビジネスを大幅に縮小させ得るので、ユーザー106は、将来のトランザクションのために、その当局の鍵を装置102(2)から除去し得、ローディング当局に「良い」仕事を行わせるためのインセンティブを引き起こす。この実施態様では、装置102(1)は、オフチェーン資産データ234(1)を初期化して適切な資産タイプを提供するために使用されたローディング当局からの署名を、装置102(2)に提示するであろう。ユーザー106がオフチェーン資産データ234をブロックチェーンデータ204に償還したい場合、ユーザー106は、装置102(2)を使用してローディング当局の署名、有効な装置証明書、およびその証明書に対応する資金を移動させる署名付き要求をブロックチェーンに提示し得る。トランザクションIDを使用して資産タイプを判断する決済モデル224とは異なり、より少ない一般的なローディング当局しかない可能性があり、そのため検証する必要のあるトランザクションIDの数は、使用される当局の数に制限され得、それは、数千のトランザクションおよび数千の相手方であっても、1であり得る。
決済モデル224のもう1つは、確率的決済モデルの証拠を含み得る。このアプローチは、証拠および特定のオフチェーン資産データを記述している規則またはモデルのセットを使用し得、それにより装置102は、データのオンチェーン読取りを行う必要なく、オフチェーン資産データをモデルに対して検証し得る。確率的決済モデルは、たとえ装置102がインターネットにアクセスできなくても、オフチェーントランザクションを検証するために使用され得る。例えば、支払いトランザクション120は支払い情報および関連付けられた証拠を含み得る。証拠は、ブロックチェーン資産データがダウンロードされた時点におけるブロックチェーンを表し得るデータを含み得る。一例では、非圧縮形式で、証拠はブロックチェーン全体の圧縮されていないコピーであり得る。証拠が完全に非圧縮の方法で作成される場合、トランザクションの証拠は、基礎となるブロックチェーンデータ204の最新コピーを含むであろう。実例では、証拠はブロックチェーンの圧縮された表現であり得、そのためブロックチェーンは、ブロックチェーン資産がブロックチェーン内のデータブロック内に含まれていたことを実証するハッシュのセットによって表される。例えば、証拠は、ブロックチェーンの圧縮を可能にする、ハッシュの連結を使用して作成され得る。いくつかの実施態様では、関数はブロックチェーンのブロックのデータを、ハッシュと呼ばれる固定長の暗号化出力に変換し得る。ブロックチェーンの複数のブロックに適用されると、関数は、ブロック内に含まれている内部参照によって連結されている複数のブロックのデータを変換する。結果として生じる「ハッシュの連結」はブロックチェーンの圧縮表現であり得る。確率的決済モデルは、ブロックチェーンデータ204の特性を簡潔な形で記述し、それは、ブロックチェーン上で実行された作業のレート、ブロック時間、ブロック当たりのトランザクション数、および履歴チェックポイントを含み得る。トランザクションの特性および関連付けられた証拠に基づき、支払いトランザクション120に対して基礎となるブロックチェーン資産は、証拠をブロックチェーンモデルと比較することにより、高い信頼度で確認され得る。例えば、装置102(1)は、資産の基礎となる資金供給トランザクションを確認するために使用され得る受け入れ可能な証拠のリストを有し得る。支払いトランザクション120の解決中、装置102(1)は、証拠を検証するために使用されたトランザクションに関する情報を提供し得、装置102(2)は支払いトランザクション120を受理するか否かを、提供された証拠が、装置102(2)の対応するブロックチェーンモデルの要件を満足するという信頼性に基づいて決定し得る。全ての装置102に対する資金供給トランザクションのゲートウェイとなる単一のスマートコントラクトの文脈では、スマートコントラクトにとって受け入れ可能なブロックチェーンモデルだけが別の装置102によって受け入れ可能であろう。スマートコントラクトにとって受け入れ可能なブロックチェーンモデルは、スマートコントラクト内に配備され得、装置102の発行エンティティによっても署名され得る。
装置102は、オフチェーンデジタル通貨トランザクションを可能にして、デジタル通貨(すなわち、暗号通貨)の可搬性を向上させる。その上、決済モデル224は、装置102により、支払いトランザクション120を解決して、装置102内でブロックチェーン規則を強制するために使用される。装置102はブロックチェーン規則を強制するので、装置102内に格納されたオフチェーン資産データ234は、オフチェーン支払いトランザクション120を実行するため、および支払いトランザクション120を集約するために信頼され得る。その後、オフチェーン資産データ(またはその一部)はブロックチェーンにコミットされ得る。
さらに、装置102はそれ自身の安全な通信を管理するので、POS支払い端末118は安全である必要はない。従って、装置102は、窃盗に対してあまり懸念せずに、店頭設備で使用され得る。装置102はブロックチェーン資産をよりアクセス可能で、より可搬にし、同時に装置102がオフチェーンで、またはSCEを有していない他の装置(POS支払い端末118など)と接続して、使用される場合にセキュリティを強化するための機構を確立しているので、装置102は従来型の暗号通貨システムに対する有意な優位性を提供する。他の優位性も本開示を検討すると当業者には明らかであろう。
前述の決済モデル224は例示に過ぎず、制限することを意図していないことが理解されるべきである。他の決済モデル224も支払いトランザクション120(暗号通貨トランザクション)をオフチェーンで解決するために使用され得る。さらに、前述の決済モデル224は装置102間のトランザクションに関して言及されてきたが、図3に関して以下で説明されるような、装置102とコンピューティング装置112との間、または装置102と安全な支払い端末104との間、のトランザクションを解決するために同じモデルを使用することも可能であり得る。追加として、決済モデル224は装置102内に含まれていると示されているが、決済モデル224は、例えば、スマートフォン、ラップトップコンピュータなどの、他の装置内に含まれ得ることが理解されよう。
図3は、一実施態様に従い、オフチェーン資産データ234を格納する1つ以上の装置102へのブロックチェーン資産データのダウンロードを容易にするための安全な支払い端末104を含むシステム300を示す。安全な支払い端末104は、ユーザー入力を受信するためのタッチスクリーン110または別の入力インタフェースを含み得る。さらに、安全な支払い端末104は、1つ以上の装置102を受け入れるための1つ以上の装置スロット108を含み得る。さらに、安全な支払い端末104は、機能的に装置102と類似している異なるフォームファクタの内部装置を含み得る。安全な支払い端末104は、ネットワーク206と通信するように構成され得る。さらに、安全な支払い端末104は、POS支払い端末118、1つ以上のブロックチェーンサーバー202、モバイルウォレットを備えた1つ以上のコンピューティング装置112、またはネットワーク206を通したそれらの任意の組合わせ、と通信し得る。いくつかの実施態様では、安全な支払い端末104は、ペアリングされた通信リンクを通してコンピューティング装置112と通信し得、ペアリングされた通信リンクは、有線接続または、ブルートゥース、ブルートゥースローエナジー、ジグビー、および同様のものなどの、近距離無線通信リンクであり得る。装置102、POS支払い端末118、および1つ以上のブロックチェーンサーバー202は、図1および図2に関して前述したのと同じ構成要素を含み得る。この実施態様では、コンピューティング装置112は、スマートフォン、ラップトップ、またはタブレットコンピューティング装置などの、携帯型コンピューティング装置として実装され得る。
コンピューティング装置112は、画像、テキスト、および、プルダウンメニュー、タブ、クリッカブルリンク、ソフトボタン、ラジオボタン、チェックボックス、テキストフィールド、他のオプション、またはそれらの任意の組合わせなどの、ユーザー選択可能な要素を提示するように構成されたタッチスクリーン302を含み得る。例えば、タッチスクリーン302は、ウェブページ、アプリケーションインタフェース、ソフトキーパッド、他のデータ、他のユーザー選択可能オプション、またはそれらの任意の組合わせを提示し得る。
その上、コンピューティング装置112は、安全な支払い端末104に対してデータを送受信するための1つ以上の送受信機、無線機、および他の構成要素を含み得る。通信インタフェース304は、コンピューティング装置112とネットワーク206との間の無線周波数通信も制御し得、ネットワーク206は、インターネットに加えて、セルラーネットワーク、衛星ネットワーク、デジタル通信ネットワーク、他のネットワーク、またはそれらの任意の組合わせなどの、通信ネットワークを含み得る。
コンピューティング装置112は、安全なコンピューティング環境(SCE)306も含み得、それは、ソフトウェア、専用SCE回路、またはそれらの任意の組合わせを使用して実装され得る。SCE306は、ブロックチェーンサーバー202の1つ以上と、または安全な支払い端末104とやり取りして、ブロックチェーン内のブロックチェーン資産に対応するブロックチェーン資産データをダウンロードし、ダウンロードされたデータを、コンピューティング装置112内の安全なデータストア314内にオフチェーン資産データ320として格納するために、1つ以上のハードウェアプロセッサ308およびプロセッサ308によって実行され得るモバイルウォレットアプリケーション310をさらに含み得る。いくつかの実施態様では、モバイルウォレットアプリケーション310は、コンピューティング装置112のユーザー106がオフチェーン資産データを装置102に、デジタル通貨資産を装置102と関連付けられた一意のアドレスもしくは識別子に送信することによってなど、ダウンロードまたは転送するのを可能にし得、そのデジタル通貨資産は、安全な支払い端末104またはPOS支払い端末118などの、支払い端末を通して装置102によって受信され得る。この例では、安全な支払い端末104は、安全なコンピューティング環境218のデータストア226内への格納のためにオフチェーン資産データ234を装置102に提供し得る。
いくつかの実施態様では、コンピューティング装置112のユーザー106は、モバイルウォレットアプリケーション310を利用して安全な支払い端末104からの署名を要求し、結果をトランザクションとしてブロードキャストし得る。いくつかの実施態様では、コンピューティング装置112のユーザー106はモバイルウォレットアプリケーション310を利用して安全な支払い端末104とやり取りしてオフチェーン資産データ234を装置102上にロードし得る。
SCE306はペアリングモジュール312も含み得、それは通信インタフェース304を制御して安全な支払い端末104と交渉して、安全な支払い端末104との安全なペアリングを確立し得る。例えば、ペアリングモジュール312はブルートゥースプロトコルまたは他の近距離(または長距離)無線プロトコルを利用して安全な支払い端末104との安全な通信を確立し得る。
SCE306は安全なデータストア314をさらに含み得、それは、公開鍵316、秘密鍵318、および任意選択でオフチェーン資産データ320を含み得、オフチェーン資産データ320は、ブロックチェーンデータ204からダウンロードされている可能性があるか、または完了した支払いトランザクション120を通して受信されている可能性がある。いくつかの実施態様では、公開鍵316は、物理複製困難関数(PUF)によって提供され得る。他の実施態様も可能である。
安全な支払い端末104は、非技術系の人が暗号通貨トランザクションに安全かつ容易に関与するのを可能にするハードウェアおよびソフトウェアソリューションを提供し得る。安全な支払い端末104は、ユーザー106がブロックチェーン資産データを、安全なデータストア314内にオフチェーン資産データ320として格納するためにコンピューティング装置112のモバイルウォレットアプリケーション310に転送するのを可能にすることによって、銀行によって提供されるサービスを複製(duplicate)し得る。代替として、安全な支払い端末104は、ユーザー106がブロックチェーン資産データを、データストア226内にオフチェーン資産データ234として格納するために、クレジットカードに類似し得る、装置102に転送するのを可能にし得る。
安全な支払い端末104は、安全なコンピューティング環境(SCE)322を含み得る。1つの考えられる限定されない実施態様では、SCE322は、オランダ、アイントホーフェンのNXP Semiconductors N.V.からのKinetis K81マイクロコントローラユニット(MCU)を含み得る。他の実施態様では、SCE322は他の装置を含み得る。いくつかの実施態様では、SCE322は、SCE内に格納されたデータを暗号化してそのデータへのアクセスを制限するために協働するハードウェアおよびプロセッサ実行可能命令を含み得る。
SCE322は、1つ以上の入出力(I/O)装置324を含み得る。I/O装置324は、装置102にデータを伝達して装置102からデータを受信するための構成要素、コンピューティング装置112にデータを伝達してコンピューティング装置112からデータを受信するための1つ以上の送受信機などを含み得る。さらに、I/O装置324は、データ(テキスト、画像、ユーザー選択可能オプション、またはそれらの任意の組合わせ)をタッチスクリーン110のディスプレイ部分に提供するためにタッチスクリーン110と関連付けられたインタフェース、および入力を検出するためにタッチスクリーン110と関連付けられたタッチセンサー式のインタフェースを含み得る。
SCE322はペアリングモジュール326をさらに含み得、それは、コンピューティング装置112のペアリングモジュール312と通信して安全な通信を確立し得る。例えば、ペアリングモジュール326は、安全な支払い端末104とコンピューティング装置112との間にブルートゥースペアリング動作を実装し得る。ペアリングモジュール326は、ペアリングデータを生成または更新し得、それはSCE322内のデータストア334内に格納され得る。ペアリングは、安全な支払い端末104とコンピューティング装置112との間の確立された関係および関連付けられた安全な通信を示す。ペアリングモジュール326は、ペアリングプロセスに関与して、ペアリングプロセスを制御するように構成され得る。例えば、安全な支払い端末104は、ペアリングと関連付けられたメッセージデータ、例えば、送信元識別子、送信元アドレス、公開鍵316など、を受信し得る。安全な支払い端末104は、ペアリングモジュール326を使用してメッセージデータを処理し得る。
ペアリングモジュール326は、ユーザーインタフェースモジュール328を使用してグラフィカルインタフェースをSCE322内のI/O装置324を介してタッチスクリーン110に提示し得る。例えば、グラフィカルインタフェースは、ペアリングを承認するために入力を要求するタッチスクリーン110上のプロンプト(テキストおよび1つ以上の選択可能オプション)を含み得る。グラフィカルインタフェースは、ユーザー106によってペアリングを確認または拒絶するためにアクセス可能な複数の選択可能オプションを含み得る。いくつかの実施態様では、タッチスクリーン110は検証コードまたは他のデータを入力するためのプロンプトを提示し得、それは、ペアリングされるコンピューティング装置112のタッチスクリーン302上に表示され得、ユーザー106はタッチスクリーン110を介して検証コードを入力し得る。代替として、または追加として、検証コードは、パスコード、アドレス、他のデータ等を含み得る。受諾、検証コード、またはそれらの組合わせを入力すると、ペアリングモジュール326は、関係を示すペアリングデータを生成し得る。ペアリングモジュール326はまた、ペアリング応答をコンピューティング装置112に送信し得る。いくつかの実施態様では、ペアリングモジュール326は、ペアリングのために1つ以上の技術を実装し得る。例えば、ペアリングモジュール326は、ディフィーヘルマン鍵交換または別のペアリング技術を利用し得る。ペアリングは、信頼関係および任意選択で安全な通信を安全な支払い端末104とコンピューティング装置112との間に確立する。
SCE322は、1つ以上のブロックチェーンサーバー202とのやり取りを容易にし得る暗号通貨(またはデジタル通貨)モジュール330をさらに含み得、それは、ブロックチェーン資産データの、オフチェーン資産データ320として格納のために、ブロックチェーンからコンピューティング装置112のモバイルウォレットアプリケーション310への転送を制御し得るか、またはブロックチェーン資産データの、データストア226内のオフチェーン資産データ234として格納のために、ブロックチェーンから装置102への転送を制御し得る。例えば、安全な支払い端末104は、公開鍵336、秘密鍵338、パスコードデータ340、またはそれらの任意の組合わせを使用して署名されたメッセージを(タッチスクリーン110を介して、またはペアリングされたコンピューティング装置112から、受信された入力に応答して)生成し得、署名されたメッセージを1つ以上のブロックチェーンサーバー202に送信して、ブロックチェーン資産と関連付けられたブロックチェーンデータをダウンロードし、ブロックチェーンデータを装置102のデータストア226内にオフチェーン資産データ234として格納し得る。代替として、安全な支払い端末104は、ブロックチェーン資産と関連付けられたブロックチェーンデータをダウンロードして、それをコンピューティング装置112に提供し得、コンピューティング装置112はブロックチェーンデータを安全なデータストア314内にオフチェーン資産データ320として格納し得る。オフチェーン資産データ320および234は、デジタル通貨値、タイムスタンプデータ、日付データ、秘密鍵データ、トランザクションIDデータ、他のデータ、またはそれらの任意の組合わせを含み得る。特定のブロックチェーン資産からダウンロードされたブロックチェーン資産データは1つのメモリ位置にだけ格納され得ることが理解されよう。その結果、オフチェーン資産データ320はオフチェーン資産データ234と同じではない。
SCE322は、安全な支払い端末104に装置スロット108の1つ内で装置102の挿入を検出させ得る装置モジュール332も含み得る。追加として、装置モジュール332は、I/O装置324を制御して装置102との通信を確立して、装置スロット108の構成要素と装置102との間の通信を制御し得る。例えば、装置モジュール332は、ブロックチェーンデータ204からのブロックチェーン資産を示すデータを、データストア226内にオフチェーン資産データ234としての格納のために装置102に提供し得る。他の実施態様も可能である。
SCE322は、1つ以上の公開鍵336を含むデータストア334も含み得、1つ以上の公開鍵336は、ネットワーク206を通して他の装置との安全な通信を確立するために使用され得る。いくつかの実施態様では、公開鍵336は物理複製困難関数(PUF)として実装され得る。データストア334は秘密鍵338も含み得、秘密鍵338は、デジタル通貨値をブロックチェーンに償還するためのメッセージなどの、暗号通貨トランザクションにデジタル的に署名するために使用され得る。データストア334はパスコードデータ340をさらに含み得、それはユーザー106を安全な支払い端末104に対して認証するために使用され得る。他の構成要素および要素も可能である。
いくつかの実施態様では、装置102は、安全な支払い端末104を使用してオフチェーン資産データ234をロードされ得る。例えば、ユーザー106は装置102を装置スロット108に挿入し得、タッチスクリーン110とやり取りしてブロックチェーン資産データを、オフチェーン資産データ234としての格納のために、ブロックチェーンデータ204から装置102のデータストア226に転送し得る。オフチェーン資産データ234は、トランザクションIDおよび他の情報と一緒に格納され得る。装置102がオフチェーン資産データ234を使用して支払いトランザクション120を生成する場合、トランザクションIDおよび他の情報が含まれ得、支払いトランザクション120の受信側装置102は決済モデル224のうちの1つを使用して、トランザクションIDおよび他の情報に基づいて支払いトランザクション120を検証し、支払いトランザクション120を完了し得る。
他の実施態様では、装置102は、コンピューティング装置112と通信する安全な支払い端末104を使用してオフチェーン資産データ234がロードされ得る。例えば、ユーザー106は装置102を装置スロット108に挿入し得る。ユーザー106はコンピューティング装置112とやり取りして安全な支払い端末104との通信を確立し、資産データ内のブロックチェーンの、ブロックチェーンデータ204から装置102と関連付けられた一意のアドレスへの転送を開始し得る。安全な支払い端末104はブロックチェーン資産データを受信し得、そのブロックチェーン資産データを、データストア226内にオフチェーン資産データ234として格納するために装置102に提供し得る。この例では、安全な支払い端末104のタッチスクリーン110は、その転送を、例えば、パスコードデータ340に対応するパスコード、pin、または他の認証データを入力することによって確認するために、ユーザー106によってアクセス可能なディスプレイおよびユーザー選択可能オプションを提示し得る。他の実施態様も可能である。
ブロックチェーン資産データをブロックチェーンデータ204から装置102へ転送するために安全な支払い端末104が使用される場合、安全な支払い端末104はセキュリティおよび暗号化を管理し得る。一旦、オフチェーン資産データ234が装置102のSCE218内のデータストア226内に格納されると、安全な支払い端末104またはPOS支払い端末118は通信を容易にし得るが、装置102は安全な通信および他の装置102の認証を確立し得、支払いトランザクション120を処理してオフチェーン資産データ234を転送し得る。
従って、装置102は、暗号通貨トランザクションのオフチェーンでの処理を可能にすることにより、暗号通貨の使い易さの観点から、従来型のシステムおよび装置に対する特定の優位性を提供する。装置102はそれ自身のセキュリティを管理し、それによりPOS支払い端末118の使用を可能にする。
図4は、1つの可能な実施態様に従った、図1~図3のシステムと共に使用され得る安全な支払い端末104のブロック図400を示す。安全な支払い端末104は電源402を含み得る。例えば、電源402は家庭用コンセントから得られた第1の電圧における交流電流を第2の電圧における直流電流に変換し得る。いくつかの実施態様では、電力を安全な支払い端末104に供給するために他の装置が使用され得る。例えば、電力は、無線電力伝送(誘導充電プレートなど)、電池、太陽電池、コンデンサ、燃料電池等によって供給され得る。
安全な支払い端末104は、汎用コンピューティング環境(GCE)404を含み得る。GCE404は、1つ以上の格納された命令を実行するように構成された1つ以上のハードウェアプロセッサ406(プロセッサ)を含み得る。プロセッサ406は、1つ以上のコアを含み得る。プロセッサ406はマイクロコントローラ、システムオンチップ、フィールドプログラマブルゲートアレイ、デジタル信号プロセッサ、グラフィック処理ユニット、汎用処理ユニットなどを含み得る。1つ以上のクロック408は日付、時間、ティック(tick)などを示す情報を提供し得る。
GCE404は、1つ以上の通信インタフェース410を含み得る。通信インタフェース410はGCE404、またはその構成要素が、他の装置または構成要素と通信するのを可能にする。通信インタフェース410は、I2C(集積回路間)、シリアル周辺機器インタフェースバス(SPI)、USBインプリメンターズフォーラムによって普及されたユニバーサルシリアルバス(USB)、RS-232、イーサネット、Wi-Fi、ブルートゥース、ブルートゥースローエナジー、ジグビー、LTE (ロングタームエボリューション)などの1つ以上を含み得る。例えば、GCE404は、安全な支払い端末104がネットワーク206と通信するのを可能にするWi-Fiインタフェースまたは安全な支払い端末104が他の装置と通信するのを可能にするジグビーインタフェースを含み得る。
GCE404は、1つ以上のI/O装置412を含み得る。I/O装置412は、スイッチ、キーボード、タッチセンサー等の1つ以上などの入力装置を含み得る。I/O装置412は、ライト、スピーカー、ディスプレイ等の1つ以上などの出力装置も含み得る。いくつかの実施態様では、I/O装置412は、安全な支払い端末104内に物理的に組み込まれ得るか、または外部に設置され得る。
図4に示されるように、GCE404は1つ以上のメモリ414を含み得る。メモリ414は、1つ以上の持続性コンピュータ可読記憶媒体(CRSM)を含み得る。CRSMは、電子記憶媒体、磁気記憶媒体、光学式記憶媒体、量子記憶媒体、機械式コンピュータ記憶媒体などの任意の1つ以上であり得る。メモリ414は、コンピュータ可読命令、データ構造、プログラムモジュール、およびGCE404の動作のための他のデータの格納を提供する。少数の機能モジュール例がメモリ414内に格納されて示されているが、同じ機能は代替として、ハードウェア、ファームウェア、またはシステムオンチップ(SoC)として実装され得る。
メモリ414は、少なくとも1つのオペレーティングシステム(OS)モジュール416を含み得る。OSモジュール416は、通信インタフェース410またはI/O装置412などのハードウェア資源装置を管理して、プロセッサ406上で実行しているアプリケーションまたはモジュールに様々なサービスを提供するように構成される。例えば、OSモジュール416は、FreeBSDなどの、Linuxオペレーティングシステムの変形を実装し得、FreeBSDはFreeBSD Foundationと関連したFreeBSDプロジェクトによって普及されたオペレーティングシステムである。
メモリ414は、以下のモジュールの1つ以上を格納し得る。これらのモジュールは、フォアグラウンドアプリケーション、バックグラウンドタスク、デーモン等として実行され得る。例えば、メモリ414は、通信モジュール418および1つ以上の他のモジュール420を格納し得る。通信モジュール418は通信インタフェース410の1つ以上を使用して他の装置とGCE404との間の通信を容易にするように構成され得る。例えば、通信モジュール418はネットワークインタフェースを使用して、Wi-Fi無線アクセスポイントへの接続を確立し、コンピューティング装置112などの、装置の1つからメッセージデータを受信し得る。通信モジュール418は次いで、メッセージデータをSCE322に提供し得る。いくつかの実施態様では、通信モジュール418は、ネットワークインタフェースを通して暗号化通信を提供し得る。OSモジュール416、通信モジュール418、または他のモジュール420は、ネットワークセキュリティ、サービス妨害攻撃緩和、ポートスキャン検出などの追加の機能を提供し得る。潜在的な攻撃が検出される場合には、GCE404は緩和措置を取り得る。例えば、GCE404は、一時的にネットワークアクセスを切断し得る、動的ホスト構成プロトコルを使用して新しいネットワークアドレスを取得し得る、SCE322との通信を一時中断し得る、等。
また、メモリ414はデータストア422も含み得る。データストア422は、フラットファイル、データベース、連結リスト、ツリー、実行可能コード、スクリプト、または情報を格納するための他のデータ構造を使用し得る。データストア422は構成データ424を含み得る。例えば、構成データ422は、ネットワークインタフェースのための接続パラメータを含み得る。他のデータ426もデータストア422内に格納され得る。
安全な支払い端末104もSCE322を含み得る。SCE322は、1つ以上の格納された命令を実行するように構成された1つ以上のハードウェアプロセッサ428(プロセッサ)を含み得る。プロセッサ428は1つ以上のコアを含み得る。プロセッサ428はマイクロコントローラ、システムオンチップ、フィールドプログラマブルゲートアレイ、デジタル信号プロセッサ、グラフィック処理ユニット、汎用処理ユニットなどを含み得る。1つ以上のクロック430は日付、時間、ティックなどを示す情報を提供し得る。
SCE322は、1つ以上の通信インタフェース432を含み得る。通信インタフェース432は、SCE322またはその構成要素が、GCE404の構成要素を含む、他の装置または構成要素と通信するのを可能にする。通信インタフェース432は、I2C、SPI、USB、RS-232、セキュアデジタルホストコントローラ(SDHC)、装置インタフェース、近距離無線通信(NFC)インタフェースなどの1つ以上を含み得る。いくつかの実施態様では、GCE404とSCE322との間の通信は、SPIまたはUSBなどの、特定の通信バスに制限され得、通信インタフェース432によって提供され得る。
SCE322は、1つ以上のI/O装置324を含み得る。I/O装置324は、スイッチ、キーボード、タッチセンサー等の1つ以上などの入力装置を含み得る。I/O装置324は、ライト、スピーカー、ディスプレイ等の1つ以上などの出力装置も含み得る。例えば、I/O装置324は、ディスプレイおよびタッチセンサーを組み込んでいるタッチスクリーン110を含んで、データの提示および入力の取得を可能にし得る。いくつかの実施態様では、これらのI/O装置324は、それらが、GCE404ではなく、SCE322によってだけアクセスされ得るように制約され得る。
SCE322は、アルゴリズム的および物理的な形の侵入に対するセキュリティを提供する。例えば、GCE404とSCE322との間の分離、およびSCE322の他の属性は、アルゴリズム攻撃の成功の可能性を最小限に抑える。物理攻撃を防ぐために、SCE322は、1つ以上の改ざん検出装置434を含み得るか、または1つ以上の改ざん検出装置434と通信し得る。
改ざん検出装置434は、SCE322またはその中の要素の実際の、または潜在的な改ざんを示すデータを提供する。例えば、改ざん検出装置434は、安全な支払い端末104のケースが開かれていることを示すスイッチを含み得る。別の例では、改ざん検出装置434および回路は、壊され場合に、物理的改ざんを信号通知する、電気伝導体を含み得る。別の例では、改ざん検出装置434は、温度センサー、光センサー、電圧測定装置、磁場センサー、電離放射線センサー、超音波センサーなどのセンサーを含み得、改ざんを示すデータを提供し得る。改ざん検出装置434は、単一ダイ、回路基板、組立体、SCE322などの部分である構成要素の改ざんを検出するために使用され得る。例えば、I/O装置324は改ざん検出装置434を含み得る。これらの改ざん防止装置は電池によって電力供給され得、それは安全な支払い端末104の一部であり得、改ざん検出装置434内に含まれ得る。
いくつかの実施態様では、SCE322またはその部分は、改ざんに応答して自己破壊するか、または別の方法で使用不能にされるように構成され得る。例えば、改ざんの判断に応答して、閾値を超える電圧がSCE322内の回路の少なくとも一部を通って、その回路を使用不能にし得る。別の例では、改ざんの判断に応答して、改ざん検出装置434は記憶媒体(安全なメモリ440など)を消去、上書き、ランダム化など、させ得る。
SCE322は1つ以上の装置102を含み得るか、または1つ以上の装置102に結合され得る。図示例では、装置102はSCE322もしくは安全な支払い端末104と一体化され得るか、または取外し可能(装置スロット108を通してなど)であり得るか、または無線で接続され得る。装置102は、1つ以上のプロセッサ220、安全なメモリ440、および他の構成要素を含み得る。例えば、プロセッサ220は、1つ以上の暗号関数を提供し、決済モデル224を適用して、オフチェーン資産データを伴う支払いトランザクションを実施するためのブロックチェーン規則を強制するように構成され得る。安全なメモリ440は、秘密鍵230、証明書データ232、デジタル資産234、信頼できる証明書データ236のリスト、および任意選択で、支払いトランザクション120の送信時における使用のためのソルトデータ238などの、1つ以上の秘密を格納するために使用され得るデータストア226を含み得る。追加として、安全なメモリ440のデータストア334は、支払いトランザクション120において、例えば、公開鍵として使用され得る物理複製困難関数(PUF)240を含み得る。いくつかの実施態様では、PUF240は、ブロックチェーンデータ204がブロックチェーンからダウンロードされる場合にブロックチェーン資産を制限するために使用され得るブロックチェーン内で公開鍵として使用され得る。PUF240は、製造中に物理的変動を示す、装置102またはその中の構成要素の何らかの特性に基づき得る。PUF240は、その特定の装置102に固有のデータを生成するために使用され得る。物理的に変化する特徴がPUF240を生成するために使用され得る。例えば、PUF240は、コーティングの分布、結晶格子の配置、磁性粒子の配置、その結果が製造前に分かっていない反復可能な競合状態をもつ回路などの物理的特性に基づいて生成され得る。いくつかの実施態様では、PUF240は、秘密鍵230として、または秘密鍵230を生成するための擬似ランダムシードデータとして、使用され得る。
安全な支払い端末104と装置102との間の通信は、1つ以上の電気接点を使用して、または電磁放射、磁場、音波などを使用して無線で、確立され得る。例えば、通信インタフェース432は、装置102との電気的接触を利用するインタフェースを含み得、国際標準化機構(ISO)および国際電気標準会議(IEC)ISO/IEC 7816-4:2013規格に準拠している。例えば、通信インタフェース432は、パート1(接触型カード-物理的特性);パート2(接触型カード-接点の寸法および位置);およびパート3(接触型カード-電気的インタフェースおよび伝送プロトコル)に適合し得る。別の例では、通信インタフェース432は、ISO/IEC 14443-1:2018の少なくとも一部、セクション4(物理的特性)など、に準拠する無線インタフェースを含み得る。これらの規格は進化し、通信インタフェース432は、規格によって定義される仕様を満足するか、または上回るように変更され得ることが理解されるべきである。
図4に示されるように、SCE322は、安全なメモリ442と呼ばれる、1つ以上のメモリを含む。安全なメモリ442は1つ以上のコンピュータ可読記憶媒体(CRSM)を含み得る。CRSMは、電子記憶装置、磁気記憶装置、光学式記憶装置、量子記憶装置、機械式コンピュータ記憶装置などの任意の1つ以上であり得る。安全なメモリ442は、コンピュータ可読命令、データ構造、プログラムモジュール、およびSCE322の動作のための他のデータの格納を提供し得る。少数の機能モジュール例が安全なメモリ442内に格納されて示されているが、同じ機能は代替として、ハードウェア、ファームウェア、またはシステムオンチップ(SoC)として実装され得る。
いくつかの実施態様では、安全なメモリ442は、安全なメモリ442の内部にあって、安全なメモリ442内で維持されている秘密鍵338の1つなどの、秘密鍵を使用して安全なメモリ442に書き込まれる全てのデータを暗号化するように構成される、メモリコントローラを含み得る。改ざん検出装置434による改ざんの検出に応答して、安全なメモリ442は秘密鍵338を削除または上書きして、安全なメモリ442内に格納されたデータをアクセス不能にし得る。他の実施態様も可能である。
安全なメモリ442は、少なくとも1つのオペレーティングシステム(OS)モジュール444を含み得る。OSモジュール444は、通信インタフェース432またはI/O装置324などのハードウェア資源装置を管理して、1つ以上のプロセッサ428上で実行しているアプリケーションまたはモジュールに様々なサービスを提供するように構成される。例えば、OSモジュール444は、FreeBSD(www.freebsd.orgにおいてFreeBSDプロジェクトによって普及されたオペレーティングシステム)もしくはFreeRTOS(Amazon Technologies,Inc.によって配布された無料のリアルタイムオペレーティングシステム)、bare metal c、または別のオペレーティングシステムなどの、Linuxオペレーティングシステムの変形を実装し得る。
安全なメモリ442は、以下のモジュールの1つ以上を格納し得る。これらのモジュールは、フォアグラウンドアプリケーション、バックグラウンドタスク、デーモン等として実行され得る。これらのモジュールは、ペアリングモジュール326、ユーザーインタフェースモジュール328、暗号通貨モジュール330、装置モジュール332、通信モジュール446、または他のモジュール448の1つ以上を含み得る。
ペアリングモジュール326は、コンピューティング装置112および安全な支払い端末104が安全な通信および信頼関係を確立する動作を制御し得、安全な通信および信頼関係を通してコンピューティング装置112がブロックチェーン資産データのブロックチェーンから装置102上へのダウンロードを開始し得、装置102はブロックチェーン資産データをオフチェーン資産データ234として格納する。ペアリングは、安全な支払い端末104と別の装置またはシステムとの間の、確立されて信頼できる関係を示す。例えば、通信モジュール446は、送信元識別子、送信元アドレス、公開鍵316などの、ペアリングと関連付けられたデータを含む、GCE404からのメッセージデータを受信し得る。通信モジュール446はメッセージデータを処理のためにペアリングモジュール326に渡す。
ペアリングモジュール326は、ユーザーインタフェースモジュール328を使用して、ユーザーインタフェースをSCE322内のI/O装置324を介して提示し得る。例えば、ユーザーインタフェースモジュール328は、ペアリングを確認するためのユーザー入力を要求するプロンプトをタッチスクリーン110上に提示し得る。いくつかの実施態様では、タッチスクリーン110に提示されるグラフィカルインタフェースは、検証コード、パスコード、または他のデータの入力を要求するプロンプトを含み得る。検証コード、パスコード、またはそれらの組合わせの承認を入力すると、ペアリングモジュール326は、関係を示すペアリングデータ452を生成し得る。ペアリングモジュール326は次いで、ペアリング応答をGCE404に送信し得、それは最終的に他の装置に送信される。ペアリングモジュール326は、例えば、ディフィーヘルマン鍵交換などの、ペアリングのための1つ以上の技術を実装し得る。別の例では、ペアリングモジュール326は、ユーザー106が様々なパスコードを入力するように促すユーザー入力方法、ユーザー106が装置の出力を比較して接続を確立するか、もしくは拒絶し得るマッチング方法、ユーザー106がペアリングを開始し画面上の指示に従ってペアリングを検証および確立し得るガイダンス方法、装置がごく近接して相互にやり取りし得るオーディオビジュアル同期方法、パスコードが共有される登録方法、他の方法、またはそれらの任意の組合わせを含み得る。
ペアリング中、いくつかのデータがネットワーク206を介して転送され得、そのデータはGCE404を経由してSCE322で受信され得る。例えば、安全な支払い端末104および他の装置(コンピューティング装置112など)は、公開鍵(それぞれ、公開鍵316および336など)、署名されたメッセージ、同期データ、他のデータなどを交換し得る。いくつかの実施態様では、通信モジュール446は着信メッセージデータを評価し得る。例えば、通信モジュール446は、着信メッセージデータの値を、ペアリングデータ452もしくは他のデータ456の1つ以上、またはそれらの任意の組合わせに対して評価し得る。
同様に安全なメモリ442内に格納されるのはデータストア334であり得る。データストア334は、フラットファイル、データベース、連結リスト、ツリー、実行可能コード、スクリプト、または情報を格納するための他のデータ構造を使用し得る。データストア334は1つ以上の公開鍵336、1つ以上の秘密鍵338、および1つ以上のパスコード340を含み得る。データストア334は、構成データ450、ペアリングデータ452、連絡先データ454、または他のデータ456の1つ以上も含み得る。例えば、構成データ450は、OSモジュール444の動作と関連付けられた設定、通信モジュール446によって課された制限を示すデータなどを含み得る。
連絡先データ454は、現在ペアリングされているセッションに関連するデータおよびペアリングされた装置に関する情報を含み得る。追加として、連絡先データ454は画像データおよび、安全な支払い端末104が以前にブロックチェーン資産データを送信している暗号通貨口座と関連付けられた他のデータを含み得る。1つの考えられる例では、ユーザー106がタッチスクリーン110とやり取りしてブロックチェーン資産データを口座に転送する場合、ユーザー106またはその口座と関連付けられた会社の画像がグラフィカルインタフェース内に表示されてユーザー106が正しい口座が選択されていることを視覚的に検証するのを可能にし得る。例えば、ユーザー106がブロックチェーン資産データをBobに転送したい場合、ユーザー106はタッチスクリーン110を使用してBobと関連付けられた連絡先データ454を選択し得、グラフィカルインタフェースは、Bobの写真などの、識別子を表示し得、そのためユーザー106は正しい口座が選択されていることを容易に確認し得る。他の実施態様も可能である。
他のデータ456は、着信メッセージデータの値を評価するために使用され得る閾値データおよび他のデータを含み得る。さらにいくつかの実施態様では、通信モジュール446は、ペアリングデータ452および連絡先データ454内に示されているペアリングされた装置と関連付けられていないメッセージデータを無視するように構成され得る。例えば、ペアリングされたコンピューティング装置112は署名のためにメッセージデータを安全な支払い端末104に送信し得る。通信モジュール446は、送信元アドレス、署名データ、またはメッセージデータ内の他の値を検証して、メッセージデータが、今でもまだ有効なペアリングを示すペアリングデータ452と関連付けられているかを判断し得る。各ペアリングは、ペアリングデータ452内に示されているように、そのペアリングと関連付けられた1つ以上の異なる規則または条件を有し得る。これらの条件は、ユーザー106、管理者などによって指定された制限を指定し得る。代替として、条件は、ペアリングを確立するプロセス中にペアリングモジュール326によって自動的に決定される制限を指定し得る。一旦、ペアリングが確立されると、ペアリングモジュール326はデータストア334内でペアリングデータ452を生成し得るか、または更新し得る。
ユーザーインタフェースモジュール328は、画像、テキスト、およびユーザー106によりタッチスクリーン110を介して転送操作を完了するためにアクセス可能なユーザー選択可能オプションを含む、安全な支払い端末104のタッチスクリーン110に提供される情報を制御して、ブロックチェーン資産データをブロックチェーンデータ204から装置102上にオフチェーン資産データ234としての格納のために転送し得る。いくつかの実施態様では、タッチスクリーン110は、ユーザー106がそれを通してパスコードの入力を要求され得るインタフェースを提示し得、パスコードはダウンロードトランザクションを完了するためにパスコードデータ340に一致する必要がある。
暗号通貨モジュール330は、1つ以上のブロックチェーンサーバー202との暗号通貨通信の管理に加えて、1つ以上の暗号関数を実行し得る。これらの暗号関数は、秘密鍵生成、共有のための秘密鍵338の1つ以上のピースの作成、階層的決定性アドレス生成、デジタル署名、ハッシュ生成、複数署名(multiple signature signing)、暗号化、暗号解読などを含み得るが、それらに限定されない。例えば、暗号関数は、Adi Shamir、George Blakelyなどによって記述されているものなど、秘密が、その後分散され得るいくつかのピースに分割されるのを可能にする、秘密共有の実装を含み得る。秘密鍵338はその後、ピース、またはそれらのピースのサブセットを使用して決定され得る。別の例では、暗号関数は、秘密鍵338の1つ以上に基づいて、署名されたメッセージデータを作成するために使用されるデジタル署名を生成し得る。
装置モジュール332は、I/O装置412、I/O装置324、および通信インタフェース432などの、ハードウェア資源装置を管理して、安全な支払い端末104と1つ以上の装置102との間の通信を確立するように構成され得る。さらに、装置モジュール332は、暗号通貨モジュール330と協働してオフチェーン資産データ234を装置102上に格納するか、またはオフチェーン資産データ234をブロックチェーンデータ204への償還のために受信し得る。他の実施態様も可能である。
通信モジュール446は、通信インタフェース432の1つ以上を使用してSCE322とGCE404との間に通信を提供し得る。通信モジュール446はメールボックス機能を実装して、SCE322とGCE404との間で転送され得るデータのタイプを制限し得る。通信モジュール446は、データ転送の頻度、データのサイズ、転送されるデータのタイプに基づいて通信を制限し、命令の制限されたセットなどを実装し得る。例えば、通信モジュール446が大きすぎる(例えば、所定の閾値よりも大きい)メッセージデータをGCE404から受信する場合、通信モジュール446はそのメッセージデータを消去し得る。別の例では、単位時間当たりのメッセージ数が閾値を超えている場合、通信モジュール446は通信を一時停止し得る。いくつかの実施態様では、通信モジュール446または他のモジュール448が1つ以上の閾値を超えている活動を検出する場合、緩和措置が取られ得る。これらの緩和措置は、安全なメモリ442(および任意選択で装置102の安全なメモリ)の消去、SCE322の1つ以上の構成要素を操作不能にすること等、を含み得るが、それらに限定されない。例えば、通信モジュール446によって処理された無効な命令の数が所定の期間内に閾値カウントを超えた場合、安全なメモリ442は消去され得る。同様に、通信モジュール446はGCE404へのアウトバウンド通信に制限を課し得る。
前述の例を続けると、有効なペアリングが存在すると判断した後、通信モジュール446はメッセージデータの1つ以上の他の値を閾値および他のデータ456と比較して、1つ以上の値が閾値を満足するかを判断し得る。他のデータ456は特定のフィールドのデータおよびそれらのフィールドに対する対応する境界値を示し得る。例えば、フィールドは「通貨のタイプ」を指定し得、境界値は「ETFI」または「Ethereum」を指定し得る。他のデータ456は、許可される資産のタイプ、許可されるトランザクションのタイプ、指定された時間内の署名されたメッセージの最大数、単一トランザクション内の資産の最大量、単一トランザクション内の資産の最小量、時間当たりに転送される資産の最大量、対応する境界値、デジタル資産のタイプなど、の1つ以上を指定するために使用され得る。
他のデータ456によって指定される条件は、署名されたメッセージデータ(オフチェーン資産データ234を償還するためにブロックチェーンに送信されるオフチェーン資産データ償還メッセージなど)が判断される前に、パスコードデータ340に一致するパスコードまたは他の認可証印をタッチスクリーン110を介して入力することによる検証のための要件を含み得る。例えば、ユーザーインタフェースモジュール328は、メッセージデータに署名するための承認を示すタッチスクリーン110からの入力を受理するために使用され得る。
1つの可能な実施態様では、タッチスクリーン110を介して受信された入力はパスコードを含み得、それは、I/O装置324を使用して入力されて、その後パスコードデータ340に対して検証された場合、秘密鍵338の1つ以上にアクセスするために使用される。例えば、パスコードはパスコードデータ340に対して検証されて、「ブラインド(blind)」秘密鍵338の使用を認可するか、またはそうでなければ示し得る。別の実施態様では、パスコードの代わりに、またはパスコードに加えて、取外し可能な装置102が利用され得、その上にオフチェーン資産データ234がロードされ得る。1つの可能な実施態様では、SCE322は、取外し可能な装置102を、第2の要素認証または取外し可能なセキュリティドングルとして使用し得、それは認証が確認され得る前に挿入することを要求され得る。
暗号を伴うトランザクションと関連付けられた公開鍵336値、暗号通貨アドレス、および他のデータは、ユーザー106が対処するには厄介であり得る。人間は長いシーケンスの文字および数字を扱う仕事をするのは困難であり得る。例えば、人間は、それらの文字列間の小さな違いを見つけること、暗号通貨アドレスを覚えること等は、困難であり得る。結果として、ユーザー106が1つの暗号通貨アドレスを、別が意図される場合に、誤って選択するか、またはそうでなければ署名されたメッセージデータを生成するプロセスでエラーを引き起こす可能性がある。ユーザーインタフェースモジュール328は、I/O装置324で、メッセージデータと関連付けられている連絡先データ454を提供するために使用され得る。一実施態様では、ユーザーインタフェースモジュール328は、メッセージデータ内の宛先アドレスを使用して連絡先データ454から特定のレコードを取得し得る。例えば、メッセージデータが、「Utility Company,Inc」と関連付けられたアドレスなどの、連絡先データ454内の項目に一致する宛先アドレスを含む支払いトランザクション120である場合、連絡先データ内の名前および「Utility Company,Inc」ロゴの写真がタッチスクリーン110上に提示され得る。例えば、タッチスクリーン110は、トランザクションに承認を与え、パスコードを入力すること等をユーザー106に要求するプロンプトを含むユーザーインタフェースを提示し得る。この情報を(連絡先データ454を含む)タッチスクリーン110を介してグラフィカルインタフェース内に提示することにより、ユーザー106はそのトランザクションの受領者が誰であるかを迅速かつ容易に見ることができる。この提示は不必要な、または間違ったトランザクションに署名するのを容易に発見し得る。結果として、安全な支払い端末104およびシステムのセキュリティ全体が改善される。
他のモジュール448は他の機能を提供し得る。例えば、他のモジュール448は、電子メールまたはメッセージング機能を提供して、トランザクションが開始または完了する場合に所定の電話番号または電子メールアカウントにアラートを提供し得る。他の機能も可能である。
装置102のデータおよび機能は、装置102がSCE322の一部として動作している間にアクセスされ得る。例えば、安全な支払い端末104は装置102に装置スロット108の1つを介して接続し得る。一旦、接続されると、SCE322は、装置102の安全なメモリ内に格納されている秘密鍵230を利用し、装置102上の暗号関数(PUF240など)を利用し得る、等。
いくつかの実施態様では、アクセスされる1つ以上の装置102に対して安全な環境を提供することに加えて、SCE322は1つ以上の安全な入力/出力(I/O)装置324を提供し得る。例えば、I/O装置324は、ディスプレイおよびタッチセンサーを組み込んでいるタッチスクリーン110を含み、データおよび選択可能オプションを含むユーザーインタフェースのユーザー106への提示を可能にして、ユーザー106から入力を取得し得る。いくつかの実施態様では、安全な支払い端末104は、指紋データ、掌紋データ、虹彩データ等を含むが、それらに限定されない、生体データを、タッチスクリーン110、別個の生体入力インタフェース、またはそれらの任意の組合わせを使用して取得し得る。I/O装置324は、SCE322が、ペアリングコード(ペアリングデータ452)、パスコード(パスコードデータ340)、生体データ、アドレスデータ、または他のデータ、などの入力を、高度に安全であると考えられて、GCE404が接続されているネットワーク206とは無関係な方法で受理するのを可能にし得る。例えば、タッチスクリーン110、生体認証センサー(含まれる場合)、挿入された装置102、またはそれらの任意の組合わせを介して提供された入力が、初期検証のため、第2の要素認証のため、または第3の要素認証のためにさえ使用され得る。
SCE322は、その後、装置102の安全なメモリ内の秘密鍵230(または安全な支払い端末104の安全なメモリ442の秘密鍵338)の1つ以上を使用して署名され得るメッセージを、入力として受理するか、または内部で生成して、署名されたメッセージデータ(支払いトランザクション120など)を生成し得る。署名動作は、1つ以上の以前に指定された条件を満足するメッセージ内の値によって決まり得る。例えば、SCE322(または装置102)は、署名を要求している当事者の識別、暗号通貨のタイプ、転送の額、転送の頻度、宛先アドレス等に基づいて署名を制限する規則を実装し得る。例を継続すると、SCE322(または装置102)は、少なくとも24時間以内に他の転送がなかったという条件で、かつ要求内の宛先アドレスが、以前にSCE322内(連絡先データ454内など)に格納されたアドレスに一致するか、または信頼できる証明書発行者データ236内のリストに一致する証明書データ232を含むという条件で、閾値を下回るイーサリアムの額に対する要求の署名を許可し得る。この例では、メッセージが条件を満足する場合、SCE322(または装置102)は、署名されたメッセージデータを作成し得る。
いくつかの実施態様では、規則はユーザー106にSCE322のI/O装置324を使用して(タッチスクリーン110を介してなど)署名の承認を要求し得る。例えば、提案された転送の額が閾値を超えている場合、パスコードまたは署名の承認の他の証印の入力要求を含むグラフィカルインタフェースがSCE322のタッチスクリーン110上に提示され得る。一旦、承認の証印が受信されると、安全な支払い端末104はメッセージ(支払いトランザクション120など)に署名し得、署名されたメッセージをSCE322からGCE404に送信し得る。GCE404は次いで、署名されたメッセージを1つ以上のブロックチェーンサーバー202に(署名されたメッセージ内に含まれるオフチェーン資産データ234を償還するため)、または、POS支払い端末118を通して、別の安全な支払い端末104を通してなど、別の装置102になど、他の外部装置に送信し得る。
安全な支払い端末104は、出力装置(タッチスクリーン110を含むI/O装置324)を介してユーザーインタフェース内で連絡先データ454を提供することによってセキュリティをさらに向上し得る。例えば、タッチスクリーン110上に提示されるユーザーインタフェースは、誰が署名されたメッセージの受取人であるかをユーザー106がさらに容易に(視覚的に)確認するのを可能にするデータおよび情報を含み得る。特定の例では、安全な支払い端末104は連絡先データ454を含み得、それはGeorgeの写真および彼のイーサリアム暗号通貨アドレスを含み得る。Georgeのイーサリアムアドレスへの転送を要求するメッセージデータが受信される場合、Georgeの名前および写真が、確認プロンプトと一緒に、タッチスクリーン110上のグラフィカルインタフェース内に提示されて、受領者が正しいかどうかをユーザー106が容易に判断するのを可能にし得る。連絡先データ454のこの提示は、安全な支払い端末104の信頼性および有用性を著しく向上させ得る。例えば、この簡略化されたインタフェースはユーザー106がデジタル資産を間違った当事者に転送するのを防ぐのを支援し得る。
いくつかの実施態様では、他のコンピューティング装置112(スマートフォンなど)またはシステムは安全な支払い端末104とペアリングされて、強化された機能を提供し得る。ペアリングは、安全な支払い端末104と他のコンピューティング装置112またはシステムとの間の、確立されて信頼できる関係を示し得る。ペアリング中、SCE322でGCE404を介して受信されるものなど、いくつかのデータがネットワーク206を通して転送され得る。例えば、安全な支払い端末104および他の装置112は公開鍵(それぞれ、公開鍵228および316)を交換し得る。ペアリングの確実性は、ペアリングを完了するために帯域外(OOB)データの転送を要求することによってさらに向上され得る。例えば、安全な支払い端末104のタッチスクリーン110は、情報およびユーザー106によってアクセス可能な選択可能オプションを提示して、他の装置によって、例えば、コンピューティング装置112のタッチスクリーン302インタフェース上に提供されている第1の認証コードを入力し得る。安全な支払い端末104のタッチスクリーン110は、第2の認証コードを含むグラフィカルインタフェースも提示し得、それはその後OOB通信を介して他の装置に提供され得る。例えば、コンピューティング装置112とのペアリングをセットアップしている間、コンピューティング装置112は安全な支払い端末104との通信を開始し得る。コンピューティング装置112は認証コードをタッチスクリーン302上に表示し得、それは安全な支払い端末104のタッチスクリーン110を介して入力され得、ユーザー106はタッチスクリーン110によって表示される第2の認証コードを受信し得、それはタッチスクリーン302を介してコンピューティング装置112上に入力され得る。有効な認証コードが入力されると、ペアリングは完了し得る。
ペアリング機能は安全な支払い端末104が、コンピューティング装置112などの、安全な支払い端末104よりも安全ではない、装置に対して署名する能力を提供するのを可能にする。例えば、ユーザー106は自分のスマートフォン(コンピューティング装置112の一例である)を自分の安全な支払い端末104とペアリングし得る。一旦、ペアリングされると、スマートフォンは、例えば、ブロックチェーン資産データを装置102上にロードするために、安全な支払い端末104に送信されるメッセージデータを生成するために使用され得、装置102はブロックチェーン資産データをオフチェーン資産データ234として格納する。メッセージデータはSCE322に渡され、そこでメッセージデータ内の値が、以前に指定された条件を満足するかを判断するためにチェックされる。チェックプロセスは、メッセージデータが有効なペアリングと関連付けられていること、条件によって指定された限度内であること等の判断を含み得る。いくつかの状況では、ユーザー106は、安全な支払い端末104のタッチスクリーン110を使用して署名を許可するように促されて、さらにセキュリティを強化し得る。一旦、承認されると、条件を満足することにより自動的に、または手動で入力されている承認後のいずれかで、SCE322は署名されたメッセージデータを生成し得、それはその後外部装置に提供される。例を継続すると、スマートフォンは暗号通貨を使用して支払いを指定するメッセージデータを生成し得る。スマートフォン(コンピューティング装置112)は、以前にペアリングされている安全な支払い端末104に要求を送信し得る。要求された額が閾値額よりも少なくて、ペアリングされた装置から来るので、安全な支払い端末104はメッセージに自動的に署名し得、署名されたメッセージデータはスマートフォンに送信され得る。スマートフォンは次いで署名されたメッセージデータをウェブサイト、適切なブロックチェーンサーバー202等に送信し得る。
安全な支払い端末104はブラインド鍵格納、複数署名、秘密鍵の、例えば、安全な装置、装置102等の、いくつかの異なる装置に渡る分散などの、様々な機能をサポートする。ブラインド鍵格納は、秘密鍵338を、SCE322の安全なメモリ442内に格納するのを可能にし、それは安全なメモリ442の外部に知られていない。ブラインド秘密鍵338を使用するために、ユーザー106は、安全な支払い端末104のタッチスクリーン110を使用してパスコードを入力するように指示され得る。有効なパスコード(パスコードデータ340と比較して)を入力すると、安全な支払い端末104に、ブラインド秘密鍵338を明らかにすることなく、署名または他の暗号操作のために秘密鍵338を利用させ得る。
複数署名は、複数の秘密鍵338がメッセージに署名するために使用され得る状況を容易にする。例えば、有効であると見なされて、ブロックチェーンデータ204への包含に適した署名されたメッセージデータを生成するために、メッセージデータは、3つの異なる秘密鍵、例えば、第1の装置102(1)の秘密鍵230(1)、第2の装置102(2)の秘密鍵230(2)、および安全な支払い端末104の秘密鍵338などを、特定の順序で使用して、署名される必要があり得る。これは個々のデジタル署名をアトミック単位として利用するメタプロトコルの一例である。
複数署名は、何らかの秘密の損失またはアクセス不能を考慮することにより、秘密の耐久性を向上させるためにも使用され得る。例えば、複数署名は、秘密鍵338のサブセットが署名されたメッセージデータを生成するために使用され得る状況を考慮し得る。この実施態様では、安全な支払い端末104は、M個の秘密鍵338のうちの少なくともN個、またはそれらの結果として生じるデジタル署名が存在する場合(ここでNおよびMは非ゼロの正の整数でありN<M)、署名されたメッセージデータを生成し得る。例えば、有効な署名されたメッセージデータは、3つの秘密鍵230(1)、230(2)、および338のうちの2つが署名のために利用可能な場合に生成され得る。これは、3つの鍵のうちの1つが、損失または窃盗などのために、利用不能な場合に、署名されたメッセージデータを生成する能力などの、能力の損失を防ぐ耐久性を向上させ得る。例を継続すると、ユーザー106は、第1の装置102(1)上に格納された第1の秘密鍵230(1)、および第2の装置102(2)上に格納された第1の秘密鍵230(2)、および安全な支払い端末104内の第3の秘密鍵338を有し得る。第2の装置102(2)は別の地理的位置に安全に格納され得る。いずれか1つの秘密鍵338または230(1)または230(2)が利用不能な場合には、他の2つの秘密鍵が依然として使用されて、アクセス不能なために、オフチェーン資産データ234がユーザー106に対して失われるのを防ぎ得る。
安全な支払い端末104は他の装置とやり取りして、当事者間の様々なトランザクションを容易にし得る。例えば、ユーザー106の自宅内の安全な支払い端末104は、サーモスタット、スマート電気メーター、太陽光発電システム、電池貯蔵システム等と通信し得る。ユーザー106は、暗号通貨口座のための秘密鍵338を安全な支払い端末104内に格納し得、電力会社との安全なペアリングおよび条件を確立し得る。ユーザー106は、相互協調動作を可能にするために電力会社との合意を有し得る。例えば、電力需要が短期間にピークに達するとき、電池貯蔵システムが電力会社に電力を供給して戻しながら、ユーザー106のサーモスタットは電力消費を削減するように調整され得る。
安全な支払い端末104は、デジタル署名されたメッセージデータを使用して値をコンピューティング装置112または装置102に転送するためにも使用され得る。ペアリングが依然として有効であって、要求された値の転送のための条件が満足される限り、安全な支払い端末104はメッセージデータ(オフチェーン資産データ234を含む)に署名をする。署名されたメッセージデータはその後、ブロックチェーンサーバー202に提供されて、オフチェーン資産データ234をブロックチェーンデータ204にコミットし得、値を指定されたアドレスに転送する。
図5は、1つの可能な実施態様に従い、図1~図3のシステムと共に使用され得るモバイルウォレットを備えたコンピューティング装置112のブロック図500を示す。コンピューティング装置112は、コンピューティング装置112の構成要素の動作に適した電力を供給するために1つ以上の電源502を含み得る。いくつかの実施態様では、電源502は充電式電池を含み得る。
コンピューティング装置112は汎用コンピューティング環境(GCE)504をさらに含み得、それは1つ以上の格納された命令を実行するように構成された1つ以上のハードウェアプロセッサ(複数可)506を含み得る。プロセッサ(複数可)506は1つ以上のコアを含み得る。1つ以上のクロック508は、日付、時間、ティックなどを示す情報を提供し得る。例えば、プロセッサ(複数可)506はクロック508からのデータを使用して、タイムスタンプの生成、事前にプログラムされた動作のトリガーなどを行い得る。コンピューティング装置112は、コンピューティング装置112の様々なモジュールと構成要素との間でデータの転送を可能にする1つ以上のバスまたは他の内部通信ハードウェアもしくはソフトウェアを含み得る。
コンピューティング装置112は、1つ以上のネットワークインタフェース510、1つ以上の入力/出力(I/O)インタフェース512などの、1つ以上の通信インタフェース304を含み得る。ネットワークインタフェース510は、コンピューティング装置112、またはコンピューティング装置112の構成要素が、他の装置と通信するのを可能にし得る。I/Oインタフェース512は、I2C(集積回路間)、シリアル周辺機器インタフェースバス(SPI)、USBインプリメンターズフォーラムによって普及されたユニバーサルシリアルバス(USB)、RS-232などのインタフェースを含み得る。いくつかの実施態様では、I/Oインタフェース(複数可)512は1つ以上のI/O装置514に結合し得る。I/O装置514は、コンピューティング装置112と関連付けられた任意の方法の入力装置または出力装置を含み得る。例えば、I/O装置514は、タッチセンサー、キーボード、マウス装置、マイクロホン、画像センサー(例えば、カメラ)、スキャナ、ディスプレイ、スピーカー、触覚装置、プリンタ、位置決め装置などを含み得る。いくつかの実施態様では、I/O装置514は、物理的にコンピューティング装置112に組み込まれ得るか、または外部に配置され得る。
ネットワークインタフェース510は、コンピューティング装置112と、ルーター、アクセスポイント等の、他の装置との間の通信を提供するように構成され得る。ネットワークインタフェース510は、ローカルエリアネットワーク(LAN)、WLAN、ワイドエリアネットワーク(WAN)、WWANなどを含む、1つ以上のネットワーク206に結合するように構成された装置を含み得る。例えば、ネットワークインタフェース510は、イーサネット、Wi-Fi、ブルートゥース、ジグビー、Z-Wave、3G、4G、LTE等に適合した装置を含み得る。さらに、ネットワークインタフェース510は、コンピューティング装置112と安全な支払い端末104との間の通信を提供するように構成され得る。
コンピューティング装置112は加入者識別モジュール(SIM)516を含み得る。SIM516は、国際移動電話加入者識別(IMSI)番号、暗号鍵、集積回路カード識別子(ICCID)、連絡先情報、または他のデータなどの、情報を格納し得る持続性コンピュータ可読記憶媒体を含み得る。SIM516は、ネットワーク206の1つ以上との通信のためにネットワークインタフェース510によって使用され得る。例えば、SIM516内に格納されたIMSIおよび暗号鍵は、通信ネットワークとの通信を確立するために取得されて使用され得る。
図5に示されるように、コンピューティング装置112は1つ以上のメモリ518および540を含み得る。メモリ518および540は、1つ以上の持続性コンピュータ可読記憶媒体(CRSM)を含み得る。CRSMは、電子記憶装置、磁気記憶装置、光学式記憶装置、量子記憶装置、機械式コンピュータ記憶装置、ソリッドステート記憶装置などの任意の1つ以上であり得る。メモリ518および540は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピューティング装置112の動作のための他のデータの格納を提供し得る。少数の機能モジュール例がメモリ518内に格納されて示されているが、同じ機能は代替として、ハードウェア、ファームウェア、またはシステムオンチップ(SoC)として実装され得る。
メモリ518は、1つ以上のオペレーティングシステム(OS)モジュール520を含み得る。OSモジュール520は、I/Oインタフェース512およびネットワークインタフェース510などのハードウェア資源装置を管理して、プロセッサ506上で実行しているアプリケーションまたはモジュールに様々なサービスを提供するように構成される。OSモジュール520は、FreeBSDプロジェクトによって普及されたFreeBSDオペレーティングシステムの変形;UNIXもしくはUNIXのようなオペレーティングシステム;Linus Torvaldsによって普及されたLinuxオペレーティングシステムの変形;米国ワシントン州レッドモンドのMicrosoft CorporationからのWindowsオペレーティングシステム;米国カリフォルニア州クパチーノのApple Inc.によって普及されたMac OSもしくはiOS;または他のオペレーティングシステムを実行し得る。
メモリ518は、通信インタフェース304の1つ以上を使用して1つ以上の他の装置との通信を確立するように構成された通信モジュール522をさらに含み得る。通信は、認証、暗号化などがされ得る。例えば、通信モジュール522は、デジタル証明書を利用して、通信に関与する装置の識別を認証し得る。いくつかの実施態様では、通信モジュール522は、安全な支払い端末104と安全な通信リンクを確立するように構成され得る。
メモリ518は他のモジュール524も含み得る。さらに、メモリ518はデータストア526を含み得る。データストア526は、フラットファイル、データベース、連結リスト、ツリー、実行可能コード、スクリプト、または情報を格納するための他のデータ構造を使用し得る。いくつかの実施態様では、データストア526は、構成データ528および他のデータ530を含み得る。例えば、構成データ528は、コンピューティング装置112とネットワーク206との間の通信を可能にするためにネットワーク構成データを含み得、ネットワーク206は、ユーザー106の自宅内のローカルエリアネットワークなどの、近距離通信ネットワークを含み得る。
いくつかの実施態様では、コンピューティング装置112は、SCE306を実装するように構成された構成要素(ハードウェア、ソフトウェア、または両方)を含み得る。SCE306は、1つ以上のハードウェアプロセッサ308、1つ以上のクロック532、1つ以上の通信インタフェース534、1つ以上のI/O装置536、および1つ以上の改ざん検出装置538を含み得る。
1つ以上のプロセッサ308は、命令を実行し、SCE306内のデータを処理するように構成され得る。1つ以上のクロック532は、日付、時間、ティックなどを示す情報を提供し得る。1つ以上の通信インタフェース534は、SCE306またはその構成要素が、他の装置または構成要素と通信するのを可能にし得る。通信インタフェース534は、I2C、SPI、USB、RS-232、セキュアデジタルホストコントローラ(SDHC)、装置インタフェース、近距離無線通信(NFC)インタフェースなどの1つ以上を含み得る。いくつかの実施態様では、GCE504とSCE306との間の通信は、SPIまたはUSBなどの、特定の通信バスに制限され得、通信インタフェース534によって提供され得る。
1つ以上のI/O装置536は、データをGCE504に伝達して、データをGCE504から受信し得る。さらに、I/O装置536はデータをタッチスクリーン302に伝達する。追加として、I/O装置536はタッチスクリーン302と関連付けられたインタフェースを含み、タッチスクリーン302のタッチセンサー式回路から受信した入力を検出し得る。
改ざん検出装置538は、SCE306またはその中の要素の実際の、または潜在的な改ざんを示すデータを提供するように構成され得る。例えば、改ざん検出装置538は、コンピューティング装置112のケースが開かれていることを示すスイッチを含み得る。別の例では、改ざん検出装置538および回路は、壊され場合に、物理的改ざんを信号通知する、電気伝導体を含み得る。別の例では、改ざん検出装置538はセンサーを含み得る。例えば、温度センサー、光センサー、電圧測定装置、磁場センサー、電離放射線センサー、超音波センサーなどは、改ざんを示すデータを提供し得る。改ざん検出装置538は、単一ダイ、回路基板、組立体、SCE306などの部分である構成要素の改ざんを検出するために使用され得る。例えば、I/O装置536は改ざん検出装置538を含み得る。
いくつかの実施態様では、SCE306またはその部分は、改ざんに応答して自己破壊するか、または別の方法で使用不能にされるように構成され得る。例えば、改ざんの判断に応答して、閾値を超える電圧がSCE306内の回路の少なくとも一部を通って、その回路を使用不能にし得る。別の例では、改ざんの判断に応答して、改ざん検出装置538は記憶媒体を消去、上書き、ランダム化など、させ得る。さらに別の例では、改ざん検出装置538は、安全なメモリ540のメモリコントローラに、安全なデータストア314内に格納されていて、安全なメモリ540に書き込まれるデータを暗号化するために使用される、秘密鍵318を削除または上書きさせ得る。他の実施態様も可能である。
SCE306は安全なメモリ540を含み得、それは秘密鍵318の1つを利用して安全なメモリ540内に格納されるデータを暗号化し得る。安全なメモリ540は1つ以上のオペレーティングシステム(OS)モジュール542を格納し得、それは様々な構成要素の動作を制御し得る。さらに、安全なメモリ540は、SCE306とGCE504との間の通信インタフェース534を介した通信を制御し得る通信モジュール544を含み得る。
この例では、安全なメモリ540は、SCE306と安全な支払い端末104との間のペアリング動作を制御し得るペアリングモジュール312を含み得る。安全なメモリ540はユーザーインタフェースモジュール546も含み得、それは通信インタフェース534を介してグラフィカルインタフェースをタッチスクリーン302に提示し得る。例えば、グラフィカルインタフェースは、テキスト、画像、およびトランザクションを開始するためにユーザー106によってアクセス可能な選択可能オプションを含み得る。1つの考えられる例では、グラフィカルインタフェースはモバイルウォレットアプリケーション310の部分であり得る。モバイルウォレットアプリケーション310は暗号通貨トランザクション機能を提供して、コンピューティング装置112が支払いトランザクション120を送受信するのを可能にし得る。
いくつかの実施態様では、モバイルウォレットアプリケーション310は1つ以上の決済モデル548を含み得、それは、他のコンピューティング装置112から受信したオフチェーン資産データ320を含むか、または装置102から受信したオフチェーン資産データ234を含む、支払いトランザクション120を検証するために使用され得る。1つ以上の決済モデル548は、装置102の決済モデル224と同じであり得、コンピューティング装置112が支払いトランザクション120を送受信し、決済モデル548を使用して支払いトランザクション120を検証するのを可能にする。他の実施態様も可能である。
安全なメモリ540はパスコードデータ550も含み得、それはユーザー106を認証するためにタッチスクリーン302を介してユーザー106によって入力されたパスコードと比較され得る。安全なメモリ540は、さらなる機能を提供する他のモジュール552をさらに含み得る。いくつかの実施態様では、安全なメモリ540は、物理複製困難関数(PUF)554も含み得、それは秘密鍵318として、または1つ以上の秘密鍵318を生成するために使用され得る。
安全なメモリ540は、公開鍵316、秘密鍵318、およびオフチェーン資産データ320を格納するために安全なデータストア314をさらに含み得る。安全なデータストア314は、コンピューティング装置112の構成詳細のセットアップに対応する構成データ556をさらに含み得る。さらに、安全なデータストア314は、コンピューティング装置112と安全な支払い端末104との間のペアリングに対応するペアリングデータ558を含み得る。さらに、いくつかの場合、安全なデータストア314は、ユーザー106が支払いトランザクション120を送信したい1人以上の受領者と関連付けられた写真および口座データなどの、連絡先データ560を含み得る。安全なデータストア314は、他のデータ562も含み得る。
いくつかの実施態様では、ユーザーインタフェースモジュール546は、画像データ、識別データ、口座データ、および同様のものなどの、連絡先データ560をタッチスクリーン302に提示して、連絡先情報が意図した受領者に一致することをユーザー106が容易に検証できるようにし得る。他の実施態様も可能である。
いくつかの実施態様では、コンピューティング装置112はモバイルウォレットアプリケーション310を利用して支払いトランザクション120を他のコンピューティング装置112、装置102、または両方に送信および、それらから受信し得る。追加として、コンピューティング装置112は、ネットワーク206を通して直接、または安全な支払い端末104を介して、オフチェーン資産データ320をブロックチェーンに償還し得る。他の実施態様も可能である。
コンピューティング装置112上のモバイルウォレットアプリケーション310の決済モデル548および装置102の決済モデル224は、装置102間、コンピューティング装置112間、または装置102とコンピューティング装置112との間の支払いトランザクション120のオフチェーン検証を可能にする。具体的には、コンピューティング装置112は決済モデル548を使用して、支払いトランザクション120をブロックチェーンにコミットすることなく、かつブロックチェーン合意プロトコルを利用することなく、1つ以上の支払いトランザクション120を検証し得る。
コンピューティング装置112は、装置102のように、ブロックチェーン資産データを安全な支払い端末104から受信し得、ブロックチェーン資産データをオフチェーン資産データ320として格納し得ることが理解されよう。いくつかの実施態様では、コンピューティング装置112は、安全な支払い端末104とやり取りすることなく、モバイルウォレットアプリケーション310を使用してブロックチェーンデータをダウンロードし得る。さらに、モバイルウォレットアプリケーション310は、他のコンピューティング装置112、装置102、POS支払い端末118、および同様のものとの接続のために、安全な通信を利用し得ることが理解されるべきである。さらに、モバイルウォレットアプリケーション310は決済モデル548を使用して支払いトランザクション120を検証し得る。例えば、モバイルウォレットアプリケーション310は口座決済モデルを利用して、ブロックチェーン内で支払いトランザクション120からのトランザクションIDを検索することにより支払いトランザクション120を検証し得る。支払いトランザクション120が確認される場合、モバイルウォレットアプリケーション310は、オフチェーン資産データ320の値を支払いトランザクション120に基づいて調整し得る。
前述のとおり、装置102は、スマートカード、ウェアラブルデバイス等として実装され得るか、または別のフォームファクタを有し得る。支払いトランザクション120を有効にするために、装置102は、安全な通信を確立し、決済モデル224を使用して支払いトランザクション120を検証するために使用され得るハードウェアおよびプロセッサ可読命令を含み得る。装置102は、ブロックチェーン規則を強制し、決済モデル224を利用して、支払いトランザクション120をブロックチェーンにコミットすることなく、かつブロックチェーン合意プロトコルを要求することなく、別の装置102からのオフチェーン資産データ234(またはコンピューティング装置112からのオフチェーン資産データ320)を伴う支払いトランザクション120を有効にし得る。それに応じて、装置102は、安全な支払いトランザクション120を、例えば、標準的な店頭(POS)端末などの、POS支払い端末118を通して提供するために使用され得る。かかる標準的なPOS支払い端末118は、セキュリティおよび安全機能を含み得るが、かかるセキュリティおよび安全機能は、装置102、コンピューティング装置112、または安全な支払い端末104などの、安全なコンピューティング環境を含む装置と比較して安全対策が施されていないと見なされ得る。装置102の一例は、図6に関して以下で説明される。
図6は、一実施態様に従った、装置102のブロック図600を示す。装置102は、充電式電池、コンデンサ、またはそれらの任意の組合わせなどの、電源602を含み得る。さらに、装置102は、データをPOS支払い端末118または安全な支払い端末104に伝達して、データをそれらから受信し得、かつ他の装置102、コンピューティング装置112、またはそれらの任意の組合わせと安全な通信を確立し得る、ハードウェア構成要素を含み得る。
装置102はGCE604を含み得、それは、誘導送受信機、無線周波数回路、電気接点、またはデータがそれを通してPOS支払い端末118もしくは安全な支払い端末104に伝達され、データがそれらから受信され得る別の構成要素などの、1つ以上の通信インタフェース606を含み得る。GCE604は1つ以上の通信インタフェース606をさらに含み得、それはデータの受信およびデータの提供を制御し得る。GCE604は1つ以上の入力-出力(I/O)装置608も含み得、それは、安全な支払い端末104の装置スロット108に電気的または通信可能に結合し得る。追加として、GCE604は公開識別子610を含み得、それは公開鍵228または装置102を他の装置102と比較して識別する他の証印であり得る。1つの考えられる例では、公開識別子610は、物理複製困難関数240として実装されるか、または物理複製困難関数240を使用して作成され得る。
装置102はSCE218をさらに含み得、それは1つ以上の格納された命令を実行するように構成された1つ以上のハードウェアプロセッサ220を含み得る。プロセッサ(複数可)220は1つ以上のコアを含み得る。1つ以上のクロック612は、日付、時間、ティックなどを示す情報を提供し得る。例えば、プロセッサ(複数可)220はクロック612からのデータを使用して、タイムスタンプの生成、事前にプログラムされた動作のトリガーなどを行い得る。装置102は、装置102の様々なモジュールと構成要素との間でデータの転送を可能にする1つ以上のバスまたは他の内部通信ハードウェアもしくはソフトウェアを含み得る。
装置102は1つ以上の通信インタフェース222を含み得、それは装置102がPOS支払い端末118または安全な支払い端末104と通信するのを可能にするために1つ以上の入力/出力(I/O)インタフェースを含み得る。通信インタフェース222は、I2C(集積回路間)、シリアル周辺機器インタフェースバス(SPI)、USBインプリメンターズフォーラムによって普及されたユニバーサルシリアルバス(USB)、RS-232などのインタフェースを含み得る。1つの考えられる例では、通信インタフェース222はSCE218とGCE604との間でデータを伝達し得る。いくつかの実施態様では、通信インタフェース222は、安全な支払い端末104(またはPOS支払い端末118)との無線通信を提供するために無線通信インタフェースを含み得る。例えば、無線通信インタフェースは、近距離無線通信(NFC)または他の近距離無線通信をサポートし得る。
SCE218は、装置102をPOS支払い端末118または安全な支払い端末104に結合するために1つ以上の入出力(I/O)装置614をさらに含み得る。例えば、通信インタフェース222は、装置102が安全な支払い端末104に結合されている場合、SCE218からのデータを1つ以上のI/O装置614を通して伝達し得る。
追加として、SCE218は1つ以上の改ざん検出装置616を含み得る。改ざん検出装置616は、プローブ(probe)を検出して、装置102の1つ以上の要素の改ざんを検出するように構成され得る。かかる改ざんの検出に応答して、改ざん検出装置616はSCE218をシャットダウンさせ得る。いくつかの実施態様では、改ざん検出装置616は、窃盗を防ぐために、SCE218に安全なメモリ618上に格納された情報を削除、変更、または上書きさせ得る信号を生成し得る。例えば、安全なメモリ618は、安全なメモリ618からのデータの読取りおよび安全なメモリ618へのデータの書込みを管理するコントローラを含み得、それは磁気記憶装置、ソリッドステート記憶装置、および同様のものであり得る。コントローラは、安全なメモリ618に書き込まれるデータを暗号化し得、データストア226からの秘密鍵230を使用して安全なメモリ618から読み取るデータを暗号解読し得る。改ざんの検出に応答して、コントローラは秘密鍵230を上書き、変更、または削除して、安全なメモリ618内に格納されたデータの暗号解読を防ぎ得る。他の実施態様も可能である。
安全なメモリ618はオペレーティングシステムモジュール620を含み得、それは、装置102の動作のための命令を含み得る。さらに、安全なメモリ618は、通信インタフェース222の動作を制御するために1つ以上の通信モジュール622を含み得る。例えば、1つ以上の通信モジュール622は通信インタフェース222を制御して、別の装置102との安全な通信をPOS支払い端末118を通して確立し得る。
安全なメモリ618は複数の決済モデル224も含み得る。決済モデル224の各々は、特定のタイプの支払いトランザクション120を検証するための規則のセットを定義し得る。例えば、第1の決済モデルはビットコイントランザクションに対して使用され得、第2の決済モデルはイーサリアムトランザクションに対して使用され得、他方、第3はUTXOに対して使用される、等。いくつかの実施態様では、決済モデル224は、支払いトランザクション120の内容に基づいて選択され得る。例えば、1つのタイプの暗号通貨に特有である決済モデル224の代わりに、またはそれに追加して、決済モデル224の一部は、検証情報(トランザクションID、秘密鍵、確率的証拠など)のタイプなど、支払いトランザクション内に含まれているデータに基づいて選択され得る。装置102は決済モデル224を使用して、支払いトランザクション120を検証し、支払いトランザクション120の処理におけるブロックチェーン規則を強制し得る。
例えば、プロセッサ220は、支払い情報の受信に応答して決済モデル224の1つを決定し得る。特定の決済モデル224は、デジタル通貨支払いのタイプに基づいて選択され得る。例えば、ビットコイントランザクションはプロセッサ220に第1の決済モデル224を選択させ得る。別の例では、イーサリアムトランザクションはプロセッサ220に第2の決済モデル224を選択させ得る。選択された決済モデル224は、ブロックチェーン内の特定のブロックチェーン資産、オフチェーン資産データを検証するための規則、および特定のタイプの暗号通貨に対してブロックチェーン規則を強制する支払いトランザクションを検証するための規則を識別し得る。
プロセッサ220は選択された決済モデル224を使用して支払いトランザクション120を検証し得る。例えば、第1の決済モデル224はプロセッサ220に特定のトランザクション識別子(ID)に基づいてブロックチェーンを検索させてそのトランザクションIDと関連付けられたブロックチェーン資産を決定し得る。別の例では、第2の決済モデル224はプロセッサ220に、支払いトランザクション120と関連付けられた証拠を確率的決済モデル224のブロックチェーンモデルに対して検証させ得る。他の実施態様も可能である。
選択された決済モデル224から決定された検証プロセスに応じて、装置102は支払いトランザクション120を受理または拒絶し得る。例えば、トランザクションIDを含む支払いトランザクション120の受信に応答して、プロセッサ220は通信インタフェース222を利用してそのトランザクションIDを求めてブロックチェーンデータ404を検索して、ブロックチェーンデータ404上のデジタル資産が支払いトランザクション120内の支払い金額よりも大きな値を有しているかを判断し得る。ブロックチェーン資産価値が支払い金額よりも大きい場合、装置102は支払いトランザクション120を受理し得、オフチェーン資産データ234の値を支払額に基づいて調整し得る。他の実施態様も可能である。
さらに、安全なメモリ618は、様々な機能を実行するために他のモジュール624を含み得る。追加として、安全なメモリ618は、物理複製困難関数(PUF)240を含み得、それは、秘密鍵230を生成するために使用され得るか、または秘密鍵230として使用され得る。いくつかの実施態様では、PUF240は、公開鍵228および秘密鍵230の1つ以上の公開-秘密鍵ペアを作成するために使用され得る。代替として、PUF240は、公開-秘密鍵ペアを格納するために使用される暗号化プロセスへの入力として使用され得、公開-秘密鍵ペアは、暗号化された状態で、PUF240のやり取りなしで生成される。他の実施態様も可能である。
安全なメモリ618は、公開鍵228、秘密鍵230、および証明書データ232を含むデータストア226も含み得る。データストア226はオフチェーン資産データ234も含み得る。追加として、データストア226は信頼できる証明書発行者データ236のリストを含み得、それはデジタル資産ローディング当局または製造業者をその署名された公開鍵または証明書に基づいて検証するためにアクセスされ得る。データストア226はソルトデータ238(ランダムまたは擬似ランダムデータ)も含み得、それは、公開鍵228と一緒に、第2の装置102との安全な通信を確立するために使用され得る。他の実施態様も可能である。
装置102は、それ自身の安全な通信を管理して、他の装置102から、またはコンピューティング装置112から受信されたオフチェーン資産データ234を伴う支払いトランザクション120を検証するように構成され得る。前述のとおり、装置102は受信された支払いトランザクション120を解決し、複数の決済モデル224のうちの選択された決済モデル224を使用して、支払いを受理するか否かを判断し得る。
図7は、1つの可能な実施態様に従った、ブロックチェーンデータ204、ブロックチェーン資産データ712のオフチェーン資産データ234としての装置102内への格納のためのダウンロード、オフチェーン資産データ234の装置102間での転送、およびオフチェーン資産データ234のブロックチェーンへの償還を示す。分散型台帳またはブロックチェーンは、分散データ格納およびブロックチェーンデータ204の処理を提供するピア(1つ以上のブロックチェーンサーバー202)のネットワークを利用するシステムを含む。ブロックチェーンデータ204はトランザクションの正規レコードを提供する。ブロックチェーンデータ204は、現在の状態およびその現在の状態にどのように達したかに関する情報を維持する。ブロックチェーンデータ204は複数のブロック702を含む。ブロックチェーン内のブロック702(2)はブロックチェーン資産データおよび、ブロックチェーン内の以前のブロックである、ブロック702(1)に関する情報を含む。
決定論的状態を常に維持するために、データはブロック702(1)、702(2)、...、702(N)内の分散ブロックチェーンデータ204に記録される。各ブロック702は、以前のハッシュ704、ノンス(nonce)706、トランザクションルート708、およびタイムスタンプ710を含むブロックヘッダを含む。ブロック702は、例えば、トランザクション120の詳細、コントラクトパラメータ等の、ペイロードデータを含み得る。いくつかの実施態様では、ブロック702は、ブロック702内に含まれているトランザクション120の証拠および検証、ならびにブロックチェーンデータ204内の他のブロック702に対するそのブロック702の存在の順位を容易にする他のデータを含み得る。ブロック702は、以前のブロック702の以前のハッシュ704を後続のブロック702内に記録することにより、経時的に一緒にリンクされる。例えば、ブロック702(2)は、ブロック702(1)内のデータから導出される以前のハッシュ704(2)を含む。所与のブロックの以前のハッシュ704は、ブロック702内に含まれているデータのハッシュ、および所与のブロックチェーンの合意の要件を満足するブロックハッシュを形成するノンス706から構成され得る。複数のブロックチェーン資産は各ブロック702内でコミットされ得る。
安全な支払い端末104(1)はブロックチェーン資産データ712をダウンロードするために使用され得、それは、ブロックチェーンデータ204内の完全なブロックチェーン資産またはブロックチェーン資産の一部を表し得る暗号通貨値を有し得る。このプロセス中、安全な支払い端末104(1)は、安全な、署名されたメッセージを1つ以上のブロックチェーンサーバー202に送信し、ブロックチェーン資産データ712をブロックチェーンデータ204から抽出して、1つ以上のブロックチェーンサーバー202にトランザクション120を確認するトランザクションIDをダウンロードされたデジタル資産の一部として提供させて、そのトランザクションを反映するようにブロックチェーンデータ204を更新させ得る。ブロックチェーンサーバー202はブロックチェーン資産を、典型的には、装置102内に格納された公開鍵228と秘密鍵230のペア(公開-秘密鍵ペア)によって、印を付けるか、または制限して、ブロックチェーン内で、そのブロックチェーン資産が二重使用できないように制限されていることを示し得る。
安全な支払い端末104(1)はブロックチェーン資産データ712をコンピューティング装置112に提供し得、それはブロックチェーン資産データ712を安全なメモリ540内にオフチェーン資産データ320として格納し得る。代替として、安全な支払い端末104(1)はブロックチェーン資産データ712を装置102(1)に提供し得、それはブロックチェーン資産データ712を安全なメモリ618内にオフチェーン資産234(1)として格納し得る。その後、コンピューティング装置112または装置102(1)は、別の装置102(2)等の、別の装置と暗号通貨トランザクションを実施し得る。
例えば、装置102(1)は、安全な支払い端末104(1)またはPOS支払い端末118に結合し得る。装置102(1)は(結合された安全な支払い端末104(1)を通して)、装置102(2)との安全な通信を確立し得る。安全な通信を確立することは、公開鍵228およびソルトデータ238(装置102の1つによって提供されたランダムまたは擬似ランダムデータ)を交換すること、ならびに交換されたデータを検証することを含み得る。装置102(1)は、製造業者によって署名されたその公開鍵228(1)であって、かつ信頼関係を確立するために検証され得る、その証明書データ232(1)を交換することにより、装置102(2)との信頼関係を確立し得る。
一旦、安全な通信および信頼関係が確立されると、装置102(1)は、オフチェーン資産データ234(1)の一部を含む支払いトランザクション120を生成し得、その支払いトランザクション120を装置102(2)に送信し得る。
支払いトランザクション120が生成されると、装置102(1)は、支払いトランザクション120内に含まれている支払い情報に従ってオフチェーン資産データ234(1)の値を調整し得る。例えば、支払いトランザクション120がビットコインを含む場合、装置102(1)はオフチェーン資産データ234(1)の値を1ビットコインによって調整し得る。
装置102(1)は、安全な支払い端末104(1)を経由しネットワーク206を通して、支払いトランザクション120をPOS支払い端末118に(または任意選択で、別の安全な支払い端末104(2)に)送信し得る。支払いトランザクション120は、支払い情報(オフチェーン資産データ234の一部など)および、選択された決済モデル224を使用して支払い情報の真正性を検証するために使用され得る情報を含み得る。
装置102(2)は、POS支払い端末118を経由して(または任意選択で、安全な支払い端末104(2)を経由して)支払いトランザクション120を受信し得る。装置102(2)は決済モデル224の1つを決定し得、その決済モデル224を使用して支払いトランザクション120を検証し得る。支払いトランザクション120が情報および選択された決済モデル224を使用して検証できない場合、装置102(2)は支払いトランザクション120を拒絶し得る。そうでない場合、装置102(2)は支払いトランザクション120を受理して、安全なメモリ618(2)内のデータストア226(2)内のオフチェーン資産データ234(2)の値を調整し得る。例を継続すると、支払いトランザクション120はオフチェーン資産データ234(1)からのビットコインを含む。装置102(2)が支払いトランザクション120を検証した後、装置102(2)はオフチェーン資産データ234(2)の値を1ビットコインによって調整する。
単一のビットコインを伴う支払いトランザクション120の例は例示目的のみで提供されており、制限することを意図していないことが理解されるべきである。他の暗号通貨および他の額が支払いトランザクション120内で転送され得る。
その後、装置102(2)は安全な支払い端末104(2)に結合され得、それは署名されたデジタル通貨償還データ714を生成するために使用され得、それは安全な支払い端末104(2)によって1つ以上のブロックチェーンサーバー202に送信されてオフチェーン資産データ234(2)の一部をブロックチェーンデータ204にコミットし得る。例えば、オフチェーン資産データ234(2)の一部は、装置102(2)の秘密鍵230によって署名された、ブロックチェーントランザクション内に含まれ得、1つ以上のブロックチェーンサーバー202に送信されてブロックチェーンにコミットされ得る。この例では、署名されたデジタル通貨償還データ714は、ブロック702(N)などの、ブロックチェーンデータ204に組み込まれ得る。他の実施態様も可能である。
図示例では、ブロックチェーン資産データ712がダウンロードされてオフチェーン資産データ234(2)として装置102(2)内に格納された第1の時間と、装置102(2)が、オフチェーン資産データ234(2)の一部を署名されたデジタル通貨償還データ714を介してブロックチェーンにコミットした第2の時間との間で時間が経過した。第1の時間と第2の時間の間に、複数のブロック700がブロックチェーンに追加され、そのため署名されたデジタル通貨償還データ714がブロック702(N)内でコミットされ得る。
装置102(2)は、他の支払いトランザクション120を実施するために使用され得、それは、オフチェーン資産データ234(2)の一部をブロックチェーンにコミットする前に、オフチェーン資産データ234(2)の値を増加または減少させ得ることが理解されるべきである。さらに、装置102(1)も、オフチェーン資産データ234(1)をブロックチェーンにコミットする前に、他の支払いトランザクション120を実施するために使用され得る。追加として、装置102(1)から装置102(2)にオフチェーンで転送される資産は、装置102(2)から他の装置102へ資金を転送するために使用され得る。ブロックチェーンに償還する前に、オフチェーン資産を受信し、その後、送信し得る装置102の数に制限はない。他の実施態様も可能である。
装置102は、支払いトランザクション120などの、支払いトランザクション120の決済をオフチェーンで(支払いトランザクションをブロックチェーンにコミットすることなく、かつブロックチェーン合意プロトコルを使用することなく)管理するように構成され得る。装置102はブロックチェーンに問い合わせを行い得、ネットワーク206を通して通信し得るが、検証および受理は、支払いトランザクション120をブロックチェーンにコミットすることなく、実行され得るので、装置102(2)は支払いトランザクション120をオフラインで解決する。これは、装置102(2)のユーザー106が複数の支払いトランザクション120を集約して、オフチェーン資産データ234(2)の値を、各トランザクションを用いて調整し、単一のトランザクションでオフチェーン資産データ234(2)の部分(一部または全部)をブロックチェーンにコミットするのを可能にする。
図示例では、装置102(2)はPOS支払い端末118を通してネットワーク206に結合されて支払いトランザクション120を受信する。別の実施態様では、装置102(2)は、点線で示されているように、安全な支払い端末104(2)を通して支払いトランザクション120を受信し得る。他の実施態様も可能である。
図8は、一実施態様に従い、オフチェーン資産データトランザクションを装置間で実施するプロセスの流れ図800を示す。802で、安全な通信が送信装置102(1)と受信装置102(2)との間で確立される。例えば、送信装置102(1)は、受信装置102(2)との安全な通信を、POS支払い端末118(1)を通して、またはPOS支払い端末118(1)および118(2)を通して、確立し得る。送信装置102(1)は、その公開鍵228(1)を受信装置102(2)に送信し得る。応答して、受信装置102(2)はその公開鍵228(2)およびソルトデータ238(2)を暗号化し、公開鍵228(1)を使用して暗号化データを形成し得、暗号化データを送信装置102(1)に送信し得る。送信装置102(1)は、公開鍵228(2)およびソルトデータ238(2)を受信し、公開鍵228(1)を使用して暗号解読し得る。送信装置102(1)はソルトデータ238(2)を公開鍵228(2)を用いて暗号化して、暗号化データを形成し得る。送信装置102(1)は次いで、暗号化データを受信装置102(2)に送信し得る。受信装置102(2)は暗号化データを暗号解読して、ソルトデータ238(2)が正しいかどうかを検証し得る。ソルトデータ238(2)が正しい場合、送信装置102(1)および受信装置102(2)は安全な通信を確立して、送信装置102(1)と受信装置102(2)との間の全てのさらなる通信が送信前に暗号化され得る。
804で、装置の証明書データ232の1つ以上が信頼関係を確立するために交換され得る。いくつかの実施態様では、一旦、安全な通信が確立されると、送信装置102(1)および受信装置102(2)は相互に認証するために追加のデータを交換し得る。例えば、送信装置102(1)は受信装置102(2)に、提供された証明書データ232(2)に対応する公開鍵228(2)を使用して暗号化されるデータを送信し得る。そのデータは、ランダムデータ、擬似ランダムデータ、他のデータ、またはそれらの任意の組合わせを含み得る。証明書データ232(2)は、受信装置102(2)の構成要素の1つの製造業者によって以前にデジタル的に署名された。暗号化データの受信に応答して、装置102(2)は、証明書データ232(2)内に含まれている公開鍵228(2)を使用して暗号化されたデータを判断するためにデータを暗号解読し得る。受信装置102(2)は次いで、送信装置102(1)によって提供された証明書データ232(1)に対応する公開鍵228(1)を使用してデータを暗号化し得、結果を送信装置102(1)に送り返し得る。送信装置102(1)は次いで、データを暗号解読し、それを受信装置102(2)に元々送信されたデータと比較し得る。これは、受信装置102(2)が以前に提供された証明書データ232(2)内に含まれている公開鍵228(2)に対応する秘密鍵230(2)を有していることを送信装置102(1)が確認できるようにする。追加として、送信装置102(1)は証明書データ232(2)を使用して信頼できる証明書発行者データ236(1)のローカルリストを検索し得、それは、受信装置102(2)の製造業者などの、1つ以上の信頼できるエンティティの公開鍵を含み得る。信頼できる証明書データ236(1)のリストはデータストア226(1)内に格納され得、信頼関係を確立するために使用され得る。一例では、信頼できる証明書データ236(1)のリストはデータストア226(1)内に格納され得、証明書データ232(2)と関連付けられた製造業者がリストに含まれている場合、送信装置102(1)は、対応する証明書データ232(2)を使用して受信装置102(2)によって提示された証明書データ232(2)を検証し得る。証明書データ232(2)の検証に応答して、送信装置102(1)は、受信装置102(2)がその証明書データ232(2)に基づいて受け入れ可能な起源を有しているという確認を含む、暗号化データを受信装置102(2)に送信し得る。
追加として、受信装置102(2)は、その証明書232(2)を含む暗号化データを送信し得る。例えば、受信装置102(2)は、提供された証明書データ232(1)に対応する公開鍵228(1)を使用して暗号化されるデータを送信装置102(1)に送信し得る。証明書データ232(1)は、送信装置102(1)の構成要素の1つの製造業者によって以前にデジタル的に署名された。暗号化データの受信に応答して、送信装置102(1)は、証明書データ232(1)に対応する公開鍵228(1)を使用して暗号化されたチャレンジデータを判断するためにデータを暗号解読し得る。受信装置102(1)は次いで、装置102(2)によって提供された証明書データ232(2)に対応する公開鍵228(2)を使用してデータを暗号化し得、結果を受信装置102(2)に送り返し得る。受信装置102(2)は次いで、データを暗号解読し、それを元々送信装置102(1)に送信されたデータと比較し得る。これは、送信装置102(1)が以前に提供された証明書データ232(1)内に含まれている公開鍵228(1)に対応する秘密鍵230(1)を有していることを受信装置102(2)が確認できるようにする。追加として、受信装置102(2)は証明書データ232(1)を使用して信頼できる証明書データ236(2)のローカルリストを検索し得、それは1つ以上の信頼できるエンティティの公開鍵を含み得る。信頼できる証明書発行者データ236(2)のリストはデータストア226(2)内に格納され得、信頼関係を確立するために使用され得る。一例では、信頼できる証明書データ236(2)のリストはデータストア226(2)内に格納され得、証明書データ232(1)と関連付けられた製造業者がリストに含まれている場合、受信装置102(2)は、対応する証明書データ232(1)を使用して送信装置102(1)によって提示された証明書データ232(1)を検証し得る。証明書データ232(1)の検証に応答して、受信装置102(2)は、受信装置102(2)がその証明書データ232(1)に基づいて受け入れ可能な起源を有しているという確認を含む、暗号化データを送信装置102(1)に送信し得る。
806で、支払い情報を含む支払いトランザクション120が受信装置102(2)で送信装置102(1)から受信され得る。例えば、受信装置102(2)は、支払いトランザクション120を送信装置102(1)から受信し得る。支払いトランザクション120は、オフチェーン資産データ234(1)の一部に関連している支払い情報および関連情報を含み得、それは支払いトランザクション120を検証するために決済モデル224(2)のうちの決定された1つと共に受信装置102(2)によって使用され得る。
808で、複数の決済モデル224のうちの決済モデル224が支払い情報に基づいて決定され得る。例えば、受信装置102(2)は、複数の決済モデル224(2)のうちの決済モデル224を決定して、支払いトランザクション120を検証および完了し得る。決済モデル224は、支払いトランザクション120内に含まれている情報に基づいて決定され得る。例えば、支払いトランザクション120が確率的証拠を含む場合、受信装置102(2)は確率的決済モデルを利用し得る。別の例では、支払いトランザクション120がトランザクションIDを含む場合、受信装置102(2)は口座決済モデルを使用し得る。決済モデル224(1)のうちの1つが選択されると仮定して、受信装置102(2)は、装置102(2)によって提供された適切な情報を判断して、選択された決済モデル224によって定義された規則および方法に基づいて決済のために使用されているオフチェーン資産データ234を受信装置102(2)が検証するのを可能にし得る。
810で、決済モデル224は受信されたデータを検証するために適用され得る。1つ以上の決済モデル224は、支払いトランザクション120をブロックチェーンにコミットすることなく、かつ一般的に使用される合意プロトコルを要求することなく、トランザクションを有効にするために実装され得る規則およびプロセスの様々なセットを含み得る。決済モデル224は、装置102によって支払いトランザクション120を検証するために、オフチェーンで使用され得る。決済モデル224は、鍵決済モデル、UTXO決済モデル、口座決済モデル、当局決済モデル、確率的決済モデル、他の決済モデル、またはそれらの任意の組合わせを含み得るが、それらに限定されない。一例では、選択された決済モデル224は、受信されたデータから支払いトランザクション120を検証するため、および支払いトランザクション120の受理または拒絶に基づきブロックチェーン規則に従ってオフチェーン資産データ234を管理するために、規則およびプロセスを定義し得る。送信装置102(1)の安全なメモリ618(1)内のオフチェーン資産データ234(1)は支払いトランザクション120に基づいて調整され得ることが理解されよう。例えば、送信装置102(1)は、支払いトランザクション120が送信されるときに、オフチェーン資産データ234(1)を調整し得る。
812で、受信装置102(2)の安全なメモリ618(2)内に格納されたオフチェーン資産データ234(2)は支払いトランザクション120に基づいて調整され得る。例えば、受信装置102(2)は、安全なメモリ618(2)内のオフチェーン資産データ234(2)の値を、検証された支払いトランザクション120に基づいて調整し得る。送信装置102(1)が支払いを受信装置102(2)に送信している一例では、送信装置102(1)はその支払いに基づいてオフチェーン資産データ234(1)の値を調整し得る。追加として、受信装置102(2)は支払いトランザクション120に基づいてオフチェーン資産データ234(2)の値を調整し得る。
814で、確認が送信装置102(1)に送信され得る。例えば、受信装置102(2)は、支払いトランザクション120の受理を示す確認および他のデータを送信装置102(1)に送信し得る。
816で、オフチェーン資産データの少なくとも一部をブロックチェーンに償還するために署名されたトランザクションが生成され得る。例えば、受信装置102(2)は安全な支払い端末104に結合され得る。ユーザー106(2)は次いで、安全な支払い端末104のタッチスクリーン110とやり取りし得るか、またはコンピューティング装置112のタッチスクリーン110とやり取りして、オフチェーン資産データ234(2)の少なくとも一部をブロックチェーンに償還するために償還操作を開始し得る。オフチェーン資産データ234(2)の一部を含む、デジタル的に署名されたメッセージが生成され得、そのデジタル的に署名されたメッセージはブロックチェーンサーバー202の1つ以上に送信されてその部分をブロックチェーンにコミットする。他の実施態様も可能である。
図9は、一実施態様に従って、デジタル通貨値を装置102上に格納および償還するプロセスのブロック図900を示す。902で、ブロックチェーン資産データ712は、コンピューティング装置112のタッチスクリーン302上のインタフェースを使用して装置102に送信され得る。1つの考えられる例では、ユーザー106は、コンピューティング装置112のタッチスクリーン302とやり取りしてブロックチェーン資産データ712のブロックチェーンから装置102への転送を開始し得る。コンピューティング装置112のタッチスクリーン302上に表示されているグラフィカルインタフェースは、装置102の一意の識別子、通貨の額、通貨タイプ、他の情報、またはそれらの任意の組合わせを指定するために、ユーザー106によってアクセス可能な複数のフィールドまたはユーザー選択可能要素を含み得る。ユーザー106は次いで、「送信」ボタンを選択して安全な支払い端末104を介してダウンロード操作を開始し得る。
904で、ブロックチェーン資産データは、安全な支払い端末104の装置スロット108を使用して装置102に格納され得る。この例では、値の装置102への送信に応答して、安全な支払い端末104はコンピューティング装置112からデータを受信し得、タッチスクリーン110上にグラフィカルインタフェースを提示し得る。グラフィカルインタフェースは、装置スロット108の1つ内に挿入された装置102へのブロックチェーン資産データ712の転送を確認するためにユーザー106によって選択され得る複数のソフトボタンを含み得る。ユーザー106が、ブロックチェーン資産データ712を転送するための彼または彼女の認証を示すPINまたは他の情報を入力すると、安全な支払い端末104(1)は1つ以上のブロックチェーンサーバー202と通信して、ブロックチェーン資産データ712をブロックチェーンデータ204からダウンロードし、そのブロックチェーン資産データ712、関連付けられたトランザクションID、タイムスタンプ、他の情報、またはそれらの任意の組合わせを装置102上に格納し得、装置102はデータをオフチェーン資産データ234として格納する。
906で、装置102は、安全な支払い端末104またはPOS支払い端末118を通した安全な通信、支払いトランザクション120を管理して、オフチェーン資産データ712を更新する。前述のとおり、装置102は、鍵および他の識別情報の交換を管理して安全な通信および信頼関係を確立し得、決済モデル224を使用して、支払いトランザクション120をブロックチェーンにコミットすることなく、かつブロックチェーン合意プロトコルなしで、支払いトランザクション120を検証および完了し得る。代わりに、装置102は、決定された決済モデル224に従って支払いトランザクション120をオフチェーンで検証および管理する。
908で、装置102からのオフチェーン資産データ234がブロックチェーンに償還され得る。例えば、装置102は安全な支払い端末104の装置スロット108内に挿入され得、ユーザー106はタッチスクリーン110とやり取りして償還操作を開始し、署名されたメッセージを1つ以上のブロックチェーンサーバー202に送信することにより装置102からのオフチェーン資産データをブロックチェーンにコミットし得る。
装置102はカードタイプのフォームファクタを有しているとして示されているが、装置102は他の形を取り得る。いくつかの実施態様では、装置102はウェアラブルデバイスであり得る。
装置102は複数の支払いトランザクション120に対して使用され得ることが理解されるべきである。各トランザクションは同じか、または異なる決済モデル224を使用して管理され得、オフチェーン資産データ234は各支払いトランザクション120で更新(増加または減少)され得る。いくつかの実施態様では、装置102は支払いトランザクション120を異なる形の暗号通貨(イーサリアム、ビットコイン等)で受信し得る。オフチェーン資産データ234は複数の残高を含み得、その各々は異なる暗号通貨と関連付けられ得る。オフチェーン資産データ234のブロックチェーンへの償還は、各タイプの通貨に対して1つの、複数のトランザクションで実行され得る。さらに、同じ通貨タイプの複数のトランザクションは集約され、次いで単一のトランザクションでブロックチェーンに償還され得る。他の実施態様も可能である。
図10は、一実施態様に従い、鍵ベースの決済モデルを使用して装置102間でオフチェーンデジタル通貨トランザクションを実施するプロセスの流れ図1000を示す。1002で、第1の装置102(1)と第2の装置102(2)との間の安全な通信が支払い端末を介して確立され得る。支払い端末は安全な支払い端末104またはPOS支払い端末118であり得る。安全な通信は、公開鍵228、証明書データ232、ソルトデータ238、他のデータ、またはそれらの任意の組合わせを交換することによって確立され得る。
1004で、ブロックチェーン内のブロックチェーン資産を表す情報が、第2の(受信)装置102(2)で、第1の(送信)装置102(1)から潜在的な支払い金額として受信され得る。支払いを表すために使用される情報のタイプは、決済モデル224のうちの鍵決済モデルを使用して解決され得る。
1006で、鍵決済モデルが複数の決済モデル224から決定され得る。鍵決済モデル内で、トランザクションに署名するために使用される秘密鍵230は、ブロックチェーン上のブロックチェーン資産を表すために使用され得る。例えば、鍵決済モデルを使用して、送信装置102(1)は秘密鍵230(1)を受信装置102(2)に渡し得る。受信装置102(2)は、決済モデル224(2)から選択された鍵決済モデルを使用することにより秘密鍵230を支払いとして受理して、秘密鍵230(1)に対応するブロックチェーンデータ204内のブロックチェーン資産をチェックし得る。複数の決済モデル224(2)のうちの選択された鍵決済モデルに基づいて、送信装置102(1)は渡される秘密鍵230(1)を永久に削除すること、および秘密鍵230(1)の他のコピーが存在しないことを受信装置102(2)は信頼し得る。秘密鍵230(1)自体は従って無記名資産となり得、秘密鍵230(1)の所持はブロックチェーン資産の所持を構成する。
1008で、ブロックチェーンが資産情報に基づいて問い合わされて、提案されたオフチェーン決済の有効性を判断する。具体的には、受信装置102(2)はブロックチェーンデータ204に問い合わせを行って、公開鍵228(1)に対応する資産が存在するかを判断して、受信装置102(2)が解決しようとしているブロックチェーン内のブロックチェーン資産を検証し得る。受信装置102(2)が指示された資産を解決として受理することを決定すると、送信装置102(1)は関連付けられた秘密鍵230(1)を受信装置102(2)に送信する。受信装置102(2)は、秘密鍵230(1)と関連付けられた公開鍵228(1)を導出して、それが以前に記述されたブロックチェーン資産と関連付けられた公開鍵228(1)であることを確認することにより、秘密鍵230(1)が有効であると判断することが可能であり得る。受信装置102(2)は次いで、トランザクションは成功であるという確認を送信装置102(1)に提供するであろう。追加として、受信装置102(2)はトランザクションの成功の確認をユーザーにも提供し得る。この例では、ブロックチェーン資産に対応する秘密鍵230は「無記名資産」として転送され得、そのため秘密鍵230の所持人はブロックチェーン資産の所有者になる。
1010で、秘密鍵230(1)が有効ではない(すなわち、支払い情報に対応するブロックチェーン資産と関連付けられていない)か、かつ/または資産情報に対応していない場合、支払いトランザクション120は、1012で拒絶され得る。例えば、受信装置102(2)は、ブロックチェーン資産と関連付けられたデータを含むクエリーを1つ以上のブロックチェーンサーバー202に送信し得る。ブロックチェーンサーバー202の1つ以上はブロックチェーンを検索して、そのブロックチェーン資産に対応するブロックチェーン資産を見つけ得る。1つ以上のブロックチェーンサーバー202が資産情報に対応するブロックチェーン資産を識別すると、1つ以上のブロックチェーンサーバー202は、ブロックチェーン資産と関連付けられたブロックチェーンアドレス、タイムスタンプ、日付スタンプ、資産タイプ(例えば、ビットコイン、UTXO、イーサリアムなど)、資産価値、他のデータ、またはそれらの任意の組合わせを含むデータを受信装置102(2)に送信し得る。受信装置102(2)は、1つ以上のブロックチェーンサーバー202からデータを受信し得る。ブロックチェーンサーバー202はブロックチェーン内でブロックチェーン資産を見つけなかったことを受信されたデータが示す場合、またはブロックチェーン資産と関連付けられた値が不十分であるか、もしくは送信装置102(1)からの署名されたメッセージ内の支払い情報と異なる場合、秘密鍵230(1)は有効ではなく、受信装置102(2)は支払いトランザクション120を受理するのを拒絶し得る。
そうでなければ、1010で、秘密鍵230(1)が有効で、指示された資産情報に対応している場合、秘密鍵230(1)は、1014で、ブロックチェーン資産の支払いとして受理され得る。例えば、秘密鍵230(1)がブロックチェーン上の資産と一致して、支払い金額が資産価値に等しい場合、受信装置102(2)は秘密鍵230(1)を支払いとして受理し得る。秘密鍵230(1)はこの例では、無記名資産であり、そのため秘密鍵230(1)の所持はブロックチェーン資産の所有権に等しい。他の実施態様も可能である。
図11は、一実施態様に従い、未使用のトランザクション出力(UTXO)決済モデルを使用して装置102間のオフチェーンデジタル通貨トランザクションを実施するプロセスの流れ図を示す。一例では、UTXO決済モデルでは、ユーザー106は安全な支払い端末104または、安全な支払い端末104と一緒にコンピューティング装置112を利用して、装置102(1)の公開鍵228に対するオンチェーントランザクションを行い得、装置102(1)はトランザクションIDおよびトランザクション詳細を受信し得、それらはオフチェーン資産データ234(1)として装置102(1)上に格納され得る。
1102で、送信装置102(1)と受信装置102(2)との間の安全な通信が支払い端末を介して確立され得る。支払い端末は安全な支払い端末104またはPOS支払い端末118であり得る。安全な通信は、公開鍵228、証明書データ232、ソルトデータ238、他のデータ、またはそれらの任意の組合わせを交換することによって確立され得る。
1104で、支払い情報を含む支払いトランザクション120が、受信装置102(2)で送信装置102(1)から受信され得、支払い情報はオフチェーン資産データおよびそのオフチェーン資産データをブロックチェーン内のブロックチェーン資産と関連付けるトランザクション識別子を含み得る。例えば、UTXO決済モデルでは、送信装置102(1)は、ブロックチェーンデータ204の未使用のブロックチェーン資産または資金を制限して未使用のトランザクション出力(UTXO)を生成し得、それは資金を移動させるために原像の提示を必要とするハッシュをもつブロックチェーン資産を制限する。代替として、資産は、暗号アキュムレータに対するメンバーであるデータの1つ以上のセットの提示を必要とするハッシュ関数の一種である暗号アキュムレータを使用して制限され得る。UTXOは、以前のトランザクションの未使用の出力に起因する新しいトランザクションに対する入力を表し得る。いくつかの実施態様では、UTXOは、ブロックチェーンとやり取りすることなく、資産を制限する暗号アキュムレータのサブセットを使うことにより、送信装置102(1)上で細分され得る。UTXOは次いで、トランザクション識別子および他の情報と一緒に、支払いトランザクション120として受信装置102(2)に送信され得る。
1106で、受信装置102(2)は、支払い情報を使用して決済を受理するかどうかを判断し得る。例えば、受信装置102(2)は、特定の支払いタイプが、受信装置102(2)と関連付けられた1つ以上の設定に基づいて受理できないと判断し得る。
1108で、支払い情報が受理されない場合、方法は、1110で、拒絶を送信装置102(1)に送信することを含み得る。例えば、受信装置102(2)は、支払いが受理されなかったことを示すメッセージを送信装置102(1)に送信し得る。
そうでなければ、1108で、支払い情報が受理される場合、方法は、1112で、支払い情報に基づき、受信装置102(2)により複数の決済モデル224(2)からUTXO決済モデルを決定することを含み得る。具体的には、送信装置102(1)は、UTXO、トランザクションデータ、および関連付けられたデータ(原像ハッシュ、および秘密鍵など)を受信装置102(2)に送信し得る。受信装置102(2)は、支払いトランザクション120を暗号解読し、暗号解読された支払い情報から支払いタイプを判断し、支払いタイプに基づいてUTXO決済モデルを決定し得る。
1114で、支払いトランザクション120は、UTXO決済モデルを使用して、トランザクション識別子に一部基づいて、検証され得る。例えば、受信装置102(2)は、基礎となるブロックチェーン資産からUTXOを確認することにより支払いトランザクション120を検証し得、基礎となるブロックチェーン資産は、支払いトランザクション120をカバーするのに十分な資金を有する。一例では、受信装置102(2)は、UTXOを識別するデータを含むクエリーを1つ以上のブロックチェーンサーバー202に送信し得る。1つ以上のブロックチェーンサーバー202はそのデータを利用して、UTXOが未使用のままであって、ブロックチェーン内で利用可能であるかどうかを判断し得る。1つ以上のブロックチェーンサーバー202は、日付情報、時間情報、ブロックチェーン資産の金額、他の情報、またはそれらの任意の組合わせを含むブロックチェーン資産に関する情報を含むデータを、受信装置102(2)に送信し得る。受信装置102(2)は、受信されたデータを利用し、受信されたデータに基づいてUTXOを検証し得る。
1116で、支払いトランザクション120の受理の確認を含む決済情報が、受信装置102(2)から送信装置102(1)に送信され得る。例えば、検証されると、受信装置102(2)は受理を確認するメッセージを送信し得る。
1118で、送信装置102(1)は、安全なメモリ618内のオフチェーン資産データ234(1)の値を支払いトランザクション120に基づいて更新し得る。例えば、送信装置102(1)は、取引された資産をそのメモリから除去することによってオフチェーン資産データを更新し得る。いくつかの実施態様では、送信装置102(1)は、一旦、支払いトランザクション120が受理されると、オフチェーン資産データ234(1)の値を変更し得る。他の実施態様では、送信装置102(1)は、支払いトランザクション120が送信されるときに、オフチェーン資産データ234(1)の値を変更し得る。他の実施態様も可能である。1120で、受信装置102(2)は、支払いトランザクションに基づいてメモリ内のオフチェーンデータの値を更新し得る。その後、受信装置102(2)を使用してUTXOの値をブロックチェーンに償還するために、受信装置102(2)は安全な支払い端末104に結合され得る。ユーザー106は安全な支払い端末104とやり取りして償還操作を開始し得、それは安全な支払い端末104(または安全な支払い端末104に結合されたコンピューティング装置112)に、1つ以上のUTXOを消費するトランザクションを、償還トランザクション(署名されたメッセージ)を作成することにより1つ以上のブロックチェーンサーバー202にブロードキャストさせて、UTXOを含むオフチェーン資産データ234(2)をブロックチェーンに償還し得る。
図11のUTXO決済モデルの例では、UTXOをブロックチェーンに償還する前に、ユーザー106がUTXO(またはその一部)をオフチェーン資産データ234として使いたい場合、UTXO(ならびに、秘密鍵、スクリプト、ハッシュ、および/またはハッシュ原像などの、UTXO解除条件(encumbrance)を満足するトランザクションを形成するために要求される対応するデータ)は、ブロックチェーンとやり取りすることなく、無記名資産として別の装置102に提示され得る。受信装置102は、UTXOはオンチェーンで償還可能であること(UTXOはまだ使われておらず、ブロックチェーンに償還されていないことを意味する)を検証し得、UTXOおよび関連データを支払いとして受理し得る。装置102の文脈では、UTXOは紙幣に類似していると考えられ得る。ブロックチェーンに償還される前に複数のトランザクションが実行される例では、介在するトランザクション詳細が失われ得る。例えば、UTXO資金が償還される場合、UTXO資金の元の送信元アドレスは原像ハッシュから分かるが、中間資金保持人は分からず、ブロックチェーンデータ204内に含まれない。
典型的には、UTXOは些細ではない値を有しており、UTXOをブロックチェーンデータ204に償還する場合、各UTXOは、個々に処理されて検証されるトランザクション内で償還され得る。UTXOは、複数のUTXOを1つのトランザクションで償還する償還トランザクションを作成することによって、より効率的に償還できる。しかし、UTXO償還当たりの費用は、より多くのUTXOが単一のトランザクション内にアトミックに含まれるにつれて減少するが、費用は対数的に下限に近づく。UTXOベースの資産取引の1つの考えられる利点は、装置102は暗号アキュムレータを利用して、必要に応じてUTXOを細分し得ることである。また、UTXOを受信する受信装置102は、ブロックチェーンデータ204に対して単純な読取りクエリーを行うことによってUTXOは償還可能であることを検証し得る。
装置102がハッキングされるか、失われるか、または不正アクセスされる場合、潜在的な損失は単一のUTXOの値に局所化される。UTXOをブロックチェーンデータ204に償還する場合に些細ではない手数料が課され得るので、各UTXOは些細ではない値を有しており、それは、UTXOの値に、実用的であり得る、下限値を設定する。例えば、トランザクションに対する現在の処理手数料が$0.05であり、UTXOが1ドルの価値がある場合、それはあるユーザー106にとっては理にかない得る。しかし、UTXOが$0.10の価値でトランザクション手数料が$0.05である場合、トランザクション手数料はUTXO値のかなりの部分となり、UTXOトランザクションはあまり実用的ではない。
図12は、一実施態様に従い、口座決済モデルを使用して装置102間でオフチェーンデジタル通貨トランザクションを実施するプロセスの流れ図1200を示す。口座決済モデルでは、装置102は、ブロックチェーンデータ204内のトランザクションからブロックチェーン資産データをロードされ得、ブロックチェーン資産データは装置102内にオフチェーン資産データ234として格納され得る。この例では、装置102は従って、ブロックチェーンデータ204内の公開アドレスに対応する初期残高で(秘密鍵を表す物理複製困難関数(PUF)で)ロードされ得る。
1202で、送信装置102(1)と受信装置102(2)との間の安全な通信が支払い端末を介して確立され得る。支払い端末は安全な支払い端末104またはPOS支払い端末118であり得る。安全な通信は、公開鍵228、証明書データ232、ソルトデータ238、他のデータ、またはそれらの任意の組合わせを交換することによって確立され得る。
1204で、支払い情報およびオフチェーン資産データ234をブロックチェーン内のブロックチェーン資産にリンクするトランザクション識別子を含む支払いトランザクション120が、受信装置102(2)で送信装置102(1)から受信される。例えば、送信装置102(1)は支払いトランザクション120を受信装置102(2)に送信し得る。
1206で、複数の決済モデル224のうちのトランザクションID決済モデルが支払いトランザクション120に基づいて決定される。例えば、受信装置102(2)は、支払いトランザクション120に基づいて決済モデル224(1)から口座決済モデルを選択し得る。
1208で、送信装置102(1)上のオフチェーン資産データに資金を供給したトランザクション識別子が検証されて、それがブロックチェーン内に存在すると判断する。例えば、受信装置102(2)は、トランザクション識別子(トランザクションID)を含むクエリーを1つ以上のブロックチェーンサーバー202に送信して、ブロックチェーンがそのトランザクションIDに対応するブロックチェーン資産を含むことを検証する。1つ以上のブロックチェーンサーバー202は受信装置102(2)に、ブロックチェーンアドレス、日付情報、時間情報、ブロックチェーン資産の値、他のデータ、またはそれらの任意の組合わせを含むデータを送信し得る。受信装置102(2)は、受信したデータから、トランザクションIDと関連付けられたブロックチェーン資産は支払いトランザクション120内の支払い金額よりも大きいと判断し得る。受信装置102(2)は、送信装置102(1)上の残高を、トランザクションIDおよびトランザクションハッシュを含むローディングトランザクションのコピーに基づいて検証し得る。ブロックチェーンデータ204の特質のために、特定のブロックチェーン資産を検証することは困難であり得る。例えば、ビットコインは、ほとんどの作業を、2009年にサトシ・ナカモトによって作成されたジェネシスブロック上に有するブロックチェーンとして定義される。しかし、ビットコインブロックチェーン内には多くの分岐があり、相互に非常に類似した異なるブロックチェーン資産がある。ユーザー106がブロックチェーン資産を履歴的に検証しない限り、ユーザー106は正規のビットコインと見なされるものに騙され得る。従って、ブロックチェーン資産が何であるかの証拠を作成しようと試みる代わりに、トランザクションIDが受信装置102(2)に渡され得、受信装置102(2)は口座決済モデルを使用して、送信装置102(1)上のオフチェーン資産データ234に資金を供給したトランザクションIDがブロックチェーンデータ204内に本当に存在することを検証し得る。
1210で、支払いトランザクション120が無効である(ブロックチェーン上に存在しない)場合、受信装置102(2)は、1212で、支払いトランザクションを受理することを拒絶し得る。そうでなければ、1210で、支払いトランザクション120が有効である(ブロックチェーン上に存在する)場合、送信装置102(1)は、1214で、支払いトランザクション120に基づいて、送信装置102(1)の安全なメモリ618(1)内のオフチェーン資産データ234(1)の値を調整し得る。1216で、受信装置102(2)は、支払いトランザクション120に基づいて、受信装置102(2)の安全なメモリ618(2)内のオフチェーン資産データ234(2)の値を調整し得る。例えば、送信装置102(1)は、取引された資産をそのメモリから除去することによってオフチェーン資産データを更新し得、受信装置102(2)は、オフチェーン資産データの値を、その値を増やすことによって変更し得る。
一旦、ブロックチェーン上のトランザクションIDの存在が受信装置102(2)によって検証されると、受信装置102(2)は選択された口座決済モデル224を使用して、SCE218(2)内に格納されたオフチェーン資産データ234(2)の値を調整することにより、送信装置102(1)からの支払いを受理し得る。さらに、送信装置102(1)はオフチェーン資産データ234(1)の値を調整し得る。資金をブロックチェーンデータ204に償還して戻すために、受信装置102(2)は償還トランザクション(オフチェーン資産データ234(2)の一部を含む)にその秘密鍵230(2)で署名して、署名された償還トランザクションを1つ以上のブロックチェーンサーバー202に送信し得る。
この例では、1つ以上のブロックチェーンサーバー202は、署名された償還トランザクション内に含まれている基礎となるトランザクションIDの存在を検証し得る。口座決済モデルは、ブロックチェーンデータ204上の単一の資産タイプに対応する金額が、それらが償還される際に一緒に集約されるのを可能にして、償還プロセスをより安価にして、単一の償還トランザクションで実行されるのを可能にする。費用をより安価にすること、およびその口座決済支払い内の各個々の資産の特定の識別があまりないという事実は、様々な支払いが、特定の資産ではなく、口座残高として処理されるのを可能にして、トランザクションID決済モデルがデジタル通貨資産を、UTXO決済モデルにおけるような紙幣ではなく、むしろ小銭のように扱うのを可能にする。
ハッキングまたは窃盗に起因した損失は、かかる窃盗または損失は2つ以上の特定のトランザクションに影響を及ぼし得るので、UTXO決済モデルにおけるよりも一層高い可能性があり得、口座決済はゲートウェイスマートコントラクト口座の残高に悪影響を及ぼし得る。トランザクション残高は追加され得るが、各寄与トランザクションIDは、支払い決済を検証するためにチェックされる必要があり得、それはオンチェーン償還をより費用のかかるものにし得る。追加として、受信装置102(2)上には制限された格納空間しかなく、そのため装置102(2)は、残高をブロックチェーンデータ204に償還する必要がある前に、限られた数のトランザクションIDしか保持できない可能性がある。
いくつかの実施態様では、複数のトランザクションIDの代替性の欠如は、装置102の製造業者などの、経済的に動機を与えられたチェンジメーカーを有することによって改善され得、それは、オフチェーン資産データ234を装置102上に格納し得る。チェンジメーカーは、オフチェーン資産データをスマートコントラクト内に一度にダウウンロードして、他の装置所持人にスマートコントラクトからの変更を要求させ得、それはオンチェーンで補償され得る。これらのチェンジメーカーは、変更を行うための手数料を請求することを選択し得る。ユーザー106に対する利益は、より多くの変更が少数のトランザクションIDから来る可能性があり、その変更を償還するのをより安価にし得ることである。かかる決済モデルの1つの考えられる例が図13に関して以下で説明される。
図13は、一実施態様に従い、当局ベース決済モデルを使用して装置間でオフチェーンデジタル通貨トランザクションを実施するプロセスの流れ図1300を示す。この例では、銀行または他の信頼できる暗号通貨エンティティなどの、信頼できる当局は、オフチェーン資産データ234を装置102にダウンロードし、そのダウンロードの真正性の証明書として使用され得る署名されたローディングトランザクションを提供し得る。このタイプのローディング当局トランザクションは、受信側装置102が、オフチェーン資産データ234が本物であるという証拠として署名されたローディングトランザクションを信頼するのを可能にして、支払いとして受理され得る。
1302で、送信装置102(1)と受信装置102(2)との間の安全な通信が支払い端末を介して確立され得る。支払い端末は安全な支払い端末104またはPOS支払い端末118であり得る。安全な通信は、公開鍵228、証明書データ232、ソルトデータ238、他のデータ、またはそれらの任意の組合わせを交換することによって確立され得る。
1304で、支払い情報および通貨ローディング当局からの署名された証明書を含む、支払いトランザクション120が、受信装置102(2)において送信装置102(1)から受信され得る。例えば、当局決済モデルでは、オフチェーン資産データ234が送信装置102(1)上にロードされるローディングトランザクションは、装置の製造業者もしくは別の当局などの、発行当局によって署名されるか、または特定の口座から行われ得る。ローディング当局は、例えば、企業、銀行などの、信頼できる実体であり得る。
1306で、当局決済モデルは、デジタル的に署名された支払いに基づいて複数の決済モデル224から決定される。例えば、通貨ローディング当局からの署名された証明書が支払いトランザクション120内に含まれているという判断に応答して、受信装置102(2)は当局決済モデルを選択し得る。
1308で、支払いトランザクションは署名された証明書に基づいて検証され得る。発行当局の署名または特定アカウントの署名は、あるオフチェーン資産データ234が装置102上にロードされていることを他の装置102に証明し得、そのため他の装置102はローディング当局を信頼し得る。これは、相手方装置(受信装置102(2)など)は、UTXOまたはトランザクションIDの存在を検証する必要がないことを意味する。代わりに、送信装置102(1)がロードされる際に、送信装置102(1)は、残高はローディング当局が証明する資産に由来することを知る。相手方が送信装置102(1)から支払いを受ける場合、相手方(受信装置102(2))は、信頼できるローディング当局によってロードされている資産での支払いを要求し得る。
受信装置102(2)は、支払いトランザクション120と共に発行された署名された証明書を検査することにより、送信装置102(1)からの支払いトランザクション120が信頼できるローディング当局要求を満足することを検証し得る。いくつかの実施態様では、受信装置102(2)は、それらの当局の公開鍵228を、例えば、信頼できる証明書データ236(1)のリスト内で送信装置102(1)に追加することにより、複数の当局による証明を受理するように構成され得る。当局が信頼できなくなると、ローディング秘密鍵230の1つの違反または悪用は当局のビジネスを大幅に縮小させ得るので、ユーザー106は、将来のトランザクションのために、その当局の鍵を送信装置102(1)の信頼できる証明書データ236(1)のリストから除去し得、ローディング当局に「良い」仕事を行わせるためのインセンティブを引き起こす。
1310で、署名された証明書が有効でない場合、支払いトランザクション120は、1312で、拒絶され得る。そうでなければ、1310で、署名された証明書が有効である場合、送信装置102(1)は、1314で、支払いトランザクション120に基づいてオフチェーン資産データ234(1)の値を調整し得る。例えば、送信装置102(1)は、支払いトランザクションを反映するためにオフチェーン資産データ234(1)の値を減らし得る。1316で、受信装置102(2)は、支払いトランザクション120に基づいて受信装置102(2)の安全なメモリ618(2)内のオフチェーン資産データ234(2)の値を調整し得る。例えば、第2の装置102(2)は、取引された資産データをそのメモリに追加することによりオフチェーン資産データ234(2)の値を増やし得る。
この明示において、送信装置102(1)は、装置残高を初期化するために使用されたローディング当局からの署名された証明書および/または署名されたローディングトランザクションを支払いトランザクション120の一部として受信装置102(2)に提示して、適切な資産タイプを証明し得る。ユーザー106がオフチェーン資産データをブロックチェーンに償還したい場合、ユーザー106は受信装置102(2)を安全な支払い端末104の装置スロット108に挿入してローディング当局の署名を、有効な装置証明書および装置証明書に対応する秘密鍵によって署名されている資金を移動させる要求と一緒に、対応するブロックチェーンスクリプトまたはコントラクトに提示し得る。
トランザクションIDを使用して資産タイプを決定する口座決済モデル224(図11)とは異なり、より少ない一般的なローディング当局しかない可能性があり、そのため検証する必要のあるトランザクションの数は、使用される当局の数に制限され得、それは、数千のトランザクションおよび数千の相手方であっても、1であり得る。しかし、この例では、ローディング当局の真実性が他の決済モデル224のトランザクションベースの検証を置き換える。
一般に、当局モデルでは、当局は、当局アカウントから送信装置102(1)と関連付けられたアカウントへの発信トランザクションを作成し得る。その後、送信装置102(1)は安全な支払い端末104に結合されて、当局アカウントから署名されたトランザクションを受信し得る。送信装置102(1)は、当局に対応する装置102(1)上の信頼できる証明書データ236(1)内に既にある公開鍵228に基づいて、ローディングトランザクションはそれが信頼する当局から生じたことをチェックし得る。装置102(1)は次いで、当局によって示された資産タイプに対してオフチェーン資産データ234(1)を、ロードされたトランザクションの金額に初期化し得る。後続のトランザクションが作成されるとき、残高を初期化する署名されたトランザクションだけが、資産タイプを検証するために、受信装置102(2)などの、相手方装置と共有される必要がある。送信装置102(1)および受信装置102(2)上に格納された残高(オフチェーン資産データ234の値)は、装置間で交換された支払いトランザクション120に基づいて調整され得る。その後、オフチェーン資産データ234は、受信装置102(2)からローディング当局または当局が作成したスマートコントラクトへの署名された要求を生成することによって償還され得る。他の実施態様も可能である。
図14は、一実施態様に従い、証拠ベース決済モデルを使用して装置102間でオフチェーンデジタル通貨トランザクションを実施するプロセスの流れ図1400を示す。1402で、送信装置102(1)と受信装置102(2)との間の安全な通信が支払い端末を介して確立され得る。支払い端末は安全な支払い端末104またはPOS支払い端末118であり得る。安全な通信は、公開鍵228、証明書データ232、ソルトデータ238、他のデータ、またはそれらの任意の組合わせを交換することによって確立され得る。
1404で、支払い情報および証拠を含む、支払いトランザクション120が、受信装置102(2)において送信装置102(1)から受信され得る。例えば、証拠は、決済モデル224から決定されたブロックチェーンモデルと一緒に使用されて、支払いトランザクション120を統計的に検証し得る。
1406で、確率的決済モデルが支払いトランザクション120に基づいて複数の決済モデル224から決定され得る。この確率的決済モデル224は、支払いトランザクション120内に含まれている証拠および特定の資産を記述する規則またはモデルのセットを使用し得、それにより装置102は、通常、データのオンチェーン読取りを行う必要なく、資産を検証し得る。例えば、受信装置102(2)は、支払いトランザクション120内に含まれているデータに基づいて複数の決済モデル224から確率的決済モデルを選択し得る。
1408で、支払いトランザクションは、データのオンチェーン読取りを行う必要なく、証拠およびブロックチェーンモデルに基づいて検証され得る。例えば、統計的証拠は、オフチェーン資産データ234(1)に資金を供給した特定のトランザクションがブロックチェーン内のブロックチェーン資産に対応すること、およびある程度の作業が、データのオンチェーン読取りを行う必要なく検証され得るブロックチェーン内のブロックチェーン資産上で実行されたことを実証するハッシュのセットを含み得る。例えば、証拠は、トランザクションIDによって識別されたトランザクションが、そのトランザクションが作成された後に、ある程度の作業がその上で実行されたブロックチェーンのブロック内に含まれていたことを実証するハッシュのセット、および基礎となるブロックチェーン資産が確率的モデルとのそのやり取りによって検証可能であることを実証するための十分な履歴情報を含み得る。例えば、証拠が完全に非圧縮の方法で作成される場合、トランザクションの証拠は、ブロックチェーンデータ204の最新コピーを含むであろう。いくつかの実施態様では、証拠は、ブロックチェーンの圧縮表現を証拠として可能にする、ハッシュの連結を使用して作成され得る。例えば、証拠は、ブロックチェーンの圧縮を可能にする、ハッシュの連結を使用して作成され得る。いくつかの実施態様では、関数はブロックチェーンのブロックのデータを、ハッシュと呼ばれる固定長の暗号化出力に変換し得る。ブロックチェーンの複数のブロックに適用されると、関数は、複数のブロックのデータを、ブロック内に含まれている内部参照によって連結されている圧縮バージョンまたはハッシュに変換する。結果として生じる「ハッシュの連結」はブロックチェーンの圧縮表現であり得る。
確率的決済モデルは、ブロックチェーンデータ204の特性を簡潔な形で記述し、それは、ブロックチェーン上で実行された作業のレート、ブロック時間、ブロック当たりのトランザクション数、履歴チェックポイント、および他のデータおよびを含み得る。トランザクションの特性および関連付けられた証拠に基づき、支払いトランザクション120に対して基礎となるブロックチェーン資産は、証拠を統計的決済モデルと比較することにより、高い信頼度で確認され得る。
1410で、支払いトランザクション120が有効であると考えられない場合、支払いトランザクション120は、1412で拒絶され得る。そうでなければ、1410で、支払いトランザクション120が有効であると考えられる場合、オフチェーン資産データ234(1)の値は、1414で、支払いトランザクションに基づいて送信装置102(1)のメモリ内で調整される。例えば、受信装置102(2)は、資金供給トランザクションの基礎となるブロックチェーン資産を確認するために使用され得る受け入れ可能な証拠のリストを有し得る。支払いトランザクション120内で、送信装置102(1)は、証拠を生成するために使用された確率的モデルに関する情報を提供し得、受信装置102(2)は支払いを受理するか否かを、それが証拠に対して有する信頼性に基づき、決済モデル224(2)から確率的決済モデルを使用して、決定し得る。装置102に対する資金供給トランザクションを制御する単一のスマートコントラクトの文脈では、スマートコントラクトにとって受け入れ可能な確率的決済モデルだけが受信装置102(2)によって受け入れ可能であろう。スマートコントラクトにとって受け入れ可能な確率的決済モデルは、スマートコントラクト内に配備され得、受信装置102(2)の発行エンティティによっても署名され得る。
1416で、オフチェーン資産データの値は、支払いトランザクション120に基づいて受信装置102(2)のメモリ内で調整され得る。例えば、受信装置102(2)は、支払いトランザクション120に基づいてオフチェーン資産データ234(2)の値を増やし得る。
図10~図14に示されているブロックは例示目的だけのために提供されていることが理解されるべきである。さらに、いくつかの事例では、ブロックは省略されるか、または結合され得、順序は、本開示の範囲から逸脱することなく変更され得る。例えば、図14では、送信装置102(1)はそのメモリ内のオフチェーン資産データの値を、支払いトランザクション120の受信装置102(2)への送信と同時に、調整し得る。他の実施態様も可能である。
装置102は、ブロックチェーンからダウンロードされたオフチェーン資産データ234の可搬性を可能にし、かつデジタル通貨トランザクションをオフチェーンで可能にする、いくつかの技術的進歩を提供する。具体的には、装置102は複数の決済モデル224を含み得、決済規則は、ブロックチェーン規則が送信装置102(1)および受信装置102(2)の両方によって守られて維持されることを確実にするので、複数の決済モデル224の各々は、特定の支払いトランザクション120を検証して、それらがその後ブロックチェーンに償還され得るような方法で、支払いトランザクション120をオフチェーンで解決するために使用され得る規則および情報を定義し得る。さらに、装置102はそれ自体のセキュリティを管理して、安全な通信および信頼関係を確立し得るので、装置102は異なるタイプのPOS支払い端末118と共に使用され得、安全な支払い端末104との使用に限定されない。他の利点も本開示を検討すると、当業者によって理解され得る。
図1~図14に関して前述された装置およびシステムと共に、装置102は安全な通信を確立して、鍵および認証情報を交換することにより信頼関係を確立し得る。装置102はそれ自体の安全な通信を管理して、支払いトランザクション120をブロックチェーンにコミットすることなく、かつブロックチェーン合意プロトコルを頼りにすることなく、決済モデル224を使用して支払いトランザクション120を検証し得る。
決済モデル224は、装置102を介してオフチェーン資産データ234の可搬性を可能にし得る。装置102は、店舗で店頭で等、異なる文脈で、安全なコンピューティング環境を含んでいない装置を気にすることなく、かつ取引時に各トランザクションをブロックチェーンにコミットするトランザクション費用(時間および経費の両方)を必要とせずに、使用され得る。代わりに、装置102は支払いを検証して、装置102のデータストア226内のオフチェーン資産データ234の値を決済モデル224を使用して調整し得る。
さらに、装置102は、デジタル通貨トランザクションの集約を可能にして、装置102のオフチェーン資産データ234をそれに応じて増加または減少させる。集約されたオフチェーン資産データ234は次いで、単一トランザクションとしてブロックチェーンにコミットされて、ブロックチェーン処理時間を節約し、デジタル通貨トランザクションが実行され得る速度を向上させて、費用全体を削減し得る。本開示を読むと、他の利点も当業者には明らかであろう。
本開示で説明されたプロセスは、ハードウェア、ソフトウェア、またはそれらの組合わせで実装され得る。ソフトウェアの文脈では、説明された操作は、1つ以上のハードウェアプロセッサによって実行された場合に、列挙された操作を実行する、1つ以上のコンピュータ可読記憶媒体上に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象的なデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造、および同様のものを含む。当業者は、前述の図に例示されたあるステップまたは操作は、除去されるか、結合されるか、または別の順序で実行され得ることを容易に理解するであろう。任意のステップもしくは操作は連続的に、または並行して実行され得る。さらに、操作が説明される順序は、制限として解釈されることを意図しない。
実施形態は、本開示で説明されるプロセスまたは方法を実行するためにコンピュータ(または他の電子装置)をプログラムするために使用され得る命令を(圧縮または非圧縮形式で)その上に格納している持続性コンピュータ可読記憶媒体を含むソフトウェアプログラムまたはコンピュータプログラム製品として提供され得る。コンピュータ可読記憶媒体は、電子記憶媒体、磁気記憶媒体、光学式記憶媒体、量子記憶媒体などの1つ以上であり得る。例えば、コンピュータ可読記憶媒体は、ハードドライブ、フロッピィディスケット、光ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、磁気もしくは光カード、ソリッドステートメモリデバイス、または電子的命令の格納に適した他のタイプの物理媒体を含み得るが、それらに限定されない。さらに、実施形態は、一時的機械可読信号(圧縮または非圧縮形式で)を含むコンピュータプログラム製品としても提供され得る。一時的機械可読信号の例は、搬送波を使用して変調されているか、または変調されていないかに関わらず、1つ以上のネットワークによって転送された信号を含む、コンピュータプログラムをホストもしくは実行しているコンピュータシステムまたはマシンがアクセスするように構成され得る信号を含むが、それに限定されない。例えば、一時的機械可読信号は、インターネットによるソフトウェアの伝送を含み得る。
これらのプログラムの別個のインスタンスが任意の数の別個のコンピュータシステム上で実行され得るか、または任意の数の別個のコンピュータシステムに渡って分散され得る。あるステップは、ある装置、ソフトウェアプログラム、プロセス、またはエンティティによって実行されていると説明されているが、これはその必要はなく、様々な代替実施態様が当業者によって理解されるであろう。
追加として、前述の技術は様々な装置、環境、および状況で利用され得ることを当業者は容易に理解するであろう。主題は構造的特徴または方法論的動作に固有の言語で説明されてきたが、添付のクレームにおいて定義される主題は必ずしも、説明される特定の特徴または動作に限定されないことが理解されるはずである。むしろ、特定の特徴および動作はクレームを実装する例示的な形として開示される。
クローズ
以下のクローズは、追加の実施態様を説明する。
1.装置であって、
ネットワークと通信するための通信インタフェース、
オフチェーン資産データ、複数の決済モデル、およびプロセッサ実行可能命令を格納するための1つ以上のメモリ装置であって、オフチェーン資産データは、ブロックチェーン内のブロックチェーン資産からダウンロードされたブロックチェーンデータを含む、1つ以上のメモリ装置、ならびに
プロセッサ実行可能命令を実行して、
通信インタフェースを使用して、第2の装置との安全な通信を確立すること、
第2の装置内に格納されたオフチェーン資産データに対応する支払い情報を含む支払いトランザクションを受信すること、
複数の決済モデルのうちの決済モデルを支払いトランザクションに基づいて決定することであって、決済モデルは、支払いトランザクションをブロックチェーンにコミットすることなく、支払いトランザクションを検証するための規則のセットを定義すること、
決定された決済モデルを使用して、支払いトランザクションに含まれている支払い情報が有効であると判断すること、および
1つ以上のメモリ装置内に格納されたオフチェーン資産データの値を支払い情報が有効であるという判断に応答して調整すること、
を行うための1つ以上のプロセッサ
を含む。
2.クローズ1の装置であって、
支払い情報は第2の装置の秘密鍵を含み、
1つ以上のプロセッサはプロセッサ実行可能命令を実行して、
支払い情報から、秘密鍵は、ブロックチェーン資産の所有権を示す、無記名資産であると判断し、
決定された決済モデルを使用して、ブロックチェーンを検索して、秘密鍵がブロックチェーン内のブロックチェーン資産と関連付けられていることを確認する。
3.クローズ1または2のいずれかの装置であって、
支払い情報は、未使用のトランザクション出力(UTXO)および第1のデータを含み、
1つ以上のプロセッサはプロセッサ実行可能命令を実行して、決定された決済モデルを使用して、ブロックチェーンを検索することによりUTXOは未使用であると判断する。
4.クローズ1、2、または3のいずれかの装置であって、
支払い情報はトランザクションIDを含み、
1つ以上のプロセッサはプロセッサ実行可能命令を実行して、
トランザクションIDを含むクエリーを1つ以上のブロックチェーンサーバーに送信し、
1つ以上のブロックチェーンサーバーから、ブロックチェーン内のブロックチェーン資産に対応するデータを受信し、受信したデータはブロックチェーンアドレス、時間情報、日付情報、およびブロックチェーン資産と関連付けられた値を含み、
決定された決済モデルを使用して、受信したデータに基づき、支払い情報は、ブロックチェーン資産の値よりも少ない支払い金額を含むと判断する。
5.クローズ1、2、3、または4のいずれかの装置であって、
支払い情報はローディング当局の署名された証明書を含み、
1つ以上のプロセッサはプロセッサ実行可能命令を実行して、署名された証明書が信頼できる証明書のリスト内にあると判断する。
6.クローズ1、2、3、4、または5のいずれかの装置であって、
支払い情報は証拠を含み、
証拠は、ブロックチェーンの圧縮バージョンを表すハッシュの連結を含む。
7.クローズ1、2、3、4、5、または6のいずれかの装置であって、1つ以上のプロセッサはプロセッサ実行可能命令を実行して、
入力を受信し、
その入力に応答して、オフチェーン資産データに関連した値を含む償還トランザクションを、通信インタフェースを通してブロックチェーンサーバーに送信する。
8.クローズ1、2、3、4、5、6、または7のいずれかの装置であって、1つ以上のプロセッサはプロセッサ実行可能命令を実行して、
入力を受信し、
その入力に応答して、支払いトランザクションを、通信インタフェースを通して第2の装置に送信し、支払いトランザクションはオフチェーン資産データに基づく支払い情報を含む。
9.方法であって、
第1の装置の通信インタフェースを使用して、第2の装置との安全な通信を確立すること、
第1の装置において、第2の装置から支払いトランザクションを受信することであって、支払いトランザクションは、第2の装置のメモリ内に格納されたオフチェーン資産データに対応する支払い情報を含み、かつ関連付けられたデータを含むこと、
第1の装置を使用して、支払い情報に基づき、複数の決済モデルから決済モデルを決定することであって、決定された決済モデルは、関連付けられたデータに基づき支払いトランザクションが有効であると判断するための規則のセットを含むこと、
決定された決済モデルを使用して、支払い情報がブロックチェーン内のブロックチェーン資産に対応すると判断すること、および
第1の装置のメモリ内に格納されたオフチェーン資産データの値を支払い情報に基づいて調整すること
を含む。
10.クローズ9の方法であって、
支払い情報内で秘密鍵を判断すること、
決定された決済モデルに基づいて、その秘密鍵が、ブロックチェーン資産の所有権を示す無記名資産であると判断すること、および
決定された決済モデルを使用して、ブロックチェーンに問い合わせを行って、秘密鍵がブロックチェーン内のブロックチェーン資産に対応することを確認すること
をさらに含む。
11.クローズ9または10の方法であって、
支払い情報内で未使用のトランザクション出力(UTXO)および第1のデータを判断すること、ならびに
決定された決済モデルを使用して、UTXOがブロックチェーン内で未使用であると判断すること、
をさらに含む。
12.クローズ9、10、または11のいずれかの方法であって、支払い情報内でトランザクション識別子およびトランザクションハッシュを判断することをさらに含む。
13.クローズ9、10、11、または12のいずれかの方法であって、
支払い情報内でローディング当局と関連付けられた署名された証明書を判断すること、および
決定された決済モデルを使用して、署名された証明書が第1の装置のメモリ内の複数の信頼できる証明書の1つに対応すると判断すること
をさらに含む。
14.クローズ9、10、11、12、または13のいずれかの方法であって、
支払い情報内で証拠を判断することをさらに含み、証拠はブロックチェーンの圧縮バージョンを表すハッシュの連結を含む。
15.クローズ9、10、11、12、13、または14のいずれかの方法であって、
オフチェーン資産データの一部を含む支払いトランザクションを別の装置に、またはブロックチェーンサーバーに送信することをさらに含み、
オフチェーン資産データの値はその部分に基づいて調整される。
16.装置であって、
通信インタフェース、
オフチェーン資産データ、複数の決済モデル、およびプロセッサ実行可能命令を格納するための1つ以上のメモリ装置であって、オフチェーン資産データはブロックチェーン内のブロックチェーン資産からダウンロードされたブロックチェーンデータを含む、1つ以上のメモリ装置、ならびに
プロセッサ実行可能命令を実行して、
第2の装置から通信インタフェースを介して、第2の装置によって格納されたオフチェーン資産データに対応する支払い情報を含む支払いトランザクションを受信すること、
複数の決済モデルから決済モデルを支払い情報に基づいて決定することであって、決定された決済モデルは、支払いトランザクションをブロックチェーンにコミットすることなく、支払いトランザクションを検証するための規則のセットを定義すること、
決定された決済モデルを使用して、支払い情報が有効であると判断すること、および
1つ以上のメモリ装置内に格納されたオフチェーン資産データの値を、支払い情報の検証に応答して支払い情報に基づき調整すること、
を行うための1つ以上のプロセッサ
を含む。
17.クローズ16の装置であって、プロセッサ実行可能命令は1つ以上のプロセッサに、
支払い情報内で秘密鍵を判断すること、
支払い情報から、秘密鍵が、ブロックチェーン資産の所有権を示す無記名資産であると判断すること、および
決定された決済モデルを使用して、ブロックチェーンを検索して、秘密鍵がブロックチェーン内のブロックチェーン資産と関連付けられていることを確認すること
を行わせる。
18.クローズ16または17の装置であって、プロセッサ実行可能命令は1つ以上のプロセッサに、
支払い情報内で未使用のトランザクション出力(UTXO)および第1のデータを判断すること、ならびに
決定された決済モデルを使用して、UTXOがブロックチェーン内で未使用かどうかを判断すること、
を行わせる。
19.クローズ16、17、または18のいずれかの装置であって、プロセッサ実行可能命令は1つ以上のプロセッサに、
支払い情報内でトランザクション識別子(ID)を判断すること、および
決定された決済モデルを使用して、トランザクションIDに対応するブロックチェーン内のブロックチェーン資産を判断すること、
を行わせる。
20.クローズ16、17、18、または19のいずれかの装置であって、プロセッサ実行可能命令は1つ以上のプロセッサに、
支払い情報内でローディング当局の証明書を判断すること、および
決定された決済モデルを使用して、1つ以上のメモリ装置内の信頼できる証明書のリストを検索することにより、証明書が有効であると判断すること、
を行わせる。
21.クローズ16、17、18、19、または20のいずれかの装置であって、プロセッサ実行可能命令は1つ以上のプロセッサに支払い情報内で証拠を判断させ、証拠はブロックチェーンの圧縮バージョンを表す複数のハッシュの連結を含む。