(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-12
(45)【発行日】2024-11-20
(54)【発明の名称】デジタルコンテンツの制御及び配信のためのブロックチェーンにより実施される方法
(51)【国際特許分類】
G06Q 20/12 20120101AFI20241113BHJP
G06Q 20/38 20120101ALI20241113BHJP
G06Q 50/10 20120101ALI20241113BHJP
H04L 9/32 20060101ALI20241113BHJP
【FI】
G06Q20/12 300
G06Q20/38 310
G06Q50/10
H04L9/32 200B
【外国語出願】
(21)【出願番号】P 2023079777
(22)【出願日】2023-05-15
(62)【分割の表示】P 2021145100の分割
【原出願日】2017-02-21
【審査請求日】2023-05-15
(32)【優先日】2016-02-23
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2016-04-29
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2016-11-15
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ライト,クレイグ スティーヴン
(72)【発明者】
【氏名】サヴァナ,ステファヌ
【審査官】板垣 有紀
(56)【参考文献】
【文献】特開2008-099138(JP,A)
【文献】米国特許出願公開第2014/0236774(US,A1)
【文献】特開2007-311936(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
第1ノードにおいてデジタルコンテンツのエピソードを受信する、コンピュータにより実施される方法であって、
第2ノードから、エピソードシークレット
を含む暗号化メッセージを受信するステップ
であって、前記エピソードシークレットは前記デジタルコンテンツに含まれる複数のエピソードのうちの1つのエピソードを識別するために使用され、前記暗号化メッセージは共有対称鍵により暗号化されている、ステップと、
前記第2ノードに、デジタルコンテンツのエピソードを提供するよう要求を送信するステップと、
前記エピソードシークレットからエピソードシークレットハッシュを決定するステップと、
前記エピソードシークレットハッシュ及び
前記第2ノードに関連付けられた第2ユーザの第2公開鍵に基づき、支払Redeemスクリプトを含む暗号通貨支払額を転送するための支払トランザクションを決定するステップと、
前記第1ノードに関連付けられた第1ユーザの第1秘密鍵により、前記支払トランザクションに署名し、前記支払いトランザクションを前記第2ノードに送信するステップと、
前記第2ノードが前記支払トランザクションを検証することに応答して、デジタルコンテンツの前記エピソードにアクセスするステップと、
次のエピソードシークレットを受信し格納するステップと、
を含む方法。
【請求項2】
前記エピソードシークレットは、
前記第2ノードにより決定される、請求項1に記載の方法。
【請求項3】
前記第1ノードは、
前記共有対称
鍵により前記暗号化メッセージを復号する、請求項
1に記載の方法。
【請求項4】
第2ノードから第1ノードにデジタルコンテンツのエピソードを送信する、コンピュータにより実施される方法であって、
前記第1ノードに、前記第2ノードから要求可能なデジタルコンテンツのシリーズから、デジタルコンテンツの前記エピソードに関連付けられたエピソードシークレット
を含む暗号化メッセージを送信するステップ
であって、前記エピソードシークレットは前記デジタルコンテンツに含まれる複数のエピソードのうちの1つのエピソードを識別するために使用され、前記暗号化メッセージは共有対称鍵により暗号化されている、ステップと、
前記第1ノードから、デジタルコンテンツの前記エピソードを提供するための要求と支払トランザクションを受信するステップと、
エピソードシークレットハッシュと
前記第2ノードに関連付けられた第2ユーザの第2公開鍵に基づき、暗号通貨支払額を転送するための前記支払トランザクションが支払Redeemスクリプトを含むことを検証するステップと、
次のエピソードシークレットを決定するステップと、
前記第1ノードに前記次のエピソードシークレットを送信するステップと、
デジタルコンテンツの前記エピソードへのアクセスを提供するステップと、
を含む方法。
【請求項5】
前記次のエピソードシークレットを決定するステップは、データストアからの検索、又は新しいエピソードシークレットの生成を含む、請求項
4に記載の方法。
【請求項6】
前記次のエピソードシークレットは、デジタルコンテンツの前記エピソードへのアクセスが提供されるのと同時に、前記第1ノードに提供される、請求項
4又は5に記載の方法。
【請求項7】
前記第1ノードに、デジタルコンテンツの前記エピソードがアクセス可能であると示す通知を送信するステップ、を更に含む請求項
4~6のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デジタルコンテンツ・シリーズからデジタルコンテンツの支払及び配信のシステム及び方法に関する。本開示は、オンラインデジタルメディアのデジタル権利管理に適用できるが、これに関して限定されない。
【背景技術】
【0002】
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピア電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタル資産の制御の転送を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
【0003】
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション(UTXO)に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信した第1ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新しいブロックに追加し、iii)マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
【0004】
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステム、及びブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動タスク及び処理のために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散処理、等)を利用できる。
【0005】
現在の研究の一分野は、「スマートコントラクト(smart contracts)」の実装のためのブロックチェーンの使用である。これらは、機械可読取引又は合意の条件の実行を自動化するために設計されたコンピュータプログラムである。自然言語で記述され得る従来の取引と異なり、スマートコントラクトは、結果を生成するためにインプットを処理できるルールを含み、該結果に依存して動作を実行させることのできる、機械実行可能プログラムである。
【0006】
ブロックチェーンに関連する関心の他の分野は、ブロックチェーンを介する現実世界のエンティティを表し転送するための「トークン」(又は「カラードコイン」)の使用である。潜在的に機密な又は秘密のアイテムは、識別可能な意味又は値を有しないトークンにより表現できる。したがって、トークンは、現実世界のアイテムをブロックチェーンから参照できるようにする識別子として機能する。
【0007】
デジタル権利管理は、著作権に制約されるデジタルメディアを制御することに関し、デジタルメディアの使用、変更及び配信を制限する制御技術を含む。デジタルメディアは、雑誌、新聞、ポッドキャスト、ソープオペラ、テレビシリーズ、等のような時系列コンテンツのように連続したコンテンツを含み得る。
【0008】
デジタル権利管理の実装は、それぞれのユーザに関連するノード間で信頼を生成するために鍵交換を伴う、大規模中央システム又は複数のシステムを通じた著作権作品の管理を含むことがある。このようなシステムは管理が困難である場合があり、現行のアクセス権維持は達成することが困難な場合がある。幾つかの代替として、(認証局のような)信頼できる第三者が階層構造を生成するために使用されることがある。しかしながら、これらのシステムのうちの幾つかは、攻撃され易くなり得る大規模なシングルポイント障害を生じることがある。
【0009】
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、限定ではないが、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
【0010】
本願明細書を通じて、用語「含む、有する(comprise)」又は「comprises」若しくは「comprising」のような変形は、記述される要素、整数若しくはステップ、又は要素、整数若しくはステップのグループ、の包含を意味すると理解されるが、任意の他の要素、整数若しくはステップ、又は要素、整数若しくはステップのグループを除外しない。
【0011】
本願明細書に含まれる文書、動作、材料、装置、製品、等の議論は、これらの項目のうちのいずれか又は全部が従来基盤の部分を形成すること、又は本願の各請求項の優先日前に存在していたような本開示の関連分野における共通の一般知識であったとの承認として解釈されるべきではない。
【発明の概要】
【0012】
本発明は、添付の請求項に定められるように、方法及びシステムを提供する。
【0013】
本発明は、データの送信及び/又は配信を制御するよう構成された制御方法及び対応するシステムを提供し得る。送信は、コンピュータにより実装された又は通信ネットワークを介して若しくはそれに渡り行われ得る。データはデジタルコンテンツであって良い。本発明は、データの配信/送信を安全にするために暗号法及び/又は暗号化技術を組み込む方法/システムを提供し得る。したがって、本発明は、データ通信のための拡張されたセキュリティソリューションを提供し得る。
【0014】
本願明細書では、用語「エピソード」は、用語「部分」と同義的に使用されることがある。しかしながら、本発明により送信され、配信され、及び/又は制御されるデジタルコンテンツは、ブロードキャストメディアの一回分、論理的チャプタ若しくはエピソード、又は芸術的コンテンツに限定されない。本願明細書及び請求項中の用語「エピソード」は、デジタルコンテンツの「部分」又は「単位」又は「量」を意味する。同様に、用語「シリーズ」は、本願明細書では、ブロードキャストシリーズの意味で、単にシリーズを意味する。シリーズは、単にデジタルコンテンツの複数の部分、グループ又は関連付けであって良い。「シリーズ」は、必ずしも順次的又は年代順を示すことに限定されない。さらに、本発明は、デジタルコンテンツの特性又は形式に関して限定されない。デジタルコンテンツは、娯楽メディアに限定されないが、任意の種類のデジタルコンテンツに関連して良い。
【0015】
本発明は、システムであって、第1ユーザが共通アドレスにおける暗号通貨額に関連付けられる、システムを提供し得る。暗号通貨は、「保証金額」として参照されることがある。アドレスは、ネットワーク上のアドレスであって良い。アドレスはブロックチェーンアドレスであって良い。アドレスは、暗号鍵から導出され又はそれに関連付けられて良い。共通アドレスからの使用は、第1ユーザの少なくとも第1秘密鍵(V1)及び第2ユーザの第2秘密鍵(V2)の(デジタル)署名を必要とし得る。これは、所与の種類のブロックチェーントランザクションの使用により指定されて良い。トランザクション種類は、ブロックチェーンプロトコルの部分であり又はその中で定められて良い。
【0016】
システムであって、
第1処理装置を有する、第1ユーザに関連付けられた第1ノードであって、
(A)通信ネットワークを介して、デジタルコンテンツ・シリーズからデジタルコンテンツ・エピソード(i)を提供するよう、前記第2ノードに要求を送信し、
(B)共通アドレスから前記第2ユーザへ暗号通貨支払額(B2)を転送するために、ブロックチェーントランザクション(Ei)を決定し及び/又は生成し、前記暗号通貨支払額(B2)は、前記第1ユーザにより要求された前記デジタルコンテンツ・シリーズの中のデジタルコンテンツのエビソード数に基づき、
(C)前記第1秘密鍵(V1)により前記支払トランザクション(Ei)に署名し、次に前記支払トランザクション(Ei)を前記第2ノードへ送信する、第1ノードと、
第2処理装置を有する、前記第2ユーザに関連付けられた第2ノードであって、
(I)前記通信ネットワークを介して、前記第1秘密鍵(V1)により署名された前記デジタルコンテンツ・エピソード(i)及び前記支払トランザクション(Ei)を提供するための、前記第1ノードからの前記要求を受信し、
(II)前記支払トランザクションを検証するよう構成され、前記支払トランザクションが前記第2ユーザへの前記暗号通貨支払額(B2)を含むことを検証することを含み、検証した結果に基づき、前記第2処理装置は、更に、
(III)前記通信ネットワークを介して、前記第1ノードに利用可能にされるべき前記デジタルコンテンツ・エビソード(i)へのアクセスを提供し、
(IV)前記第2ユーザの前記第2秘密鍵(V2)により、前記支払トランザクションに共同署名し、前記共同署名した支払トランザクションをピアツーピア分散台帳へ送信するよう構成される、第2ノードと、
を含むシステム。
【0017】
前記システムにおいて、前記第1処理装置は、ステップ(A)から(D)を繰り返すことにより、前記デジタルコンテンツ・シリーズから次のデジタルコンテンツ・エピソードを要求するよう更に構成されて良い。前記第2処理装置は、前記要求を受信し、ステップ(I)から(III)を繰り返すことにより前記次のデジタルコンテンツ・エピソードを配信するよう更に構成されて良く、前記支払トランザクションに共同署名しピアツーピア分散台帳へ送信するステップ(IV)は、前記次のエピソードを含むデジタルコンテンツ・エピソードの数を有する支払トランザクションに対して実行される。
有利なことに、本発明により提供される利点のうちの1つは、デジタルコンテンツの各部分が、更なる又は後の部分の(又はそれに関連付けられた)暗号鍵と一緒に暗号化されることである。鍵の使用は、デジタルコンテンツの部分が解読されていることの技術的証拠を提供する。したがって、デジタルコンテンツがアクセスされている、例えば閲覧され若しくは何らかの方法で消費され/使用されていることが決定できる。
【0018】
前記システムにおいて、前記第1ユーザは前記共通アドレスに前記暗号通貨保証金額を預金して良く、前記第1処理装置は、通信ネットワークを介して、前記第1ユーザから前記共通アドレスへの前記暗号通貨保証金額(B1)の第1トランザクションをピアツーピア分散台帳(以後、単に「ブロックチェーン」として参照される場合がある)に記録するために、第1データアウトプット(O1)を送信するよう構成される。
【0019】
前記システムにおいて、指定時間の後、前記共通アドレスからの前記暗号通貨保証金額のトランザクションを伴わず、前記暗号通貨保証金額(B1)が返金されて良い。前記第1処理装置は、前記第1ユーザの第1秘密鍵(V1)により、前記共通アドレスから前記第1ユーザへ前記暗号通貨保証金額(B1)を転送する第2トランザクションに共同署名するよう更に構成されて良い。前記第2処理装置は、前記第2秘密鍵(V2)で、第2トランザクションに共同署名し、前記第1秘密鍵(V1)及び前記第2秘密鍵(V2)の両方により共同署名された第2トランザクションは、ピアツーピア分散台帳へ送信され、前記暗号通貨保証金額(B1)を返金するために指定時間の後に有効にされ、前記指定時間の前に、前記共同署名された第2トランザクションを前記ピアツーピア分散台帳へ送信する、よう更に構成されて良い。
【0020】
前記システムにおいて、前記第2処理装置は、前記通信ネットワークを介して、前記第1ユーザにより要求されるために利用可能な、前記デジタルコンテンツ・シリーズからの前記デジタルコンテンツ・エピソードに関連付けられたエピソードシークレット(Si)を送信するよう更に構成されて良い。前記第1処理装置は、前記通信ネットワークを介して、前記エピソードシークレット(Si)を受信し、前記エピソードシークレット(Si)からエピソードシークレットハッシュ(Hi)を決定するよう更に構成されて良い。前記暗号通貨支払額(B2)を前記第2ユーザへ転送する支払トランザクション(Ei)を決定することは、前記第1処理装置が、前記エピソードシークレットハッシュ(Hi)と、前記第2ユーザの前記第2秘密鍵(V2)との暗号対である第2公開鍵(P2)と、に基づき支払Redeemスクリプト(SR1)を更に決定するよう構成されることを含む。前記第2処理装置が前記支払トランザクション(Ei)を検証するとき、前記第2処理装置は、前記支払Redeemスクリプト(RS1)が前記エピソードシークレットハッシュ(Hi)及び前記第2公開鍵(P2)に基づくことを検証するよう更に構成される。
【0021】
前記システムにおいて、前記第2処理装置は、前記デジタルコンテンツ・シリーズからの前記次のデジタルコンテンツ・エピソード(Si+1)に関連付けられた次のエピソードシークレット(Si+1)を決定し、前記次のエピソードシークレット(Si)から次のエピソードシークレットハッシュ(Hi+1)を決定するよう更に構成されて良く、前記デジタルコンテンツ・エピソードを送信するステップ(III)で又はその後に、前記第2処理装置は、前記通信ネットワークを介して、前記第1ノードへ次のエピソードシークレット(Si+1)を送信するよう更に設けられる。前記第1処理装置は、前記通信ネットワークを介して、前記エピソードシークレット(Si+1)を受信し、前記エピソードシークレット(Si+1)から次のエピソードシークレットハッシュ(Hi+1)を決定するよう更に構成されて良い。対応する次の支払トランザクション(Ei+1)は、前記次のエピソードシークレットハッシュ(Hi+1)と前記第2公開鍵(P2)とに基づき、次の支払Redeemスクリプト(RS2)を含む。前記第2処理装置が次の支払トランザクション(Ei+1)を検証するとき、前記第2処理装置は、前記次の支払Redeemスクリプト(RS2)が前記次のエピソードシークレットハッシュ(Hi+1)及び前記第2公開鍵(P2)に基づくことを検証するよう更に構成される。
【0022】
前記システムにおいて、前記支払トランザクション(Ei)は、前記共通アドレスから前記第1ユーザへの、前記第1ユーザへの暗号通貨おつり額(B3)の転送を更に有し、前記暗号通貨おつり額(B3)は、前記暗号通貨支払額(B2)だけ少ない前記暗号通貨保証金額(B1)に基づく。
【0023】
前記システムにおいて、前記第2処理装置は、前記第1ノードと前記第2ノードとの間の共通シークレットを決定するよう更に構成されて良い。前記通信ネットワークを介する、前記デジタルコンテンツ・エピソードへのアクセスを提供することは、前記第2処理装置が、1又は複数のデジタルコンテンツ・エピソードを、前記共通シークレットに基づく鍵で暗号化して、1又は複数の暗号化デジタルコンテンツ・エピソードを提供し、前記1又は複数の暗号化デジタルコンテンツ・エピソードを送信することを含む。前記第1処理装置は、前記第1ノードと前記第2ノードとの間の共通シークレットを決定し、前記通信ネットワークを介して、前記1又は複数の暗号化デジタルコンテンツ・エピソードを受信し、前記1又は複数の暗号化デジタルコンテンツ・エピソードを、前記共通シークレットに基づく鍵で復号化して、前記1又は複数のデジタルコンテンツ・エピソードを提供するよう更に構成されて良い。
【0024】
前記システムにおいて、前記第2処理装置は、共通シークレット基づく鍵で暗号化された、前記エピソードシークレット(Si)、及び/又は前記次のエピソードシークレット(Si+1)に基づき、暗号化メッセージを決定するよう更に構成されて良い。前記第1処理装置は、前記共通シークレット基づく鍵で暗号化メッセージを復号化することにより、前記エピソードシークレット(Si)、及び/又は前記次のエピソードシークレット(Si+1)を決定するよう更に構成されて良い。
【0025】
デジタルコンテンツを受信する、コンピュータにより実施される方法であって、第1ユーザに関連付けられた第1ノードは第2ノードに関連付けられた第2ユーザへの支払と引き換えにデジタルコンテンツを受信し、前記第1ユーザは共通アドレスにある暗号通貨保証金額(B1)に関連付けられ、前記共通アドレスからの使用は前記第1ユーザの第1秘密鍵(V1)及び前記第2ユーザの第2秘密鍵(V2)の両方の署名を必要とし、前記方法は、
(A)前記通信ネットワークを介して、前記第2ノードへ、デジタルコンテンツ・シリーズからデジタルコンテンツ・エピソード(i)を提供する要求を送信するステップと、
(B)前記共通アドレスから前記第2ユーザへ暗号通貨支払額(B2)を転送するために、支払トランザクション(Ei)を決定するステップであって、前記暗号通貨支払額(B2)は、前記第1ユーザにより要求された前記デジタルコンテンツ・シリーズの中のデジタルコンテンツ・エピソードの数に基づく、ステップと、
(C)前記第1秘密鍵(V1)により前記支払トランザクション(Ei)に署名するステップであって、次に前記支払トランザクション(Ei)を前記第2ノードへ送信して、前記第2ノードに前記支払トランザクションを検証させる、ステップと、を含み、
前記第2ノードが、前記支払トランザクションは前記暗号通貨支払額(B2)を含むことを検証したことに基づき、前記方法は、
(D)前記通信ネットワークを介して、前記デジタルコンテンツ・エピソード(i)にアクセスするステップ、を更に含む方法。
【0026】
前記方法は、ステップ(A)から(D)を繰り返すことにより、前記デジタルコンテンツ・シリーズから次のデジタルコンテンツ・エピソードを要求するステップ、を更に含んで良い。
【0027】
前記方法は、前記第1ユーザが、通信ネットワークを介して、前記第1ユーザから前記共通アドレスへの前記暗号通貨保証金額(B1)の第1トランザクションをピアツーピア分散台帳に記録するために、第1データアウトプット(O1)を送信するステップにより、前記共通アドレスに前記暗号通貨保証金額(B1)を手付け金として支払うことを更に含んで良い。
【0028】
前記方法の別の例では、指定時間の後に、前記共通アドレスからの前記暗号通貨保証金額(B1)のトランザクションを伴わず、前記暗号通貨保証金額(B1)が返金され、前記方法は、前記第1ユーザの前記第1秘密鍵(V1)により、前記共通アドレスから前記第1ユーザへ前記暗号通貨保証金額(B1)を転送する第2トランザクションに共同署名するステップであって、前記第2ユーザにより前記第2秘密鍵(V2)で共同署名された共同署名第2トランザクションは、前記ピアツーピア分散台帳へ送信され、前記指定時間の後に、前記暗号通貨保証金額(B1)を返金するために有効にされる、ステップ、を更に含む。
【0029】
前記方法は、前記通信ネットワークを介して、前記デジタルコンテンツ・シリーズから、前記第1ユーザにより要求されるために利用可能な、前記デジタルコンテンツ・エピソードに関連付けられたエピソードシークレット(Si)を受信するステップと、前記エピソードシークレット(Si)からエピソードシークレットハッシュ(Hi)を決定するステップを更に含んで良い。前記支払トランザクション(Ei)の中の前記第2ユーザへの前記暗号通貨支払額(B2)は、前記エピソードシークレットハッシュ(Hi)と、前記第2ユーザの前記第2秘密鍵(V2)との暗号対である第2公開鍵(P2)と、に基づく支払Redeemスクリプト(SR1)を含む。
【0030】
前記方法において、ステップ(D)において又はその後に、前記方法は、前記通信ネットワークを介して、前記デジタルコンテンツ・シリーズからの前記次のデジタルコンテンツ・エピソード(Si+1)に関連付けられた次のエピソードシークレット(Si+1)を受信するステップ、を更に含んで良い。前記デジタルコンテンツ・シリーズからの前記次のエピソードを要求するステップは、前記次のデジタルコンテンツ・エピソード(Si+1)から次のエピソードシークレットハッシュ(Hi+1)を決定するステップを含み、対応する次の支払トランザクション(Ei+1)は、前記次のエピソードシークレットハッシュ(Hi+1)及び前記第2公開鍵(P2)に基づく次の支払Redeemスクリプト(RS2)を含む。
【0031】
前記方法において、前記支払トランザクション(Ei)は、前記共通アドレスから前記第1ユーザへの、暗号通貨おつり額(B3)の転送を更に含んで良く、前記暗号通貨おつり額(B3)は、前記暗号通貨支払額(B2)だけ少ない前記暗号通貨保証金額(B1)に基づく。
【0032】
前記方法は、前記第1ノードと前記第2ノードとの間の共通シークレットを決定するステップ、を更に含んで良く、前記通信ネットワークを介して、前記デジタルコンテンツ・エピソードにアクセスするステップは、前記通信ネットワークを介して、暗号化デジタルコンテンツ・エピソードを受信するステップと、前記共通シークレットに基づく鍵により前記暗号化デジタルコンテンツ・エピソードを復号化して、前記デジタルコンテンツ・エピソードを提供するステップと、を含む。
【0033】
前記エピソードシークレット(Si)、及び/又は前記次のエピソードシークレット(Si+1)を受信すると、前記方法は、前記共通シークレットに基づく鍵で暗号化メッセージを復号化することにより、前記エピソードシークレット(Si)、及び/又は前記次のエピソードシークレット(Si+1)を決定するステップを更に含んで良い。
【0034】
デジタルコンテンツの配信を制御する、コンピュータにより実施される方法であって、第1ユーザに関連付けられた第1ノードは第2ノードに関連付けられた第2ユーザへの支払と引き換えにデジタルコンテンツを受信し、前記第1ユーザは共通アドレスにある暗号通貨保証金額(B1)に関連付けられ、前記共通アドレスからの使用は前記第1ユーザの第1秘密鍵(V1)及び前記第2ユーザの第2秘密鍵(V2)の両方の署名を必要とし、前記方法は、
(I)前記通信ネットワークを介して、前記第1ノードから、デジタルコンテンツ・シリーズからデジタルコンテンツ・エピソード(i)を提供する要求を受信するステップと、
(II)前記共通アドレスから前記第2ユーザへ暗号通貨支払額(B2)を転送する、前記第1秘密鍵(V1)で署名された支払トランザクション(Ei)を受信するステップであって、前記暗号通貨支払額(B2)は、前記第1ユーザにより要求された前記デジタルコンテンツ・シリーズの中のデジタルコンテンツ・エピソードの数に基づく、ステップと、
(III)前記支払トランザクションを検証するステップであって、前記支払トランザクションが前記第2ユーザへの前記暗号通貨支払額(B2)を含むことを検証することを含む、ステップと、を含み、検証の結果に基づき、前記方法は、
(IV)前記通信ネットワークを介して、前記デジタルコンテンツ・エピソードへのアクセスを前記第1ノードに提供するステップと、
(V)前記第2ユーザの前記第2秘密鍵(V2)で、前記支払トランザクションに共同署名し、前記共同署名された支払トランザクションを前記ピアツーピア分散台帳へ送信するステップと、を更に含む方法。
【0035】
前記方法は、ステップ(I)から(IV)を繰り返すことにより、前記デジタルコンテンツ・エピソードから次のデジタルコンテンツ・エピソードを配信するステップであって、ステップ(V)は、前記次のエピソードを含むデジタルコンテンツ・エピソードの数を有する支払トランザクションに対して実行される、ステップ、を更に含んで良い。
【0036】
前記方法の一例において、指定時間の後、前記共通アドレスからの前記暗号通貨保証金額のトランザクションを伴わず、前記暗号通貨保証金額(B1)が前記第1ユーザに返金されて良い。したがって、前記方法は、前記第2ユーザの前記第2秘密鍵(V1)により、前記共通アドレスから前記第1ユーザへ前記暗号通貨保証金額(B1)を転送する第2トランザクションに共同署名するステップを更に含んで良く、前記第1ユーザにより前記第1秘密鍵(V1)で共同署名された、前記共同署名された第2トランザクションは、前記ピアツーピア分散台帳へ送信され、前記指定時間の後に、前記暗号通貨保証金額(B1)を返金するために有効にされる。さらに、前記共同署名支払トランザクションを前記ピアツーピア分散台帳へ送信するステップは、前記指定時間の前に実行される。
【0037】
前記方法は、前記通信ネットワークを介して、前記デジタルコンテンツ・シリーズから、前記第1ユーザにより要求されるために利用可能な、前記デジタルコンテンツ・エピソードに関連付けられたエピソードシークレット(Si)を送信するステップと、前記エピソードシークレット(Si)からエピソードシークレットハッシュ(Hi)を決定するステップを更に含んで良い。前記支払トランザクション(Ei)を検証するステップは、前記第2ユーザへの前記暗号通貨支払額(B2)を転送する対応する支払Redeemスクリプト(RS1)が、前記エピソードシークレットハッシュ(Hi)と、前記第2ユーザの前記第2秘密鍵(V2)との暗号対である第2公開鍵(P2)と、に基づくことを検証するステップを含む。
【0038】
前記方法は、デジタルコンテンツ・シリーズからの次のデジタルコンテンツ・エピソード(Si+1)に関連付けられた次のエピソードシークレット(Si+1)を決定するステップと、前記次のエピソードシークレット(Si)から次のエピソードシークレットハッシュ(Hi+1)を決定するステップと、を更に含んで良い。ステップ(IV)において又はその後に、前記方法は、前記通信ネットワークを介して、次のエピソードシークレット(Si+1)を前記第1ノードへ送信するステップを更に含んで良い。前記次のエピソードについて次の支払トランザクションを検証するとき、前記方法は、前記第2ユーザへの前記次の暗号通貨支払額を転送する次の支払Redeemスクリプト(RS2)が、前記次のエピソードシークレットハッシュ(Hi+1)及び前記第2公開鍵(P2)に基づくことを検証するステップを更に含む。
【0039】
前記方法において、前記支払トランザクション(Ei)は、前記共通アドレスから前記第1ユーザへの、前記第1ユーザへの暗号通貨おつり額(B3)の転送を更に有して良く、前記暗号通貨おつり額(B3)は、前記暗号通貨支払額(B2)だけ少ない前記暗号通貨保証金額(B1)に基づく。
【0040】
前記方法は、前記第1ノード及び前記第2ノードの間の共通シークレットを決定するステップを更に含んで良い。前記通信ネットワークを介して、前記デジタルコンテンツ・エピソードへのアクセスを提供するステップは、前記共通シークレットに基づく鍵で、前記デジタルコンテンツ・エピソードを暗号化するステップと、前記通信ネットワークを介して、前記暗号化デジタルコンテンツ・エピソードを送信するステップと、を含んで良い。
【0041】
前記方法において、前記エピソードシークレット(Si)、及び/又は前記次のエピソードシークレット(Si+1)を送信するステップは、前記エピソードシークレット(Si)、及び/又は前記次のエピソードシークレット(Si+1)に基づき、前記共通シークレットに基づく鍵で暗号化された暗号化メッセージを決定するステップを更に含んで良い。
【0042】
上述の本発明の任意の実施形態は、第1及び第2ノードに共通なシークレットを決定する方法、及び/又は該方法を実行するよう構成されたシステムを含み得る。前記方法は、
少なくとも第1ノードマスタ秘密鍵及び生成器値に基づき、第1ノード第2秘密鍵を決定するステップと、
少なくとも第2ノードマスタ秘密鍵及び前記生成器値に基づき、第2ノード第2秘密鍵を決定するステップと、
を含んで良く(又は前記システムは、上記のステップを実行するよう動作して良く)、
前記第1ノードにおいて前記共通シークレット(CS)を決定するステップは、前記第1ノード第2秘密鍵及び前記第2ノード第2公開鍵に基づいて良く、前記第2ノードにおいて前記共通シークレット(CS)を決定するステップは、前記第2ノード第2秘密鍵及び前記第1ノード第2公開鍵に基づいて良く、
前記第1ノード第2公開鍵及び前記第2ノード第2公開鍵は、それぞれ、少なくとも前記第1/第2ノードマスタ鍵及び前記生成器値に基づいて良い。
前記生成器値は、メッセージであり、又はメッセージから導出されて良い。生成器値は、ブロックチェーントランザクション(Tx)に格納されたメタデータから導出されて良い。
【0043】
処理装置を有する装置であって、上述の方法のうちのいずれか1つを実行する装置。
【0044】
コンピュータプログラムであって、処理装置に上述の方法のうちのいずれか1つを実施させる機械可読命令を含むコンピュータプログラム。
【0045】
本発明の一実施形態又は態様に関して説明された任意の機能は、本発明の1又は複数の他の実施形態/態様に適用されても良い。本発明のシステムに関連して記載された任意の特徴は、本発明の方法に適用されて良く、逆も同様である。
【図面の簡単な説明】
【0046】
本開示の例は、以下の図面を参照して記載される。
【0047】
【
図1】デジタルコンテンツを配信する例示的なシステムの概略図である。
【0048】
【
図2】第1ユーザ、第2ユーザ、及び共通アドレスの間のトランザクションを示す図である。
【0049】
【
図3】デジタルコンテンツを配信する及び受信するコンピュータにより実施される方法のフローチャートである。
【0050】
【
図4】返金トランザクションを初期化し及び生成するコンピュータにより実施される方法のフローチャートである。
【0051】
【
図5】一例によるデジタルコンテンツを配信する及び受信するコンピュータにより実施される方法の詳細なフローチャートである。
【0052】
【発明を実施するための形態】
【0053】
<概要>
あるノードからのデジタルコンテンツの配信及び送信、及びデジタルコンテンツの別のノードからの受信を制御するシステム、装置、及び方法が、以下に記載される。
図1は、通信ネットワーク8を介して、第2ユーザ7に関連付けられた第2ノード17と通信する、第1ユーザ5に関連付けられた第1ノード15を含むシステム1を示す。本例では、第1ユーザ5は、第1ノード15においてデジタルコンテンツを受信することを要求でき、第2ユーザは、第2ノード17を介して、デジタルコンテンツへのアクセスを提供する。第2ノード17は、第1データストア18から第1ノード15へデジタルコンテンツを送信するステップ、及びコンテンツサーバ3に関連付けられた第2データストア11にあるデジタルコンテンツを通信ネットワーク8を介して第1ノード15に利用可能にするステップ、を含む多数の方法でデジタルコンテンツへのアクセスを提供し得る。
【0054】
第1ノード15及び/又は第2ノード17は、通信ネットワーク8を介して、ピアツーピア分散台帳(ブロックチェーン)9と通信する。ブロックチェーン9は、トランザクションを受信し及び記録するために、1又は複数の処理装置19に関連付けられて良い。ピアツーピア分散台帳の一例は、ビットコインプロトコルに基づくトランザクション(Txs)の分散台帳であるブロックチェーンを含む。したがって、台帳に関連付けられた処理装置19は、「マイナー」により使用され又はそれに関連付けられた処理装置であって良い。
【0055】
図2を参照すると、第1ユーザ5は、第2ユーザ7から、デジタルコンテンツ・シリーズからの未知数のデジタルコンテンツを購入したいと望み得る。第1ユーザ5にデジタルコンテンツを利用可能にする前に、第2ユーザ7は、第2ユーザ7がデジタルコンテンツに対して支払われることの信用を提供するために、保証金(デポジット)を要求する。
【0056】
保証金を提供するために、第1ユーザ5は、第1トランザクション21を実行して、共通アドレス23へ暗号通貨保証金額(B1)を転送して良い。共通アドレス23は、ビットコインプロトコルに従うP2SH(pay-to-script-hash)であって良く、共通アドレス23からの使用は、第1ユーザ5の第1秘密鍵(V1)及び第2ユーザ7の第2秘密鍵(V2)の両方の署名を必要とする。つまり、共通アドレス23からのトランザクションは、第1ユーザ5及び第2ユーザ7の両者により署名されなければならない。これにより、両者は、保証金が両者からの承認無しに使用されないという信用を有することができる。代替のマルチシグネチャ方法が共通アドレス23からのトランザクションを認可するために使用されて良いことが理解される。
【0057】
幾つかの例では、保証金は、時間制限されて良い。それにより、第1ユーザ5が指定時間内にデジタルコンテンツ・エピソードを受信することを要求しない場合(及び/又は他の条件で)、保証金は第1ユーザ5に返金される。この一例は、暗号通貨保証金額(B1)を第1ユーザ5に返金する第2トランザクション25として、
図2に示される。幾つかの例では、これは、第1ユーザ5及び第2ユーザ7の両者に、共通アドレス23から第1ユーザ5への第2トランザクションに共同署名させることにより達成できる。ここで、第2トランザクションは指定時間の後にのみ有効にされる。例えば、指定時間は、Unix時間で表現される将来のd日間であって良い。この第2トランザクションは、次にブロードキャストされる。ここで、第2トランザクションは、指定時間後に有効トランザクションになる。
【0058】
したがって、共通アドレスからの暗号通貨保証金額を使用する競合トランザクションが指定時間前にブロードキャストされた場合、該競合トランザクションは有効トランザクションになる。指定時間の後に有効競合トランザクションをブロードキャストすることが、第2ユーザ7の関心事である。この後、暗号通貨保証金額(B1)が第1ユーザ(5)に返金される。本例では、これらの競合トランザクションは、第2ユーザ7が支払を受けるトランザクションを表すので、支払トランザクション27、27’、27’’と称される。
【0059】
支払トランザクション27の生成を含む、デジタルコンテンツをどのように配信するかの簡単な例は、
図3を参照して以下に記載される。
図3は、第1ノード15及び第2ノード17により実行されるそれぞれの方法100、200を示す。
【0060】
第1ユーザ5は、デジタルコンテンツ・シリーズからのデジタルコンテンツ・エピソードを受信したいと望むと、第1ノード15を用いて、デジタルコンテンツについて要求を生成する。第1ノード15(コンピュータ、モバイル通信装置、テレビジョン、等であって良い)は、通信ネットワーク8を介して、デジタルコンテンツ・エピソードを提供するための要求を第2ノード15へ送信する(110)第1処理装置23を含む。
【0061】
第1ノード15は、さらに、共通アドレス23から第2ユーザ7へ暗号通貨支払額(B2)を転送する支払トランザクション(Ei)27を決定する120。支払額(B2)は、第1ユーザ5により要求されたデジタルコンテンツ・シリーズの中のデジタルコンテンツ・エピソードの数に基づく。これは、以前に要求された(及び受信された)が第2ユーザ7により支払の受信されていないエピソードを含んで良い。簡略された例では、第2支払額(B2)は、要求されたエピソード数(i)を各エピソードの価格(p)で乗算したものであって良い。
【0062】
第1ノード15は、次に、第1秘密鍵(V1)で、支払トランザクション(Ei)27に署名する130。支払トランザクション(Ei)27は、次に、第2ノード17へ送信される。支払トランザクション(Ei)は第1秘密鍵(V1)により署名されるだけであり、第2ノード17が第2秘密鍵(V2)で署名することを必要とするので、これは未だ有効なトランザクションではない。
【0063】
第2ユーザ7に関連付けられた第2ノード17を検討すると、第2ノードは、メインフレームコンピュータ、デスクトップコンピュータ、等を含んで良い第2処理装置23’を有する。第2ノード17の第2処理装置は、通信ネットワーク8を介して、第1ノード15から、デジタルコンテンツ・エピソード及び第1秘密鍵(V1)で署名された支払トランザクション(Ei)を提供するための要求を受信する210。
【0064】
第2ノード17がデジタルコンテンツ・エピソードを第1ノード15及び第1ユーザ5に利用可能にする前に、第2ノード17は、第2ユーザ17が支払を受信できることを決定する必要がある。したがって、第2ノード17は、次に、支払トランザクション(Ei)27を検証する220。これは、支払トランザクション(Ei)27が第2ユーザ7への暗号通貨支払額(B2)を含むことを検証することを含む。実際の例では、これは、正確な額の暗号通貨及び正確な宛先を決定することを含んで良い。
【0065】
支払トランザクション(Ei)(つまり、特に、第2ユーザ7が支払われること)の検証に基づき、第2ノード17は、次に、通信ネットワーク8を介して、第1ノード15に利用可能にされるデジタルコンテンツ・エピソードへのアクセスを提供する230。また、これは、第1ノードがデジタルコンテンツ・エピソードにアクセスすることを許可する140。
【0066】
支払トランザクション(Ei)27を実行するために、第2ノード17は、次に、第2ユーザ5の第2秘密鍵(V2)で支払トランザクション(Ei)27に共同署名し240、共同署名した支払トランザクションをブロックチェーン9へ送信する。したがって、暗号通貨支払額(B2)は、暗号通貨保証金額(B1)を有した共通アドレス23から転送される。
【0067】
幾つかの例では、第1ユーザ5は、更なるエピソードを要求し受信する機会を有して良い。したがって、第2ユーザ17は、(第1ユーザ5に提供された更なるエピソードから)より多くの支払を受信する機会を有して良く、したがって、第2トランザクション25の保証金を返金する指定時間の近くの時間まで、共同署名し、共同署名支払トランザクションをブロックチェーン9へ送信するステップ240を遅らせて良い。次のエピソードを配信する一例が以下に記載される。
【0068】
第1ノード15は、次のエピソードについて、上述のステップ110、120、及び130を繰り返すことにより、デジタルコンテンツ・シリーズからの次のデジタルコンテンツ・エピソードについての要求を生成する。重要なことに、暗号通貨支払額は、次のエピソード(及び支払が行われていない、シリーズの中の前のエピソード)を考慮して調整される。第2ノード17は、同様に、要求を受信し、上述のステップ210~230を繰り返すことにより次のデジタルコンテンツ・エピソードを配信する。
【0069】
したがって、第2ノード17は、2つの支払トランザクションを有する:第1支払トランザクション(Ei)27は、デジタルコンテンツ・エピソード次第の暗号通貨支払額を含み、第2支払トランザクション(Ei+1)27’は、次のデジタルコンテンツ・エピソード次第の及びそれを含む暗号通貨支払額を含む。第2ユーザ7は最大支払額を受信することに関心があるので、第2ノード17は、次のエピソードの支払を含む支払を含む共同署名支払トランザクション27’、つまり第2支払トランザクション(Ei+1)27’に署名し送信するだけで良い240。したがって、第1支払トランザクション(Ei)27は、第2ノード17により廃棄されて良い。
【0070】
本開示は、信頼レベルがより低いデジタルコンテンツを通信し、送信し、及び/又は配信するシステムを提供し得る。例えば、第1ユーザ5及び/又は第2ユーザ7の詐欺行為への露出度が最小化できる。一例では、第2ユーザ7が彼らの義務を果たすことができない場合、第1ユーザへの露出(例えば、潜在的な損失)は、(残りの額は返金されるので)1個のデジタルコンテンツ・エピソードの価格になり得る。
【0071】
本開示は、シングルポイント障害及び攻撃に対する脆弱性を有し得る認証局のような他の第三者及び階層構造に依存しないシステムも提供できる。暗号技術の使用は、本発明により提供される送信/制御構成のセキュリティを向上する。
【0072】
詳細な例は、説明を目的として以下に記載される。
【0073】
<初期化-暗号プロトコル>
第1ノード5及び第2ノード7は、通信ネットワーク8を介して互いにセキュアな通信101、201を確立する。これは、共有対称暗号鍵(S)による暗号通信を含み得る。幾つかの例では、対称暗号鍵は、共有される共通シークレットに基づく。この共通シークレットを決定する技術は、次の通りであって良い:
少なくとも第1ノードマスタ秘密鍵及び生成器値に基づき、第1ノード第2秘密鍵を決定するステップと、
少なくとも第2ノードマスタ秘密鍵及び生成器値に基づき、第2ノード第2秘密鍵を決定するステップと、を含み、
第1ノードにおいて共通シークレット(CS)を決定するステップは、第1ノード第2秘密鍵及び第2ノード第2公開鍵に基づき、第2ノードにおいて共通シークレット(CS)を決定するステップは、第2ノード第2秘密鍵及び第1ノード第2公開鍵に基づく。第1ノード第2公開鍵及び第2ノード第2公開鍵は、それぞれ、第1/第2ノードマスタキー及び生成器値に基づく。
【0074】
共有される共通シークレットに基づき鍵を導出する方法は、本願明細書で後に詳述される。
【0075】
<共通アドレスへの暗号通貨保証金>
共通アドレスへの第1トランザクション21内の保証金を生成するために、第1ノードは共通アドレスを決定する必要がある。P2SH(pay to script hash)システムでは、これは、公開鍵(署名に使用される秘密鍵に対応する)に基づいて良い。一例では、これは、第1ノード5に既知であるべき第1ユーザ5の第1秘密鍵(V1)に対応する第1公開鍵(P1)を決定するステップを含む。これは、第2ノード17、第三者、又はデータストアから第2公開鍵(P2)を受信することにより決定され得る第2ユーザ5の第2公開鍵(P2)を決定するステップも含む。第2公開鍵(P2)は、必ずしもセキュアな方法で送信される必要はないが、幾つかの例では、第2公開鍵(P2)は共有対称暗号鍵(S)で暗号化されて良い。
【0076】
暗号鍵保証金額(B1)は、第1及び第2ユーザ5、7により相互に合意された額であって良い。しかしながら、暗号鍵保証金額(B1)は、デジタルコンテンツ・シリーズの中のデジタルコンテンツ・エピソードの受信可能な最大数の価格と等価であることが望ましい。これは、第1ユーザ5が全てのエピソードを受信して見ることを決定した場合に、保証金が全部のエピソードに対して支払うのに十分であることを保証する。したがって、シリーズは、エピソード数nを有し、エピソード当たりの価格はpである場合、暗号通貨保証金額(B1)はn×pである。
【0077】
暗号通貨保証金額(B1)を転送する第1トランザクション(A1)21の一例は、以下の表1及び2に示される。
【0078】
【0079】
[表2]トランザクション(A
1)のRedeemスクリプト
【表2】
【0080】
本例では、第1トランザクション(A1)21は、第1ユーザ(「アリス」)5の前のブロックチェーントランザクションからのインプット(第1ユーザの署名を必要とする)、共通アドレス(23)へのアウトプット、を有する。本例では、アウトプットは、第1ユーザの公開鍵(P1、「アリスの公開鍵」)及び第2ユーザの公開鍵(P2、「ボブの公開鍵」)を含むRedeemスクリプトに基づくハッシュである。つまり、第1ブロックチェーントランザクション(A1)21のアウトプットを償還すること(redeeming)は、第1秘密鍵(V1)による第1ユーザ5の及び第2秘密鍵(V2)による第2ユーザ7の両者の署名を必要とする。
【0081】
上述の第1トランザクション(A
1)21を記録するステップは、
図4に示されるような、第1ユーザ5により実行される方法100に示される。ここで、第1ノードは、第1ノード15は、ブロックチェーン9上に第1ユーザ5から共通アドレス(23)への暗号通貨保証金額の第1トランザクションを記録するために、通信ネットワーク8を介して、第1データアウトプット(O1)を送信する。
【0082】
<返金トランザクションの生成>
暗号通貨保証金額(B1)が指定時間の終了後に返金されるように、第2ブロックチェーントランザクション25が次に生成される。
【0083】
これは、第1ノード15が第2トランザクション25を生成するステップであって、将来の指定時間の後にのみ、暗号通貨保証金額(B1)を第1ユーザ5へ(back to)返す(spending)ステップを含む、ステップを含んで良い。指定時間は、Unix時間で表現される将来のd日間のロック時間を、第2トランザクションに設定するステップを含んで良い。
【0084】
暗号通貨保証金額(B1)を返金する第2トランザクション(A2)25の一例は、以下の表3に示される。
【0085】
【0086】
本例では、第2トランザクション(A2)25は、第1トランザクション(A1)21からのインプットを有する。共通アドレス(23)23からのインプットをアンロックすることは、第1秘密鍵(V1)による第1ユーザの署名及び第2秘密鍵(V2)による第2ユーザの署名の両方を必要とする。本例では、アウトプットは、第1ユーザ5に暗号通貨保証金額(本例ではnp)を返金する。したがって、アウトプットは、第1ユーザの公開鍵(P1、「アリスの公開鍵」)のハッシュのみに基づく。つまり、第1ブロックチェーントランザクション(A1)21のアウトプットを償還すること(redeeming)は、第1ユーザ5が彼ら自身の返金暗号通貨を自由に使用できるべきなので、第1秘密鍵(V1)による第1ユーザ5の署名のみを必要とする。
【0087】
重要なことに、第2トランザクション(A2)25は、指定時間の後にのみ有効である。指定時間は、本例では、トランザクションが指定時間の後にのみ有効になるロック時間機能により達成される。例えば、d日間(Unix時間で表現される)である。
【0088】
第2トランザクション(A
2)25を記録するステップは、
図4に、第1ノード15により実行されるステップ105、107、及び第2ノード17により実行されるステップ203、205、207として示される。第1ノード15は、第1ユーザ5の第1秘密鍵(V
1)で、第2トランザクションに共同署名する105。この第2トランザクション(A
2)25は、次に、第2秘密鍵(V
2)で署名されるために、通信ネットワーク8を介して第2ノード17へ送信される107。また第2ノード17は、第2トランザクション(A
2)25を受信する203。さらに、第2ノード17は、第2ユーザ7の第2秘密鍵(V
2)で第2トランザクション(A
2)25に共同署名する205。両方の秘密鍵により署名された第2トランザクション(A
2)25は、次に、通信ネットワーク8を介してブロックチェーン9へ送信され207、ブロックチェーン9において、(支払トランザクション27のような)他の有効トランザクションが指定時間の前に送信されない場合に、暗号通貨保証金額(B1)を返金するために、該指定時間の後に有効にされる。
【0089】
理解されるべきことに、これらのステップは他の順序で実行されて良い。例えば、第2ノード17は、第2トランザクションに先ず署名し、次に署名するために第1ノードへ送信して良い。いずれかのノードが(署名する前に)第2トランザクションを生成でき、いずれかのノードが共同署名したトランザクションをブロックチェーン9へ送信できることが理解される。他の例では、第1及び第2ノード15、17は、トランザクションを他の中間ノードへ送信して良く、該中間ノードがトランザクションを他のノード及び/又はブロックチェーン9へ送信する。
【0090】
<デジタルコンテンツを再要求し、支払トランザクションを決定する>
デジタルコンテンツを再要求し、及び支払トランザクションを生成する方法は、
図5を参照して以下に記載される。
【0091】
第2ノード17は、各デジタルコンテンツ・エピソード(i)について、対応するエピソードシークレット(Si)を決定する。エピソードシークレット(Si)は、シークレットを知っている者、特に第1ユーザ5及び第2ユーザ7について、エピソード(i)を識別するために使用できる。これは、情報がブロックチェーン9へ送信される場合にプライバシを維持するために有用である得る。
【0092】
第2ノード17は、第1ノード17へ、デジタルコンテンツ・シリーズの中の第1デジタルコンテンツ・エピソードのエピソードシークレット(Si)を送信する208。本例では、第1ユーザ5及び第1ノード15に利用可能な以下のエピソードのエピソードシークレットのみが、送信される。後続のエピソードシークレットは、第1ノード15が第1エピソードにアクセスするまで、公表されない。これは、エピソードが順次アクセスされることを保証する。
【0093】
エピソードシークレット(Si)を送信するとき208、第2ノード117は、エピソードシークレット(Si)の秘密性を維持するために、共有対称暗号鍵(S)でエピソードシークレット(Si)を暗号化することにより、暗号化メッセージを生成し送信して良い。第1ノード15は、次に、第2ノード17から、エピソードシークレット(Si)を含む暗号化メッセージを受信する108。第1ノード15は、次に、共有対称暗号鍵(S)により暗号化メッセージを復号化して、エピソードシークレット(Si)を得る。
【0094】
第1ノード15は、第1ユーザ5が第1デジタルコンテンツ・エピソードにアクセスするまで、データストアにエピソードシークレット(Si)を格納して良い。指定時間が終了していないとすると(つまり、d日の前である)、方法100は、第1ノード15において、通信ネットワーク8を介して、第1デジタルコンテンツ・エピソードを提供するよう、第2ノード17へ要求を送信するステップ110を含む。この要求は、後述する第1ノードにおいて決定された120、第1エピソードについての支払トランザクション27を伴う。
【0095】
<支払トランザクションを決定する>
支払トランザクション(Ei)27は、有効な場合、共通アドレス(23)(特に、それからの暗号通貨保証金額(B1))から使用され、したがって、第1ユーザ5及び第2ユーザ7の両者の署名を必要とする。したがって、支払トランザクション(Ei)27を決定した後に、第1ノード15は、支払トランザクション(Ei)27に署名して、ブロックチェーン9へ送信する前に共同署名するために第2ノード17へ送信する必要がある。
【0096】
第1ノード15は、先ず、エピソードシークレット(Si)からエピソードシークレットハッシュ(Hi)を決定する121。これは、OP_HASG160のようなハッシュ関数を使用するステップを含んで良い(ここで、インプットは2回、SHA-256により及び次にRIPEMD-160により、ハッシュされる)。理解されるべきことに、他のハッシュ関数が適切であっても良い。
【0097】
支払トランザクション(Ei)27は、本例では、P2SHの形式である。したがって、支払トランザクション(Ei)27を決定するステップは、本例ではエピソードシークレットハッシュ(Hi)と第2ユーザ7の第2公開鍵(P2)とに基づく支払Redeemスクリプト(RS1)であるRedeemスクリプトを決定するステップを更に含む。Redeemスクリプトにエピソードシークレットハッシュ(Hi)を含むことは、この特定の支払トランザクションが(エピソードシークレットハッシュ(Hi)及びエピソードシークレット(Si)に関連付けられた)特定のエピソードのアクセスに関連することの証明として使用できる。第2に、第2ユーザ7の第2公開鍵(P2)は、対応する第2秘密鍵(V1)を有する第2ユーザ7だけが該支払を使用できることを保証する。
【0098】
支払トランザクション(Ei)27を決定するステップ120は、第2ノード7の暗号通貨支払額(B2)を決定するステップを更に含む。第1エピソードの場合には、この支払額は、第1エピソードの価格である。しかしながら、第1ユーザ5は、後続のエピソードについての更なる要求を生成するので、暗号通貨支払額(B2)は、要求されたエピソードに基づき変化する。簡単な例では、これは、エピソード数をエピソード当たりの価格により乗算したものであって良い。
【0099】
第2ユーザ7へのアウトプットに加えて、支払トランザクション(Ei)27は、第1ユーザ5に戻される別のアウトプットを含んで良い。この第1ユーザ5に戻されるアウトプットは、第1ユーザに戻される暗号通貨保証金額(B1)のおつりを表して良い。一例では、第1ユーザ5への暗号通貨おつり額(B3)は、暗号通貨支払額(B2)だけ少ない暗号通貨保証金額(B1)に基づいて良い。
【0100】
方法100は、次に、第1秘密鍵(V1)により、支払トランザクション(Ei)27に署名し、続いて、第2ノード17に支払トランザクションを検証させるために、支払トランザクション(Ei)27を第2ノード17へ送信するステップ130を含む。
【0101】
支払トランザクション(Ei)の一例は、表4及び5に示される。
【0102】
【0103】
[表5]アウトプット1 支払トランザクション(E
i)のRedeemスクリプト
【表5】
【0104】
このトランザクションへのインプットは、支払トランザクションが共通アドレス(23)から使用されているので、第1ユーザ5の第1秘密鍵(V1)の署名(「アリスの署名」)及び第2ユーザ7の第2秘密鍵(V2)の署名(「ボブの署名」)の両方の署名を必要とするアンロックスクリプトを含む。
【0105】
「アウトプット1」は、暗号通貨支払額(B2)の第2ユーザ7へのアウトプットを示す。このアウトプットは、表5に示す支払Redeemスクリプト(RS1)により償還され(redeem)得る。表5は、上述のようにエピソードシークレットハッシュ(Hi)及び第2ユーザ公開鍵(P2)(「ボブの公開鍵」)に基づく。
【0106】
「アウトプット2」は、第2ユーザ7に戻る暗号通貨おつり額(B3)であるアウトプットを示す。第1ユーザがこの暗号通貨おつり額(B3)を自由に使用できるべきなので、アウトプットスクリプトは、第1ユーザの公開鍵P1(アリスの公開鍵)に基づくことに留意する。
【0107】
<支払トランザクションを検証する>
第2ノード17は、通信ネットワーク8を介して、第1デジタルコンテンツ・エピソードを提供する要求を受信する210。相応して、第2ノード17は、さらに、第1ノード15から、第1秘密鍵(V1)で署名された支払トランザクション(Ei)を受信することが期待される。
【0108】
デジタルコンテンツ・エピソードを提供する要求に合意する前に、第2ノードは、第1ユーザ7が彼らが支払を受け取ることの信用を有することができるように、支払トランザクション(Ei)を検証する。
【0109】
第2ノード17は、エピソードシークレット(Si)からエピソードシークレットハッシュ(Hi)を決定する121。これは、第1ノード15と同じ方法で、ハッシュ関数を使用するステップを含んで良い。第2ノードは、次に、受信した支払トランザクション(Ei)が第2ノード7への暗号通貨支払額(B2)を含むことを検証する220。これは、値が要求されたエピソード数を価格で乗算したものに等しいことを検証することにより、(表4の「アウトプット1」の中のアウトプット値のような)アウトプット値が正しい値であることを検証することを含み得る。
【0110】
検証するステップ220は、支払Redeemスクリプト(RS1)がエピソードシークレットハッシュ(Hi)及び第2公開鍵(P2)に基づくことを検証するステップを更に含んで良い。これは、受信した支払トランザクション(Ei)の中の(Redeemスクリプトに基づく)アウトプットスクリプトを、エピソードシークレットハッシュ(Hi)及び第2公開鍵(P2)の既知の値(又はその派生物)の対応するハッシュと比較することにより達成できる。この比較が、アウトプットスクリプトは正しいエピソードシークレットハッシュ(Hi)及び第2公開鍵(P2)を有する期待Redeemスクリプトに一致することを示す場合、第2ノード17(及び第2ユーザ7)は、受信した支払トランザクション(Ei)のbona fideの信用を有することができる。
【0111】
第2ノード17は支払トランザクション(Ei)27に署名して、直ちにブロックチェーン9へ送信できるが、第2ユーザ7は、第1ユーザ5が更なるデジタルコンテンツ・エピソードについての更なる要求を生成し得るので、指定時間に近くなるまで、そのしようとしない。
【0112】
検証が成功した後に、第2ノード17は、次に、要求されたエピソードへのアクセス、及び第1ノードが更なるコンテンツ(次のエピソードである)を要求できるように次のエピソードシークレットを第1ノード15に提供する。
【0113】
<次のエピソードシークレットを決定する>
第2ノード17は、次に、シリーズの中にもうエピソードが無くなるまで、デジタルコンテンツ・シリーズの中の(エピソード(i)の後の提供されるべきエピソードである)次のエピソードi+1の次のエピソードシークレット(Si+1)を決定する221。これは、データストア18から次のエピソードシークレット(Si+1)を読み出すステップ、又は新しいシークレットを生成するステップを含んで良い。次のエピソードシークレット(Si+1)は、次のエピソードシークレットハッシュ(Hi+1)を決定するために使用される。次のエピソードシークレットハッシュ(Hi+1)は、第1ユーザ5が将来に次のエピソードについて要求を生成することを決定した場合に、次の支払トランザクションの中で使用される。
【0114】
次のエピソードシークレット(Si+1)は、第2ノードが現在要求されたデジタルコンテンツ・エピソードへのアクセスを提供するのと同時に、第1ノード15に提供されて良い。
【0115】
<デジタルコンテンツへのアクセスを提供する>
支払トランザクション(Ei)27が検証されると、第2ノード17は、第1ノード15にデジタルコンテンツ・エピソードへのアクセスを提供する230。これは、多数の方法で達成できる。一例では、第2ノード17はデジタルコンテンツ・エピソードを共有対称暗号鍵(S)で暗号化し、暗号化デジタルコンテンツ・エピソードを通信ネットワーク8を介して第1ノード15へ送信して良い。別の例では、第2ノードは、暗号化デジタルコンテンツ・エピソードを、コンテンツサーバ3に関連付けられたデータストア11において提供して良い。それにより、第1ノード15は、第1ノード15にとって適切な時間に、データストア11から暗号化エピソードを受信できる。更に別の例では、第2ノード15は、エピソードを復号化するために、エピソード固有暗号鍵を提供して良い。
【0116】
一例では、要求されたデジタルコンテンツ・エピソード(i)は、次のエピソードシークレット(Si+1)と連結されて良い。連結は、次に、共有対称暗号鍵により暗号化されて良く、第2ノード17は、次に、暗号化された連結へのアクセスを提供する。
【0117】
第2ノード17は、次に、通信ネットワーク8を介して、第1ノード15へ、要求されたデジタルコンテンツ・エピソード(i)がアクセスされるために利用可能であることを示す通知を送信して良い。
【0118】
一方、第1ノード15は、次に、(例えば、データストア11からダウンロードする又は第2ノード17から直接、等により)暗号化された連結にアクセスし、共有対称暗号鍵により復号化する140。これは、第1ノード15において、デジタルコンテンツ・エピソード(i)及び次のエピソードシークレット(Si+1)を提供する。重要なことに、これは、消費のために及び次のエピソード(つまり、次のエピソードシークレット(Si+1))を得る手段のために、第1ユーザにデジタルコンテンツ・エピソードを提供する。第1ノード15は、後の使用のために、次のエピソードシークレット(Si+1)を格納して良い141。
【0119】
理解されるべきことに、幾つかの代替では、次のエピソードシークレットは、他の時間に第2ノード17から第1ノード15へ送信されて良く223、デジタルコンテンツ・エピソードと連結されない。これは、通信ネットワークを介して別個の暗号化メッセージとして、次のエピソードシークレット(Si+1)を送信するステップを含んで良い。
【0120】
<次のエピソードを再要求する>
第1ユーザ5が次のエピソードi+1を見たいと望む場合、第1ノード15は、上述の、デジタルコンテンツ・エピソードについての要求を送信するステップ110、次の支払トランザクションを決定するステップ120、及び次の支払トランザクションに署名するステップ130を繰り返して良い。これは、次のエピソードシークレット(Si+1)及び対応する決定された次のエピソードシークレットハッシュ(Hi+1)により行うことができる。また、第2ノード15は、要求及び次の支払トランザクションを受信するステップ210、次の支払トランザクションを検証するステップ220、及び次のエピソードへのアクセスを提供するステップ230を繰り返す。
【0121】
これらは、全部のデジタルコンテンツ・エピソードが第1ノード15によりアクセスされるまで、又は指定時間d日間の終了に近い又は終了するとき、繰り返され得る。これらの状況では、第2ノード15は、次に、第2ユーザ7への支払を実施する後続のステップを実行する。
【0122】
<支払トランザクションに共同署名する>
デジタルコンテンツ・シリーズの中の全部のエピソードが第1ノード15によりアクセスされると、更なる支払トランザクション27’’が存在しないので、第2ユーザ7は、支払を受信するために、最後の支払トランザクション(Ei)27’’に共同署名しようとする。代替として、指定時間の終了期間が近付いている場合、第1ユーザ5が更なる要求を生成する可能性が低いので、第2ユーザ7は、最後の支払トランザクション(Ei)27’’に共同署名しようとする。更に重要なことに、支払トランザクション(Ei)は、共同署名され、第2トランザクション(返金トランザクション)が有効になる前に該支払トランザクション(Ei)が確実に記録されるために、指定時間の前にブロックチェーン9へ送信されなければならない。
【0123】
したがって、方法200は、第2ノード17が第2秘密鍵(V2)で最後の支払トランザクション(Ei)27’’に共同署名し、共同署名した支払トランザクションをブロックチェーン9へ送信するステップ240を含む。
【0124】
第2ユーザ7が暗号通貨支払額(B2)を使用したいと望むとき、第2ノード17は、第2ユーザ秘密鍵(V2)及び支払トランザクション(Ei)の中のエピソードシークレットハッシュ(Hi)に対応するエピソードシークレット(Si)で署名することにより表5に示されるRedeemスクリプトに署名することにより、トランザクションをアンロックする。これは、以下の表6のアンロックスクリプトに示される。表5に示すフォーマットのRedeemスクリプトは、第2ノード17により、第2ユーザ公開鍵(P2)及びエピソードシークレット(Si)に基づき決定され得ることに留意する。ここで、エピソードシークレット(Si)はエピソードシークレットハッシュ(Hi)を導出するために使用される。
【0125】
[表6]暗号通貨支払額を使用する第2ユーザ。
【表6】
【0126】
<変形>
本開示の広範な一般的範囲から逸脱せずに、多数の変形及び/又は変更が上述の実施形態に対して行われることが、当業者により理解される。本発明の実施形態は、したがって、あらゆる面で、単に説明であり限定的でないと考えられる。
【0127】
ある例示的変形では、各支払トランザクション(Ei)は、それ自体が、有効になる前のそれぞれの支払指定時間を有して良い。例えば、支払指定時間は、支払トランザクション(Ei)が第2トランザクションの前に有効トランザクションであるように、第2トランザクション(つまり、返金トランザクション)の指定時間(例えば、d日間)の前の時間(例えば、d-1日)であって良い。
【0128】
したがって、この変形では、第2ノード17は、支払トランザクションを検証すると、支払トランザクション(Tx)に直ちに共同署名し、ブロックチェーン9へ送信して良い。
【0129】
後続の支払トランザクションについて、これらの後続の支払トランザクションは、先行する支払トランザクションの指定時間(例えば、d-1日間)より早い、それぞれの指定時間(例えば、d-2日間)を有する。したがって、後続の支払トランザクションは、共同署名されブロックチェーン9へ送信されると、より早い支払トランザクション及び第2(返金)トランザクションより先行し、有効にされる。この変形の利点は、第2ノード17が第2(返金)トランザクションの指定時間に近い時間において障害を有する場合、支払トランザクションが既に共同署名されブロックチェーン9へ送信されているので、第2ユーザ7が依然として支払を受信することである。
【0130】
<共有共通シークレットに基づく共有対称鍵>
2つのノードの間の共通シークレットを生成する方法は、以下に説明される。共通シークレットは、暗号鍵の生成において使用され得る。
【0131】
<共通シークレットを決定する>
方法は、共通シークレットをノードのうちのいずれか1つへ及び/又はそれから送信させる必要がなく、2つのノードの間の共通シークレットの生成を可能にする。各ノードは、それぞれ(楕円曲線暗号対のような)非対称暗号対を有し、各対は、マスタ秘密鍵及びマスタ公開鍵を含む。例えば、第1ノードは、マスタ秘密鍵(V1P)及びマスタ公開鍵(P1P)を有して良く、第2ノードは、マスタ秘密鍵(V1E)及びマスタ公開鍵(P1E)を有して良い。各ノードのそれぞれ第2秘密鍵及び公開鍵は、マスタ秘密鍵、マスタ公開鍵、及び生成器値に基づき決定されて良い。生成器値(又は生成器値を導出するために使用されるメッセージ)は、ノードへ及び/又はそれから、通信される。
【0132】
共通シークレットは、第2秘密鍵及び公開鍵に基づき、ノードの各々において決定されて良い。第1ノード及び第2ノードの間の共通シークレットを決定する一例が以下に記載される。第1及び第2ノードの両者は、両ノードに共通な生成器値を決定する。生成器値は、メッセージにより受信されて良く、又はメッセージから導出されて良い。
【0133】
第1ノードにおいて、共通シークレット(CS)は、
(i)第1ノードマスタ秘密鍵(V1P)及び生成器値(GV)に基づく第1ノード第2秘密鍵(V2P)と、
(ii)第2ノードマスタ公開鍵(P1E)及び生成器値(GV)に基づく第2ノード第2公開鍵(P2E)と、に基づく。
【0134】
第2ノードにおいて、共通シークレット(CS)は、
(iii)第1ノードマスタ公開鍵(P1P)及び生成器値(GV)に基づく第1ノード第2公開鍵(P2P)と、
(iv)第2ノードマスタ秘密鍵(V1E)及び生成器値(GV)に基づく第2ノード第2秘密鍵(V2E)と、に基づく。
【0135】
したがって、共通シークレットは、次の通りである。
【0136】
共通シークレット(CS)=(V2P×P2E)=(P2P×V2E)
【0137】
<情報を安全に送信する>
共通シークレットは、セキュアな送信のために情報を暗号化するために使用できる。例えば、対称鍵は共通シークレットに基づいて良い。両方のノードが同じ共通シークレットを有するので、それらは、(例えば非セキュアなネットワークを介して)2つのノードの間で送信される情報を暗号化し及び復号化するために使用可能な同じ対称鍵を決定できる。
【0138】
<処理装置>
上述のように、第1ユーザ5及び第2ユーザ7は、それぞれ第1ノード15及び第2ノード17に関連付けられる。第1ノード15及び第2ノード17は、コンピュータ、タブレットコンピュータ、モバイル通信装置、コンピュータサーバ、コンピュータ端末、等のような電子装置であって良い。このような電子装置は、処理装置を含んで良い。したがって、第1ノードは第1処理装置23を有し、第2ノード17は第2処理装置23’’を有する。電子装置は、データストア11、18及びユーザインタフェースにも関連付けられて良い。ユーザインタフェースの例は、キーボード、マウス、モニタ、タッチスクリーンディスプレイ、等を含む。ブロックチェーン9は、複数の処理装置19にも関連付けられて良い。
【0139】
図6は、処理装置19、23の一例を示す。処理装置19、23は、バス1530を介して互いに通信する、プロセッサ1510、メモリ1520、及びインタフェース装置1540を含む。メモリ1520は、上述の方法100、200を実施するための命令及びデータを格納し、プロセッサ1510は、メモリ1520からの(コンピュータプログラムのような)該命令を実行して、方法100、200を実施する。インタフェース装置1540は、通信ネットワーク8、及び幾つかの例ではユーザインタフェース及びデータストア11、18のような周辺機器との通信を実現する通信モジュールを含んで良い。留意すべきことに、処理装置1510は独立名ネットワーク要素であって良いが、処理装置1510は別のネットワーク要素の部分であっても良い。さらに、処理装置19、23により実行される幾つかの機能は、複数のネットワーク要素の間で分散されて良い。例えば、第1ユーザ5は、(第1ユーザのモバイル通信装置、タブレット、デスクトップコンピュータ、ホームメディアプレイヤ、テレビジョン、等のような)複数の処理装置23に関連付けられて良く、方法100のステップは、実行され、これらの装置のうちの1つより多くに渡り分散されて良い。