IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マスターカード インターナシヨナル インコーポレイテツドの特許一覧

特表2024-542113私的トランザクション処理の方法及びシステム
<>
  • 特表-私的トランザクション処理の方法及びシステム 図1
  • 特表-私的トランザクション処理の方法及びシステム 図2
  • 特表-私的トランザクション処理の方法及びシステム 図3
  • 特表-私的トランザクション処理の方法及びシステム 図4
  • 特表-私的トランザクション処理の方法及びシステム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】私的トランザクション処理の方法及びシステム
(51)【国際特許分類】
   G06Q 20/06 20120101AFI20241106BHJP
   H04L 9/32 20060101ALI20241106BHJP
【FI】
G06Q20/06
H04L9/32 200Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024526674
(86)(22)【出願日】2022-10-03
(85)【翻訳文提出日】2024-06-21
(86)【国際出願番号】 US2022045488
(87)【国際公開番号】W WO2023080971
(87)【国際公開日】2023-05-11
(31)【優先権主張番号】17/453,402
(32)【優先日】2021-11-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.UNIX
3.Blu-ray
4.HDMI
5.イーサネット
(71)【出願人】
【識別番号】500041363
【氏名又は名称】マスターカード インターナシヨナル インコーポレイテツド
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100224683
【弁理士】
【氏名又は名称】齋藤 詩織
(72)【発明者】
【氏名】ラム パトラ
(72)【発明者】
【氏名】トーマス トライトリンガー
(72)【発明者】
【氏名】ラケッシュ ヤダフ
(72)【発明者】
【氏名】デミアン コンロイ
【テーマコード(参考)】
5L020
【Fターム(参考)】
5L020AA12
(57)【要約】
ブロックチェーンにて安全な私的トランスファを促進する方法は次のステップを含む:提案された私的トランスファについて、装置から私的グループ識別子とエンティティ識別子と移転額とを含む開始メッセージを受信するステップと;開始メッセージを入力として用いてスマート契約を実行するステップであって、その結果としてエンティティ識別子と移転額とを含むイベントメッセージを中央当局システムへと送信する、ステップと;中央当局システムから、提案された私的トランスファについての是認又は拒絶についての指示を含む応答メッセージを受信するステップと;応答メッセージを入力として用いてスマート契約を実行するステップであって、その結果として(i)応答メッセージが是認の指示を含む場合、私的ブロックチェーントランザクションを追加すること、又は(ii)提案された私的トランスファを却下することがなされる、ステップ。
【特許請求の範囲】
【請求項1】
ブロックチェーンにて安全な私的トランスファを促進する方法であって、
ブロックチェーンネットワーク内のノードのレシーバによって、第1のコンピューティング装置から、提案された私的トランスファについての開始メッセージを受信するステップであって、前記開始メッセージは少なくとも私的グループ識別子とエンティティ識別子と移転額とを含む、ステップと、
前記ノードのプロセッサによって、前記受信された開始メッセージを入力として用いて前記ブロックチェーンネットワークと関連付けられているブロックチェーン内に記憶されているスマート契約を実行するステップであって、前記スマート契約の実行は、少なくとも前記エンティティ識別子と前記移転額とを含むイベントメッセージを前記ノードのトランスミッタによって中央当局システムへと送信することを含む、ステップと、
前記ノードの前記レシーバによって、前記中央当局システムから応答メッセージを受信するステップであって、前記応答メッセージは、前記提案された私的トランスファについての是認又は拒絶の指示を含む、ステップと、
前記ノードの前記プロセッサによって、前記受信された応答メッセージを入力として用いて前記スマート契約を実行するステップであって、前記スマート契約の実行は、(i)前記応答メッセージが是認の指示を含む場合、前記移転額を、前記エンティティ識別子と関連付けられている第1のブロックチェーンウォレットから、前記私的グループ識別子と関連付けられている私的グループ内の第2のブロックチェーンウォレットへと移転するための私的ブロックチェーントランザクションを前記ブロックチェーンに追加すること、又は(ii)前記提案された私的トランスファを却下することを含む、ステップと、
を含む、方法。
【請求項2】
請求項1に記載の方法において、前記スマート契約は、前記私的グループ識別子をさらに含む、前記ブロックチェーン内のブロックチェーンデータ項目内に記憶されている、方法。
【請求項3】
請求項1に記載の方法において、さらに、
前記中央当局システムのレシーバによって、前記イベントメッセージを受信するステップと、
前記中央当局システムのプロセッサによって、前記エンティティ識別子に関連付けられているブロックチェーンウォレットのデータを識別するステップと、
前記中央当局システムの前記プロセッサによって、少なくとも前記ブロックチェーンウォレットのデータ及び前記移転額に基づいて、前記提案された私的トランスファについての是認又は拒絶を決定するステップと、
前記中央当局システムの前記プロセッサによって、前記決定に基づいた前記是認又は拒絶の指示を含む前記応答メッセージを生成するステップと、
前記中央当局システムのトランスミッタによって、前記生成された応答メッセージを前記ノードへと送信するステップと、
を含む、方法。
【請求項4】
請求項1に記載の方法において、さらに、
前記応答メッセージが是認の指示を含む場合、前記ノードの前記トランスミッタによって、前記私的ブロックチェーントランザクションの追加の成功についての通知を含む通知メッセージを前記中央当局へと送信するステップを含む、方法。
【請求項5】
請求項1に記載の方法において、さらに、
前記中央当局システムのレシーバによって、前記ノードから通知メッセージを受信するステップであって、前記応答メッセージが是認の指示を含む場合、前記通知メッセージは前記私的ブロックチェーントランザクションの追加の成功についての通知を含む、ステップと、
前記中央当局システムのプロセッサによって、前記イベントメッセージに含まれている前記移転額に少なくとも基づいて、前記エンティティ識別子に関連付けられているブロックチェーンウォレットのデータを更新するステップと、
を含む、方法。
【請求項6】
請求項1に記載の方法において、さらに、
前記ノードのメモリ内にて、複数のプライバシグループプロファイルを記憶するステップであって、各プライバシグループプロファイルは少なくともグループ識別子と2つのエンティティ識別子とを含む、ステップと、
前記ノードの前記プロセッサによって、前記複数のプライバシグループプロファイルの特定のプライバシグループプロファイルを識別するステップであって、含まれている前記グループ識別子は前記開始メッセージに含まれている前記私的グループ識別子と一致する、ステップと、を含み、
前記第2のブロックチェーンウォレットは前記特定のプライバシグループプロファイルに含まれている前記2つのエンティティ識別子の第1のものと関連付けられており、前記2つのエンティティ識別子の第2のものは前記開始メッセージに含まれている前記エンティティ識別子と一致する、方法。
【請求項7】
請求項6に記載の方法において、前記私的グループは前記特定のプライバシグループプロファイルと関連付けられている、方法。
【請求項8】
請求項1に記載の方法において、前記私的ブロックチェーントランザクションは、前記私的グループ識別子を含む、前記ブロックチェーン内のブロックチェーンデータ項目内に記憶されている、方法。
【請求項9】
ブロックチェーンにて安全な私的トランスファを促進するシステムであって、該システムは、
ノードと複数の追加のブロックチェーンノードとを含むブロックチェーンネットワークと、
第1のコンピューティング装置と、
中央当局システムと、を含み、
前記ノードは、
前記第1のコンピューティング装置から、提案された私的トランスファについて開始メッセージを受信するレシーバであって、前記開始メッセージは少なくとも私的グループ識別子とエンティティ識別子と移転額とを含む、レシーバと、
前記受信された開始メッセージを入力として用いて前記ブロックチェーンネットワークと関連付けられているブロックチェーン内に記憶されているスマート契約を実行するプロセッサであって、前記スマート契約の実行は、少なくとも前記エンティティ識別子と前記移転額とを含むイベントメッセージを前記ノードのトランスミッタによって前記中央当局システムへと送信することを含む、プロセッサと、を含み、
前記ノードの前記レシーバは前記中央当局システムから応答メッセージを受信し、前記応答メッセージは前記提案された私的トランスファについての是認又は拒絶の指示を含み、
前記ノードの前記プロセッサは前記受信された応答メッセージを入力として用いて前記スマート契約を実行するのであり、前記スマート契約の実行は、(i)前記応答メッセージが是認の指示を含む場合、前記移転額を、前記エンティティ識別子と関連付けられている第1のブロックチェーンウォレットから、前記私的グループ識別子と関連付けられている私的グループ内の第2のブロックチェーンウォレットへと移転するための私的ブロックチェーントランザクションを前記ブロックチェーンに追加すること、又は(ii)前記提案された私的トランスファを却下すること、を含む、システム。
【請求項10】
請求項9に記載のシステムにおいて、前記スマート契約は、前記私的グループ識別子をさらに含む、前記ブロックチェーン内のブロックチェーンデータ項目内に記憶されている、システム。
【請求項11】
請求項9に記載のシステムにおいて、前記中央当局システムは、
前記イベントメッセージを受信するレシーバと、
プロセッサであって、
前記エンティティ識別子に関連付けられているブロックチェーンウォレットのデータを識別するステップと、
前記ブロックチェーンウォレットのデータ及び前記移転額に少なくとも基づいて、前記提案された私的トランスファについての是認又は拒絶を決定するステップと、
前記決定に基づいた前記是認又は拒絶の指示を含む前記応答メッセージを生成するステップと、を実行する、プロセッサと、
前記生成された応答メッセージを前記ノードへと送信するトランスミッタと、
を含む、システム。
【請求項12】
請求項9に記載のシステムにおいて、前記応答メッセージが是認の指示を含む場合、前記ノードの前記トランスミッタは、前記私的ブロックチェーントランザクションの追加の成功についての通知を含む通知メッセージを前記中央当局へと送信する、システム。
【請求項13】
請求項9に記載のシステムにおいて、前記中央当局システムは、
前記ノードから通知メッセージを受信するレシーバであって、前記応答メッセージが是認の指示を含む場合、前記通知メッセージは前記私的ブロックチェーントランザクションの追加の成功についての通知を含む、レシーバと、
前記イベントメッセージに含まれている前記移転額に少なくとも基づいて、前記エンティティ識別子に関連付けられているブロックチェーンウォレットのデータを更新するプロセッサと、を含む、システム。
【請求項14】
請求項9に記載のシステムにおいて、
前記ノードは複数のプライバシグループプロファイルを記憶しているメモリをさらに含み、各プライバシグループプロファイルは少なくともグループ識別子と2つのエンティティ識別子とを含み、
前記ノードの前記プロセッサは前記複数のプライバシグループプロファイルの特定のプライバシグループプロファイルを識別するのであって、含まれている前記グループ識別子は前記開始メッセージに含まれている前記私的グループ識別子と一致し、
前記第2のブロックチェーンウォレットは前記特定のプライバシグループプロファイルに含まれている前記2つのエンティティ識別子の第1のものと関連付けられており、前記2つのエンティティ識別子の第2のものは前記開始メッセージに含まれている前記エンティティ識別子と一致する、システム。
【請求項15】
請求項14に記載のシステムにおいて、前記私的グループは前記特定のプライバシグループプロファイルと関連付けられている、システム。
【請求項16】
請求項9に記載のシステムにおいて、前記私的ブロックチェーントランザクションは前記私的グループ識別子を含む、前記ブロックチェーン内のブロックチェーンデータ項目内に記憶されている、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は私的トランザクションの処理に関するのであり、特に、私的トランザクションを中央当局を伴うパブリックブロックチェーンにて処理することに関するのであり、安全な態様でこれをなし、スマート契約を用いる際に二重消費(double spend)のリスクを伴わないようにする。
【0002】
関連出願の相互参照
本出願は、2021年11月3日に出願された米国特許出願第17/453,402号の利益を主張するのであり、その全内容は全ての用途に関して参照によって取り込まれる。
【背景技術】
【0003】
ブロックチェーンは当初においては、暗号通貨を用いての支払トランザクションをなすために用いる記憶機構として作られた。ブロックチェーンを用いることによって分散化、分散コンピューティング、トランザクション透明性等の幾つもの利点がもたらされる一方で、トランザクションに関与する個人又はエンティティについは匿名性がもたらされる。ブロックチェーンの比較的に選好される特性としてはその記録の不変性が挙げられる:即ち、連鎖の部分とされた全トランザクションが格納されるのであり且つ必要とされる演算力及び帯域制限故に不変性を帯びるのであり、特に連鎖が伸びてブロックチェーンネットワークがより多くのノードを追加していくとこれが強まる。
【0004】
初めの頃のブロックチェーンは完全にパブリックであったものの、ブロックチェーンに参加することを承認されたエンティティにのみ許す類いのブロックチェーンがいくつか作られている。これらのブロックチェーンは「パーミッション型」ブロックチェーンと称され、多くの場合はそのような承認を提供する1つ以上のエンティティを伴う。これらのブロックチェーンでのトランザクションは承認された参加者にとって依然として大方パブリックなものであり、各参加者は全てのトランザクションを見ることができる。トランザクションが各参加者の正体について必ずしも開示するわけではないが、トランザクションがブロックチェーンウォレットを介してなされる故に、一部の参加者は各ブロックチェーンウォレットの背後にいる他の参加者の正体について知ることができる場合がある。また、正体が判別不能な場合であっても、例えばトランザクション頻度又は関与する通貨額について露呈することを回避等するために、参加者は自己のトランザクション履歴を秘匿したままとすることを望み得る。
【0005】
もっとも、伝統的なブロックチェーンはそのような機能を欠く。「プライバシグループ」とも称される排他的なグループに参加者が加入することができる機能を有するブロックチェーンも開発されており、そのようなグループ内でなされるトランザクションはそのグループのメンバのみによって閲覧可能とされ、ブロックチェーン内のノードによって制御される。これによって参加者に望まれるプライバシがもたらされ得るも、トランザクションについて完全なプライバシがあると、参加者がブロックチェーン通貨を二重消費する機会がもたらされてしまうのであり、例えば同じブロックチェーン通貨が同じ2つの異なるプライバシグループにて同時に移転される場合がそうである。また、プライバシが諸規則の違反をもたらし得るのであり、適用可能な規則のコンプライアンス確保について困難をもたらし得る。
【0006】
したがって、既存のブロックチェーン技術に関して改良を加えて、参加者間に私的トランザクションをもたらして、未承認エンティティはトランザクションデータを見ることができないようにして、それと共に二重消費に対して保護して、また、全ての適用可能な規則及び規制に関してコンプライアンスを実現することが必要とされる。
【発明の概要】
【0007】
本開示は、ブロックチェーンにて安全な私的トランスファを促進するシステム及び方法について説明を提供する。ブロックチェーンにおいて第1の参加者が第2の参加者へと通貨を移転することを望む場合、第1の参加者によって開始メッセージが提出されるのであって、これはスマート契約への入力として用いられるのであって、これはプライバシグループ内に記憶されるのであって、これは第1及び第2の参加者の両方を含む。入力を伴ってのスマート契約の実行の結果として、ブロックチェーンと関連付けられている中央当局へとイベントメッセージが送信されることとなる。中央当局は、ブロックチェーンの各参加者について残高を維持するのであり、また、イベントメッセージを点検して第1の参加者がトランスファに提供するのに十分な程の既に消費されてはいない通貨を有しているかを知るためにチェックする。中央当局は、スマート契約への入力として用いらせるために応答メッセージをブロックチェーンノードへと送信するのであり、これは入力を用いて実行されるのであり、是認の場合にはプライバシグループにて私的ブロックチェーントランザクションを促進させ、或いは否定の場合にはトランザクションを拒絶させる。その結果、トランザクションは私的であり続けることができ及びプライバシグループ内に留め置かれることができるが、各参加者はブロックチェーン通貨を二重消費することに関しては禁止されており、中央当局及びスマート契約をプライバシグループにて用いることを通じてこれが図られる。
【0008】
ブロックチェーンにて安全な私的トランスファを促進する方法は次のステップを含む:ブロックチェーンネットワーク内のノードのレシーバによって、第1のコンピューティング装置から、提案された私的トランスファについて開始メッセージを受信するステップであって、前記開始メッセージは少なくとも私的グループ識別子とエンティティ識別子と移転額とを含む、ステップと、前記ノードのプロセッサによって、前記受信された開始メッセージを入力として用いて前記ブロックチェーンネットワークと関連付けられているブロックチェーン内に記憶されているスマート契約を実行するステップであって、前記スマート契約の実行は、少なくとも前記エンティティ識別子と前記移転額とを含むイベントメッセージを前記ノードのトランスミッタによって中央当局システムへと送信することを含む、ステップと、前記ノードの前記レシーバによって、前記中央当局システムから応答メッセージを受信するステップであって、前記応答メッセージは前記提案された私的トランスファについての是認又は拒絶の指示を含む、ステップと、前記ノードの前記プロセッサによって、前記受信された応答メッセージを入力として用いて前記スマート契約を実行するステップであって、前記スマート契約の実行は、(i)前記応答メッセージが是認の指示を含む場合、前記移転額を、前記エンティティ識別子と関連付けられている第1のブロックチェーンウォレットから、前記私的グループ識別子と関連付けられている私的グループ内の第2のブロックチェーンウォレットへと移転するための私的ブロックチェーントランザクションを前記ブロックチェーンに追加すること、又は(ii)前記提案された私的トランスファを却下することを含む、ステップ。
【0009】
ブロックチェーンにて安全な私的トランスファを促進するシステムは:ノードと複数の追加のブロックチェーンノードとを含むブロックチェーンネットワークと、第1のコンピューティング装置と、中央当局システムとを含み、前記ノードは、前記第1のコンピューティング装置から、提案された私的トランスファについての開始メッセージを受信するレシーバであって、前記開始メッセージは少なくとも私的グループ識別子とエンティティ識別子と移転額とを含む、レシーバと、前記受信された開始メッセージを入力として用いて前記ブロックチェーンネットワークと関連付けられているブロックチェーン内に記憶されているスマート契約を実行するプロセッサであって、前記スマート契約の実行は、少なくとも前記エンティティ識別子と前記移転額とを含むイベントメッセージを前記ノードのトランスミッタによって前記中央当局システムへと送信することを含む、プロセッサとを含み、前記レシーバは前記中央当局システムから応答メッセージを受信し、前記応答メッセージは前記提案された私的トランスファについての是認又は拒絶の指示を含み、前記プロセッサは前記受信された応答メッセージを入力として用いて前記スマート契約を実行し、前記スマート契約の実行は、(i)前記応答メッセージが是認の指示を含む場合、前記移転額を、前記エンティティ識別子と関連付けられている第1のブロックチェーンウォレットから、前記私的グループ識別子と関連付けられている私的グループ内の第2のブロックチェーンウォレットへと移転するための私的ブロックチェーントランザクションを前記ブロックチェーンに追加すること、又は(ii)前記提案された私的トランスファを却下することを含む。
【図面の簡単な説明】
【0010】
本開示の範囲は、添付の図面と共に解釈されると、例示的な実施形態についての下記の詳細な記載から最も良く理解される。図面には次の図が含まれる。
【0011】
図1】例示的実施形態による、ブロックチェーンにて安全な私的トランスファを促進するための高レベルシステムアーキテクチャを示すブロック図である。
図2】例示的実施形態による、図1のシステム内のブロックチェーンにて安全な私的トランスファを促進するためのブロックチェーンノードを示すブロック図である。
図3】例示的実施形態による、図1のシステム内のブロックチェーンノードによる、ブロックチェーンにて安全な私的トランスファを促進するための処理を示す流れ図である。
図4】例示的実施形態による、ブロックチェーンにて安全な私的トランスファを促進するための例示的方法を示す流れ図である。
図5】例示的な実施形態による、コンピュータシステムアーキテクチャを示すブロック図である。
【0012】
本開示の更なる応用分野は、下記の詳細な説明から自明である。例示的実施形態の詳細な説明は、例示目的のみを意図しており、必ずしも本開示の範囲を制限することを意図していない。
【発明を実施するための形態】
【0013】
安全な私的トランスファをブロックチェーンにて促進するシステム
図1は、ブロックチェーンにて安全な私的トランスファを促進するシステム100について示すのであり、これはプライバシグループ、スマート契約、及びサードパーティ当局を用いてなされる。
【0014】
システム100は、ブロックチェーンネットワーク102を含むことができる。ブロックチェーンネットワーク102は、複数のブロックチェーンノード104で構成されることができる。各ブロックチェーンノード104は、ブロックチェーンの処理及び管理に関連する機能をなすように構成された図2又は図5にて示されているような以下にて詳述されるコンピューティングシステムであることができ、例えば次の事項が含まれ得る:ブロックチェーンデータ値の生成、提案されたブロックチェーントランザクションの検証、デジタル署名の検証、新規ブロックの生成、新規ブロックの検証、ブロックチェーンのコピーの維持。
【0015】
ブロックチェーンは、少なくとも複数のブロックを備える分散型台帳とすることができる。各ブロックは少なくともブロックヘッダ及び1つ以上のデータ値を含んでよい。各ブロックヘッダは少なくともタイムスタンプ、ブロック参照値、及びデータ参照値を含んで良い。タイムスタンプは、ブロックヘッダが生成された時刻とされ得るのであり、また、任意の適切な方法を用いて表すことができる(例えば、UNIXタイムスタンプ、DateTime記法等)。ブロック参照値は、ブロックチェーン内の先行ブロックを(例えば、タイムスタンプに基づいて)参照する値とすることができる。いくつかの実施形態では、ブロックヘッダ内のブロック参照値は、各ブロックに先行する一番最近に追加されたブロックのブロックヘッダへの参照とすることができる。例示的実施形態では、ブロック参照値(block reference value)は、一番最近追加されたブロックのブロックヘッダをハッシュ化することによって生成されたハッシュ値とすることができる。同様に、データ参照値(data reference value)は、ブロックヘッダを含むブロック内に格納されている1つ以上のデータ値への参照とすることができる。例示的実施形態では、データ参照値は、1つ以上のデータ値をハッシュ化することによって生成されたハッシュ値とすることができる。例えば、ブロック参照値は、1つ以上のデータ値を用いて生成されたマークルツリーのルートとされ得る。
【0016】
各ブロックヘッダ内にてブロック参照値及びデータ参照値を用いることの結果として、ブロックチェーンに不変性が与えられ得る。データ値に対しての変更を試みるにはそのブロックについて新たなデータ参照値の生成が必要とされ、そのためには後続ブロックのブロック参照値を新たに生成することが必要とされ、更には後続の各ブロックについて新たなブロック参照値を生成することが必要とされる。変更を恒久的なものとするためには、新たなブロックの生成及びブロックチェーンへの追加前に、先の事柄をブロックチェーンネットワーク102内の一つずつのブロックチェーンノード104に対して実行及び更新することを要する。演算能力及び通信能力の限界によって、そのような変更は格段に困難なこと又は無理難題となり得るのであり、故にブロックチェーンは不変性を獲得する。
【0017】
いくつかの実施形態では、ブロックチェーンは、2つの異なるブロックチェーンウォレット間にてなされたブロックチェーントランザクションに関する情報を格納するために用いられることができる。ブロックチェーンウォレットは暗号鍵ペアの秘密鍵を含み得るのであり、それはデジタル署名の生成に用いられるのであり、それはブロックチェーントランザクションに関しての支払人の承認としての役割を果たし得るのであり、該デジタル署名は暗号鍵ペアの公開鍵を用いてブロックチェーンネットワーク102によって検証できる。一部の場合では、「ブロックチェーンウォレット」との語は秘密鍵を特に指し得る。他の場合では、「ブロックチェーンウォレット」との語は、ブロックチェーントランザクションにて秘密鍵を用いるためにそれを格納するコンピューティング装置(例えば、参加システム106等)を指し得る。例えば、各コンピューティング装置の各々は自機用の秘密鍵をそれぞれの暗号鍵ペアについて有していることができ、また、各々はブロックチェーンネットワークと関連付けられているブロックチェーンとのトランザクションにて用いるためのブロックチェーンウォレットとされることができる。コンピューティング装置は、ブロックチェーンウォレットを格納及び活用するのに適した任意のタイプの装置とすることができ、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、スマートウォッチ、スマートテレビ、ウェアラブルコンピューティング装置、埋込可能コンピューティング装置等とされ得る。
【0018】
ブロックチェーン内に記憶された各ブロックチェーンデータ値は、ブロックチェーントランザクション又は他のデータの記憶に適宜対応し得る。ブロックチェーントランザクションは少なくとも次の事項を備え得る:センダの秘密鍵を用いて生成された通貨センダ(例えば、第1の参加システム106a)のデジタル署名、レシピエントの公開鍵を用いて生成された通貨レシピエント(例えば、第2の参加システム106b)のブロックチェーンアドレス、及び移転されるブロックチェーン通貨額又は記憶される他のデータ。一部のブロックチェーントランザクションにおいてトランザクションは次の事項をも含み得る:ブロックチェーン通貨が現在保管されている1つ以上のセンダブロックチェーンアドレス(例えば、デジタル署名によってそのような通貨へのアクセスが立証される場合);及びセンダ公開鍵を用いて生成されたアドレスであってセンダによって保持されるべき任意の変更のためのアドレス。将来のトランザクションにて使用可能な暗号通貨が送られたアドレスは「出力」アドレスと称されるのであって、各アドレスは先行するブロックチェーントランザクションの出力を捕捉するために以前用いられた故にそうなるのであり、「未消費トランザクション」ともこれは称されるのであってその通貨が未だ未消費である先行トランザクションにてアドレスへと送られる通貨が存する故にそうなる。一部の場合では、ブロックチェーントランザクションは、エンティティがトランザクションの検証に用いるためのセンダ公開鍵を含むこともできる。ブロックチェーントランザクションの伝統的な処理のためには、そのようなデータは、センダによって又はレシピエントのどちらかによって、ブロックチェーンネットワーク102内のブロックチェーンノード104へと提供され得る。ノードはセンダのウォレットの暗号鍵ペア内の公開鍵を用いてデジタル署名を検証でき、また、センダの資金に対してのアクセスを検証できるのであり(例えば、未消費トランザクションは未だ消費されておらず且つセンダのウォレットと関連付けられているアドレスへと送られた場合)、これはトランザクションの「確認」処理として知られており、またそして、ブロックチェーントランザクションは新規ブロック内に含められる。伝統的なブロックチェーン実装例では、新規ブロックに対しては、ブロックチェーンへの追加及びブロックチェーンネットワーク102内の全ブロックチェーンノード104への配布前に、ブロックチェーンネットワーク102内の他のノードによって検証がなされ得る。ブロックチェーンデータ値がブロックチェーントランザクションに関するものではなく代わりに他のタイプのデータの記憶に関するものである場合、ブロックチェーンデータ値は依然としてデジタル署名の検証を含むか他の態様で伴うことができる。
【0019】
システム100では、ブロックチェーンはスマート契約を記憶するように構成されていることができる。スマート契約は自己実行可能なデータオブジェクトとされることができ、ブロックチェーン上でブロックチェーンデータ値内にて記憶されるものとされることができ、1つ以上の条件が充足されたらば実行されるものとされ得る。スマート契約はブロックチェーンに追加される新規ブロックを監視することができ、条件を充足する期待データがブロックチェーンに追加される迄又は別の態様にて条件が充足される迄これがなされる。条件が充足されたらば、スマート契約は自己実行されることができ、その結果としてブロックチェーンに関連する1つ以上のアクションを行うことができるのであり、これには例えば、デジタル通貨の移転のための新規トランザクションの提出、又はブロックチェーンにて新規ブロックチェーンデータ値内にて記憶するための新規データの提出が含まれ得る。一部の場合では、単一のスマート契約が複数回実行されて、例えば異なる入力又は他の基準の結果として異なる機能が実行され得る。
【0020】
システム100では、ブロックチェーンは1つ以上のプライバシグループ110を含むことができる。プライバシグループ110は、少なくとも2つの参加システム106のグループとすることができ、プライバシグループ110に割り当てられたトランスファ、スマート契約、又はブロックチェーンにて記憶される他のブロックチェーンデータが、そのプライバシグループ110のメンバのみによって閲覧可能となるものである。例を挙げるに、第1のプライバシグループ110aは、第1の参加システム106a及び第2の参加システム106bを含むことができる。プライバシグループ110aには、ブロックチェーン内の全プライバシグループ110の内でプライバシグループ110aにとって一意的な一意的識別子が割り当てられることができ、これは「グループ識別子」、「プライバシグループ識別子」、又は「私的グループ識別子」と称されることができる。ブロックチェーン内のブロックチェーンデータ項目は、ブロックチェーンデータ項目内にそのプライバシグループ識別子を含めることによってプライバシグループ110aと関連付けられることができる。
【0021】
ブロックチェーンネットワーク102内の各ブロックチェーンノード104は、各プライバシグループ110についてプロファイルを維持することができ、又は、そのプライバシグループ識別子に加えてグループ内の各参加システム106についての識別子(例えば、ブロックチェーンウォレット公開鍵、装置識別子、シリアル番号、又は他の一意的な値)を含む中央公開ディレクトリサービスを用いることができる。参加システム106がブロックチェーンノード104からブロックチェーンデータを要求した場合、ブロックチェーンノード104は、その提供された識別情報及びグループプロファイルに基づいて、参加システム106が属する各プライバシグループ110を識別することができる。そして、ブロックチェーンノード104は、参加システム106が閲覧することを許可されているブロックチェーンデータのみを参加システム106に提供することができる。換言するに、参加システム106には、公開されている(例えば、プライバシグループ110と関連付けられていない)ブロックチェーンデータ項目、並びに、参加システム106がメンバとなっているプライバシグループ110についてのプライバシグループ識別子を含むそれらのブロックチェーンデータ項目が提供されることができる。
【0022】
システム100は、中央当局システム108をさらに含むことができる。中央当局システム108は、各参加システム106について残高を維持し、並びに、新規エンティティがブロックチェーンネットワーク102にて参加システム106として参加することについての許可を与えるように構成されたエンティティとされることができる。「発行当局」とも称する中央当局システム108についての更なる情報は、Steven C. Davis等による米国特許出願第16/576,915号(発明の名称:「複数のブロックチェーンにわたって一貫的な台帳を配信する方法及びシステム」、出願日:2019年9月20日)にあり、その全体において参照によりここに取り込まれる。中央当局システム108は、システム100内にて各参加システム106についてブロックチェーン通貨の残高を記憶することができ、また、参加システム106がブロックチェーンネットワーク102にて公開又は非公開のブロックチェーントランザクションに参加する度に残高を更新することができる。
【0023】
二重消費を予防しつつブロックチェーン上での私的トランスファを促進するために、システム100内の参加システム106のあらゆるペアについてプライバシグループ110を作成することができる。換言するに、参加システム106b等の新規参加システム106に対して、参加者としてブロックチェーンネットワーク102に参加する許可が与えられる度に、あらゆる既存の参加システム106(例えば、参加システム106b,106cについてのプライバシグループ110b)について新規プライバシグループ110が作成されることとなり、これには既存の参加システム106及び新規参加システム106が含まれる。その結果、ブロックチェーンネットワーク102は、参加システム106の個数がnの場合、少なくとも(n(n-1))/2個のプライバシグループ110を常に含むことができる。一部の場合では、例えば参加システム106によって望まれるような2つより多い参加システム106を含む追加的なプライバシグループ110を含めることができる。グループの作成は、トランスファにてグループが必要とされるまで繰り延べられることができ、また、非アクティブなグループは削除されることができる。
【0024】
各プライバシグループ110はそれと関連付けられているスマート契約を持っていることができ、これはブロックチェーンにて記憶されており且つそのプライバシグループ110によってのみ閲覧及びアクセス可能である(例えば、スマート契約が、プライバシグループ110についてのプライバシグループ識別子を含むブロックチェーンデータ項目内に記憶されている場合)。スマート契約はプライバシグループ110内の参加システム106間でのあらゆる私的トランスファについて実行できる単一の私的スマート契約とされることができ、或いは、プライバシグループ110にて単一のトランスファについて活用される私的スマート契約とされることができ、各トランスファ後に新規な私的スマート契約がブロックチェーンに追加されて後行トランスファのために活用されることができる。
【0025】
参加システム106a等の第1の参加システム106が参加システム106b等の別の参加システム106へと私的トランスファを施すことを望む場合、第1の参加システム106aは、開始メッセージをブロックチェーンネットワーク102内のブロックチェーンノード104へと提出することができる。開始メッセージには、少なくとも、トランスファにて望まれるブロックチェーン通貨の移転額と、第1の参加システム106aと関連付けられているエンティティ識別子と、次の事項の1つとが含まれることができる:第2の参加システム106bと関連付けられているエンティティ識別子、又は、第1の参加システム106a及び第2の参加システム106bが属するプライバシグループ110aと関連付けられているグループ識別子。ブロックチェーンノード104は開始メッセージを受信することができ、グループ識別子及び/又はエンティティ識別子を用いてプライバシグループ110a及び第2の参加システム106bを識別することができるのであり、例えばデータを用いてグループプロファイルを識別して並びにグループプロファイル内の他のデータについて識別する等のことができる。
【0026】
ブロックチェーンノード104は、プライバシグループ110aを識別でき、また、ブロックチェーン内に記憶されておりプライバシグループ110aと関連付けられている私的スマート契約を識別することができるのであり、例えば関連付けられているプライバシグループ識別子を用いてこれをなせる。開始メッセージは、スマート契約の入力として提供することができ、これは実行されることができる。スマート契約の実行の結果としてイベントメッセージの生成がもたらされることがあり、これは適切な通信ネットワーク及び方法を用いて中央当局システム108へと電子的に送信されることができる。イベントメッセージは、第1の参加システム106aと関連付けられているエンティティ識別子と、提案された私的トランザクションについての移転額とを少なくとも含み得る。いくつかの実施形態では、イベントメッセージは第2の参加システム106bと関連付けられているエンティティ識別子をも含むことができる。
【0027】
中央当局システム108は、イベントメッセージを受信して、第1の参加システム106aと関連付けられているプロファイルを識別できるのであり、それと関連付けられているエンティティ識別子を用いて識別をなせる。そして、中央当局システム108は、指定された移転額を第2の参加システム106bへと移転するのに十分な残高を参加システム106aが有しているかについて決定することができる。一部の場合では、開始メッセージは、トランスファを実現するために用いられる1つ以上の未消費トランザクション出力を指定することができる。そのような場合は、未消費トランザクション出力をイベントメッセージ内に含めることができ、中央当局システム108による決定は、未消費トランザクション出力が参加システム106aと関連付けられており且つ望まれる移転額について十分な量のブロックチェーン通貨に対応するかに関しての決定を含むことができる。
【0028】
中央当局システム108は、決定の結果として、提案されている私的トランスファについて是認又は拒絶を決定することができる。例えば、参加システム106aが適切な未消費トランザクション出力を提供しない場合、又は新たに提案された私的トランスファを不可能たらしめるのに十分な程の通貨の私的トランスファを参加システム106aが既に要求していた場合、中央当局システム108は、提案されている私的トランスファを拒絶できる。中央当局システム108は、ブロックチェーンネットワーク102内のブロックチェーンノード104へと電子的に送信される応答メッセージを生成することができ、これには提案された私的トランスファが是認又は拒絶されるかについての指示が含まれる。一部の場合では、応答メッセージは提案された私的トランスファを識別する際に使用するための追加的情報を含むことができ、例えば参加システム106aと関連付けられているエンティティ識別子及びプライバシグループ110aと関連付けられているグループ識別子或いはセッション識別子又は提案された私的トランスファとの関係で一意的であり例えば第1の参加システム106a又はブロックチェーンノード104によって生成及び提供され得る他の値を挙げることができる。
【0029】
ブロックチェーンノード104は応答メッセージを受信することができ、また、応答メッセージをプライバシグループ110a内の私的スマート契約への入力として提供することができる。そして、私的スマート契約は、自己実行を行って応答メッセージに基づいてアクションを行うことができる。応答メッセージが、提案された私的トランスファが拒絶されることを指示している場合、アクションは、開始メッセージを破棄すること、並びに、提案された私的トランスファが拒絶されたことを示す通知メッセージを参加システム106aへと電子的に送信することとして捌くことができる。一部の場合では、通知メッセージは拒絶の理由を含むことができ、これは中央当局システム108によって応答メッセージ内にて提供されることができ、スマート契約の実行の際に通知メッセージ内に含められることができる。応答メッセージが、提案された私的トランスファが認容されていることを指示している場合、私的トランスファはブロックチェーンに追加されることができる。私的トランスファのブロックチェーンへの追加は、スマート契約による新規ブロックチェーントランザクションの生成を含むことができ、これには例えば参加システムについてのデジタル署名(例えば、開始メッセージに含まれたもの、スマート契約に含まれたもの、スマート契約によって生成されたもの等)、1つ以上の未消費トランザクション出力、参加システム106bと関連付けられている宛先アドレス、及び移転額が含まれることができる。一部の場合では、私的トランスファに含まれるデータ量は、ブロックチェーンのアーキテクチャ並びに参加システム106及び/又は中央当局システム108のニーズに依存していることがある。新規ブロックチェーントランザクションは、新規ブロックチェーンデータ項目内に含められることができ、これは検証され且つブロックチェーンに追加される新規ブロック内に含められ検証されるプライバシグループ110aについてのプライバシグループ識別子をも含む。
【0030】
いくつかの実施形態では、スマート契約の実行はさらなる結果として、中央当局システム108へと電子的に送信される通知メッセージの生成をもたらし得るのであり、これは私的トランスファがブロックチェーンに成功裏に追加されたことを中央当局システム108に通知する。一部の場合では、通知メッセージは、私的トランスファについて識別する情報を含むことができ、例えばセッション識別子又は他のデータが含まれることができる。一部の場合では、通知メッセージは、トランザクション識別子又はブロックチェーンデータ項目内に記憶されている他のデータを含むことができ、また、ブロックチェーンデータ項目自体、又は中央当局システム108によって義務付けられる又は要求されるような他のデータ、を含むことができる。そして、中央当局システム108は、第1の参加システム106a及び第2の参加システム106bの両方についてのプロファイルを更新して、それらの利用可能ブロックチェーン通貨残高、未消費トランザクション出力、及び/又は他のデータを更新することができるのであり、これは第1の参加システム106a又は第2の参加システム106bが関与する提案された私的トランスファについての将来の決定をなすために用いることができる。
【0031】
説明されたシステム及び方法は、このようにして二重消費の可能性を排除しつつブロックチェーン上での私的トランスファを促進する。スマート契約を用いることによって、参加システム106又はブロックチェーンノード104によって何らの追加的アクションを行わずにして私的トランスファをなすことができ、既存の慣行に対して最小限の混乱にて本開示で説明された方法及びシステムを実施することができる。各私的トランスファに関して承認を与えるために中央当局システム108を用いることによって、任意のブロックチェーン通貨をいずれの参加システムも二重消費できないように担保し、或いはプライバシグループを活用する伝統的なブロックチェーンネットワーク102で覚知不能となり得る他の不正アクションを取れないように担保できる。その結果、全ての参加システム106は、他の参加システム106による不正リスクに自らを曝さずに、ブロックチェーン上での私的トランスファを享受することができるのであり、既存システムに対して相当な改良がもたらされる。
【0032】
ブロックチェーンノード
図2は、ブロックチェーンノード104についての実施形態を示す。当業者にとって、図2に示すブロックチェーンノード104の実施形態が、例示目的のみで提供されることと、本開示の機能を実行するのに適した、ブロックチェーンノード104の全ての可能な構成を徹底的に示したものでないこととは自明である。例えば、図5に示され下記で一層詳細に説明されるコンピュータシステム500が、ブロックチェーンノード104の適切な構成であってよい。一部の場合では、参加システム106及び中央当局システム108等のシステム100の追加的構成要素は、図2で示されており後述される構成要素を含むことができる。
【0033】
ブロックチェーンノード104は、受信装置202を含むことができる。受信装置202は1つ以上のネットワークプロトコルを介して1つ以上のネットワーク上でデータを受信するよう構成されてよい。いくつかの例では、受信装置202は無線周波数、ローカルエリアネットワーク、無線エリアネットワーク、セルラ通信ネットワーク、Bluetooth、インターネット等の1つ以上の通信方法を介して、他のブロックチェーンノード104、参加システム106、中央当局システム108、並びに他のシステム及びエンティティからデータを受信するように構成され得る。いくつかの実施形態では、受信装置202は複数の装置(例えば、異なるネットワーク上でデータを受信する異なる受信装置(例えばローカルエリアネットワークでデータを受信する第1の受信装置と、インターネット上でデータを受信する第2の受信装置))を含んでよい。受信装置202は送信される電子的なデータ信号を受信してよい。このとき、受信装置202によるデータ信号の受信によって、データはデータ信号上に重ねられ、復号、解析(パース)、読取り、又は取得されてよい。いくつかの実施形態では、受信装置202は、受信されたデータ信号を解析して、そこに重ねられたデータを取得するための解析モジュールを含んでよい。例えば受信装置202は、受信されたデータ信号を受信し、処理装置によって実行される機能のための利用可能な入力へと変換して本開示の方法及びシステムを実行するよう構成される解析プログラムを含んでよい。
【0034】
受信装置202は、ブロック、ブロックチェーンデータ値、確認メッセージ、暗号鍵、スマート契約、エンティティ識別子、プライバシグループ識別子等が重畳されている又は符号化されていることができる、他のブロックチェーンノード104によって電子的に送信されたデータ信号を受信するように構成されていることができる。受信装置202は、開始メッセージ、エンティティ識別子、ブロックチェーンウォレットのデータ、プライバシグループのデータ等が重畳されている又は符号化されていることができる、参加システム106によって電子的に送信されたデータ信号を受信するように構成されていることもできる。受信装置202は、応答メッセージ、通知メッセージについての要求、ブロックチェーンデータについての要求、エンティティ識別子、イベントデータ、プライバシグループのデータ等が重畳されている又は符号化されていることができる、中央当局システム108によって電子的に送信されたデータ信号を受信するようにさらに構成されていることができる。
【0035】
ブロックチェーンノード104は、通信モジュール204を含むこともできる。通信モジュール204は、本開示の機能を実行する際に使用するために、モジュール、エンジン、データベース、メモリ、及びブロックチェーンノード104の他の構成要素の間でデータを転送するよう構成されてよい。通信モジュール204は、1つ以上の通信種別を含んでよく、コンピューティング装置内での通信のために様々な通信方法を使用してよい。例えば、通信モジュール204はバス、接続ピンコネクタ、ワイヤ等を含んでよい。いくつかの実施形態では、通信モジュール204はまた、ブロックチェーンノード104の内部構成要素とブロックチェーンノード104の外部構成要素(例えば、外部で接続されたデータベース、表示装置、入力装置等)との間で通信するよう構成されてよい。ブロックチェーンノード104は、処理装置も含むことができる。処理装置は本開示のブロックチェーンノード104の機能を実行するよう構成されてよい。このことは、当業者にとって自明である。いくつかの実施形態では、処理装置は、処理装置の1つ以上の機能を実行するよう特別に構成された複数のエンジン及び/又はモジュール(例えばクエリモジュール216、生成モジュール218、検証モジュール220等)を含んでよい。本開示のように、「モジュール」との用語は、入力を受信し、当該入力を使用して1つ以上の処理を実行し、且つ出力を提供するよう特別にプログラムされたソフトウェア又はハードウェアであってよい。様々なモジュールによってこなされる入力、出力及び処理は、本開示に基づいて、当業者にとって自明である。
【0036】
ブロックチェーンノード104は、グループデータベース206を含むことができる。グループデータベース206は、適切なデータストレージ形式及びスキーマを用いて複数のグループプロファイル208を格納するように構成されてよい。グループデータベース206は、構造化クエリ言語(SQL)を使用するリレーショナルデータベースであって、記憶された構造化データセットを格納、識別、修正、更新、アクセス等するデータベースであってよい。各グループプロファイル208は、プライバシグループ110に関連するデータを格納するように構成された構造化データセットであってよい。グループプロファイル208は、例えばプライバシグループ識別子を含むことができ、また、関連付けられたプライバシグループ110内の各参加システム106についてエンティティ識別子を含むことができる。一部の場合、グループプロファイル208はさらに、私的スマート契約データ、関連付けられたプライバシグループ110における各参加システム106についてのブロックチェーンウォレットのデータ等を含むことができる。
【0037】
ブロックチェーンノード104はブロックチェーンデータ212を含むこともでき、これはブロックチェーンノード104のメモリ214内に記憶される又はブロックチェーンノード104内の別個の領域に記憶される又はそれによってアクセス可能とされることができる。ブロックチェーンデータ212はブロックチェーンを含むことができ、これは複数のブロックを備えることができ、ブロックチェーンネットワーク102と関連付けられていることができる。一部の場合では、ブロックチェーンデータ212はさらに、ブロックチェーン及びその管理及びその性能に関連付けられている任意の他のデータを含むことができ、例えば、ブロック生成アルゴリズム、デジタル署名の生成及び確認アルゴリズム、ブロックチェーンノード104についての通信データ、スマート契約等が含まれる。
【0038】
ブロックチェーンノード104はまた、メモリ214を含んでよい。メモリ214は、本開示の機能を実行するときにブロックチェーンノード104が使用するためのデータ(例えば公開鍵、秘密鍵、対称鍵等)を格納するよう構成されてよい。メモリ214は、適切なデータフォーマット方法及びスキーマを用いてデータを格納するよう構成されてよく、また、任意の適切な種別のメモリ(例えば、読み取り専用メモリ、ランダムアクセスメモリ等)であってよい。メモリ214は、例えば暗号鍵及びアルゴリズム、通信プロトコル及び規格、データフォーマット規格及びプロトコル、モジュール用プログラムコード及び処理装置のアプリケーションプログラム、並びに、本開示の機能を実行する際にブロックチェーンノード104によって使用される適切な他のデータを含んでよい。このことは、本開示を読む当業者にとって自明である。いくつかの実施形態では、メモリ214は、構造照会言語(SQL)を使用するリレーショナルデータベースを含んでよく、記憶された構造化データセットを記憶、識別、修正、更新、アクセス等してよい。メモリ214は、例えば、暗号鍵、暗号鍵ペア、暗号アルゴリズム、暗号化アルゴリズム、通信情報、データフォーマッティング規則、署名生成アルゴリズム、スマート契約のデータ等を記憶するように構成されてよい。
【0039】
ブロックチェーンノード104は、クエリモジュール216を含んでよい。クエリモジュール216は、データベース上のクエリを実行して情報を識別するよう構成されてよい。クエリモジュール216は、1つ以上のデータ値又はクエリ文字列を受信してよく、それに基づいて、示されたデータベース(例えば、ブロックチェーンノード104のグループデータベース206)上でクエリ文字列を実行して、そこに格納された情報を識別してよい。そして、クエリモジュール216は、識別された情報を、必要に応じてブロックチェーンノード104の適切なエンジン又はモジュールへ出力してよい。クエリモジュール216は例えば、グループデータベースに対してクエリを実行して、受信された開始メッセージに対応するグループプロファイル208を識別して、私的スマート契約について提出するためにそれに含まれているプライバシグループ識別子及び/又はエンティティ識別子を識別することができる。
【0040】
ブロックチェーンノード104は、生成モジュール218を含むこともできる。生成モジュール218は、本開示の機能を実行するときにブロックチェーンノード104によって使用されるデータを生成するよう構成されてよい。生成モジュール218は、入力値として命令を受信してよいし、命令に基づいてデータを生成してよいし、生成されたデータをブロックチェーンノード104の1つ以上のモジュールへと出力してもよい。例えば、生成モジュール218は、ブロックチェーンデータ項目、ブロック、確認メッセージ、暗号鍵ペア、デジタル署名、アクションを実行するための関数及び命令、スマート契約、スマート契約提出データ、イベントメッセージ、通知メッセージ、セッション識別子等を生成するように構成されていることができる。
【0041】
ブロックチェーンノード104は、検証モジュール220を含むこともできる。検証モジュール220は、本開示にて説明される機能の一部としてブロックチェーンノード104のために検証を行うように構成されることができる。検証モジュール220は、入力として命令を受信でき、これは検証を行うために用いられるデータをも含み得るのであり、要求されたように検証を行うことができ、また、検証の結果をブロックチェーンノード104の別のモジュール又はエンジンに出力することができる。検証モジュール22は、例えば、適切な署名生成アルゴリズム及び鍵を用いてデジタル署名を検証したり、スマート契約データを検証したり、新規ブロックチェーントランザクションを検証したり等するように構成されていることができる。
【0042】
ブロックチェーンノード104は、送信装置222も含むことができる。送信装置222は、1つ以上のネットワークプロトコルを介して1つ以上のネットワーク上でデータを送信するよう構成されてよい。いくつかの例では、送信装置222は、ローカルエリアネットワーク、無線エリアネットワーク、セルラ通信、Bluetooth、無線周波数、インターネット等の1つ以上の通信方法を介して、他のブロックチェーンノード104、参加システム106、中央当局システム108、並びに他のエンティティへとデータを送信するように構成され得る。いくつかの実施形態では、送信装置222は複数装置(例えば、異なるネットワーク上でデータを送信するための異なる送信装置(例えば、ローカルエリアネットワーク上でデータを送信する第1の送信装置及びインターネット上でデータを送信する第2の送信装置))を含んでよい。送信装置222は、重畳されたデータであって受信コンピューティング装置によって解析されるデータを有するデータ信号を電子的に送信してよい。いくつかの実施形態では、送信装置222は、データを重畳し、符号化し、又はデータを送信に適したデータ信号へフォーマットする1つ以上のモジュールを含んでよい。
【0043】
送信装置222は、ブロックチェーンデータ値、ブロック、確認メッセージ、ブロックチェーンデータについての要求、スマート契約データ、エンティティ識別子、プライバシグループ識別子グループプロファイル208等が重畳されている又は符号化されていることができるデータ信号を、他のブロックチェーンノード104へと電子的に送信するように構成されていることができる。送信装置222は、エンティティ識別子についての要求、ブロックチェーンウォレットのデータについての要求、ブロックチェーンデータ、通知メッセージ等が重畳されている又は符号化されていることができるデータ信号を、参加システム106へと電子的に送信するように構成されていることもできる。送信装置222は、イベントメッセージ、通知メッセージ、エンティティ識別子、プライバシグループ識別子、グループプロファイル208データ等が重畳されている又は符号化されていることができるデータ信号を、中央当局システム108へと電子的に送信するようにさらに構成されていることができる。
【0044】
ブロックチェーンにて私的トランスファを促進する処理
図3は、図1又は図2のシステム100のブロックチェーンノード104によって実行される際に二重消費に対して保護されているブロックチェーンにて私的トランスファを促進する処理300について示す。
【0045】
S302では、ブロックチェーンノード104の受信装置202は、適切な通信ネットワーク及び方法を用いて、第1の参加システム106aから送信された提案された私的トランスファについての開始メッセージを受信することができる。開始メッセージは、少なくとも、第1の参加システム106aと関連付けられているエンティティ識別子と、提案された私的トランスファについての移転額と次の事項の少なくとも1つとを含み得る:提案された私的トランスファが向けられている第2の参加システム106bと関連付けられているエンティティ識別子及び第1の参加システム106aと第2の参加システム106bとを含むプライバシグループ110aと関連付けられているグループ識別子。一部の場合では、開始メッセージはさらに、1つ以上の未消費トランザクション出力、デジタル署名、及び/又は提案された私的トランスファの生成及び検証に必要な任意の追加データを含むことができる。S304では、ブロックチェーンノード104のクエリモジュール216は、ブロックチェーンノード104のグループデータベース206上でクエリを実行して、第1の参加システム106a等の対象とされたプライバシグループ110と関連付けられているエンティティ識別子及び開始メッセージ内に含まれる他のデータ(例えば、第2の参加システム106bと関連付けられているエンティティ識別子又はグループ識別子)を含むグループプロファイル208を識別することができる。
【0046】
S306では、ブロックチェーンノード104は、開始メッセージ及び識別されたグループプロファイル208内にある任意の追加的データを適宜ブロックチェーン内に記憶されておりプライバシグループ110aと関連付けられている私的スマート契約内へと入力することができる。データのスマート契約への入力によってその実行がなされることができ、その結果、イベントメッセージが中央当局システム108へと送信されることができる。イベントメッセージは、第1の参加システム106aと関連付けられているエンティティ識別子と、移転額とを少なくとも含み得る。開始メッセージが1つ以上の未消費トランザクション出力及び/又は提案された私的トランスファについての他のデータを含む場合、イベントメッセージはさらにそのような追加的データを含むことができる。S307では、中央当局システム108は提案された私的トランスファが是認されているか又は拒絶されているかを決定できるのであり、例えば第1の参加システム106aについてのブロックチェーン通貨残高等に基づいて決定できるのであり、これは中央当局システム108によって追跡されることができる。S308では、中央当局システム108は、提案された私的トランスファについての是認又は拒絶を指示する応答メッセージをブロックチェーンノード104へと電子的に送信することができるのであり、これはブロックチェーンノード104の受信装置202によって受信されることができる。
【0047】
S310では、ブロックチェーンノード104は、応答メッセージを私的スマート契約内へと入力することができる。その結果として私的スマート契約は実行されることができ、その実行は応答メッセージ内に含まれるデータの読み取りを含むことができる。提案された私的トランスファが拒絶されたことを応答メッセージが示している場合、S312では、スマート契約の実行の結果として、提案された私的トランスファはブロックチェーンノード104によって拒絶されることができる。提案された私的トランスファの拒絶の結果として、開始メッセージ及び任意の他の関連付けられているデータがブロックチェーンノード104によって破棄されることができる。一部の場合では、ブロックチェーンノード104の送信装置222は、第1の参加システム106aへと通知メッセージを電子的に送信することができ、通知メッセージは、提案された私的トランスファが拒絶されたことを示すことができる。中央当局システム108が応答メッセージに拒絶の理由についての指示を含む場合、第1の参加システム106aへと電子的に送信される通知メッセージは理由についての指示を含むことができる。
【0048】
S310では、提案された私的トランスファが認容されると応答メッセージに基づいてスマート契約が決定する場合、S314では、提案された私的トランスファは、私的トランスファについての新規ブロックチェーントランザクションをブロックチェーンに追加することによって処理されることができる。新規ブロックチェーントランザクションは、スマート契約によって生成されることができ、それに含まれるデータ、並びに開始メッセージ及び/又は応答メッセージを用いたスマート契約への入力を用いてこれをなすことができる。新規ブロックチェーントランザクションはブロックチェーンノード104へと送信されることができ(例えば、受信装置202を介して又は通信モジュール204を介して等の内部通信経由で受信される)、ブロックチェーンノード104の生成モジュール218は、新規ブロックチェーントランザクション及びプライバシグループ110aについてのグループ識別子を含むブロックチェーンデータ項目を生成でき、新規ブロックチェーンデータ項目を含む新規ブロックを生成でき、また、新規ブロックをブロックチェーンネットワーク102内の複数の他のブロックチェーンノード104へとブロックチェーンへの追加に関してその検証及び確認のために配信することができる。S316では、ブロックチェーンノード104の送信装置222は、ブロックチェーンへの私的トランスファの追加についての指示を含む通知メッセージを中央当局システム108へと電子的に送信することができる。中央当局システム108は、通知メッセージに基づいて、第1の参加システム106a及び第2の参加システム106bに関連付けられているデータを更新することができるのであり、例えば、トランスファに基づいてそれと関連付けられているブロックチェーン通貨残高を更新することができる。
【0049】
安全な私的トランスファをブロックチェーンにて促進する例示的方法
図4は、ブロックチェーン通貨の二重消費を回避しつつプライバシを可能にするために中央当局とスマート契約とを用いてブロックチェーンにて安全な私的トランスファを促進する方法400について示す。
【0050】
S402では、提案された私的トランスファについて、第1のコンピューティング装置(例えば、第1の参加システム106a)からの開始メッセージが、ブロックチェーンネットワーク(例えば、ブロックチェーンネットワーク102)内のノード(例えば、ブロックチェーンノード104)のレシーバ(例えば、受信装置202)によって受信されることができるのであり、開始メッセージは少なくとも私的グループ識別子とエンティティ識別子と移転額とを含む。S404では、ブロックチェーンネットワークと関連付けられているブロックチェーン内にて記憶されているスマート契約は、受信された開始メッセージを入力として用いてノードのプロセッサによって実行されることができ、スマート契約の実行は少なくともエンティティ識別子と移転額とを含むイベントメッセージをノードのトランスミッタ(例えば、送信装置222)によって中央当局システム(例えば、中央当局システム108)へと送信することを含む。
【0051】
S406では、応答メッセージが、ノードのレシーバによって、中央当局システムから受信されることができるのであり、応答メッセージは提案されている私的トランスファについての是認又は拒絶の指示を含む。S408では、スマート契約は、ノードのプロセッサによって、受信された応答メッセージを入力として用いて実行されることができるのであり、スマート契約の実行は、(i)前記応答メッセージが是認の指示を含む場合、前記移転額を、前記エンティティ識別子と関連付けられている第1のブロックチェーンウォレットから、前記私的グループ識別子と関連付けられている私的グループ内の第2のブロックチェーンウォレットへと移転するための私的ブロックチェーントランザクションを前記ブロックチェーンに追加すること、又は(ii)前記提案された私的トランスファを却下することを含む。
【0052】
1つの実施形態では、前記スマート契約は、前記私的グループ識別子をさらに含む、前記ブロックチェーン内のブロックチェーンデータ項目内に記憶されていることができる。一部の実施形態では、方法400はさらに次のステップを含むことができる:中央当局システムのレシーバ(例えば、受信装置202)によって、イベントメッセージを受信するステップと;中央当局システムのプロセッサ(例えば、クエリモジュール216)によって、前記エンティティ識別子に関連付けられているブロックチェーンウォレットのデータを識別するステップと;中央当局システムのプロセッサ(例えば、生成モジュール218)によって、ブロックチェーンウォレットのデータ及び移転額に少なくとも基づいて、提案された私的トランスファについての是認又は拒絶を決定するステップと;中央当局システムのプロセッサ(例えば、生成モジュール218)によって、決定に基づいた是認又は拒絶についての指示を含む応答メッセージを生成するステップと;中央当局システムのトランスミッタ(例えば、送信装置222)によって、生成された応答メッセージをノードへと送信するステップ。1つの実施形態では、方法400はさらに、応答メッセージが是認の指示を含む場合、ノードのトランスミッタによって、私的ブロックチェーントランザクションの追加の成功についての通知を含む通知メッセージを中央当局へと送信するステップを含むことができる。
【0053】
一部の実施形態では、方法400はさらに次のステップを含むことができる:中央当局システムのレシーバによって、ノードから通知メッセージを受信するステップであって、応答メッセージが是認の指示を含む場合、通知メッセージは私的ブロックチェーントランザクションの追加の成功についての通知を含む、ステップと、中央当局システムのプロセッサによって、イベントメッセージに含まれている移転額に少なくとも基づいて、エンティティ識別子に関連付けられているブロックチェーンウォレットのデータを更新するステップ。一実施形態では、方法400はさらに次のステップを含むことができる:ノードのメモリ(例えば、グループデータベース206、メモリ214等)内に、複数のプライバシグループプロファイル(例えば、グループプロファイル208)を記憶するステップであって、各プライバシグループプロファイルは少なくともグループ識別子と2つのエンティティ識別子とを含む、ステップと、ノードのプロセッサ(例えば、クエリモジュール216)によって、複数のプライバシグループプロファイルの特定のプライバシグループプロファイルを識別するステップであって、含まれているグループ識別子は開始メッセージに含まれている私的グループ識別子と一致し、前記第2のブロックチェーンウォレットは特定のプライバシグループプロファイルに含まれている2つのエンティティ識別子の第1のものと関連付けられており、2つのエンティティ識別子の第2のものは開始メッセージに含まれているエンティティ識別子と一致する、ステップ。さらなる実施形態では、私的グループは特定のプライバシグループプロファイルと関連付けられていることができる。いくつかの実施形態では、私的ブロックチェーントランザクションは、私的グループ識別子を含む、前記ブロックチェーン内のブロックチェーンデータ項目内に記憶されていることができる。
【0054】
コンピュータシステムアーキテクチャ
図5は、コンピュータシステム500を示す。そこにおいては、本開示の実施形態又はその一部が、コンピュータ可読コードとして実装されてよい。例えば、図1~2のブロックチェーンノード104並びに図1の参加システム106及び中央当局システム108は、ハードウェア、格納された命令を有する非一時的なコンピュータ可読媒体、又はこれらの組合せを用いてコンピュータシステム500内に実装されてよく、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されてよい。ハードウェアは、図3~4の方法を実施するために使用されるモジュール及び構成要素を具体化することができる。
【0055】
プログラマブルロジックが使用される場合、そのようなロジックは、実行可能なソフトウェアコードで構成された商業的に利用可能な処理プラットフォーム上で実行され、特定用途装置又は特別目的装置となっていてよい(例えばプログラマブルロジックアレイ(PGA)、特定用途向け集積回路(ASIC)等)。当業者は、開示された事項についての実施形態が、様々なコンピュータシステム構成で実行可能であることを理解する。当該システム構成は、マルチコアのマルチプロセッサシステムと、ミニコンピュータと、メインフレームコンピュータと、分散された機能でリンクされ又はクラスタ化されたコンピュータと、実質的に殆どの任意の装置に実装可能な汎用又はミニチュアのコンピュータとを含む。例えば、少なくとも1つのプロセッサ装置及びメモリが、上記実施形態を実装するために使用されてよい。
【0056】
本開示のプロセッサユニット又は装置は、単一のプロセッサ、複数のプロセッサ、又はこれらの組合せであってよい。プロセッサ装置は、1つ以上のプロセッサ「コア」を有してよい。本開示の「コンピュータプログラム媒体」、「非一時的コンピュータ可読媒体」及び「コンピュータ使用可能媒体」との用語は、概して、有形の媒体(例えば取外し可能なストレージユニット518、取外し可能なストレージユニット522及びハードディスクドライブ512内にインストールされたハードディスク等)を指すために使用される。
【0057】
本開示の様々な実施形態は、この例示的なコンピュータシステム500に関して記述される。本開示を読んだ後、当業者にとって、他のコンピュータシステム及び/又はコンピュータアーキテクチャを用いて本開示をどのように実装するかは自明である。動作はシーケンシャルな処理として開示されるが、いくつかの動作は実際には、並行して、同時に及び/又は分散環境で、実行されてよい。このとき、プログラムコードは、単一プロセッサの又はマルチプロセッサのマシンによってアクセスするために、ローカルに又はリモートに格納された状態である。さらに、いくつかの実施形態では、動作の順番は、開示される事項の趣旨を逸脱することなく再配置可能である。
【0058】
プロセッサ装置504は、本開示の機能を実行するよう特別に構成された特定用途又は汎用プロセッサ装置であってよい。プロセッサ装置504は、通信インフラストラクチャ506(例えばバス、メッセージキュー、ネットワーク、マルチコアメッセージパススキーム等)へ接続されてよい。ネットワークは、本開示の機能を実行するのに適した任意のネットワークであってよく、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ネットワーク(例えばWifi)、モバイル通信ネットワーク、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数(RF)又はこれらの任意の組合せを含んでよい。他の適切なネットワークタイプ及び構成は、当業者にとって自明である。コンピュータシステム500はまた、メインメモリ508(例えばランダムアクセスメモリ、読み取り専用メモリ等)を含んでよく、また、補助記憶装置510を含んでよい。補助記憶装置510は、ハードディスクドライブ512と取外し可能なストレージドライブ514(例えばフロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリ等)とを含んでよい。
【0059】
取外し可能なストレージドライブ514は、周知の方法で、取外し可能なストレージユニット518から読み取りを行ってもよいし、及び/又は、そこへ書き込みを行ってもよい。取外し可能なストレージユニット518は、取外し可能なストレージドライブ514によって読み取られまた書き込まれることができる、取外し可能なストレージ媒体を含んでよい。例えばもし取外し可能なストレージドライブ514がフロッピーディスクドライブ又はUSBポートであれば、取外し可能なストレージユニット518はそれぞれ、フロッピーディスク又はポータブルフラッシュドライブであってよい。1つの実施形態では、取外し可能なストレージユニット518は非一時的な読取り可能記録媒体であってよい。
【0060】
いくつかの実施形態では、補助記憶装置510は代替手段を含み、コンピュータプログラム又は他の命令がコンピュータシステム500(例えば取外し可能なストレージユニット522及びインタフェース520)にロードされることを可能にしてよい。そのような手段の例は、(例えばビデオゲームシステムで見られる)プログラムカートリッジ及びカートリッジインタフェース、取外し可能なメモリチップ(例えばEEPROM、PROM等)及び関連付けられたソケット、他の取外し可能なストレージユニット522及びインタフェース520を含んでよい。このことは当業者にとって自明である。
【0061】
コンピュータシステム500に(例えばメインメモリ508に及び/又は補助記憶装置510に)格納されたデータは、任意のタイプの適切なコンピュータ読取り可能な媒体(例えば光ストレージ(コンパクトディスク、デジタル多目的ディスク、Blu-rayディスク等)又は磁気テープストレージ(例えばハードディスクドライブ))上に格納されてよい。データは任意のタイプの適切なデータベース構成(例えばリレーショナルデータベース、構造化クエリ言語(SQL)データベース、分散データベース、オブジェクトデータベース等)で構成されてよい。適切な構成及びストレージタイプは、当業者にとって自明である。
【0062】
コンピュータシステム500はまた、通信インタフェース524を含んでよい。通信インタフェース524は、ソフトウェア及びデータが、コンピュータシステム500と外部装置との間で送受信されることを可能にしてよい。例示的な通信インタフェース524は、モデム、ネットワークインタフェース(例えばイーサネットカード)、通信ポート、PCMCIAスロット及びカード等を含んでよい。通信インタフェース524を介して転送されるソフトウェア及びデータは信号形式であってよい。当該信号形式は、電子の、電磁気の、光の、又は当業者にとって自明な他の信号のものであってよい。信号は、通信経路526を介して伝播する。当該経路は信号を搬送するよう構成され、電線、ケーブル、光ファイバ、電話線、携帯電話リンク、無線周波数リンク等を用いて実装されてよい。
【0063】
コンピュータシステム500は、表示インタフェース502を更に含んでよい。表示インタフェース502は、データが、コンピュータシステム500と外部ディスプレイ530との間で転送されることを可能にするよう構成されてよい。例示的な表示インタフェース502は、高精細度マルチメディアインタフェース(HDMI)、デジタルビジュアルインタフェース(DVI)、ビデオグラフィックスアレイ(VGA)等を含んでよい。ディスプレイ530は任意の適切なタイプのディスプレイであってよく、コンピュータシステム500の表示インタフェース502を介して転送されるデータを表示するのであり、ブラウン管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、静電容量方式タッチディスプレイ、薄膜トランジスタ(TFT)ディスプレイ等を含む。
【0064】
コンピュータプログラム媒体及びコンピュータ使用可能な媒体は、メモリ(例えばメインメモリ508及び補助記憶装置510)を指してよく、半導体メモリ(DRAM等)であってよい。これらのコンピュータプログラム製品は、コンピュータシステム500へソフトウェアを提供するための手段であってよい。コンピュータプログラム(例えばコンピュータ制御ロジック)は、メインメモリ508及び/又は補助記憶装置510内に格納されてよい。コンピュータプログラムはまた、通信インタフェース524を介して受信されてよい。そのようなコンピュータプログラムは、実行されると、コンピュータシステム500が本開示の方法を実行することを可能にしてよい。特に、コンピュータプログラムは、実行されると、プロセッサ装置504が本明細書で説明するように、図3~4に示す方法を実施することを可能にすることができる。したがって、そのようなコンピュータプログラムはコンピュータシステム500のコントローラを示す。本開示はソフトウェアを使用して実装される。当該ソフトウェアは、取り外し可能なストレージドライブ514、インタフェース520、及びハードディスクドライブ512又は通信インタフェース524を用いて、コンピュータプログラム製品に格納されてコンピュータシステム500へロードされてよい。
【0065】
プロセッサ装置504は、コンピュータシステム500の機能を実行するよう構成される1つ以上のモジュール又はエンジンを含んでよい。各モジュール又はエンジンは、ハードウェアを用いて実装されてよく、いくつかの実施形態ではソフトウェア(例えばこれは、メインメモリ508又は補助記憶装置510に格納されるプログラムコード又はプログラムに対応する)を用いてよい。そのような実施形態では、プログラムコードは、コンピュータシステム500のハードウェアによる実行前に、プロセッサ装置504によって(例えば、コンパイル用モジュール又はエンジンによって)コンパイルされてよい。例えばプログラムコードは、低レベルの言語へと翻訳されるプログラミング言語で記述されたソースコード(例えばアセンブリ言語又は機械コード)であってよい。これは、プロセッサ装置504及び/又はコンピュータシステム500の任意の追加のハードウェア構成要素によって実行するためのものである。コンパイル処理は、語彙解析と、前処理と、構文解析と、セマンティック解析と、構文主導型翻訳と、コード生成と、コード最適化と、コンピュータシステム500の制御のためにプログラムコードを低レベルの言語へ翻訳して本開示の機能を実行するのに適した任意の他の技術との使用を含んでよい。そのような処理によってコンピュータシステム500が、上記の機能を実行するために一意にプログラムされた特別構成コンピュータシステム500になることは当業者にとって自明である。
【0066】
本開示と一致している技術は、他の特徴もあるも、ブロックチェーンにて安全な私的トランスファを促進するシステム及び方法を提供する。本開示のシステム及び方法の様々な例示的実施形態が上述されるが、それらは限定目的でなく例示目的のみで示されることを理解されたい。それは網羅的でなく、本開示を、開示された形態そのものに限定はしない。上記の教示に照らして修正例及び変形例が可能である。範疇又は範囲を逸脱することなく、本開示の実装から修正例及び変形例が得られてよい。
図1
図2
図3
図4
図5
【国際調査報告】