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

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

▶ エヌチェーン ホールディングス リミテッドの特許一覧

特許7508521ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法
<>
  • 特許-ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法 図1
  • 特許-ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法 図2
  • 特許-ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法 図3
  • 特許-ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法 図4
  • 特許-ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法 図5
  • 特許-ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】ブロックチェーンネットワークを介してデータを通信し、格納し、及び処理するためのブロックチェーンベースのシステム及び方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240624BHJP
【FI】
H04L9/32 200Z
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2022162497
(22)【出願日】2022-10-07
(62)【分割の表示】P 2020514622の分割
【原出願日】2018-09-11
(65)【公開番号】P2023011611
(43)【公開日】2023-01-24
【審査請求日】2022-11-04
(31)【優先権主張番号】1714987.3
(32)【優先日】2017-09-18
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】バルトルッチ,シルビア
(72)【発明者】
【氏名】ベルナト,ポリーヌ
(72)【発明者】
【氏名】ジョセフ,ダニエル
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2016-200954(JP,A)
【文献】特表2016-528572(JP,A)
【文献】特表2019-516274(JP,A)
【文献】特表2019-523493(JP,A)
【文献】国際公開第2017/145018(WO,A1)
【文献】国際公開第2015/171580(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンを使用して安全なメッセージングを提供するためのコンピュータにより実装される方法であって、当該方法は、
第1のコンテンツを生成するステップと、
前記ブロックチェーンに第1のトランザクション(T)を送信するステップであって、前記第1のトランザクション(T)は、第1の数(x)のトークンをコミットして、エンティティと関連する第2のノードに転送し、前記第1のトランザクション(T)は、第1の出力を有する、ステップと、
前記第1のトランザクションの送信の後に、前記第1のコンテンツを含むメッセージを送信するステップと、
前記ブロックチェーンに第2のトランザクション(Tf1)を送信するステップであって、前記第2のトランザクション(Tf1)は、第1のノードと関連するアドレスへと、前記コミットされている第1の数(x)のトークンのうちの第2の数(d)を戻し、前記第2のトランザクション(Tf1)は、入力として前記第1のトランザクション(T)の前記第1の出力を有する、ステップと、を含み、
前記第1のコンテンツは、前記第1のトランザクション(T)の前記第1の出力をロック解除するのに使用される、
方法。
【請求項2】
前記第2のトランザクション(Tf1)のロック解除するためのスクリプトは、前記第1のコンテンツを含む、請求項1に記載の方法。
【請求項3】
前記第1のトランザクション(T)の前記第1の出力のロックするためのスクリプトは、許可されたコンテンツエントリのセットを含み、前記第1のコンテンツは、前記許可されたコンテンツエントリのうちの1つに対応する、請求項2に記載の方法。
【請求項4】
許可されたコンテンツエントリの前記セットは、1つ又は複数の許可されたコンテンツ値のハッシュを含む、請求項3に記載の方法。
【請求項5】
前記1つ又は複数の許可されたコンテンツ値の指標を受信するステップをさらに含み、
前記第1のコンテンツを生成するステップは、前記許可されたコンテンツ値のうちの1つを選択するステップを含む、請求項4に記載の方法。
【請求項6】
前記第2のトランザクション(Tf1)の前記ロック解除するためのスクリプトは、前記第1のノードと関連する公開鍵に対応する署名を含む、請求項2に記載の方法。
【請求項7】
前記1つ又は複数の許可されたコンテンツ値は、1つ又は複数の離散的な順位付けを含む、請求項4に記載の方法。
【請求項8】
前記第2のトランザクション(Tf1)のためのメタデータは、製品と関連する識別子を含む、請求項1に記載の方法。
【請求項9】
前記第1のトランザクション(T)は、前記第1の出力とは異なる第2の出力を有し、当該方法は、
入力として前記第1のトランザクション(T)の前記第2の出力を有するトランザクションが、第1の時点(nLockTime)までに前記ブロックチェーンに送信されているということを決定するステップと、
前記決定に応答して、前記ブロックチェーンに第3のトランザクション(Tf2)を送信するステップと、をさらに含み、前記第3のトランザクション(Tf2)は、前記第1のノードと関連するアドレスへと、前記コミットされている第1の数(x)のトークンのうちの第3の数(x-d)を転送する、請求項1に記載の方法。
【請求項10】
前記第3のトランザクション(Tf2)は、トランザクションパラメータ(nLockTime)を含み、前記トランザクションパラメータ(nLockTime)は、前記第3のトランザクション(Tf2)が前記ブロックチェーンへの送信のために適格となる時点を指定する、請求項9に記載の方法。
【請求項11】
前記トランザクションパラメータ(nLockTime)は、前記第1のトランザクション(T)が前記ブロックチェーンに送信される時点(T)の後の固定された時間長(s)である時点を指定する、請求項10に記載の方法。
【請求項12】
前記第3のトランザクション(Tf2)は、前記ブロックチェーンへの前記第1のトランザクション(T)の送信の前に、前記エンティティによって作成され、署名される、請求項9に記載の方法。
【請求項13】
前記第3の数(x-d)は、前記第1の数(x)と前記第2の数(d)との間のに等しい、請求項9に記載の方法。
【請求項14】
ブロックチェーンを使用して安全なメッセージングを提供するプロセスに参加するためのコンピューティングデバイスであって、当該コンピューティングデバイスは、請求項1乃至13のうちのいずれか1項に記載の方法を実行するように構成される、コンピューティングデバイス。
【請求項15】
ブロックチェーンを使用して安全なメッセージングを提供するプロセスに参加するためのプロセッサ実行可能な命令を格納している非一時的なプロセッサ読み取り可能な記憶媒体であって、前記プロセッサ実行可能な命令は、プロセッサによって実行されると、請求項1乃至13のうちのいずれか1項に記載の方法を前記プロセッサに実行させる、非一時的なプロセッサ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、安全な通信システムに関し、より具体的には、認可されたノード(authorized nodes)のみが、要求されたデータ/コンテンツを通信することを可能にする安全な方式で、ブロックチェーン台帳(blockchain ledger)を使用して、ネットワークのノードにデータ/コンテンツを通信するためのシステム及び方法に関する。そのデータ/コンテンツは、ディジタル形式で提供されそして格納されてもよく、さまざまなタイプのデータ又は情報をさまざまな形態で含んでもよい。
【背景技術】
【0002】
本明細書においては、すべての形態の電子的な台帳、コンピュータベースの台帳、分散型の台帳を含む"ブロックチェーン(blockchain)"という語を使用する。これらは、ブロックチェーン技術及びトランザクションチェーン技術、許可された台帳及び許可されていない台帳、共有されている台帳、及び、それらの変形を含むが、これらに限定されない。ブロックチェーン技術の最も広く知られている用途は、ビットコイン台帳(Bitcoin ledger)であるが、他のブロックチェーンの実装が、提案されそして開発されている。本明細書においては、利便性及び説明の目的のために、ビットコインを参照することが可能であるが、本発明は、ビットコインブロックチェーンと関連する使用には限定されず、複数の代替的なブロックチェーンの実装及びプロトコルは、本発明の範囲に属するということに留意すべきである。
【0003】
ブロックチェーンは、コンセンサスベースの電子的な台帳であり、そのコンセンサスベースの電子的な台帳は、コンピュータベースの非集中型の分散システムとして実装され、そのコンピュータベースの非集中型の分散システムは、複数のブロックから構成され、それらの複数のブロックは、同様にして、複数のトランザクションから構成される。各々のトランザクションは、ブロックチェーンシステムへの複数の参加者の間でのディジタル資産の制御の移転を符号化するデータ構造であり、少なくとも1つの入力及び少なくとも1つの出力を含む。各々のブロックは、前のブロックのハッシュを含み、それによって、複数のブロックは、一体となってチェーン化されて、開始以降にそのブロックチェーンに書き込まれているすべてのトランザクションの永続的且つ変更不可能な記録を構成する。複数のトランザクションは、それらのトランザクションの入力及び出力の中に埋め込まれているスクリプトとして知られている複数の小規模のプログラムを含み、それらの複数の小規模のプログラムは、どのようにして及びいずれの者が、それらのトランザクションの出力にアクセスすることが可能であるかを指定する。ビットコインプラットフォームにおいては、これらの複数のスクリプトは、スタックベースのスクリプト化言語を使用して記述される。
【0004】
ある1つのトランザクションがブロックチェーンに書き込まれるためには、そのトランザクションは、"検証されている(validated)"必要がある。ネットワークノード(採掘者(miners))は、各々のトランザクションが妥当であり、妥当でないトランザクションがネットワークから拒絶されるということを保証するための作業を実行する。それらの複数のノードにインストールされている複数のソフトウェアクライアントは、ロックするためのスクリプト及びロック解除するためのスクリプトを実行することによって、未使用のトランザクション(unspent transaction)(UTXO)に対して上記の検証作業を実行する。ロックするためのスクリプト及びロック解除するためのスクリプトを実行して、評価がTRUE(真)である場合には、そのトランザクションは、妥当であり、そして、そのトランザクションは、ブロックチェーンに書き込まれる。このようにして、ある1つのトランザクションがブロックチェーンに書き込まれるためには、(i) そのトランザクションを受信した最初のノードによって検証される必要があり、そのトランザクションが検証された場合には、その最初のノードは、そのネットワークの中の他のノードへとそのトランザクションを中継し、(ii) 採掘者が構築した新しいブロックに追加される必要があり、そして、(iii) 採掘される必要がある、すなわち、過去のトランザクションの公開的な台帳に追加される必要がある。いったん記録されると、いずれのブロックのデータも、後に続くすべてのブロックを変更することなく、且つ、ネットワークの大多数を共謀させることなく、遡及的に変更することは不可能である。
【0005】
トランザクションは、一方のノードから他方のノードへの1つ又は複数のトークンの移転に関与する。トークンは、ネットワークリソースの将来的な制御を表してもよい。場合によっては、それらのトークンは、資産又は価格を表してもよいが、必ずしもそうではない。例えば、場合によっては、それらのトークンは、暗号通貨として理解されてもよい。しかしながら、本出願は、暗号通貨と関連する実装には限定されず、制御トークンの分散型の移転のためのブロックチェーンネットワークに関連するものとして、より広く理解される。
【0006】
ブロックチェーンは、公開的な台帳としての機能し、その公開的な台帳は、検証可能な且つ永続的な方法で、複数の当事者の間のトランザクションを記録することが可能である。ブロックチェーンは、チェーン状に格納されている情報及び非集中型のコンセンサスによって確立されている信頼関係の取り消し不能性等の数多くの特性を有し、それらの特性により、それらのブロックチェーンは、さまざまな異なるタイプの用途での使用に適したものとなる。例えば、ブロックチェーンは、ディジタルコンテンツを記録し及び発行するためのプラットフォームとして実用的な用途を見出すことが可能である。
【0007】
ある1つの非限定的な例において、このことは、製品、サービス、及び/又はそれらのプロバイダのユーザレビュー等の顧客のフィードバックであってもよい。顧客のフィードバックは、例えば、レビュー又は数値的な順位付けの形態で、製品及びサービスに対する顧客の信頼に影響を与える一方で、また、製造業者、小売業者、及びサービスプロバイダの品質保証の取り組みにも情報を与えることが可能である。事業者は、その性質上、肯定的な顧客フィードバックの獲得に努めるように経済的に動機付けられ、このことは、さまざまな当事者がレビュー操作に携わる可能性を生じさせる。ブロックチェーンは、レビュー/フィードバックを検証する中央の当局に依存することなく、公開され分散されている台帳にレビュー/フィードバックを公開的に且つ永続的に記録することを可能にすることによって、(レビューの固定化及び削除等の)レビュー/フィードバック操作を抑止するための適切な環境を提供することが可能である。
【0008】
ブロックチェーンを使用してコンテンツを収集するためのプラットフォームを展開する可能性は魅力的であるが、一方で、コンテンツの多数の投稿の防止、コンテンツプロバイダによる投稿の奨励、及びユーザのプライバシーの保護等の取り扱うべき数多くの課題が残されている。例えば、製品及びサービスの顧客のレビュー等のコンテンツを収集するための現代のプラットフォームは、一般的に、(例えば、グラフィカルユーザインターフェイス等の)入力インターフェイスを使用して実装され、ユーザ(コンテンツプロバイダ)は、それらのコンテンツを投稿するために、それらの入力インターフェイスによって対話することが可能である。例えば、業者のウェブサイトで又はモバイルアプリケーションで、或は、例えば、業者等の複数の異なる収集組織のためのコンテンツ投稿を集約する共用のプラットフォームで、これらの入力インターフェイスを発見することが可能である。例としては、顧客レポートのウェブサイト、eBay等を挙げることが可能である。コンテンツを投稿するための入力インターフェイスは、(例えば、"Like"のボタン又は5つ星の順位付けの尺度を表すボタンのセット等の)数値的な順位付け又は記述的な順位付けに対応するGUI要素と同程度の単純なものであってもよく、或いは、入力インターフェイスは、入力テキストを受信するためのテキストボックスの形態でコンテンツプロバイダに表示されてもよい。一旦投稿されると、コンテンツの複数のアイテムは、例えば、業者が所有しているサーバ、又は、(例えば、Amazon等の)オンラインマーケットプレイスを運用するのに使用されるサーバ等のプラットフォームのための関連するコンピュータシステムによって処理される。レビューの場合に、投稿されたレビューは、公開的なアクセスのために公表される前に、レビューされる者又はレビュー収集プラットフォームの仲介者によって、"舞台裏で(behind-the-scenes)"処理されることがよくあるであろう。例えば、ある特定のコメントの投稿とそのコメントの公開との間に遅れが生じる場合がある。レビューのコンテンツに個人的な興味がある当事者によって制御されているコンピュータのネットワークに単に入力としてそのコンテンツを投稿するにすぎない処理のこの"ブラックボックス"のモデルは、表向きには解決が難しい場合がある。特に、そのようなモデルは、潜在的にコンテンツを改ざんし、又は、肯定的なレビュー等の特定のアイテムを選択的に公開する者に機会を与える場合があり、このことは、その者及び/又はその製品/サービスの歪曲された不正確な認知が確立されるということを引き起こす。
【0009】
レビューの投稿に関するシナリオにおいては、より多くのレビューがある特定の製品/サービスについて収集されるのに伴って、意見のより大きな多様性を表現することが可能となり、製品/サービスの品質及びユーザ体験等の概要に対する偏った印象又は特異な印象の影響を軽減することが可能である。製品/サービスを実際に購入しており及び/又は使用している者のみがメッセージ/データを送信することが可能であるということを保証することによって、製品/サービスについてより多くのレビューを収集することの利点を強化することが可能である。過去の購入者及びユーザが投稿したこれらのレビューのみを受け入れると、それらのレビューの内容により大きな信憑性を追加するとともに、サービスプロバイダと実際の顧客との間の有用なつながりを創出することが可能である。一方で、レビューの妥当性の検証(すなわち、レビューが認可された情報源からのものであるということを確認すること)は、ユーザがレビューを投稿することを完全に妨げる煩雑なプロセスを伴う場合がある。
【0010】
レビュー及びフィードバック投稿システムに存在する問題は、そのようなシステムには限定されない。実際に、同様の問題は、さまざまなタイプのシステムに存在する。上記の問題は、一般的に、メッセージングシステムに当てはまる場合あり、したがって、認可されていない送信者が参加する能力を制限する又は制約する改善されたメッセージングシステム又は通信伝送システムを提供することが望ましい。例えば、コンテンツ収集システムの中で又はメッセージングに依存する他のシステムの中で、そのような改善されたメッセージングシステムを使用することが可能である。そのようなメッセージングシステムは、例えば、メッセージを提供することが許される当事者を制限し、スパム等の望ましくない又は認可されていないメッセージを防止し又は禁止することが可能である。
【0011】
したがって、改善されたメッセージング技術を提供する方法及びシステムを提供することが望ましい。例えば、透明な且つ信頼性のある方法でディジタルコンテンツ及び/又はデータを収集し及び/又は送信するために、そのような方法及びシステムを使用することが可能である。
【0012】
そのような改善された解決方法は、現在では考案されている。
【発明の概要】
【0013】
本発明にしたがって、添付の特許請求の範囲において定義される方法及びデバイスを提供する。
【0014】
本発明は、コンピュータにより実装される方法及び対応するシステムを提供することが可能である。その方法/システムは、ブロックチェーンにより実装される方法/システムとして説明されてもよい。本発明は、セキュリティ方法又は暗号化方法/システムとして説明されてもよい。本発明は、暗号通貨の一部又は数量等のディジタル資産の安全な移転又は送信を提供することが可能である。追加的に又は代替的に、本発明は、暗号通貨の一部又は数量等のディジタル資産の移転を制御するための制御メカニズムを提供することが可能である。
【0015】
追加的に又は代替的に、本出願は、安全なメッセージングを提供するためのコンピュータにより実装される方法を説明する。本発明は、安全な通信解決方法及び/又は送信解決方法(方法/システム)として説明されてもよい。例えば、本出願は、ブロックチェーンにデータを転送し、送信し、又は通信するためのコンピュータにより実装される方法を説明することが可能である。ある1つのエンティティのために、ブロックチェーンにデータを投稿することが可能である。そのデータは、ディジタルコンテンツであってもよく、又は、何らかの他のディジタルリソースであってもよい。本発明は、エンティティ、組織、製品、又はサービスに関連していてもよい。便宜上、"データ"、"ディジタルリソース(digital resource)"、又は、"フィードバック(feedback)"の語は、本明細書においては、"コンテンツ(content)"の代わりに使用されてもよい。"フィードバック"又は"レビュー(review)"の語は、限定することを意図してはいない。"投稿(submitting)"の語は、本明細書において、"送信(transmitting)"又は"通信(communicating)"の代わりに使用されてもよい。
【0016】
その方法は、第1のノードにおいて実装されてもよく、前記ブロックチェーンに第1のトランザクション(T)を送信するステップであって、前記第1のトランザクション(T)は、第1の数(x)のトークンをコミットして(committing)、(ノードであってもよい)エンティティと関連する第2のノードに転送し、前記第1のトランザクション(T)は、第1の出力を有する、ステップと、前記ブロックチェーンへの送信のために、(以降は、便宜上、"コンテンツ"と称される)データの第1の部分を生成するステップと、前記ブロックチェーンに第2のトランザクション(Tf1)を送信するステップであって、前記第2のトランザクション(Tf1)は、前記第1のノードと関連するアドレスへと、前記コミットされている第1の数(x)のトークンのうちの第2の数(d)を戻し、前記第2のトランザクション(Tf1)は、入力として前記第1のトランザクション(T)の前記第1の出力を有する、ステップと、を含んでもよく、前記第1のコンテンツは、前記第1のトランザクション(T)の前記第1の出力をロック解除するのに使用される。
【0017】
いくつかの実装において、前記第2のトランザクション(Tf1)のロック解除するためのスクリプトは、前記第1のコンテンツを含んでもよい。
【0018】
いくつかの実装において、前記第1のトランザクション(T)の前記第1の出力のロックするためのスクリプトは、許可されたデータ("コンテンツ")エントリのセットを含んでもよく、前記第1のコンテンツは、前記許可されたコンテンツエントリのうちの1つに対応する。いくつかの実装において、許可されたコンテンツエントリの前記セットは、1つ又は複数の許可されたデータ("コンテンツ")値のハッシュを含む。
【0019】
いくつかの実装において、当該方法は、前記第1のノードにおいて、前記1つ又は複数の許可されたコンテンツ値の指標を受信するステップをさらに含んでもよく、前記第1のコンテンツを生成するステップは、前記許可されたコンテンツ値のうちの1つを選択するステップを含む。
【0020】
いくつかの実装において、前記第2のトランザクション(Tf1)の前記ロック解除するためのスクリプトは、前記第1のノードと関連する公開鍵に対応する署名を含んでもよい。
【0021】
いくつかの実装において、前記1つ又は複数の許可されたコンテンツ値は、1つ又は複数の離散的な順位付けを含んでもよい。
【0022】
いくつかの実装において、前記第2のトランザクション(Tf1)のためのメタデータは、前記エンティティが提供する製品と関連する識別子を含んでもよい。
【0023】
いくつかの実装において、前記第1のトランザクション(T)は、前記第1の出力とは異なる第2の出力を有してもよく、当該方法は、入力として前記第1のトランザクション(T)の前記第2の出力を有するトランザクションが、第1の時点(nLockTime)までに前記ブロックチェーンに送信されているということを決定するステップと、前記決定に応答して、前記ブロックチェーンに第3のトランザクション(Tf2)を送信するステップと、をさらに含んでもよく、前記第3のトランザクション(Tf2)は、前記第1のノードと関連するアドレスへと、前記コミットされている第1の数(x)のトークンのうちの第3の数(x-d)を転送する。いくつかの実装において、前記第3のトランザクション(Tf2)は、トランザクションパラメータ(nLockTime)を含み、前記トランザクションパラメータ(nLockTime)は、前記第3のトランザクション(Tf2)が前記ブロックチェーンへの送信のために適格となる時点を指定する。いくつかの実装において、前記トランザクションパラメータ(nLockTime)は、前記第1のトランザクション(T)が前記ブロックチェーンに送信される時点(T)の後の固定された時間長(s)である時点を指定する。
【0024】
いくつかの実装において、前記第3のトランザクション(Tf2)は、前記ブロックチェーンへの前記第1のトランザクション(T)の送信の前に、前記エンティティによって作成され、署名されてもよい。
【0025】
いくつかの実装において、前記第3の数(x-d)は、前記第1の数(x)と前記第2の数(d)との間の前記差に等しくてもよい。
【0026】
追加的に又は代替的に、本出願は、ブロックチェーンに、エンティティのための(例えば、フィードバックであってもよい)コンテンツを送信するためのプロセスに参加するためのコンピューティングデバイスを説明する。そのコンピューティングデバイスは、プロセッサ、メモリ、ネットワーク接続性を提供するネットワークインターフェイス、及び、コンピュータ実行可能な命令を含むブロックチェーンアプリケーションを含み、それらのコンピュータ実行可能な命令は、プロセッサによって実行されると、本明細書において説明されている方法をプロセッサに実行させる。
【0027】
追加的に又は代替的に、本出願は、非一時的且つプロセッサ読み取り可能な媒体を説明し、その非一時的且つプロセッサ読み取り可能な媒体は、ブロックチェーンにコンテンツを送信するプロセスに参加するためのプロセッサ実行可能な命令を格納している。それらのプロセッサ実行可能な命令は、プロセッサによって実行されると、本明細書において説明されている方法をプロセッサに実行させる。
【0028】
いくつかの実装は、安全なメッセージング(すなわち、通信又は送信)システムを提供するのに使用されてもよく、その安全なメッセージングシステムは、メッセージを送信するノードに対する制約を実装する。例えば、(例えば、単に、フィードバックであってもよい)コンテンツを含むメッセージを送信するノードは、そのようなコンテンツを送信することを認可される前に、あらかじめ規定された動作を実行することを必要としてもよい。例えば、ノードは、コンテンツを含むメッセージの送信を許可される前に、第1のトランザクション(T)を送信することを要求されてもよい。第1のトランザクション(T)の送信は、また、ノードが(単一のレビュー等の)単一アイテムのコンテンツを送信することのみを可能にしてもよく、このことは、スパムを防止する。
【0029】
本出願は、ブロックチェーンベースのシステム及び方法を説明し、それらのブロックチェーンベースのシステム及び方法は、レビュープラットフォームに参加するユーザが投稿するレビューを暗号化し、検証し、そして、ブロードキャストするスキームの安全な且つ効率的な実装を容易にする。いくつかの実装において、本出願は、プロトコルを提供し、それらのプロトコルは、悪意のある行為者の無制限の投稿が製品及び/又はサービスのレビューの効果による結果に影響を与えることを防止するように設計される。
【図面の簡単な説明】
【0030】
本発明の1つの態様又は実装に関連して説明されるいずれかの特徴は、また、1つ又は複数の他の態様/実装に関連して使用されてもよい。本発明のこれら及び他の態様は、本明細書において説明されている実装から明らかになり、そして、それらの実装を参照して解説されるであろう。複数の添付の図面を参照して、単なる例示として、以下で、本発明のある1つの実装を説明する。
【0031】
図1】複数のノードからなるある1つの例示的なブロックチェーンネットワークを図示している。
図2】本出願のある1つの実装にしたがったある1つの例示的なインセンティブ付きコンテンツ投稿(送信)プロトコル(incentivized content submissions protocol)(CSP)の概略的な表現を示している。
図3】本出願のある1つの実装にしたがったある1つの例示的なCSPの概要をフローチャートの形態で示している。
図4】本出願のある1つの実装にしたがって、ブロックチェーンに、あるエンティティについてのコンテンツを投稿するためのある1つの例示的な方法をフローチャートの形態で示している。
図5】本出願のある1つの実装にしたがって、ブロックチェーンに、あるエンティティについてのコンテンツを投稿するための他の例示的な方法をフローチャートの形態で示している。
図6】ブロック図の形態で、ある1つの例示的なブロックチェーンノードを示している。
【発明を実施するための形態】
【0032】
本出願において、"及び/又は"の語は、追加的な要素を必然的に排除することなく、列記されている複数の要素のうちの単独の1つ、いずれかの小組み合わせ、又は、それらの要素のすべて、のうちのいずれか1つを含むそれらの列記されている複数の要素のすべての可能な組み合わせ及びそれらの小組み合わせを対象とすることを意図している。
【0033】
本出願において、"…又は…のうちの少なくとも1つ"との表現は、いずれかの追加的な要素を必然的に排除することなく、且つ、それらの複数の要素のすべてを必ずしも必要とすることなく、列記されている複数の要素のうちの単独の1つ、いずれかの小組み合わせ、又は、それらの要素のすべて、のうちのいずれか1つを含むそれらの列記されている複数の要素のうちのいずれか1つ又は複数を対象とすることを意図している。
【0034】
本出願において、"エンティティ"の語は、(例えば、レビュー、順位付け、評価、コメント等の形態の顧客のフィードバック等の)フィードバック等のコンテンツを受信する又は受信することが可能であるエンティティを指す。"エンティティ"は、追加的に又は代替的に、あるエンティティに代わってコンテンツを受信することを認可されている代表を指してもよい。例えば、"エンティティ"は、小売業者、サービスプロバイダ、又は製品製造業者等の組織、(例えば、企業の顧客サービス部門等の)ある組織の代表、或いは、(例えば、再販業者又は独立した契約者等の)個人であってもよい。本明細書において説明されているコンテンツ送信プロトコルとの関連で、あるエンティティは、ブロックチェーンネットワークの中の1つ又は複数のノードによって表されてもよい。場合によっては、あるエンティティは、そのエンティティの製品/サービスのユーザ及び購入者に、レビュー、フィードバック、又はその他のコンテンツを投稿することを求めてもよい。あるエンティティについてのレビュー/フィードバック/コンテンツは、参加ノードとして表されるユーザによって投稿され、そして、ブロックチェーン台帳にブロードキャストされることによって、公開的に開示される。
【0035】
本出願において、"レビュー実行者(reviewer)"は、あるエンティティについてのフィードバック及び/又はあるエンティティの製品/サービスのレビュー等のコンテンツを投稿する組織又は個人を指す。レビュー実行者は、例えば、本明細書において開示されているコンテンツ投稿プロトコル(CSP)への参加者であってもよい。"レビュー実行ノード(reviewing node)"は、ある特定のレビュー実行者と関連する(ブロックチェーンネットワークの中の)ノードであり、"ユーザノード"は、本開示のCSPにしたがって、製品/サービスについての適切なレビューを投稿する製品/サービスのユーザと関連するノードである。
【0036】
一方で、"レビュー実行者"の語は、本明細書において選択されている例示的な実施形態の文脈のために使用されているに過ぎない。より一般的には、"レビュー実行者"は、本質的に、あるコンテンツ/メッセージのプロバイダである。このようにして、"プロバイダ"の語は、本明細書においては、"レビュー実行者"に対するより一般的な語である。
【0037】
最初に、図1を参照し、図1は、ブロックチェーンと関連するある1つの例示的なブロックチェーンネットワーク100をブロック図の形態で図示している。ブロックチェーンネットワークは、ピアツーピアのオープンメンバーシップネットワークであり、招待なしで又は他のメンバーの同意なしで、だれでも、そのオープンメンバーシップネットワークに参加することが可能である。分散型電子デバイスは、ブロックチェーンネットワーク100がそのプロトコルにしたがって動作するブロックチェーンプロトコルのインスタンスを実行し、それらの分散型電子デバイスは、ブロックチェーンネットワーク100に参加してもよい。そのような分散型電子デバイスは、ノード102と称されてもよい。ブロックチェーンプロトコルは、例えば、ビットコインプロトコル又は他の暗号通貨であってもよい。
【0038】
ブロックチェーンプロトコルを実行するとともに、ブロックチェーンネットワーク100のノード102を形成する電子デバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等のモバイルデバイス、スマート時計等のウェアラブルコンピュータ、又は、他の電子デバイス等のコンピュータを含むさまざまなタイプの電子デバイスであってもよい。
【0039】
ブロックチェーンネットワーク100のノード102は、適切な通信技術を使用して互いに接続され、それらの通信技術は、有線通信技術及び無線通信技術を含んでもよい。多くの場合は、ブロックチェーンネットワーク100は、少なくとも部分的にインターネットによって実装され、個々のノード102のうちのいくつかは、地理的に分散された位置に位置していてもよい。
【0040】
ノード102は、ブロックチェーンにおけるすべてのトランザクションのグローバル台帳を保持している。そのグローバル台帳は、分散型の台帳であり、各々のノード102は、そのグローバル台帳の完全なコピー又は部分的なコピーを格納してもよい。そのグローバル台帳に影響を及ぼすノード102によるトランザクションは、複数の他のノード102によって検証され、それによって、グローバル台帳の有効性を維持する。ビットコインプロトコルを使用するネットワーク等のブロックチェーンネットワークの実装及び動作の詳細は、当業者によって理解されるであろう。
【0041】
各々のトランザクションは、通常、1つ又は複数の入力及び1つ又は複数の出力を有する。それらの入力及びそれらの出力に埋め込まれているスクリプトは、どのようにして及びだれが、それらのトランザクションのそれらの出力にアクセスすることが可能であるかを指定する。あるトランザクションの出力は、トークンがそのトランザクションの結果として転送されるアドレスであってもよい。それらのトークンは、そのとき、利用可能なトランザクション出力としてその出力アドレスと関連付けられる。暗号通貨との関連で、ビットコインと同様に、利用可能なトランザクション出力は、未使用のトランザクション出力(unspent transaction output)(UTXO)と称されてもよい。以降のトランザクションは、その次に、1つ又は複数の他のアドレスにそれらのトークンを転送するために、入力としてそのアドレスを参照してもよい。
【0042】
ノード102は、それらの機能性に応じて、異なるタイプ又は異なるカテゴリのノードであってもよい。財布、採掘(mining)、完全なブロックチェーンメンテナンス(full blockchain maintenance)、及び、ネットワークルーティングといったノード102と関連する4つの基本的な機能が存在するということが示唆されている。これらの機能の変形が存在してもよい。ノード102は、これらの機能のうちの1つよりも多くの機能を有してもよい。例えば、"完全なノード"は、4つの機能のすべてを提供する。軽量ノード(lightweight node)は、例えば、ディジタル財布として実装される等してもよく、財布機能及びネットワークルーティング機能のみを特徴としてもよい。ディジタル財布は、ブロックチェーン全体を格納するのではなく、ブロックヘッダーの追跡を継続してもよく、それらのブロックヘッダーは、ブロックを照会する際に、インデックスとして機能する。ノード102は、TCP/IP(伝送制御プロトコル)等のコネクション型のプロトコルを使用して、互いに通信する。
【0043】
ほとんどのブロックチェーンネットワークにおいては、管理プロトコルにかかわらず、新たなトランザクションが、ネットワークを通じて迅速に伝播されるということを保証し、それによって、未確認のトランザクション(unconfirmed transactions)の(通常、"メムプール(mempool)"と呼ばれる)プールを維持するすべてのノードは、新たなブロックの中に含まれるのを待っているトランザクションの最新の且つ正確なデータベースを有するようにすることが好都合である。マイニングノードは、この未確認のトランザクションのプールを利用して、潜在的な新たなブロックを構築する。場合によっては、マイニングノードは、局所的に、完全なメムプールを維持し、それによって、それらのマイニングノードは、採掘のために、複数の未確認のトランザクションを集めて、新たなブロックとすることが可能である。いくつかの実装において、メムプールは、(検証ノード等と呼ばれてもよい)複数のノードの別個のネットワークによって管理され、維持されてもよく、それらのノードは、メムプールからマイニングノードに未確認のトランザクションのセットを送信して、マイニングノードがブロックの採掘を試みることを可能としてもよい。いくつかの実装において、複数のノードの間で分散されているハッシュテーブルの中にそのメムプールを格納してもよい。その構造に関係なく、できる限り早く必要なノードに到達するように、ネットワークを通じて、いずれかの新たなトランザクションを伝播させることが望ましい。また、孤立して残されたブロック(orphan blocks)の発生を減少させるように、できる限り迅速にネットワークを通じて、いずれかの新たな採掘に成功しているブロックを伝搬させることが望ましい。
【0044】
ビットコインネットワークの現在の実装においては、ある1つの例として、新たなトランザクションを受信する各々のノードは、そのトランザクションを検証し、そして、その次に、それらのノードがその新たなトランザクションをまだ受信していない場合に、そのノードが接続されているそれらのノードのすべてに、そのトランザクションに送信する。ビットコインの場合に、それらのノードは、TCP/IP(伝送制御プロトコル)を使用する。新たなトランザクションを受信するノードは、1つ又は複数の利用可能な新たなトランザクションに関するデータを有するINVメッセージを各々のピアノードに送信し、そして、それらの1つ又は複数の新たなトランザクションの受信に関心がある各々のノードからGETDATAメッセージを受信する。そのノードは、その次に、そのトランザクションを要求したノードの各々に、(個別の)TCPメッセージによって、そのトランザクションを送信する。
【0045】
本開示は、例えば、コンテンツの投稿/送信のために使用することが可能であるブロックチェーンベースのメッセージングプロトコルを提供する。そのメッセージングプロトコルが、コンテンツ投稿のために使用される場合に、そのメッセージングプロトコルは、コンテンツ投稿プロトコルと称されてもよい。例示の目的で使用される例は、レビュー又はフィードバックコンテンツの投稿である。しかしながら、本発明は、この用途には限定されず、他のタイプのディジタルコンテンツ又はメッセージは、本発明の範囲に属するものとする。
【0046】
より具体的には、例示の目的で、ブロックチェーン台帳を使用して、あるエンティティについてのフィードバック又はそのエンティティの製品/サービスのレビュー等のコンテンツを投稿するためのプロトコルを開示する。そのプロトコルのある1つの例示的な実装によれば、ユーザが製品を取得し、又は、ある1つのエンティティからサービスを受信するときに、ユーザノードは、規定された時間期間の中で、その製品/サービスについてのレビューを投稿する。レビューそれ自体は、ユーザが作成するブロックチェーントランザクションのロック解除するためのスクリプトの中に直接的に挿入される。あるエンティティからある特定の製品/サービスを取得するために実行されるブロックチェーントランザクションと、その製品/サービスのレビューを投稿するために実行されるブロックチェーントランザクションとをリンクさせることによって、プロトコルは、認可された参加者(すなわち、そのエンティティの製品/サービスの実際のユーザ及び購入者)のみが自身のレビューを投稿することが可能であり、それらのレビューを公式にブロードキャストし、そして、ブロックチェーンに格納することが可能であるということを保証する。このようにして、そのプロトコルは、認可されていないユーザが、複数の異なる識別情報を制御して、それらのレビューに人為的に影響を与え、そして、(例えば、エンティティの評判/製品の評判を意図的に損なわせることを目的とした複数の偽のレビューを投稿するといったように)製品/サービスに関する認識を操作することを試みるシナリオを防止するのに役立つことを可能とする。
【0047】
提案されたプロトコルは、ブロックチェーンの概念を利用して、顧客のレビュー又はその他のメッセージングを収集するためのシステム/プラットフォームを提供し、そのシステム/プラットフォームは、コンテンツ/メッセージの適時的な投稿を必要とし、認可された送信元に由来するメッセージ/コンテンツのみを受け入れ、そして、コンテンツ及びメッセージングを収集するプロセスに透明性を追加する。
【0048】
本明細書における記載においては、"ユーザノード"、"入力アドレス"、及び"出力アドレス"の語を使用してもよい。ノードの"アドレス"への言及は、物理的なノードのネットワークアドレスを指すことを意図してはいない。むしろ、"アドレス"は、その物理的なノードがトランザクションにおける署名に対応する鍵を有することによって所有権を主張することが可能であるトークンの割り当てを有するブロックチェーンにおけるトランザクションによって指定されているアドレスである。その意味では、"出力アドレス"は、ユーザノードのアドレスではなく、むしろ、ユーザノードが所有するか、又は、ユーザノードと関連するブロックチェーントランザクション出力アドレスである。同様に、"入力アドレス"は、ユーザノードが所有するか、又は、ユーザノードと関連する(暗号通貨の場合のUTXOの語に対応する)利用可能なトランザクション出力のアドレスである。
【0049】
"フィードバック"及び"レビュー"の語は、明細書全体を通して交換可能に使用されてもよく、エンティティ及び/又はそのエンティティの製品/サービスの(例えば、認識される品質等の)1つ又は複数の属性に対する反応又は印象の(例えば、数値的な順位付け又は記述的な順位付け、コメント等の)適切にフォーマット化された表現を指すものとして理解される。
【0050】
コンテンツ投稿プロトコル(Content Submissions Protocol)(CSP)
本出願は、ブロックチェーンを使用して、顧客のレビュー及びフィードバックを投稿するための方法及びシステムを説明する。特に、本出願は、コンテンツ投稿プロトコル(Content Submissions Protocol、又は、CSP)を提案し、そのコンテンツ投稿プロトコルは、ブロックチェーン概念を利用して、ユーザが製品及びサービスのレビュー等のコンテンツ及びメッセージを投稿することを可能にするとともに、分散型の台帳にそれらのレビューを公開的に且つ永続的に記録する。CSPは、製品/サービスを取得するためのトランザクションに直接的にリンクされているある特定のインセンティブを主張する可能性をユーザに提供することによって、製品及びサービスのレビュー等のコンテンツの投稿を促進するように設計される。このようにして、CSPは、"承認された"コンテンツのみ、すなわち、製品/サービスの購入者及び過去のユーザ等の認可されたユーザから発信されたレビュー等のコンテンツのみが、ブロックチェーン台帳における開示のために、受け入れられ、そして、考慮されるということを保証する。さらに、(レビュー及びフィードバック等の)コンテンツの公開を容易にすることによって、CSPは、当事者が投稿したコンテンツのあらゆる操作を防止するのに役立つことを可能とする。
【0051】
次に、図2を参照し、図2は、CSPのある1つの例示的な実装の概略的な表現を示している。CSPは、(ユーザ/レビュー実行者に対応する)1つ又は複数のユーザノード及び(フィードバックを受信するエンティティ又はその製品/サービスがレビューされるエンティティに対応していてもよい)少なくとも1つのエンティティノードを含む。例えば、プロバイダ(すなわち、レビュー実行者/コンテンツ投稿者)は、製品/サービスを購入し又は使用している顧客であってもよく、エンティティは、製品/サービスの提供に関与する製造業者、販売業者、又は、サービスプロバイダのうちの少なくとも1つであってもよい。
【0052】
製品を取得し、又は、サービスを受信するために、ユーザノードは、製品/サービスを提供するエンティティと関連するエンティティノードに、固定された数のトークンを転送する。特に、ユーザノードは、トランザクションTcを作成して、エンティティからの製品/サービスの取得と引き換えに、そのエンティティノードに、固定された数xのディジタル資産(すなわち、トークン)を転送してもよい。CSPの複数の例示的な実装によれば、"取得"トランザクションTcは、1つ又は複数のトランザクション出力を有する。第1の出力は、数dのトークンを含み、数dのトークンは、取得した製品又はサービスについてのレビュー等のコンテンツの投稿に対してユーザに提供されるインセンティブトークンを表す。すなわち、エンティティノードへの転送のためにコミットされている数xのトークンの一部は、製品又はサービスの顧客/ユーザ(すなわち、ユーザノード)がレビュー等のコンテンツを投稿するためのインセンティブとして使用するために確保される。"割引(discount)"の数は、ユーザ及びエンティティによって合意され、(例えば、レビュー等の)コンテンツの投稿時に、ユーザノードによって引き換えられてもよい。Tcの第2の出力は、x-d個のトークンを含み、認可されたユーザノードがコンテンツを投稿する場合に、エンティティノードによって引き換えられることが可能であるトークンの割り引かれた転送を表す。特に、実際にエンティティノードに転送されるトークンの合計数は、最初にコミットされている数xよりも小さくてもよく、それによって、トークンの"返却"転送の形態で、製品/サービスのレビュー等のコンテンツを投稿するユーザノードに適切なインセンティブを提供することが可能である。
【0053】
次に、図3を参照し、図3は、CSPのある1つの例示的な実装を要約しているフローチャート300を示している。フローチャート300は、さまざまなブロックチェーントランザクションを図示しており、それらのブロックチェーントランザクションは、CSPを実装するために作成される。ユーザは、エンティティが提供する製品を取得するか又はサービスを受信する。ステップ302において、エンティティノードは、ユーザノードに、製品/サービスについてのフィードバックガイドライン等のコンテンツガイドラインを通信する。より正確には、エンティティノードは、ユーザノードに、製品/サービスについての許容可能なコンテンツ値のセットを搬送する。例えば、コンテンツ値のオプションは、(例えば、番号付き尺度等の)数値であってもよく、ある特定の製品/サービスについてユーザが投稿するときに許容可能であるとしてエンティティがあらかじめ定義した("優良-良好-平均-劣悪"等の)記述的な順位付けであってもよい。
【0054】
ステップ306において、ユーザノードは、取得した製品又は受信したサービスに対する支払いとして、コミットメントトランザクション(commitment transaction)によって、x個のトークンをコミットして、そのエンティティに転送する。この最初のコミットメントトランザクションの後に、ユーザノード及びエンティティノードは、それぞれ、ステップ308及びステップ310において、コミットされている数xのトークンの(それぞれ、d及びx-dである)それぞれの分担を独立して引き換えることが可能である。特に、ユーザノードは、エンティティが提供する製品/サービスについての適切なレビュー等の適切なコンテンツを投稿するための"インセンティブ"として、d個のトークンを収集することが可能であり、エンティティノードは、ユーザに対して、製品/サービスの販売について、x-dの"割引"支払いを請求することが可能である。
【0055】
少なくともいくつかの実装において、ユーザノード及びエンティティノードの各々は、固定の時間フレームを有してもよく、その固定の時間フレームの間に、ユーザノード及びエンティティノードは、最初にコミットされているx個のトークンのうちのそれぞれの分担を収集することが可能とされる。例えば、ユーザノードが、インセンティブトークンを受信するのに適格となるために、製品/サービスについてのレビュー等のコンテンツを投稿することが必要となる時点についての時間的制約が存在してもよい。その時間的制約は、例えば、製品の獲得又はサービスの受信の時点の後に長い時間が経過しておらず、適時的な方式で、コンテンツがブロックチェーンに投稿されるということを保証するのに役立つことを可能とする。同様に、エンティティノードは、そのエンティティノードが、製品/サービスの販売について、"割引"支払いを請求することが必要となる時点についての時間的制約を有してもよい。場合によっては、ユーザノード及びエンティティノードは、コミットされているトークンのそれぞれの分担を請求するための適格性に関する同じ時間フレームを有してもよい。例えば、ユーザノード及びエンティティノードの各々は、"取得"トランザクションにおけるトークンの最初のコミットメントの時点の後に、(例えば、1か月等の)固定の時間長の間でのみ、ユーザノード及びエンティティノードのそれぞれの分担を引き換えることを可能とされてもよい。図3に示されているように、それぞれの分担のうちのいずれかが、それらのノードのうちの一方のノードによって請求されていない(又は、適切な時間フレームの中で請求されていない)場合には、他方のノードは、請求されない数のトークンを収集することが可能である。より具体的には、エンティティノードが、"割引"支払いを請求しない場合には、ユーザノードは、ステップ314において、x個のコミットされているトークンの全額を引き換えることが可能であり、
同様に、ユーザノードが、(指定された時間フレームの中で)製品/サービスについての適切なレビュー又は他のコンテンツの投稿に失敗している場合には、エンティティノードは、ステップ312において、"インセンティブ"として割り当てられている数のトークンを収集することが可能であり、それにより、製品/サービスについて、x個のコミットされているトークンの全額の支払を受けることが可能である。
【0056】
次に、図4を参照し、図4は、ブロックチェーンに対するエンティティについてのフィードバック等のコンテンツを投稿するためのある1つの例示的な方法400をフローチャートの形態で示している。方法400は、例えば、図1のネットワーク100等のブロックチェーンネットワークの中の("ユーザノード"等の)ノードによって実行されてもよい。特に、そのノードは、CSPに参加することを望む製品/サービスのユーザと関連付けられてもよい。いくつかの実装において、ユーザノードは、財布又は他のそのようなブロックチェーンエンティティである。その方法400は、(例えば、製造業者、小売業者、サービスプロバイダ等の)さまざまな異なる業務用のエンティティが提供する製品及びサービスのレビューを収集するためのシステム/プラットフォームに適している場合がある。例えば、オンライン市場のためのフィードバック投稿プラットフォーム等のコンテンツ投稿プラットフォームの中に方法400を組み込んでもよい。製品/サービスを提供するエンティティは、少なくとも部分的に、方法400の動作に基づいて、ブロックチェーンに記録されるトランザクションを使用して、過去の購入者及びユーザがレビューを投稿することを可能としてもよい。
【0057】
動作402において、ユーザノードは、第1のトランザクションTcを投稿し(submit)、その第1のトランザクションTcは、第1の数xのトークンをコミットして、そのエンティティと関連する第2のノードに転送する。トークンのこの最初のコミットメントは、例えば、そのエンティティから取得した製品/サービスのトークンの完全な転送を表してもよい。第1のトランザクションTcは、ユーザノードによって作成され、公開鍵及び秘密鍵の対(PkU,SkU)を有するユーザは、その第1のトランザクションTcに署名する。第1のトランザクションTcは、2つの出力を有する。第1の出力は、インセンティブトークンに対応し、それらのインセンティブトークンは、製品/サービスについてのレビュー等のコンテンツの投稿に対してユーザノードに転送される。第1の出力は、例えば、製品/サービスのための全額の支払いに対する"割引(discount)"を表してもよく、その"割引"は、ユーザノードに転送されて戻される。いくつかの実装において、第1の出力のためのロックするためのスクリプトは、ある特定の製品/サービスについて許容可能である他のコンテンツ又はレビューに関連する複数の条件を指定してもよい。例えば、ロックするためのスクリプトは、製品/サービスに適していると考えられる(レビュー値等の)あらかじめ規定されたコンテンツ値のセットを含んでもよい。ロックするためのスクリプトは、第1の出力に制限を付し、その結果、(1) ユーザノードと関連する公開鍵に有効である署名、及び、(2) (例えば、あらかじめ規定されたレビュー値のセットの中に含まれるレビュー値等の)あらかじめ規定されたコンテンツ値のセットの中に含まれるコンテンツ、の双方を含むトランザクションによって、その第1の出力をロック解除することが可能である。第2の出力は、第1の出力とは異なり、公開鍵及び秘密鍵の関連する対(PkSP,SkSP)を有するエンティティノードに"割り引かれた(discounted)"数のトークン数を転送する。特に、"割り引かれた"数のトークンは、第1の数xのトークンとそのユーザのためのインセンティブ数dのトークンとの間の差を表す。したがって、第2の出力は、ロックするためのスクリプトによってロックされ、そのロックするためのスクリプトは、そのエンティティノードと関連する秘密鍵から生成される署名を使用して、そのエンティティノードが割り引かれた数のトークンを請求することを可能にする。
【0058】
動作404において、ブロックチェーンへの投稿のための(例えば、第1のレビュー/フィードバック等の)第1のコンテンツを生成する。そのコンテンツは、ノードと関連するユーザが取得したエンティティ及び/又はエンティティの製品/サービスに関連するレビューであってもよい。動作406において、第2のトランザクションTf1は、ブロックチェーンに投稿され、その第2のトランザクションTf1は、ユーザノードと関連するアドレスに、コミットされている第1の数xのトークンのうちの第2の数dを戻す。第2のトランザクションTf1は、入力として、第1の(コミットメント)トランザクションTcの第1の出力を有する。言い換えると、第2のトランザクションTf1は、エンティティから取得した製品/サービスの適切なレビュー等の適切なコンテンツを投稿するために、ユーザノードにインセンティブトークンを転送するトランザクションである。認可されたユーザからのコンテンツのみを受け入れるということを保証するために、"インセンティブ"のd個のトークンを費やすために満たすことが必要となる複数の条件を指定することによって、コンテンツ投稿に対する"インセンティブ"に結び付けられている第1の出力をロックする。特に、第1のコンテンツは、第1のトランザクションTcの第1の出力のロックを解除するのに使用される。すなわち、インセンティブトークンは、(ユーザがエンティティから取得するか又は受信した製品/サービスについての適切なレビュー等の)適切なコンテンツの投稿が成功した場合にのみ、ユーザノードによって取得されてもよい。例えば、いくつかの実装において、(ユーザに"インセンティブ"額を転送する)第2のトランザクションTf1のロック解除するためのスクリプトは、第1のコンテンツ(又は、第1のコンテンツのハッシュ)を含んでもよい。ロック解除するためのスクリプトに第1のコンテンツを直接的に挿入することによって、一旦、第2のトランザクションがユーザノードによってブロックチェーンに投稿されると(すなわち、インセンティブトークンを請求するときに)、ブロックチェーンにおいて第1のコンテンツを永続的にブロードキャストすることが可能である。いくつかの実装において、第2のトランザクションのロック解除するためのスクリプトは、また、ユーザノードと関連する公開鍵に対応する署名を含んでもよい。追加的に、第2のトランザクションのためのメタデータは、エンティティが提供するある特定の製品又はサービスの識別子を含んでもよく、関連する製品又はサービスにレビュー投稿等のコンテンツをリンクさせる。
【0059】
ユーザが投稿した(例えば、レビュー等の)コンテンツの妥当性を検証するプロセスを容易にするとともに、投稿されたコンテンツの追跡を扱いやすくするために、いくつかの実装においては、エンティティは、そのエンティティの製品/サービスのための限定された数の(例えば、数値的な順位付け、記述的な語等の)あらかじめ定義されたコンテンツ値のみを許可することを決定してもよい。すなわち、エンティティは、妥当であると考えられるであろう1つ又は複数の許可されたコンテンツ値のあらかじめ決定されたセットを指定してもよい。そのような場合には、第1のトランザクションTcの第1の出力のロックするためのスクリプトは、1つ又は複数の離散的な順位付け等の許可されたコンテンツエントリのセットを含んでもよい。そのときに、第1のコンテンツは、妥当な投稿として受け入れられるためには、複数の許可されたコンテンツエントリのうちの1つに対応する必要があるであろう。いくつかの実装において、許可されたコンテンツエントリのセットは、1つ又は複数の許可されたコンテンツ値のハッシュを含むであろう。言い換えると、可能なコンテンツ値の各々は、ハッシュ化され、第1の出力(インセンティブトークン)をロックするために、ロックするためのスクリプトにおいて使用されてもよい。その次に、第1の出力のロックするためのスクリプトの中のハッシュ値のうちの少なくとも1つに対応するコンテンツを投稿することによって、複数の方法で第1の出力をロック解除してもよい。このようにして、エンティティが指定する(フィードバック値又はレビュー値と称されてもよい)複数の許可されたコンテンツ値のうちの1つを選択することによって、簡単に(適切なレビュー/フィードバック等の)適切なコンテンツを生成してもよい。例えば、ユーザノードにおいて、1つ又は複数の許可されたコンテンツ値の指標を受信してもよく、これらの許容されるオプションのうちの1つに対応するコンテンツを選択し、そして、ユーザノードによってブロックチェーンに投稿することが可能である。
【0060】
次に、図5を参照し、図5は、ある1つのエンティティについてのコンテンツを投稿するための他の例示的な方法500をフローチャートの形態で示している。方法500は、図1のネットワーク100等のブロックチェーンネットワークの中のノードによって実行されてもよい。特に、ノードは、CSPに参加する意図を有している製品/サービスのユーザ("ユーザノード")と関連付けられてもよい。いくつかの実装において、ノードは、財布又は他のそのようなブロックチェーンエンティティである。
【0061】
動作502、504、及び506は、それぞれ、方法400の動作402、404、及び406に対応し、それらの動作と同様の範囲である。上記で説明されているように、第1のトランザクションTcは、エンティティへの転送のために、製品/サービスに対する全額の支払いを表す最初の数xのトークンをコミットし、第1のトランザクションは、コンテンツ/レビューの投稿に対する"インセンティブ"を表す第1の出力、及び、そのエンティティへの"割り引かれた"支払いを表す第2の出力、の2つの出力を有する。例えば、エンティティが、実際の購入者及びユーザからのそのエンティティの製品/サービスについてのレビューの蓄積を評価する場合には、そのエンティティは、おそらくは、その製品又はサービスに対するより低い最終的な受け取り額(すなわち、"店頭表示(sticker)"価格よりも低い額)に同意するであろう。
【0062】
動作508において、入力として第1のトランザクションTcの第2の出力を有するトランザクションが、第1の時点nLockTimeまでに、ブロックチェーンに投稿されているか否かを決定する。特に、ユーザノードは、(例えば、サービスプロバイダ等の)エンティティノードが、ある特定の時点の前に、"割り引かれた"支払いx-dを収集しているか否かを検査してもよい。例えば、ノードは、エンティティと関連する第2のノードと直接的に通信してもよく、又は、ブロックチェーンの検索を開始して、エンティティノードと関連するアドレスへと第2の出力のUTXOを転送するトランザクションが、ブロックチェーンに投稿されているか否かを決定してもよい。
【0063】
エンティティが、あらかじめ決定された時間までに、コミットされている数xのトークンのうちの自身の分担を請求していない場合には、動作510において、ノードは、第3のトランザクションTf1を投稿し、その第3のトランザクションTf1は、そのユーザノードと関連するアドレスへと数x-dのトークンを転送する。とりわけ、第3のトランザクションTf2は、時間ロックを実行して、そのエンティティが"割り引かれた"支払いを請求することを可能とするのに十分な長さの時間を割り当てる。すなわち、第3のトランザクションは、トランザクションパラメータnLockTimeを含み、そのトランザクションパラメータnLockTimeは、その第3のトランザクションが、ブロックチェーンへの投稿のために適格となる時点を指定する。ユーザによって、エンティティによって、又は、双方の合意に基づいて、このパラメータを選択して、当事者がコミットされている数xのトークンのうちのそれぞれの分担を請求するのに十分な長さの時間を提供することと、ユーザノードによって適時的な方法でレビュー又は他のコンテンツを投稿するということを保証することと、の間の合理的な均衡を成立させる。いくつかの実装において、トランザクションパラメータnLockTimeは、第1のトランザクションがブロックチェーンに投稿された時点(T)(すなわち、最初の数xがコミットされたとき)の後の固定の時間長(s)である時点を指定してもよい。すなわち、
nLockTime=T+s (1)
となる。これらのパラメータは、それらのトランザクションの前に、エンティティ及びそのエンティティのエンドユーザ(すなわち、顧客)によって合意される可能性が高いので、ブロックチェーンへの第1のコミットメントトランザクションTcの投稿の前に、エンティティによって、ユーザノードに請求されていない"割り引かれた"支払を指示する第3のトランザクションTf2を作成し、そして、その第3のトランザクションTf2に署名してもよい。すなわち、エンティティノードは、第3のトランザクションに対する時間ロックを含み、第3のトランザクションをユーザノードにアクセス可能にし、それによって、ユーザノードは、第3のトランザクションを投稿し、そして、ユーザの署名を使用して、数x-dのトークンをロック解除してもよい。
【0064】
実例として、コミットメントトランザクションTcの第1の出力のためのある1つの例示的なロックするためのスクリプトを説明する。例えば、そのロックするためのスクリプトは、許容可能なコンテンツ値(すなわち、許容可能なレビュー値又はフィードバック値)であるとして、("劣悪-平均-良好-優良"等の)記述的な順位付けのセットを指定してもよい。ユーザノードは、複数の許容可能なコンテンツ値のうちの1つに対応するレビュー等のコンテンツを投稿することによって、第1の出力と関連する数(d)のトークンをロック解除することが可能である。したがって、ロックするためのスクリプトは、4つのオプションを提示して、それらのトークンを解放するであろう。そのスクリプトは、ロック解除するためのスクリプトを評価し、そのロック解除するためのスクリプトは、ユーザノードが投稿するコンテンツが、4つの許可されている順位付けのうちの1つに対応しているか否かを検査し、そして、ユーザノードが提供する署名が、ユーザの公開鍵に対応しているということを検査する、ことによって、ロックするためのスクリプトのロック解除することを意味するコンテンツを含む。ロック解除するためのスクリプトによって、エンティティ払い戻しトランザクションに対応する追加的なオプションを指定してもよい。概略的な形式で、ロックするためのスクリプトのオプションを読み取ることが可能であり、
払い戻し: OP_2 <pubkey U> <pubkey Sp> OP_2 OP_CHECKMULTISIG
順位付け1: OP_HASH160 <H(poor)> OP_EQUALVERIFY <pubkey U> OP_CHECKSIG
順位付け2: OP_HASH160 <H(average)> OP_EQUALVERIFY <pubkey U> OP_CHECKSIG
順位付け3: OP_HASH160 <H(good)> OP_EQUALVERIFY <pubkey U> OP_CHECKSIG
順位付け4: OP_HASH160 <H(excellent)> OP_EQUALVERIFY <pubkey U> OP_CHECKSIG
となる。
【0065】
ユーザノードが、エンティティノードが請求していない"割引"支払を収集することが可能であるのと同じように、ユーザノードが、ある特定の時点の前に、適切なレビュー等の適切なコンテンツを投稿していない場合に、エンティティノードは、最初にコミットされている数xのトークン数の全体を請求することが可能であってもよい。すなわち、製品又はサービスについての適切なレビュー/フィードバック等の適切なコンテンツが、あらかじめ定義された時間期間の中でユーザノードによって投稿されない場合に、エンティティノードは、ユーザの分担(すなわち、コンテンツ投稿"インセンティブ")を収集することが可能である。特に、エンティティノードは、払い戻しトランザクションTf3を投稿してもよく、その払い戻しトランザクションTf3は、エンティティノードに、インセンティブトークンとして割り当てられているそれらのd個のトークンを転送する。この払い戻しトランザクションは、ブロックチェーンにその払い戻しトランザクションを投稿することが可能である時点を示すパラメータを含んでもよい。ブロックチェーンへの第1の(コミットメント)トランザクションの投稿の前に、ユーザノードによって、払い戻しトランザクションTf3を作成し、そして、払い戻しトランザクションTf3に署名する。特に、ユーザノードは、パラメータnLockTimeに対応する時間ロックを含む払い戻しトランザクションTf3を準備し、その払い戻しトランザクションTf3に署名し、そして、エンティティノードにその払い戻しトランザクションTf3を提供する、ように構成され、それによって、そのエンティティノードは、時間ロックの満了後に、ブロックチェーンネットワークにその払い戻しトランザクションTf3を投稿することが可能である。
【0066】
方法400及び500は、ブロックチェーンベースのレビュー及びフィードバック収集プラットフォーム等のブロックチェーンベースのコンテンツ収集プラットフォームの一部として実装されてもよい。特に、ブロックチェーントランザクションによって共有されるレビューを集約するための(図示されていない)プラットフォーム520を提供してもよい。プラットフォーム520は、例えば、ある特定のエンティティ又は複数の異なるレビューされているエンティティについての投稿されたコンテンツ/フィードバック/レビューを収集し、そして、編成してもよい。プラットフォーム520は、ウェブポータル、コンピュータソフトウェア、及び/又はモバイルソフトウェアモジュールとして実装されてもよい。プラットフォーム520は、複数のエンティティ及びそれらのエンティティの製品/サービスのレビューを含むブロックチェーントランザクションのソート、編成、及び検索等のさまざまな異なる機能を提供してもよい。例えば、トランザクションスクリプトメタデータ、入力アドレス、及び出力アドレス等の情報を使用して、ブロックチェーンの検索を実行して、埋め込まれたレビュー及びフィードバックを含むそれらのトランザクションを探索してもよい。検索結果(すなわち、ブロックチェーントランザクション)は、例えば、レビューされているエンティティ、製品/サービスのタイプ、製品/サービスのID、レビューの投稿の技法、高い順の(又は、低い順の)数値的な順位付け等によってソートされてもよい。
【0067】
追加的に、いくつかの実装において、プラットフォーム520は、レビュー等のコンテンツのフィルタリングを可能にして、無効の又は偽物の可能性があるレビュー又は他のコンテンツを識別してもよい。例えば、方法400及び500の提案されている技術においては、あるノードは、そのノードにある数の"インセンティブ"トークンを戻すトランザクションのトランザクションスクリプトの中にコンテンツを含めることによって、レビュー等のそのコンテンツを投稿する。認可されていないユーザが、あるエンティティに製品/サービスに対する支払いを転送するコミットメントトランザクションに関する情報にアクセスする場合に、そのユーザは、そのコミットメントトランザクションのためのロックするためのスクリプトの複数の条件を満たすトランザクションを投稿し、そして、その結果、エンティティ及び/又はそのエンティティの製品/サービスについての無効なレビューを投稿することが可能である。プラットフォーム520は、レビューされているエンティティがプラットフォーム520に通信する基準に基づいて、そのような認可されていないレビューを除去するのに使用されてもよい。例えば、プラットフォーム520は、エンティティから製品/サービスを購入していないレビュー実行者を検出し、そして、それらの認可されていないレビュー実行者と関連するノードが投稿するレビューを破棄する、ように構成されてもよい。
【0068】
次に、図6を参照し、図6は、ノード600のある1つの単純化された例をブロック図の形態で示し、ノード600は、本開示との関連で、参加ノード及び/又はエンティティノードであってもよい。ノード600は、プロセッサ602を含み、そのプロセッサ602は、1つ又は複数のマイクロプロセッサ、特定用途向け集積チップ(ASIC)、マイクロコントローラ、又は、同様のコンピュータ処理デバイスを含んでもよい。ノード600は、値、変数、及び、ある場合には、プロセッサ実行可能なプログラム命令を格納するための永続的なメモリ及び非永続的なメモリを含んでもよいメモリ604、及び、有線ネットワーク又は無線ネットワークを介してネットワーク接続性を提供するためのネットワークインターフェイス606、をさらに含む。
【0069】
ノード600は、プロセッサ実行可能な命令を含むプロセッサ実行可能なブロックチェーンアプリケーション608を含み、それらのプロセッサ実行可能な命令は、実行されると、本明細書において説明されている複数の機能又は複数の動作のうちの1つ又は複数をプロセッサ602に実行させる。
【0070】
標準的なコンピュータプログラミング技術及び言語を使用して、本明細書において説明されているデバイス及びプロセス、及び、ブロックチェーンノードを構成するための説明されている方法/プロセスを実装するいずれかのモジュール、ルーチン、プロセス、スレッド、アプリケーション、又は、他のソフトウェア構成要素を実現してもよいということが理解されるであろう。本出願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング規則、データ構造、又は他のそのような実装の詳細には限定されない。
【0071】
上記で言及されている複数の実装は、本発明に対する限定ではなく、本発明の説明であり、当業者は、添付の特許請求の範囲によって定義される本発明の範囲から離れることなく、多くの代替的な実装を設計することができるであろうということに留意すべきである。それらの請求項においては、括弧の中に記載されている参照符号は、それらの請求項を限定するものとして解釈されるべきではない。"含んでいる"及び"含む"等の語は、いずれかの請求項の中に又は明細書全体に列挙されている要素又はステップ以外の要素又はステップの存在を除外するものではない。本明細書においては、"含む"は、"包含する又はからなる"を意味し、"含んでいる"は、"包含している又はからなる"を意味する。ある1つの要素の単数の参照符号は、そのような要素の複数の参照符号を除外するものではなく、その逆も同様である。いくつかの別個の要素を含むハードウェアによって、及び、適切にプログラミングされているコンピュータによって、本発明を実装してもよい。いくつかの手段を列挙しているデバイスの請求項においては、ハードウェアの1つの品目及び同じ品目によって、これらの手段のうちのいくつかを実現してもよい。複数の特定の尺度が互いに異なる従属請求項に記載されているという事実のみによっては、これらの複数の尺度の組み合わせを有利に使用することが不可能であるということを示すものではない。
図1
図2
図3
図4
図5
図6