以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
[権利管理システム100の概要]
図1は、権利管理システム100のシステム構成の一例を概略的に示す。本実施形態において、権利管理システム100は、ビットコインなどの暗号通貨(cryptocurrency;仮想通貨と称される場合もある。)の取引にも使用されているブロックチェーン技術を利用して、1以上の権利のそれぞれの変動履歴を管理する。1以上の権利のそれぞれは、一の権利の一例であってよい。
権利の変動としては、権利の発生又は取得、権利の変更、及び、権利の消滅を例示することができる。権利の発生又は取得としては、承継取得と、原始取得とを例示することができる。承継取得としては、移転的承継と、設権的承継とを例示することができる。移転的承継としては、特定承継と、包括承継又は一般承継とを例示することができる。権利の変更としては、権利の内容の変更、権利の客体の変更などを例示することができる。
上記の権利は、(i)物権、準物権、債権若しくは契約上の地位、又は、(ii)デジタルデータのアクセス権若しくはパーミッションであってよい。準物権としては、知的財産権を例示することができる。アクセス権又はパーミッションとしては、読み込みの許否、書き込みの許否、実行の許否などを例示することができる。アクセス権又はパーミッションの他の例としては、閲覧の許否、保存の許否、送信の許否、出力の許否、複製の許否などを例示することができる。出力としては、プリンタ出力、音声出力、画像出力などを例示することができる。
上記の権利は、有体物の使用若しくは利用、収益及び処分の少なくとも1つに関する権利、又は、無体物の使用若しくは利用、収益及び処分の少なくとも1つに関する権利であってよい。無体物としては、デジタルデータ、IPアドレス、知的財産などを例示することができる。上記のデジタルデータは、ゲーム内又は仮想空間内におけるアイテムであってもよい。上記の権利は、知的財産権、知的財産に関する実施権若しくは利用権、又は、出版権であってよい。知的財産権としては、産業財産権、著作権(著作隣接権、著作者人格権を含む。)、商品化権、回路配置利用権、育成者権、営業秘密、商品等表示、商品形態、トレードドレス、原産地表示、地理的表示、商号権、肖像権、ドメインネームなどを例示することができる。
暗号通貨においては、暗号通貨の取引(トランザクションと称される場合がある。)の履歴をブロックチェーンとして記録し、P2Pネットワークに参加する複数のノードの間で当該ブロックチェーンを共有することにより、上記取引の正当性を担保している。ブロックチェーンは、時系列に連続する複数のブロックがチェーン状に繋がったデータであり、各ブロックは、一定期間におけるトランザクションのデータ(トランザクションデータと称する場合がある。)を含む。ブロックチェーン技術によれば、複数のブロックが過去の情報を保持した状態で追加されていくので、履歴の改竄が非常に困難になる。
本実施形態によれば、1以上の権利のそれぞれの変動履歴に関する情報が、ブロックチェーンとして、P2Pネットワーク上に記憶される。つまり、権利の変動が発生するたびにトランザクションが生成される。そして、複数のトランザクションが1つのブロックにまとめられ、当該ブロックが既存のブロックチェーンに追加される。
各ブロックは、例えば、複数のトランザクションが当該ブロックにまとめられた時間(ブロックロック時間と称する場合がある。)に関する情報を含む。これにより、時系列に連続する複数のブロックを含むブロックチェーンが生成される。また、各ブロックは、直前のブロックの符号化データを含む。符号化データは、ハッシュ値であってよい。
ブロックチェーンに記録されている情報は改竄が難しく、信憑性が高いので、当該情報を利用して、現在の権利者を証明するサービス、権利又はデジタルデータの存在を証明するサービス、デジタルデータが正当な権原又は権限を有する者により作成されたことを証明するサービス、デジタルデータが改竄されていないことを証明するサービスなどを提供することができる。
本実施形態においては、説明を簡単にする目的で、権利管理システム100を用いて、1以上の権利のそれぞれの正当な権利者に関する情報を管理するサービスを提供する場合について説明する。しかしながら、権利管理システム100により提供されるサービスは本実施形態に限定されない。他の実施形態において、権利管理システム100は、上記の権利又はデジタルデータの存在証明サービスなどの他、物品又はデジタルデータの遠隔操作サービス、レンタルサービス若しくはシェアリングサービス、エスクローサービスなどを提供することができる。また、権利によっては、行政庁が管理する登記簿への登記を要求される場合も考えられるが、実際の登記手続については説明を省略する。
[権利管理システム100のシステム構成]
本実施形態において、権利管理システム100は、分散型台帳管理システム110と、ユーザ端末120とを備える。本実施形態において、分散型台帳管理システム110は、例えば、複数のノード112と、ピア・ツー・ピア・ネットワーク114とを有する。本実施形態において、分散型台帳管理システム110及びユーザ端末120は、通信ネットワーク10を介して互いに情報を送受することができる。
権利管理システム100は、データ管理システムの一例であってよい。ユーザ端末120は、データ管理システム又は情報処理装置の一例であってよい。
本実施形態において、通信ネットワーク10は、分散型台帳管理システム110及びユーザ端末120の間で情報を伝送する。通信ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、無線パケット通信網、インターネット、P2Pネットワーク、専用回線、VPNなどを含んでもよい。通信ネットワーク10は、(i)携帯電話回線網などの移動体通信網を含んでもよく、(ii)無線MAN(例えば、WiMAX(登録商標)である。)、無線LAN(例えば、WiFi(登録商標)である。)、Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)などの無線通信網を含んでもよい。
本実施形態において、目的物30は、ユーザAが有する権利の目的、又は、ユーザAの行為の対象となる。目的物30には、複数の権利が設定されてもよい。目的物30は、有体物であってもよく、無体物であってもよい。目的物30は、デジタルデータであってもよい。デジタルデータとしては、データベース、データベースに含まれる各レコード、アプリケーションソフトウェアの電子ファイル(例えば、ワードファイル、エクセルファイル、テキストデータ、音楽データ、写真データ、動画データ、電子ゲームのセーブデータなどである。)、電子ゲームのアイテム、及び、これらの符号化データ(例えば、ハッシュ値である。)などを例示することができる。
目的物30は、通信機能を有し、分散型台帳管理システム110及びユーザ端末120の少なくとも一方と情報を送受してもよい。一実施形態によれば、目的物30は、ユーザ端末120から、目的物30を操作するための命令を受信する。目的物30は、分散型台帳管理システム110にアクセスして、ユーザAが上記の命令を実行するための権原又は権限を有しているかを確認する。
他の実施形態によれば、目的物30は、コンピュータを有し、目的物30の状態をユーザ端末120に報告する。目的物30が植物、微生物、生物などである場合、目的物30の状態を監視する監視装置が、目的物30の状態をユーザ端末120に報告してもよい。目的物30又は上記の監視装置は、ユーザ端末120に対して、目的物30の状態に関するトランザクションを分散型台帳管理システム110に送信するよう要求してもよい。目的物30の状態としては、目的物30の使用状態、消耗状態又は劣化状態、生育状態などを例示することができる。目的物30の状態に関する情報は、目的物30の価値の増減に関する情報の一例であってよい。
一例として、目的物30が自動車である場合、目的物30は、例えば、ユーザ端末120から開錠命令を受信した場合、エンジン若しくはシステムを始動した場合、エンジン若しくはシステムを停止した場合、ユーザ端末120との通信を確立した場合、又は、ユーザ端末120との通信を終了する場合に、移動履歴、操作履歴、走行距離、バッテリ特性などに関する情報を、ユーザ端末120に送信する。これにより、例えば、目的物30を売却する場合に、目的物30の購入者は、目的物30の状態に関する信憑性の高い情報を取得することができる。
本実施形態において、分散型台帳管理システム110は、1以上の権利のそれぞれの変動履歴に関する情報を、ブロックチェーンとして格納する。分散型台帳管理システム110は、一般的なデータベースシステムに要求される機能を備えてよい。ブロックチェーンは、分散型台帳の一例であってよい。一実施形態において、分散型台帳管理システム110は、権利ごとにブロックチェーンを格納する。他の実施形態において、分散型台帳管理システム110は、目的物ごとにブロックチェーンを格納する。例えば、目的物に設定される権利が予め定められている場合、又は、権利管理システム100が管理する権利が予め定められている場合、分散型台帳管理システム110は、目的物ごとにブロックチェーンを格納することで、当該権利を管理することができる。
より具体的には、権利管理システム100を利用して、物品の所有権を管理する場合、分散型台帳管理システム110は、物品ごとにブロックチェーンを格納してよい。これにより、所有権の変動履歴を管理することができる。また、権利管理システム100を利用して、物品のレンタル若しくはシェアリング、又は、デジタルデータの貸与(例えば、電子ゲームにおけるアイテムの付与である。)に関するサービスを提供する場合、分散型台帳管理システム110は、物品又はデジタルデータごとにブロックチェーンを格納してよい。これにより、賃借権、使用権、アクセス権などの変動履歴を管理することができる。
本実施形態において、複数のノード112のそれぞれは、ブロックチェーンを格納する。複数のノード112のそれぞれは、分散型台帳管理システム110に参加する情報処理装置であればよく、その具体的な構成は特に限定されない。複数のノード112のそれぞれは、新たなブロックの承認処理(採掘処理と称される場合がある。)を実行するためのプログラムが導入されたコンピュータであってよい。一実施形態において、任意のノード112が、分散型台帳管理システム110に自由に参加することができる。他の実施形態において、分散型台帳管理システム110には、許可されたノード112のみが参加することができる。
複数のノード112のそれぞれは、ユーザ端末120からのトランザクションデータを受信する。複数のノード112のそれぞれは、各ノードが受信した複数のトランザクションデータを含む新たなブロックの承認処理を実行する。新たなブロックの承認処理は、一定の時間間隔で実行されてよい。承認処理は、例えば、いずれかのノードが、予め定められた条件を満たす解を発見する処理である。承認処理は、上記の方法に限定されない。承認処理は、ブロックチェーン技術又は類似の技術において知られている手法又は将来的に新たに開発される手法に従って実施されてよい。1台のノード112が新たなブロックを承認すると、当該ブロックがブロックチェーンに追加され、当該ブロックを含むブロックチェーンが他のノード112に共有される。
一実施形態において、複数のノード112のそれぞれは、ユーザ端末120からの要求に応じて、当該要求に合致する1以上のトランザクションデータを抽出し、抽出されたトランザクションデータをユーザ端末120に送信してもよい。他の実施形態において、複数のノード112のそれぞれは、ユーザ端末120からの要求に応じて、当該要求に合致する1以上のトランザクションデータを抽出し、抽出されたトランザクションデータを利用して、当該要求に応じた処理を実行してもよい。複数のノード112のそれぞれは、上記の処理の結果を、ユーザ端末120に送信してよい。
本実施形態において、ピア・ツー・ピア・ネットワーク114は、複数のノード112の間で情報を伝送する。ピア・ツー・ピア・ネットワーク114は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。ピア・ツー・ピア・ネットワーク114は、無線通信網、インターネット及び専用回線の少なくとも1つ、又は、それらの組み合わせを含んでよい。無線通信の方式は、移動体通信方式であってもよく、近距離無線通信方式であってもよい。近距離無線としては、無線MAN、無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)、NFCなどを例示することができる。
本実施形態において、ユーザ端末120は、ユーザAが利用する情報処理装置である。ユーザ端末120は、通信ネットワーク10を介して分散型台帳管理システム110との間で情報を送受することができる情報処理装置であればよく、その具体的な構成は特に限定されない。ユーザ端末120は、パーソナルコンピュータ、携帯電話又はスマートフォン、携帯端末(PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。)、無線端末などであってよい。
本実施形態において、ユーザ端末120は、ユーザAの秘密鍵122を格納する。ユーザ端末120は、ユーザAの秘密鍵122を利用して、ユーザAが有する1又は複数の権利のそれぞれの変動に関する1以上のトランザクションを生成する。ユーザ端末120は、生成されたトランザクションを、複数のノード112の少なくとも一部に送信する。一実施形態において、ユーザ端末120は、生成されたトランザクションを、複数のノード112のうちのいずれか1つに送信する。ユーザ端末120からトランザクションを受信したノード112は、ピア・ツー・ピア・ネットワーク114によって、他の全てのノード112に当該トランザクションを転送する。他の実施形態において、ユーザ端末120は、生成されたトランザクションを、複数のノード112にブロードキャストしてもよい。
[権利管理システム100の各部のハードウェア構成]
権利管理システム100の各部は、ハードウェアにより実現されてもよく、ソフトウェアにより実現されてもよく、ハードウェア及びソフトウェアにより実現されてもよい。権利管理システム100の各部は、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。
権利管理システム100の各部は、一般的な構成の情報処理装置において、権利管理システム100の各部の動作を規定したソフトウェア又はプログラムを起動することにより実現されてよい。上記の情報処理装置は、CPU等のプロセッサ、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、カメラ、マイク、各種センサ、GPS受信機などの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、HDDなどの記憶装置とを備えてよい。権利管理システム100は、その一部に、仮想サーバ又はクラウドシステムを含んでもよい。
上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウェア又はプログラムを記憶してよい。上記のソフトウェア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウェア又はプログラムによって規定された動作を実行させる。上記のソフトウェア又はプログラムは、非一時的なコンピュータ可読記憶媒体に格納されていてもよい。
[権利管理システム100による権利管理の概要]
<データの登録>
権利管理システム100は、例えば下記の手順により、ユーザAが有する権利の変動に関する情報を、分散型台帳管理システム110に登録する。まず、目的物30を目的とする権利を有するユーザAが、ユーザ端末120上で、当該権利の変動を生じさせ得る操作を実行する。権利の変動を生じさせ得る操作としては、ユーザ端末120上で動作するアプリケーションソフトウェアに関する操作、インターネット上のアプリケーションサーバにより提供されるサービスを利用するための操作などを例示することができる。
例えば、ユーザAが、ユーザ端末120を操作してオンラインゲームを実行する場合、まず、ユーザAのアカウントが作成される。このとき、アカウントを利用する権利が発生又は移転する。その後、ゲームの進行に従って、アイテムの入手、キャラクター又はアイテムのレベルアップなどのイベントが発生する。例えば、ユーザAが電子ゲーム内でアイテムを入手すると、当該アイテムを利用する権利が発生又は移転する。また、電子ゲーム内でキャラクター又はアイテムがレベルアップすると、アカウント又はアイテムを利用する権利の内容に変更が生じる。アカウント又はアイテムを利用する権利は、一の権利の一例であってよい。
ユーザの操作によりユーザAの権利に変動が生じる場合、ユーザ端末120は、ユーザ端末120に格納された秘密鍵122を利用して、当該権利の変動に関するトランザクションデータを生成する。次に、ユーザ端末120は、生成されたトランザクションデータを、通信ネットワーク10を介して、分散型台帳管理システム110に送信する。分散型台帳管理システム110は、ユーザ端末120から受け取ったトランザクションデータを適切なタイミングでブロック化して、新たなブロックチェーンを生成する。これにより、ユーザAは、自己の権利の変動に関する情報を分散型台帳管理システム110に登録することができる。
<データの抽出>
ユーザAは、ユーザ端末120を操作して、分散型台帳管理システム110に格納された情報にアクセスすることができる。例えば、ユーザ端末120は、ユーザAの指示に基づいて、特定の条件に合致するデータを抽出するための要求、特定の条件の成否を判定するための要求などを、分散型台帳管理システム110に送信する。分散型台帳管理システム110は、ユーザ端末120からの要求を受信し、当該要求に応じた処理を実行する。これにより、ユーザAは、特定の権利の変動履歴を閲覧したり、自己の有する権利を確認したりすることができる。
[権利管理システム100による権利管理の具体例1]
一実施形態において、ユーザAが、目的物30(例えば、ユーザAが所有する自動車である。)をユーザBに譲渡する場合、ユーザAは、ユーザ端末120に、目的物30の所有権をユーザAからユーザBに移転させるための処理を実行させるべく、ユーザ端末120を操作する。上記の処理が開始されると、ユーザ端末120は、目的物30の所有権の移転に関するトランザクションデータを生成して、例えば、複数のノード112のうちのいずれか1つに、当該トランザクションデータを送信する。これにより、目的物30の所有権がユーザBに移転したことを示すトランザクションデータが、分散型台帳管理システム110に登録される。目的物30の所有権は、一の権利の一例であってよい。
[権利管理システム100による権利管理の具体例2]
他の実施形態において、ユーザAが、目的物30をユーザBに貸し出す場合、ユーザAは、ユーザ端末120に、目的物30に賃借権又は使用権を設定するための処理を実行させるべく、ユーザ端末120を操作する。上記の処理が開始されると、ユーザ端末120は、(i)新たに賃借権若しくは使用権を発生させるための処理、又は、(ii)既存の賃借権若しくは使用権の権利者及び内容を変更するための処理を実行する。ユーザ端末120は、例えば、上記の処理に対応するトランザクションデータを生成して、複数のノード112のうちのいずれか1つに、当該トランザクションデータを送信する。これにより、目的物30の賃借権又は使用権がユーザBに移転したことを示すトランザクションデータが、分散型台帳管理システム110に登録される。目的物30に設定される賃借権若しくは使用権は、一の権利の一例であってよい。
新たに賃借権を発生させるための処理において、ユーザ端末120は、例えば、発行用のトランザクションデータを生成して、複数のノード112のうちのいずれか1つに、当該トランザクションデータを送信する。新たに発生する賃借権の内容としては、(i)賃借権の存続期間、(ii)賃借権の譲渡又は賃借物の転貸を許すことを定めた特約の有無などを例示することができる。
発行用のトランザクションデータは、例えば、当該トランザクションが発行用であることを示す情報と、発行条件に関する情報と、当該トランザクションにより表現される権利に関する情報と、当該権利の承継人に関する情報とを含む。発行条件に関する情報としては、発行するアセットの単位数を指定する情報、発行されるアセットの量のスケールを指定する情報(divisibilityと称される場合がある。)、アセットの量の上限値を指定する情報などを例示することができる。なお、アセットの量は、暗号通貨の枚数に相当し、本実施形態において、アセットの量は、例えば、権利の持分を表す。また、初回発行時のアセットの量を、発行条件で指定したアセットの量の上限値に設定することで、発行後に流通するアセットの量が増加することを防止し、流通するアセットの量を一定に保つことができる。
権利に関する情報としては、各権利を一意に特定する情報(権利識別情報と称する場合がある。)又は権利識別情報を示す情報、各権利の内容に関する情報などを例示することができる。権利識別情報としては、(i)目的物の識別情報、(ii)目的物の識別情報と、権利の種類又は名称を示す情報との組み合わせなどを例示することができる。目的物の識別情報としては、(i)目的物の製造番号、識別番号又はMACアドレス、(ii)これらと、製造者又は販売者の識別情報との組み合わせなどを例示することができる。権利識別情報を示す情報としては、権利識別情報の符号化データ(例えば、ハッシュ値である。)などを例示することができる。なお、権利識別情報又は権利識別情報を示す情報を、権利IDと称する場合がある。
既存の賃借権の権利者及び内容を変更するための処理において、ユーザ端末120は、例えば、移転用のトランザクションデータを生成して、複数のノード112のうちのいずれか1つに、当該トランザクションデータを送信する。ユーザ端末120は、権利者及び内容の変更に関する移転用のトランザクションデータを生成してもよく、権利者の変更に関する移転用のトランザクションデータと、権利の内容の変更に関する移転用のトランザクションデータとを生成してもよい。権利者に変更がなく、権利の内容にのみ変更がある場合、ユーザ端末120は、承継人として現在の権利者を指定する移転用のトランザクションを生成してよい。
移転用のトランザクションデータは、例えば、当該トランザクションが移転用であることを示す情報と、当該トランザクションにより表現される権利に関する情報と、当該権利の承継人に関する情報と、当該トランザクションにより承継される持分に関する情報とを含む。権利に関する情報としては、権利ID、権利の内容に関する情報などを例示することができる。
図2は、ノード112の内部構成一例を概略的に示す。本実施形態において、ノード112は、通信制御部210と、ブロックチェーン生成部220と、格納部230と、要求処理部240とを備える。格納部230は、例えば、ブロックチェーン格納部232と、公開鍵格納部234とを含む。
本実施形態において、通信制御部210は、他のノード112との間の通信、及び、ユーザ端末120との間の通信の少なくとも一方を制御する。目的物30が通信機能を有する場合、通信制御部210は、目的物30との間の通信を制御してもよい。通信制御部210は、外部の機器に情報を送信する送信部として機能してもよく、外部の機器からの情報を受信する受信部として機能してもよい。通信制御部210は、通信インターフェースであってもよい。通信制御部210は、複数の種類の通信方式に対応していてもよい。
通信制御部210は、例えば、他のノード112、ユーザ端末120又は目的物30からの要求を受信して、当該要求を要求処理部240に転送する。通信制御部210は、当該要求に対する応答として、要求処理部240における処理の実行結果を、上記の要求の送信元に送信してよい。通信制御部210は、例えば、ユーザ端末120からのトランザクションデータを受信して、当該トランザクションデータをブロックチェーン生成部220に転送する。通信制御部210は、例えば、ユーザ端末120から、秘密鍵122に対応する公開鍵を受信して、公開鍵格納部234に格納する。上記の公開鍵は、ユーザ端末120からのトランザクションデータに含まれていてもよい。
ブロックチェーン生成部220は、ユーザ端末120からのトランザクションデータを取得し、ブロックチェーンを生成する。例えば、ブロックチェーン生成部220は、予め定められた期間が経過するごとに、当該期間に取得した1又は複数のトランザクションデータをブロック化して新たなブロックを生成する。上記の予め定められた期間は、厳密に定められた期間であってもよく、凡その期間であってもよい。上記の予め定められた期間内にトランザクションデータが取得されなかった場合、ブロックチェーン生成部220は、新たなブロックを生成してもよく、新たなブロックを生成しなくてもよい。
ブロック化の手順は特に限定されるものではないが、例えば、下記の手順で実行される。ブロックチェーン生成部220は、まず、直前のブロックがブロックチェーンに追加された後、予め定められた期間に取得された1又は複数のトランザクションデータを特定する。上記の予め定められた期間にトランザクションデータが取得されなかった場合には、1又は複数のトランザクションデータを特定する工程が省略されてもよい。
次に、ブロックチェーン生成部220は、ブロックチェーン格納部232に格納されている現在のブロックチェーンにアクセスして、直前のブロックのデータを抽出する。次に、ユーザ端末120は、抽出された直前のブロックをハッシュ化する。ハッシュ化は、符号化の一例であってよい。その後、ブロックチェーン生成部220は、ノンス(nonce;number used once)と呼ばれる数値データを含むヘッダと、直前のブロックのハッシュ値と、予め定められた期間に取得された1又は複数のトランザクションデータとを一纏めにして、新たなブロックを生成する。
上記の予め定められた期間にトランザクションデータが取得されなかった場合、ブロックチェーン生成部220は、例えば、ノンスを含むヘッダと、直前のブロックのハッシュ値とを一纏めにして、新たなブロックを生成する。新たなブロックに含まれるノンスは、直前のブロックに含まれるノンスと異なる値を有してよい。
ブロックチェーン生成部220は、新たなブロックを生成した後、当該ブロックの承認処理を実行する。承認処理の手順は特に限定されるものではないが、例えば、下記の手順で実行される。ブロックチェーン生成部220は、まず、新たなブロックをハッシュ化する。ブロックチェーン生成部220は、新たなブロックのハッシュ値と、予め定められたターゲットの値とを比較する。新たなブロックのハッシュ値が、予め定められたターゲットの値よりも小さい場合、当該ブロックを承認する。一方、新たなブロックのハッシュ値が、予め定められたターゲットの値よりも大きい場合、新たなブロックに含まれるノンスの値を変更して、上記の処理を繰り返す。ターゲットは、採掘難易度(difficulty)の算出元となるデータであり、ターゲットが小さいほど、採掘難易度が大きいことを示す。
新たなブロックが承認されると、ブロックチェーン生成部220は、当該ブロックを既存のブロックチェーンに追加して、新たなブロックチェーンを生成する。ブロックチェーン生成部220は、新たなブロックチェーンをブロックチェーン格納部232に格納する。また、ブロックチェーン生成部220は、新たなブロックチェーンを他のノード112に送信し、他のノード112との間で最新のブロックチェーンを共有する。
一実施形態において、ブロックチェーン生成部220は、権利ごとにブロックチェーンを生成する。例えば、目的物30の所有権に関するトランザクションデータと、目的物30に設定された賃借権に関するトランザクションデータとを、それぞれ別のブロックチェーンを用いて管理する。他の実施形態において、ブロックチェーン生成部220は、目的物ごとにブロックチェーンを生成する。例えば、目的物30の所有権に関するトランザクションデータと、目的物30に設定された賃借権に関するトランザクションデータとを、同一のブロックチェーンを用いて管理する。
本実施形態において、格納部230は、様々な情報を格納する。ブロックチェーン格納部232は、例えば、ブロックチェーン生成部220が生成したブロックチェーンを格納する。公開鍵格納部234は、例えば、ユーザ端末120の秘密鍵122に対応する公開鍵を格納する。格納部230は、その他の情報を格納してもよい。
本実施形態において、要求処理部240は、分散型台帳管理システム110に対する様々な要求を処理する。要求処理部240は、処理の結果を、当該要求に対する応答として、当該要求の送信元に送信する。分散型台帳管理システム110に対する要求としては、特定の条件に合致するデータを抽出するための要求、特定の条件の成否を判定するための要求などを例示することができる。
一実施形態において、要求処理部240は、ユーザ端末120又は目的物30から、権利IDと、当該権利IDにより特定される権利の権利者の識別情報を抽出するための要求とを受け取る。この場合、要求処理部240は、例えば、ブロックチェーン格納部232を参照して、上記の権利に関するブロックチェーンにアクセスし、当該権利の権利者の識別情報を抽出する。その後、要求処理部240は、抽出された情報を、当該要求に対する応答として、当該要求の送信元に送信する。
他の実施形態において、要求処理部240は、ユーザ端末120又は目的物30から、権利IDと、ユーザAの識別情報と、ユーザAが当該権利IDにより特定される権利の権利者であるか否かを判定するための要求とを受け取る。この場合、要求処理部240は、例えば、ブロックチェーン格納部232を参照して、上記の権利に関するブロックチェーンにアクセスし、当該権利の権利者の識別情報を抽出する。次に、要求処理部240は、抽出された権利者の識別情報が、ユーザAの識別情報と合致するか否かを判定することで、ユーザAが、当該権利の権利者であるか否かを判定する。その後、要求処理部240は、判定結果を示す情報を、当該要求に対する応答として、当該要求の送信元に送信する。
他の実施形態において、要求処理部240は、ユーザ端末120又は目的物30から、ユーザAの識別情報と、ユーザAが有する権利の権利IDを抽出するための要求とを受け取る。この場合、要求処理部240は、例えば、ブロックチェーン格納部232を参照して、ブロックチェーン格納部232に格納された1又は複数のブロックチェーンにアクセスし、各ブロックチェーンに対応する権利の現在の権利者の識別情報を抽出する。次に、要求処理部240は、抽出された権利者の識別情報が、ユーザAの識別情報と合致するか否かを判定することで、ユーザAが、各ブロックチェーンに対応する権利の現在の権利者であるか否かを判定する。その後、要求処理部240は、ユーザAが現在の権利者であると判定された権利の権利IDを、当該要求に対する応答として、当該要求の送信元に送信する。
図3〜図5を用いて、ブロックチェーン格納部232に格納されるデータのデータ構造の一例について説明する。図3は、ブロックチェーン300のデータ構造の一例を概略的に示す。ブロックチェーン300は、時系列に連続する複数のブロックを含む。図3においては、説明を簡単にする目的で、ブロックチェーン300を構成する複数のブロックのうち、ブロックBiと、ブロックBi用の直前のブロックであるブロックBi−1とを示す(iは2以上の正の整数である)。本実施形態において、複数のブロックのそれぞれは、ブロックヘッダ310と、1又は複数のトランザクションデータ320とを含む。1又は複数のトランザクションデータ320のそれぞれは、一の権利の変動に関するトランザクション情報の一例であってよい。
本実施形態において、単一のブロックの中に、複数の権利に関するトランザクションデータが含まれる場合について説明した。しかしながら、ブロックのデータ構造は本実施形態に限定されない。他の実施形態によれば、単一のブロックは、単一の権利に関するトランザクションデータを含み、他の権利に関するトランザクションデータを含まない。
本実施形態において、単一のブロックの中に、複数のトランザクションデータが含まれる場合について説明した。しかしながら、ブロックのデータ構造は本実施形態に限定されない。他の実施形態によれば、単一のブロックの中には、単一のトランザクションデータが含まれる。さらに他の実施形態によれば、単一のブロックの中に、トランザクションデータが含まれなくてもよい。トランザクションデータが生成されるタイミングと、ブロックが生成されるタイミングとの関係によっては、トランザクションデータが含まれないブロックが生成され得る。
図4に示すとおり、本実施形態において、ブロックヘッダ310は、ブロックBi(現在のブロックと称する場合がある。)のブロックバージョン410と、ブロックBi−1(直前のブロックと称する場合がある。)のブロックヘッダのハッシュ値412と、ブロックBiのトランザクションデータのマークル・ルートのハッシュ値414と、ブロックBiのブロックロック時間416と、ブロックBiのブロックロック時における採掘処理のターゲット418と、ブロックBiの採掘処理で算出されたノンス420とを含む。
本実施形態において、ブロックバージョン410は、ブロック化のルール、プロトコル又はアルゴリズムのバージョンを示す。ブロックロック時間416は、ブロックBiが承認された時刻を示す。ブロックBiが承認された時刻は、ブロックBiに含まれる1以上のトランザクションデータがブロック化された時間の一例であってよい。ターゲット418は、ブロックBiの承認処理におけるターゲットを示す。ハッシュ値は、符号化データの一例であってよく、ハッシュ化は、符号化の一例であってよい。
図5は、権利の変動に関するトランザクションデータ500のデータ構造の一例を概略的に示す。本実施形態において、トランザクションデータ500は、バージョン502と、入力数504と、1又は複数の入力506と、出力数508と、1又は複数の出力510と、ブロックロック時間512とを有する。本実施形態において、バージョン502は、トランザクションデータ500のフォーマット又はプロトコルを定めたルールのバージョンを示す。入力数504は、入力506の数を示す。出力数508は、出力510の数を示す。ブロックロック時間512は、トランザクションデータ500を含むブロックが承認された時刻を示す。
本実施形態において、1又は複数の入力506のそれぞれは、例えば、直前のトランザクションデータのハッシュ値522と、直前の出力インデックス524と、署名スクリプト528のサイズ526と、署名スクリプト528と、シーケンス終端記号534とを含む。署名スクリプト528は、トランザクションデータ500の署名値530と、現在の権利者の秘密鍵に対応する公開鍵532とを含んでもよい。
トランザクションデータ500の署名値530は、トランザクションデータ500の少なくとも一部を、現在の権利者(被承継人と称される場合がある。)の秘密鍵で暗号化した暗号化データであってよい。トランザクションデータ500の一部又は全体を現在の権利者の秘密鍵により暗号化して署名値530を生成する方法は、公知の暗号通貨におけるトランザクションを生成する手法、又は、将来的に開発された暗号通貨におけるトランザクションを生成する手法を採用してよい。
本実施形態において、1又は複数の出力510のそれぞれは、例えば、承継される持分542と、公開鍵検証スクリプト546のサイズ544と、公開鍵検証スクリプト546とを含む。公開鍵検証スクリプト546は、承継人の公開鍵のハッシュ値548と、トランザクションデータの種類に関する情報550と、権利に関する情報552とを含んでもよい。
本実施形態において、承継人の公開鍵のハッシュ値548は、トランザクションデータ500により表現される権利の変動における、当該権利の1以上の承継先を示す。上記の権利変動において権利者に変更がない場合、承継人の公開鍵のハッシュ値548は、被承継人の公開鍵のハッシュ値であってよい。トランザクションデータの種類に関する情報550は、トランザクションデータ500が発行用のトランザクションデータであるか、移転用のトランザクションデータであるかを示す情報であってよい。
権利に関する情報552としては、権利ID、権利の内容に関する情報(内容情報と称する場合がある。)などを例示することができる。内容情報としては、(i)権利の客体又は目的物の特徴、仕様又は状態に関する情報、(ii)権利の客体又は目的物の変更に関する情報、(iii)権利の制限に関する情報、(iv)権利行使の条件に関する情報などを例示することができる。
内容情報は、(i)変動後の権利の内容又は権利変動の内容(権利の内容又は権利変動の内容を、権利又は権利変動の内容と称する場合がある。)を示すデータであってもよく、(ii)権利又は権利変動の内容を記録したデータのURIであってもよく、(iii)権利又は権利変動の内容を記録したデータの符号化データであってもよい。権利又は権利変動の内容を記録したデータは、分散型台帳管理システム110とは別の第2データベースシステム(内容情報格納部の一例であってよい。)、又は、当該第2データベースシステムに含まれるレコード、若しくは、当該レコードの一部であってもよい。上記のレコードの一部は、キー・バリュー型データベースのバリュー値であってもよい。
本実施形態において、トランザクションデータ500は、ブロックチェーン300のブロックBiを構成するトランザクションデータ320の一例であってよい。トランザクションデータ500は、移転用(転送用と称される場合もある。)のトランザクションデータの一例であってもよい。トランザクションデータ500は、第1トランザクション情報の一例であってよい。直前のトランザクションデータは、第2トランザクション情報の一例であってよい。ハッシュ値は、符号化データの一例であってよく、ハッシュ化は、符号化の一例であってよい。署名値530は、トランザクションデータ500の少なくとも一部を、被承継人の秘密鍵で暗号した暗号化データの一例であってよい。被承継人は、一の権利を有するユーザの一例であってよい。被承継人の公開鍵532は、被承継人を識別する識別情報の一例であってよい。承継人の公開鍵は、承継人を識別する識別情報の一例であってよい。
本実施形態においては、入力数504及び出力数508が1又は複数である場合について説明した。しかしながら、トランザクションデータ500は本実施形態に限定されない。他の実施形態において、トランザクションデータ500は、入力数504及び出力数508の少なくとも一方が0であってもよい。
本実施形態においては、トランザクションデータ500が移転用のトランザクションデータである場合について説明した。しかしながら、トランザクションデータ500は本実施形態に限定されない。他の実施形態において、トランザクションデータ500は、発行用のトランザクションデータであってもよい。
トランザクションデータ500が発行用のトランザクションデータである場合、トランザクションデータ500の入力506は、予め定められたルール又はプロトコルに従って、発行用のトランザクションデータであることを示すための特別なデータが入力されてよい。例えば、直前のトランザクションデータのハッシュ値522及び直前の出力インデックス524に、予め定められた特別なデータが入力される。また、トランザクションデータ500は、トランザクションデータ500により表現される権利の発行条件に関する情報を示すデータを更に含んでよい。発行条件に関する情報は、上述のとおりであってよい。
さらに他の実施形態において、トランザクションデータ500は、ブロックチェーン技術を利用した暗号通貨のトランザクション情報であってもよい。この場合、権利IDは、上記の暗号通貨を一意に特定する通貨識別情報であってよい。暗号通貨の通貨識別情報として権利IDを用いることで、既存の暗号通貨のプラットフォームを利用して、又は、既存の暗号通貨のプラットフォームと同様の仕組みを利用して、当該権利IDにより識別される権利の変動の履歴を管理することができる。また、各ユーザの暗号通貨の保有量は、各ユーザが有する権利の持分に応じて決定されてよい。この場合、上記のアセットの量の上限値を指定する情報は、暗号通貨の全発行量を定義する情報の一例であってよい。
図5の実施形態においては、トランザクションデータ500が、残高に関する情報を格納する領域のみを有する場合について説明した。しかしながら、トランザクションデータ500は、本実施形態に限定されない。他の実施形態において、トランザクションデータ500は、ノード112のコンピュータにより実行されるプログラム(コードと称する場合がある。)を含んでもよい。
この場合、トランザクションデータ500は、例えば、(i)図5に関連して説明したような、残高に関する情報を格納する領域に加えて、(ii)コードを格納する領域(コード格納領域と称する場合がある。)と、(iii)コードの実行に関するデータを格納する領域(データ格納領域と称する場合がある。)とを有する。トランザクションデータ500は、図5に関連して説明したような、残高に関する情報を格納する領域に代えて、(i)コードを格納する領域(コード格納領域と称する場合がある。)と、(ii)コードの実行に関するデータを格納する領域(データ格納領域と称する場合がある。)とを有してもよい。
コードの実行手順は、例えば、下記のとおりである。まず、ノード112が、他の端末(例えば、ユーザ端末120である。)から、ノード112に格納されているトランザクションデータ500に含まれるコードの実行を開始させるためのメッセージを受信する。ノード112が上記のメッセージを受信すると、ノード112のコンピュータは、コードを自動的に実行させる。ノード112のコンピュータは、上記のコードの実行結果を、トランザクションデータ500のデータ格納領域に格納してもよい。ノード112のコンピュータは、格納されたコードを特定するためのアドレスを発行してもよい。
上記のコードとしては、(i)権利の承継元及び当該権利の承継先の間の契約内容を示す情報(コントラクトと称される場合がある。)として、各種のコードを、分散型台帳管理システム110に登録するためのコード、(ii)コントラクトとして登録されたコードに対して命令を実行するためのコード、(iii)トランザクションを生成するためのコード、及び、これらの組み合わせを例示することができる。上記のコードは、スマートコントラクトコードであってもよい。
例えば、エスクローサービスを実現する場合、トランザクションデータ500のコード格納領域には、(i)コンピュータに、エスクローサービス提供者によるエスクローサービスを具現化するコードを、分散型台帳管理システム110に登録するための処理を実行させるためのコード、(ii)コンピュータに、契約内容を記録する処理を実行させるためのコード、(iii)コンピュータに、目的物の所有権を、目的物の販売者から、エスクローサービス提供者に移転する処理を実行させるためのコード、(iv)コンピュータに、目的物の所有権を、エスクローサービス提供者から、目的物の購入者に移転する処理を実行させるためのコード、(v)コンピュータに、目的物の代金に相当する額の暗号通貨を、目的物の購入者から、エスクローサービス提供者に移転する処理を実行させるためのコード、(vi)コンピュータに、目的物の代金に相当する額の暗号通貨を、エスクローサービス提供者から、目的物の販売者に移転する処理を実行させるためのコードなどが格納される。
上記の契約内容としては、契約を締結したことを示す情報、目的物の所有権を、当該目的物の購入者に、特定の金額で譲渡したことを示す情報などを例示することができる。上記の各コードが実行されることにより、各コードの目的に応じたトランザクションが生成されてよい。上記の各コードには、各コードを実行するための条件が定義されていてもよい。
図5の実施形態においては、権利に関する情報552が、公開鍵検証スクリプト546の領域に格納されている場合について説明した。しかしながら、権利に関する情報552が格納される領域は、公開鍵検証スクリプト546に限定されない。権利に関する情報552は、トランザクションデータ500内の任意の領域に格納されてよい。例えば、権利に関する情報552は、上記のコードを格納する領域に格納される。
図6は、ユーザ端末120の内部構成の一例を概略的に示す。本実施形態において、ユーザ端末120は、通信制御部610と、入出力部620と、トランザクションデータ生成部630と、格納部640と、要求生成部650とを備える。格納部640は、鍵情報格納部642と、トランザクションデータ格納部644とを有してよい。
通信制御部610は、トランザクション情報送信部、命令送信部、又は、要求送信部の一例であってよい。入出力部620は、入力部の一例であってよい。トランザクションデータ生成部630は、暗号化部、権利変動判定部、鍵生成部、又は、内容情報更新部の一例であってよい。格納部640は、内容情報格納部の一例であってよい。
本実施形態において、通信制御部610は、分散型台帳管理システム110又は複数のノード112との間の通信を制御する。目的物30が通信機能を有する場合、通信制御部610は、目的物30との間の通信を制御してもよい。通信制御部610は、外部の機器に情報を送信する送信部として機能してもよく、外部の機器からの情報を受信する受信部として機能してもよい。通信制御部610は、通信インターフェースであってもよい。通信制御部610は、複数の種類の通信方式に対応していてもよい。
[トランザクションデータの送信]
本実施形態において、通信制御部610は、トランザクションデータ生成部630が生成したトランザクションデータを、分散型台帳管理システム110に送信する。トランザクションデータ生成部630は、例えば、特定の権利の変動を検出した場合に、当該権利の変動に関するトランザクションデータを生成する。
一実施形態において、トランザクションデータは、当該トランザクションデータにより表現される権利の権利IDを含む。他の実施形態において、トランザクションデータにはメタデータが付与されており、当該メタデータ中に、トランザクションデータにより表現される権利の権利IDが含まれていてもよい。
トランザクションデータは、少なくとも、(i)特定の権利の変動における当該権利の1以上の承継先を示す承継先情報(例えば、図5のハッシュ値548である。)と、(ii)上記の権利の直前の変動に関するトランザクションデータの符号化データ(例えば、図5のハッシュ値522である。)とを含む。上記のトランザクションデータは、上記の権利変動に関するトランザクションデータの少なくとも一部を現在の権利者の秘密鍵で暗号化したデータ(例えば、図5の署名値530である。)をさらに含んでよい。
これにより、通信制御部610は、上記の権利変動に関するトランザクションデータを分散型台帳管理システム110に送信する場合に、上記の権利の権利IDと、当該権利変動に関するトランザクションデータの少なくとも一部を現在の権利者の秘密鍵で暗号化したデータ(例えば、図5の署名値530である。)とを対応付けて、分散型台帳管理システム110に送信することができる。なお、権利管理システム100が暗号通貨を利用して特定の権利を表現する場合、上記の権利IDは、当該暗号通貨の通貨識別情報であってよい。上記の暗号通貨は、ビットコイン2.0又は暗号通貨2.0のルール又はプロトコルに準じたプラットフォーム上で実現されてもよい。上記のプラットフォームとしては、カラードコイン(Colored Coins)、カウンターバーティ(Counterparty)、オムニ(Omni)、イーサリアム(Ethereum)などを例示することができる。
上述のとおり、トランザクションデータは、内容情報(例えば、図5の権利に関する情報552である。)をさらに含み得る。トランザクションデータは、内容情報が符号化されたデータを含んでもよい。内容情報は、分散型台帳管理システム110とは別の第2データベースシステム(内容情報格納部の一例であってよい。)、又は、当該第2データベースシステムに含まれるレコード、若しくは、当該レコードの一部であってもよい。
例えば、プラットフォームとして、ビットコイン又はカラードコインが利用される場合において、上記の権利変動において権利者に変更がないとき、トランザクションデータの承継先情報には、権利の承継先として被承継人を指定する情報が記載されてもよい。これにより、ビットコインなどのように残高情報以外の情報を取り扱うことが予定されていないプラットフォームを利用して、権利変動を表現することができる。他の実施形態において、プラットフォームとして、イーサリアムなどのスマートコントラクトが利用されるには、トランザクションデータの適切な領域に、内容変動を示すコードが記載される。
そこで、分散型台帳管理システム110とは別に、内容情報を記録する第2データベースシステムが存在する場合において、権利管理システム100を利用することにより、第2データベースシステムに格納された内容情報の存在又は信憑性を保証することができる。例えば、第2データベースシステムに格納される内容情報が生成されたり、第2データベースシステムに格納された内容情報が更新されたりするたびに、生成又は更新された内容情報に対応する権利の変動に関するトランザクションデータが生成される。このとき、トランザクションデータの適切な領域に、第2データベースシステムに格納された内容情報の符号化データ(例えば、ハッシュ値である。)が記録されてよい。生成されたトランザクションデータは、分散型台帳管理システム110に送信される。
上記のトランザクションデータがブロックチェーンに組み込まれることで、当該トランザクションデータの存在又は信憑性が保証される。その結果、第2データベースシステムに格納された内容情報の存在又は信憑性も保証される。新たに生成された内容情報の第2データベースへの格納処理、又は、第2データベースシステムに格納された内容情報の更新処理と、トランザクションデータの生成処理又は送信処理との順番は、特に限定されるものではない。第2データベースシステムは、内容情報格納部の一例であってよい。第2データベースシステムは、ユーザ端末120に配されてもよく、分散型台帳管理システム110及びユーザ端末120とは異なる情報処理装置上に構築されてもよい。
一実施形態において、第2データベースシステムに格納された内容情報へのアクセスが制限されてもよい。例えば、格納されたデータの読込み及び書出しの少なくとも一方が制限される。格納されたデータの閲覧、保存、送信、出力及び複製の少なくとも1つが制限されてもよい。上記のアクセス制限は、(i)第2データベースシステムによって実行されてもよく、(ii)分散型台帳管理システム110により実行されてもよく、(iii)第2データベースシステム、分散型台帳管理システム110、ユーザ端末120及び目的物30の少なくとも2つの間に介在する情報処理システムにより実行されてもよく、(iv)ユーザ端末120により実行されてもよい。
[各種要求の送信]
本実施形態において、通信制御部610は、要求生成部650が生成した各種の要求を送信する。例えば、通信制御部610は、上記の要求を、分散型台帳管理システム110に送信する。通信制御部610は、ユーザに対する要求を入出力部620に送信して、当該要求を出力させてもよい。目的物30が通信機能を有する場合、通信制御部610は、目的物30に対して、各種の要求又は命令を送信してもよい。通信制御部610は、目的物30から送信された情報を受信してもよい。通信制御部610は、上記の要求又は命令の実行に必要な情報を、当該要求又は命令に対応付けて送信してもよい。通信制御部610は、要求に対する応答を受信してもよい。
本実施形態において、入出力部620は、ユーザ端末120への入力を受け付ける。入出力部620は、ユーザから、任意の権利に対する指示を受け付けてよい。上記の指示は、ユーザ端末120の操作に関する指示であってもよい。例えば、ユーザが、ユーザ端末120を利用してオンラインゲームをプレイしている場合、当該ゲーム内でアイテムを入手するための操作(例えば、入力ボタンを押下する操作である。)は、上記の指示に該当する。
本実施形態において、入出力部620は、ユーザ端末120から情報を出力する。入出力部620としては、キーボード、ポインティングデバイス、タッチパネル、マイク、カメラ、センサ、GPS受信機などの入力装置、又は、表示装置、スピーカ、振動装置などの出力装置を例示することができる。入出力部620は、ユーザ・インタフェースであってもよい。
本実施形態において、トランザクションデータ生成部630は、トランザクションデータを生成する。トランザクションデータ生成部630は、生成されたトランザクションデータをトランザクションデータ格納部644に格納する。また、トランザクションデータ生成部630は、通信制御部610を介して、生成されたトランザクションデータを分散型台帳管理システム110に送信する。
トランザクションデータ生成部630は、ユーザAの秘密鍵122と、秘密鍵122に対応する公開鍵とを生成してよい。トランザクションデータ生成部630は、上記の秘密鍵122及び公開鍵を鍵情報格納部642に格納してもよい。
トランザクションデータの生成方法は特に限定されるものではないが、トランザクションデータ生成部630は、例えば、下記の手順により、現在の権利者がユーザAである権利Rのi番目の変動Viに関する移転用のトランザクションデータTiを生成する(iは2以上の正の整数である)。なお、変動Viにおいて権利Rは移転せず、権利Rの内容に変更が生じる場合には、承継先として被承継人を指定する承継先情報を含むトランザクションデータTiを生成してよい。また、発行用のトランザクションデータT1も、同様の手順により生成することができる。
まず、トランザクションデータ生成部630は、少なくとも、(i)変動Viにおける権利Rの1以上の承継先を示す承継先情報と、(ii)権利Rの直前の変動Vi−1に関するトランザクションデータTi−1の符号化データとを含む、仮のトランザクションデータを生成する。仮のトランザクションデータは、権利IDを含んでもよい。仮のトランザクションデータは、変動Viにおいて承継される権利Rの持分に関する情報を含んでもよい。仮のトランザクションデータは、変動Viにおける権利Rの内容の変更を示す内容情報を含んでもよい。上記の内容情報は、権利又は権利変動の内容を記録したデータの符号化データであってよい。
仮のトランザクションデータは、トランザクションデータTiの署名スクリプト部分に、任意のデータを仮置きしたデータであってもよい。任意のデータは、ユーザAの公開鍵のハッシュ値であってもよい。仮のトランザクションデータは、暗号化部による暗号化の対象となるトランザクションデータの少なくとも一部の一例であってよい。
次に、トランザクションデータ生成部630は、仮のトランザクションデータの全体を、ユーザAの秘密鍵122で暗号化して、トランザクションデータTiの署名値を生成する。その後、トランザクションデータ生成部630は、生成されたトランザクションデータTiの署名値と、ユーザAの公開鍵とを、トランザクションデータTiの適切な領域に配置して、最終的なトランザクションデータTiを生成する。
本実施形態において、トランザクションデータ生成部630は、権利Rの変動Viを検出した場合に、当該変動Viに関するトランザクションデータTiを生成する。一実施形態において、トランザクションデータ生成部630は、入出力部620がユーザからの指示を受け付けた場合に、当該指示の実行による権利変動の有無を判定する。他の実施形態において、トランザクションデータ生成部630は、通信制御部610が目的物30からの要求を受信した場合に、当該要求の実行による権利変動の有無を判定してもよい。トランザクションデータ生成部630は、目的物30からの要求に応じて、トランザクションデータTiを生成してもよい。
トランザクションデータ生成部630は、上記の指示の実行により権利変動Viが生じると判定した場合に、当該変動Viに関するトランザクションデータTiを生成する。この場合において、トランザクションデータTiが、権利又は権利変動の内容を記録したデータのURI又は符号化データを含む場合、トランザクションデータ生成部630は、分散型台帳管理システム110とは別の第2データベースシステムにアクセスして、上記の権利又は権利変動の内容を記録したデータを生成又は更新してよい。
トランザクションデータ生成部630は、入出力部620がユーザから指示を受け付けるたびに、当該指示の実行による権利変動の有無を判定してもよい。上記の指示は、特定の権利を変動させることを主目的とする処理又は操作に関する指示であってもよく、上記の指示は、特定の権利を変動させることを主目的としない処理又は操作に関する指示であってもよい。
格納部640は、様々な情報を格納する。鍵情報格納部642は、ユーザAの秘密鍵122を格納する。鍵情報格納部642は、秘密鍵122に対応する公開鍵を格納してもよい。鍵情報格納部642は、複数のユーザのそれぞれの秘密鍵及び公開鍵を格納してもよい。トランザクションデータ格納部644は、トランザクションデータ生成部630が生成したトランザクションデータを格納する。格納部640は、その他の情報を格納してもよい。
要求生成部650は、各種の要求を生成する。要求生成部650は、分散型台帳管理システム110に対する要求を生成してよい。例えば、要求生成部650は、分散型台帳管理システム110に対して、(i)特定のユーザが有する権利を示す情報の抽出、(ii)特定の権利を有する者を示す情報の抽出、又は、(iii)特定のユーザが特定の権利を有するか否かの判定を要求するデータを生成する。要求生成部650は、目的物30に対する要求を生成してもよく、ユーザAに対する要求を生成してもよい。
要求生成部650は、上記の要求と対応付けて、特定のユーザを識別するために用いられるユーザ識別情報を、分散型台帳管理システム110に送信してよい。ユーザ識別情報は、当該ユーザの秘密鍵に対応する公開鍵又は当該公開鍵の符号化データであってよい。ユーザ識別情報は、当該ユーザが利用するユーザ端末を識別するために用いられる端末識別情報であってもよい。要求生成部650は、上記の要求と対応付けて、特定の権利の権利IDを、分散型台帳管理システム110に送信してよい。
図7は、データテーブル700の一例を概略的に示す。データテーブル700は、分散型台帳管理システム110にブロックチェーンとして格納されている情報を表形式で表現した場合の一実施形態を示す。本実施形態において、データテーブル700は、トランザクションID702と、承継元のユーザID704と、承継先のユーザID706と、権利ID708と、持分情報710と、内容情報712とを含む。
トランザクションID702には、各トランザクションデータを識別する識別情報が記録される。被承継人のユーザID704には、各トランザクションデータに対応する権利変動における承継元のユーザのユーザ識別情報が記録される。承継人のユーザID706には、各トランザクションデータに対応する権利変動における承継先のユーザのユーザ識別情報が記録される。ユーザ識別情報としては、ユーザの名称、ユーザのアカウント名、ユーザのアドレス、ユーザの秘密鍵などを例示することができる。権利ID708には、各トランザクションデータにより表現される権利の権利IDが記録される。権利IDは、権利の目的物を識別するための情報であってもよく、権利の目的物及び当該権利の種類を識別するための情報であってもよい。持分情報710には、各トランザクションデータに対応する権利変動において承継される権利の持分に関する情報が記録される。内容情報712には、権利又は権利変動の内容を示す情報が記録される。内容情報712には、権利又は権利変動の内容を記録したデータのURI又は符号化データが記録されてもよい。
権利管理システム100が、暗号通貨を利用して特定の権利を表現する場合、被承継人のユーザID704は当該暗号通貨のFromアドレスに対応する。同様に、承継人のユーザID706は当該暗号通貨のToアドレスに対応し、権利ID708は当該暗号通貨の通貨識別情報(例えば、暗号化通貨の名称又は当該暗号化通貨のプラットフォームの名称である。)に対応し、持分情報710は当該暗号通貨の枚数に対応する。
図8は、データテーブル800の一例を概略的に示す。データテーブル800は、分散型台帳管理システム110とは別のデータベースシステムであって、内容情報を記録する第2データベースシステムに格納されるデータの一例を示す。この場合、データテーブル700の内容情報712には、例えば、内容情報を記録したデータのURI、又は、当該内容情報の符号化データが記録される。本実施形態において、データテーブル800は、内容情報804と、内容情報804を符号化して得られた符号化データ802とを対応付けて格納する。符号化データ802は、例えば、内容情報804のハッシュ値である。符号化データ802は、内容情報804及び他の情報を含むデータのハッシュ値であってもよい。上記の他の情報としては、タイムスタンプ、IPアドレスなどを例示することができる。この場合、符号化後のデータの使いまわしを防止することができる。
データテーブル700及びデータテーブル800を利用することで、データテーブル800に格納された内容情報804が改竄されていないことを実用上十分な精度で保証することができる。例えば、データテーブル700の内容情報712に、内容情報を記録したデータの符号化データが記録されている場合において、データテーブル700の内容情報712に記録された符号化データと、データテーブル800の符号化データ802に記録された符号化データとが一致すれば、データテーブル800に格納された内容情報804が改竄されていないと判断できる。なお、他の実施形態において、データテーブル800は、内容情報804と、内容情報804に関連する権利を識別するための権利IDとを対応付けて格納してもよい。
図16及び図17を用いて、分散型台帳管理システム110にブロックチェーンとして格納されている情報の他の例について説明する。図16は、データテーブル2200の一例を概略的に示す。データテーブル2200は、分散型台帳管理システム110にブロックチェーンとして格納されている情報を表形式で表現した一実施形態を示す。図17は、コントラクトオブジェクト2300の一例を概略的に示す。コントラクトオブジェクト2300は、データテーブル2200において、トランザクションIDがT1であるレコードに格納されたコードの一例である。コントラクトオブジェクト2300は、所有権を移転させるための命令と、権利の内容変動を記録するための命令とを含む。
本実施形態において、データテーブル2200は、図7に関連して説明した処理と同様の処理を、いわゆるスマートコントラクトの技術を利用して実現した場合におけるデータテーブルの一例である。本実施形態において、データテーブル2200は、トランザクションID2202と、操作アカウント2204と、ブロックチェーンに登録された実行対象のコード2206と、コードの呼出内容2208とを含む。データテーブル2200は、備考欄2210を有してもよい。
トランザクションID2202には、各トランザクションデータを識別する識別情報が格納される。操作アカウント2204には、各トランザクションデータに対応する権利変動を発生させたユーザを識別する識別情報が格納される。実行対象のコード2206には、例えば、ブロックチェーンに格納されたコードのうち、各トランザクションで実行対象となるコードのアドレスが記録される。コードの呼出内容2208には、各トランザクションにおける実行対象のコードが保持する関数のうち、実行対象となる関数と、当該関数の引数とが記録される。実行対象のコード2206及びコードの呼出内容2208は、コード格納領域の一例であってよい。備考欄2210には、例えば、コードの簡単な説明が格納される。
[権利管理システム900のシステム構成]
図9は、権利管理システム900のシステム構成の一例を概略的に示す。権利管理システム900によれば、キーレスエントリーシステム、レンタル又はシェアリングシステム、遠隔操作システム、エスクローシステム、決済システム、マッチングシステム、オークションシステム、オンラインゲームシステム、アップデートプログラムの配布システムなどを実現することができる。
本実施形態において、権利管理システム900は、ユーザ端末920を備える。権利管理システム900は、分散型台帳管理システム110をさらに備えてよい。権利管理システム900は、目的物930をさらに備えてよい。権利管理システム900は、権利管理サーバ940をさらに備えてよい。本実施形態において、権利管理サーバ940は、内容情報格納部942と、情報管理部944とを有する。権利管理システム900は、データ管理システムの一例であってよい。ユーザ端末920は、データ管理システム又は情報処理装置の一例であってよい。権利管理サーバ940又は内容情報格納部942は、第2データベースシステムの一例であってよい。権利管理サーバ940又は情報管理部944は、内容情報更新部の一例であってよい。
説明を簡単にすることを目的として、本実施形態においては、権利管理サーバ940が内容情報格納部942を備える場合について説明する。しかしながら、内容情報格納部942は本実施形態に限定されない。他の実施形態において、内容情報格納部942は、権利管理サーバ940の外部に配され、権利管理サーバ940との間で情報を送受することができるデータベースシステムであってもよい。
本実施形態において、ユーザ端末920は、目的物930に対する命令を生成し、当該命令を目的物930に送信する点で、ユーザ端末120と相違する。ユーザ端末920は、近距離無線通信又は有線通信により、上記の命令を、目的物930に直接送信してよい。上記の相違点以外の点に関し、ユーザ端末920は、ユーザ端末120と同様の構成を有してよい。
本実施形態において、目的物930は、通信機能を有し、分散型台帳管理システム110、ユーザ端末920及び権利管理サーバ940との間で情報を送受する点で、目的物30と相違する。目的物930は、通信ネットワーク10を介して、分散型台帳管理システム110、ユーザ端末920及び権利管理サーバ940との間で情報を送受してよい。目的物930は、近距離無線通信又は有線通信により、ユーザ端末920との間で情報を送受してもよい。目的物930は、権利管理サーバ940を介して、分散型台帳管理システム110及びユーザ端末920との間で情報を送受してもよい。
目的物930は、ユーザ端末920からの命令を受信し、分散型台帳管理システム110に格納されたブロックチェーンに基づいて当該命令の実行の可否を判断する点で、目的物30と相違する。上記の相違点以外の点に関し、目的物930は、目的物30と同様の構成を有してよい。本実施形態において、目的物930は、分散型台帳管理システム110などにおける情報処理において目的物930のコンピュータを特定又は識別するための秘密鍵932を格納していてもよい。なお、目的物930のコンピュータを特定したり又は識別したりする必要がない場合、目的物930は、秘密鍵932を格納していなくてもよい。
例えば、目的物930のコンピュータは、秘密鍵932を用いて、目的物930に関する権利変動を示すトランザクションデータを作成し、当該トランザクションデータを分散型台帳管理システム110に登録する。例えば、分散型台帳管理システム110に格納されたトランザクションデータに、秘密鍵932により暗号化された署名値が含まれている場合、分散型台帳管理システム110は、当該トランザクションデータが目的物930のコンピュータにより生成されたことを特定できる。これにより、分散型台帳管理システム110は、秘密鍵932を用いて、目的物930のコンピュータを特定したり又は識別したりすることができる。
[権利管理システム900による権利管理の概要]
本実施形態において、分散型台帳管理システム110は、目的物930に関する権利の変動履歴をブロックチェーンとして格納する。目的物930に関する権利の変動履歴は、ブロックチェーン中に、1又は複数のトランザクションデータとして格納される。本実施形態において、ブロックチェーン中には、例えば、(i)目的物930の現在の所有権者がユーザAであることを示すトランザクションデータ、(ii)目的物930のコンピュータに、目的物930に関する権利の変動履歴を示すデータにアクセスできる権利が設定されていることを示すトランザクションデータが含まれている。目的物930に関する権利の変動履歴を示すデータにアクセスできる権利としては、当該データへのアクセス権限(例えば、当該データそのものへのアクセス権限、又は、権利管理サーバ940、内容情報格納部942若しくは分散型台帳管理システム110へのアクセス権限である。)、目的物930の所有権などを例示することができる。
理解を容易にすることを目的として、本実施形態においては、(i)ユーザAが、目的物930の現在の所有権者であり、(ii)目的物930のコンピュータが、目的物930の所有権の変動履歴に関するデータにアクセスする権利を有し、(iii)ユーザAが、ユーザ端末920を利用して目的物930を操作する場合を例として、権利管理システム900について説明する。目的物930の所有権は、目的物930に関する権利の一例であってよい。
この場合において、一実施形態によれば、分散型台帳管理システム110に格納されたブロックチェーン中には、目的物930の所有権に対応する暗号通貨を2枚発行するためのトランザクションと、1枚の暗号通貨の所有権又は使用権をユーザAに移転するためのトランザクションと、もう1枚の暗号通貨の所有権又は使用権を目的物930のコンピュータに移転するためのトランザクションとが含まれる。これにより、秘密鍵122を有するユーザAと、秘密鍵932を有する目的物930のコンピュータとの両方に対して、目的物930の所有権の変動履歴に関するデータを、内容情報格納部942若しくは分散型台帳管理システム110に書き込んだり、当該データを、内容情報格納部942若しくは分散型台帳管理システム110から読み取ったりする権限を付与することができる。
目的物930の所有権に対応する暗号通貨は、例えば、暗号通貨の発行時に、当該暗号通貨の名称として、目的物930の所有権を示す識別記号を含む文字列を設定することで生成することができる。なお、上記の暗号通貨の発行枚数は3枚以上であってもよい。また、各暗号通貨に割り当てられた所有権の持分比率は、等しくてもよく、等しくなくてもよい。
他の実施形態によれば、目的物930の所有権に対応する第1暗号通貨を1枚発行するためのトランザクションと、第1暗号通貨の所有権又は使用権をユーザAに移転するためのトランザクションと、目的物930の所有権の変動履歴を示すデータにアクセスする権利に対応する第2暗号通貨を発行するためのトランザクションと、第2暗号通貨の所有権又は使用権を目的物930のコンピュータに移転するためのトランザクションとが含まれる。これにより、秘密鍵122を有するユーザAに対して、目的物930の所有権の変動履歴に関するデータを、内容情報格納部942若しくは分散型台帳管理システム110に書き込んだり、当該データを、内容情報格納部942若しくは分散型台帳管理システム110から読み取ったりする権限を付与することができる。一方、秘密鍵932を有する目的物930のコンピュータに対しては、目的物930の所有権の変動履歴に関するデータを、内容情報格納部942若しくは分散型台帳管理システム110から読み取る権限を付与することができる。
第1暗号通貨は、例えば、第1暗号通貨の発行時に、当該暗号通貨の名称として、目的物930の所有権を示す識別記号を含む文字列を設定することで生成することができる。第2暗号通貨は、例えば、第2暗号通貨の発行時に、当該暗号通貨の名称として、目的物930の所有権を示す識別記号と、アクセス権限を示す記号とを含む文字列を設定することで生成することができる。アクセス権限としては、書込権限、読取権限、実行権限及びこれらの組み合わせを例示することができる。なお、第1暗号通貨の発行枚数は2枚以上であってもよく、第2暗号通貨の発行枚数は2枚以上であってもよい。また、各暗号通貨に割り当てられた権利の持分比率は、等しくてもよく、等しくなくてもよい。
本実施形態において、目的物930の現在の所有権者であるユーザAは、ユーザ端末920を操作して、目的物930を操作する為の処理を実行する。ユーザ端末920は、ユーザAからの入力に応じて、目的物930に対する命令を生成する。また、ユーザ端末920は、目的物930に対する命令と、ユーザAのユーザ識別情報とを目的物930に送信する。
目的物930を操作する為の処理としては、(i)目的物930の機能を制限するための処理、(ii)目的物930に設定された機能制限を解除するための処理、(iii)目的物930のコンピュータにプログラム(例えば、アップデートプログラムである。)をインストールするための処理、(iv)目的物930のコンピュータに特定のプログラム又は命令を実行させるための処理などを例示することができる。目的物930の機能を制限する手段としては、目的物930に設けられた施錠装置の施錠、ロック機能又はアクセス制限機能の有効化などを例示することができる。目的物930の機能制限を解除する手段としては、目的物930に設けられた施錠装置の開錠、ロック機能又はアクセス制限機能の無効化などを例示することができる。
本実施形態において、目的物930は、ユーザ端末920からの命令を受け取ると、分散型台帳管理システム110にアクセスして、ユーザAが当該命令を実行する権原又は権限を有するか否かを判定する。上記の判定処理は、分散型台帳管理システム110において実行されてもよい。目的物930は、ユーザAが当該命令を実行する権原又は権限を有すると判断した場合、ユーザ端末920からの命令を実行する。一方、目的物930は、ユーザAが当該命令を実行する権原又は権限を有しないと判断した場合、ユーザ端末920からの命令を破棄する。
上記の判定処理の具体的な方法は特に制限されるものではないが、例えば、下記の手順により実行される。一実施形態によれば、目的物930のコンピュータは、権利管理サーバ940又は分散型台帳管理システム110にアクセスして、目的物930の現在の所有権者に関する情報を要求する。権利管理サーバ940又は分散型台帳管理システム110は、まず、目的物930のコンピュータが、目的物930の現在の所有権者に関する情報にアクセスする権限を有するか否かを判定する。権利管理サーバ940又は分散型台帳管理システム110は、目的物930のコンピュータがアクセス権限を有すると判断した場合、目的物930の現在の所有権者に関する情報を、目的物930のコンピュータに送信する。目的物930のコンピュータは、ユーザ端末920から受信したユーザ識別情報と、権利管理サーバ940又は分散型台帳管理システム110から取得した目的物930の現在の所有権者に関する情報とを比較して、ユーザAが上記の命令の実行権限を有するか否かを判定する。一方、権利管理サーバ940又は分散型台帳管理システム110は、目的物930のコンピュータがアクセス権限を有しないと判断した場合、上記の要求を破棄する。
他の実施形態によれば、目的物930のコンピュータは、権利管理サーバ940又は分散型台帳管理システム110にアクセスして、ユーザAが命令を実行する権原又は権限を有するか否かに関する判定を要求する。例えば、目的物930のコンピュータは、上記の要求とともに、ユーザ端末920から受信したユーザ識別情報を、権利管理サーバ940又は分散型台帳管理システム110に送信する。権利管理サーバ940又は分散型台帳管理システム110は、まず、目的物930のコンピュータが、目的物930の現在の所有権者に関する情報にアクセスする権限を有するか否かを判定する。権利管理サーバ940又は分散型台帳管理システム110は、目的物930のコンピュータがアクセス権限を有すると判断した場合、目的物930のコンピュータから受信したユーザ識別情報と、分散型台帳管理システム110に登録された目的物930の現在の所有権者に関する情報とを比較して、ユーザAが上記の命令の実行権限を有するか否かを判定する。一方、権利管理サーバ940又は分散型台帳管理システム110は、目的物930のコンピュータがアクセス権限を有しないと判断した場合、上記の要求を破棄する。
本実施形態において、内容情報格納部942は、権利変動の内容を示す内容情報を格納する。内容情報格納部942は、内容情報と、当該内容情報の符号化データとを対応付けて格納してよい。内容情報格納部942は、データテーブル800を格納してもよい。
本実施形態において、情報管理部944は、権利管理システム900において利用される各種の情報を管理する。本実施形態において、情報管理部944は、内容情報を生成又は更新することにより、内容情報格納部942に格納された内容情報を管理する。情報管理部944は、内容情報格納部942及び分散型台帳管理システム110の少なくとも一方にアクセスするためのインターフェースであってもよい。
一実施形態において、情報管理部944は、権利又は権利の内容の変動に関する情報を管理する。例えば、情報管理部944は、ユーザAがユーザ端末920を操作した結果、権利又は権利の内容に変動を生じさせる処理が実行された場合に、ユーザ端末920から、(i)当該変動に関する内容情報と、(ii)当該変動に関する内容情報の符号化データを含んだトランザクションデータとを受信する。
情報管理部944は、受信した内容情報を、内容情報格納部942に格納する。情報管理部944は、受信した内容情報の符号化データを生成して、当該内容情報と、当該内容情報の符号化データとを対応付けて格納してよい。一方、情報管理部944は、受信した内容情報を符号化して得られた符号化データと、受信したトランザクションに含まれる内容情報の符号化データとを比較する。両者が一致する場合、情報管理部944は、受信したトランザクションデータを、分散型台帳管理システム110に登録する。
本実施形態によれば、内容情報格納部942に格納されている内容情報が、内容情報格納部942に格納された時点から改竄されていないことを、実用的に十分な精度で保証することができる。また、遅くとも、上記のトランザクションデータを含むブロックが生成された時刻には、内容情報が登録されていたことを、実用的に十分な精度で保証することができる。
目的物930のコンピュータは、例えば、下記の手順により、内容情報格納部942に格納されている内容情報の改竄の有無を判定する。まず、目的物930のコンピュータは、権利管理サーバ940にアクセスして、改竄の有無の判定対象となる内容情報を要求する。例えば、目的物930のコンピュータは、権利管理サーバ940に目的物930を示す権利ID又は目的物930の特定の権利を示す権利IDを送信して、当該権利IDに対応付けられた内容情報を要求する。権利管理サーバ940は、目的物930のコンピュータからの要求を受信すると、分散型台帳管理システム110にアクセスして、目的物930のコンピュータから取得した権利IDに対応するトランザクションデータに含まれる符号化データを取得する。権利管理サーバ940は、内容情報格納部942にアクセスして、分散型台帳管理システム110から取得した符号化データに対応する内容情報を取得する。権利管理サーバ940は、内容情報格納部942から取得した内容情報を、目的物930のコンピュータに送信する。これにより、目的物930のコンピュータは、内容情報格納部942から、判定対象となる内容情報を取得する。
次に、目的物930のコンピュータは、内容情報格納部942から取得した内容情報を符号化する。目的物930のコンピュータは、分散型台帳管理システム110にアクセスして、内容情報格納部942から取得した内容情報の符号化データが、分散型台帳管理システム110に、目的物930のコンピュータから取得した権利IDと対応付けられて登録されているか否かを判定する。例えば、目的物930のコンピュータは、内容情報格納部942から取得した内容情報の符号化データが、分散型台帳管理システム110に権利IDと対応付けられて登録されている最新の符号化データと一致するか否かを判定する。内容情報格納部942から取得した内容情報の符号化データが分散型台帳管理システム110に登録されている場合、目的物930のコンピュータは、内容情報が改竄されていないと判定する。一方、上記の符号化データが分散型台帳管理システム110に登録されていない場合、目的物930のコンピュータは、内容情報が改竄されていると判定する。
また、本実施形態によれば、内容情報そのものが分散型台帳管理システム110に登録されるのではなく、内容情報の符号化データが分散型台帳管理システム110に登録される。これにより、第三者が分散型台帳管理システム110に登録された情報にアクセスしたとしても、内容情報そのものの漏えいを防止することができる。
他の実施形態において、情報管理部944は、内容情報として、目的物930を遠隔操作するためのコードを管理する。目的物930の遠隔操作としては、(i)目的物930の機能を制限するための処理、(ii)目的物930に設定された機能制限を解除するための処理、(iii)目的物930のコンピュータにプログラム(例えば、アップデートプログラムである。)をインストールするための処理、(iv)目的物930のコンピュータに特定のプログラム又は命令を実行させるための処理などを例示することができる。
例えば、目的物930に関する権利Rの被承継人たるユーザAと、権利Rの承継人との間で、権利Rの承継に関する契約が成立した場合、ユーザAは、ユーザ端末920を操作して、契約内容を登録するための処理を実行する。この場合において、情報管理部944は、ユーザ端末920から、(i)契約内容を登録するためのコードと、(ii)上記のコードの符号化データを含むトランザクションデータとを受信する。契約内容を登録するためのコードは、目的物930を遠隔操作するためのコードを含んでもよい。
情報管理部944は、受信したコードを、内容情報格納部942に格納する。情報管理部944は、受信したコードの符号化データを生成して、当該コードと、当該コードの符号化データとを対応付けて格納してよい。また、情報管理部944は、受信したトランザクションデータを、分散型台帳管理システム110に登録する。上記のトランザクションデータは、上記のコードの符号化データを含んでいてもよい。
その後、目的物930のコンピュータは、情報管理部944にアクセスして、目的物930に対して送信されたデータの有無を問い合わせる。目的物930のコンピュータが、情報管理部944にアクセスするタイミングとしては、(i)目的物930のコンピュータが、ユーザ端末920から、何らかの命令を受信した場合、(ii)目的物930のコンピュータが、情報管理部944から、目的物930に関連する権利に関する内容情報が生成又は更新されたことを示す情報を受信した場合、(iii)予め定められた時刻が到達した場合、(iV)前回のアクセスから、予め定められた時間が経過した場合などを例示することができる。
この場合において、上記の問い合わせには、符号化後のデータの使いまわしを防止するための情報を、秘密鍵932を利用して符号化又は暗号化したデータが含まれてよい。符号化後のデータの使いまわしを防止するための情報としては、タイムスタンプ、IPアドレスなどを例示することができる。目的物の秘密鍵932を利用することにより、情報管理部944にアクセスしている目的物930の正当性を保証することができる。
情報管理部944は、目的物930からの問い合わせを受信すると、目的物930による分散型台帳管理システム110に登録されたデータへのアクセスの許否を判定する。目的物930のコンピュータが、分散型台帳管理システム110に登録されたデータにアクセスする権限を有する場合、情報管理部944は、分散型台帳管理システム110にアクセスして、分散型台帳管理システム110に登録されたデータを取得し、目的物930に送信する。一方、目的物930のコンピュータが、分散型台帳管理システム110に登録されたデータにアクセスする権限を有しない場合、情報管理部944は、分散型台帳管理システム110へのアクセスが拒否されたことを示す情報を、目的物930に送信する。
さらに他の実施形態において、情報管理部944は、内容情報として、目的物930を遠隔操作するためのコードの代わりに、ユーザ端末920から目的物930に送信するデータを管理してよい。上記のデータの具体的な管理方法は、目的物930を遠隔操作するためのコードの管理方法と同様であってよい。
本実施形態において、情報管理部944が、(i)内容情報格納部942に格納される内容情報を管理したり、(ii)ユーザ端末920又は目的物930と、分散型台帳管理システム110との間の通信を中継したりする場合について説明した。しかしながら、情報管理部944は本実施形態に限定されない。他の実施形態において、情報管理部944は、権利管理サーバ940により提供される各種のサービスを管理してもよい。
例えば、権利管理サーバ940は、遠隔操作サービス、情報配信サービス、マッチングサービス、オークションサービス、レンタルサービス又はシェアリングサービス、オンラインゲームサービス、エスクローサービス、決済サービスなどを提供する。情報管理部944は、上記のサービスにおけるユーザ・インタフェース、ユーザに提供する情報、ユーザ情報などを管理することにより、上記のサービスを管理する。
本実施形態においては、各ユーザの秘密鍵は各ユーザのユーザ端末に格納されており、各ユーザのユーザ端末が、トランザクションデータを生成する場合について説明した。しかしながら、権利管理システム900は本実施形態に限定されない。他の実施形態において、例えば、情報管理部944が、各ユーザの秘密鍵を管理してもよい。この場合、情報管理部944が、各ユーザの秘密鍵を利用して、トランザクションデータを生成してもよい。例えば、情報管理部944は、ユーザAのユーザ端末920から内容情報を受信すると、ユーザAの秘密鍵を利用して、当該内容情報の符号化データを含むトランザクションデータを生成してよい。情報管理部944は、生成されたトランザクションデータを分散型台帳管理システム110に登録してよい。
図10は、ユーザ端末920の内部構成の一例を概略的に示す。本実施形態において、ユーザ端末920は、通信制御部610と、入出力部620と、トランザクションデータ生成部630と、格納部640と、要求生成部650と、命令生成部1070とを備える。格納部640は、例えば、鍵情報格納部642と、トランザクションデータ格納部644とを有する。通信制御部610は、命令送信部の一例であってよい。ユーザ端末920は、命令生成部1070を備える点を除いて、ユーザ端末120と同様の構成を有してよい。そこで、上記の相違点以外の構成については説明を省略する。
命令生成部1070は、目的物930に対する命令を生成する。目的物930に対する命令としては、目的物930を遠隔操作するためのコード、契約内容を登録するためのコードなどを例示することができる。命令生成部1070は、生成された命令を、通信制御部610を介して目的物930に送信してよい。命令生成部1070は、生成された命令と、ユーザAのユーザ識別情報とを対応付けて、目的物930に送信してもよい。上記の命令としては、目的物930の機能に関する制限を実施するための命令、目的物930の機能に関する制限を解除するための命令、目的物930の状態に関する情報を報告させるための命令などを例示することができる。
命令生成部1070は、例えば、生成された命令を、トランザクションデータ生成部630に送信する。一実施形態において、トランザクションデータ生成部630は、命令生成部1070が生成した命令を含むトランザクションデータを生成する。他の実施形態において、トランザクションデータ生成部630は、命令生成部1070が生成した命令の符号化データを含むトランザクションデータを生成する。トランザクションデータ生成部630により生成されたトランザクションデータは、目的物930に直接送信されてもよく、権利管理サーバ940を介して目的物930に送信されてもよい。
図11は、目的物930の内部構成の一例を概略的に示す。本実施形態において、目的物930は、入出力部1110と、制御部1120と、格納部1130とを備える。制御部1120は、例えば、通信制御部1122と、要求生成部1124と、機能制御部1126と、実行部1128とを有する。格納部1130は、例えば、権利識別情報格納部1132と、解除条件格納部1134とを有する。通信制御部1122は、要求送信部、応答受信部又は命令受信部の一例であってよい。機能制御部1126は、制限制御部の一例であってよい。実行部1128は、命令実行部の一例であってよい。
本実施形態において、入出力部1110は、目的物930への入力を受け付ける。入出力部1110は、ユーザからの指示を受け付けてもよい。上記の指示は、目的物930の操作に関する指示であってもよい。本実施形態において、入出力部1110は、目的物930から情報を出力する。入出力部1110としては、キーボード、ポインティングデバイス、タッチパネル、マイク、カメラ、センサ、GPS受信機などの入力装置、又は、表示装置、スピーカ、振動装置、ビーコン発信装置などの出力装置を例示することができる。入出力部1110は、ユーザ・インタフェースであってもよい。
本実施形態において、制御部1120は、目的物930を制御する。本実施形態において、通信制御部1122は、ユーザ端末920との間の通信を制御する。通信制御部1122は、権利管理サーバ940との間の通信を制御してもよく、分散型台帳管理システム110又は複数のノード112との間の通信を制御してもよい。通信制御部1122は、外部の機器に情報を送信する送信部として機能してもよく、外部の機器からの情報を受信する受信部として機能してもよい。通信制御部1122は、通信インターフェースであってもよい。通信制御部1122は、複数の種類の通信方式に対応していてもよい。通信制御部1122は、移動体通信、無線MAN、無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)、及び、NFCの中から選ばれる2つ以上の種類の通信方式に対応してもよい。
本実施形態において、通信制御部1122は、ユーザ端末920から、目的物930に対する命令を取得する。通信制御部1122は、ユーザ端末920から、目的物930に対する命令と、ユーザAのユーザ識別情報とを取得してもよい。通信制御部1122は、上記の命令又は情報を、権利管理サーバ940を介して取得してもよい。通信制御部1122は、ユーザ端末920又は権利管理サーバ940から受け取った情報を要求生成部1124に転送してよい。
本実施形態において、通信制御部1122は、他の情報処理装置に対する各種の要求を、当該他の情報処理装置に送信する。他の情報処理装置としては、分散型台帳管理システム110、権利管理サーバ940などを例示することができる。通信制御部1122は、要求生成部1124が生成した要求を、権利管理サーバ940又は分散型台帳管理システム110に送信してよい。通信制御部1122は、上記の要求又は命令の実行に必要な情報を、当該要求又は命令に対応付けて送信してもよい。通信制御部1122は、権利管理サーバ940又は分散型台帳管理システム110から、上記の要求に対する応答を受信してよい。通信制御部1122は、上記の応答を機能制御部1126に転送してよい。
本実施形態において、要求生成部1124は、各種の要求を生成する。要求生成部1124は、権利管理サーバ940又は分散型台帳管理システム110に対する要求を生成してよい。例えば、通信制御部1122が目的物930に対する命令を受信した場合、要求生成部1124は、権利管理サーバ940又は分散型台帳管理システム110にアクセスして、ユーザAが当該命令を実行する権原又は権限を有するか否かを判定するための要求を生成する。要求生成部1124は、生成された要求を、通信制御部1122を介して、権利管理サーバ940又は分散型台帳管理システム110に送信してよい。
第1の実施形態において、要求生成部1124は、上記の命令に関連する権利の現在の権利者のユーザ識別情報の抽出を要求するためのデータを生成する。要求生成部1124は、生成されたデータと、上記の命令に関連する権利の権利IDとを、権利管理サーバ940又は分散型台帳管理システム110に送信してよい。
第2の実施形態において、要求生成部1124は、ユーザAが上記の命令に関連する権利を有するか否かの判定を要求するためのデータを生成する。要求生成部1124は、生成された要求と、ユーザAのユーザ識別情報と、上記の命令に関連する権利の権利IDとを、分散型台帳管理システム110に送信してよい。上記の命令に関連する権利は、権利識別情報格納部1132に格納された権利の少なくとも一部の一例であってよい。
第3の実施形態において、要求生成部1124は、ユーザAが有する1以上の権利の権利IDの抽出を要求するためのデータを生成する。要求生成部1124は、生成されたデータと、ユーザAのユーザ識別情報とを、権利管理サーバ940又は分散型台帳管理システム110に送信してよい。
本実施形態において、機能制御部1126は、目的物930の機能を制御する。機能制御部1126は、目的物930の機能に関する制限の実施又は解除を制御してよい。例えば、機能制御部1126は、要求生成部1124が生成した要求に対する、権利管理サーバ940又は分散型台帳管理システム110からの応答に基づいて、ユーザAが、目的物930に対する命令を実行する権原又は権限を有するか否かを判定する。ユーザAが、目的物930に対する命令を実行する権原又は権限を有すると判定された場合、機能制御部1126は、目的物930の機能に関する制限を解除することを決定し、命令実行部1128に上記の命令を実行させる。
一方、ユーザAが、目的物930に対する命令を実行する権原又は権限を有しないと判定された場合、機能制御部1126は、目的物930の機能に関する制限を実施する又は当該制限を解除しないことを決定し、上記の命令を破棄する。機能制御部1126は、上記の命令を破棄する代わりに、当該命令を処理しないことにしてもよい。また、このとき、機能制御部1126は、ユーザAが上記の命令を実行するための権原又は権限を有していないことを示す情報を、通信制御部1122を介してユーザ端末920に送信してよい。機能制御部1126は、ユーザAが上記の命令を実行するための権原又は権限を有していないことを示す情報を、入出力部1110に出力してもよい。
第1の実施形態において、機能制御部1126は、分散型台帳管理システム110による抽出結果と、ユーザAのユーザ識別情報とを比較することで、ユーザAが当該命令を実行する権原又は権限を有するか否かを判定してよい。例えば、分散型台帳管理システム110による抽出結果が、ユーザAのユーザ識別情報と合致する場合、機能制御部1126は、ユーザAが当該命令を実行する権原又は権限を有すると判定する。
第2の実施形態において、機能制御部1126は、権利管理サーバ940又は分散型台帳管理システム110による判定結果に基づいて、ユーザAが当該命令を実行する権原又は権限を有するか否かを判定してよい。例えば、権利管理サーバ940又は分散型台帳管理システム110による判定結果が、ユーザが上記の命令に関連する権利を有することを示す場合、機能制御部1126は、ユーザAが当該命令を実行する権原又は権限を有すると判定する。
第3の実施形態において、機能制御部1126は、権利管理サーバ940又は分散型台帳管理システム110による抽出結果と、上記の命令に関連する権利の権利IDとを比較することで、ユーザAが当該命令を実行する権原又は権限を有するか否かを判定してよい。例えば、権利管理サーバ940又は分散型台帳管理システム110による抽出結果に含まれる権利IDが、権利識別情報格納部1132に格納されている権利ID(特に、上記の命令に関連する権利の権利IDである。)の中に含まれている場合、機能制御部1126は、ユーザAが当該命令を実行する権原又は権限を有すると判定する。
さらに他の実施形態において、機能制御部1126は、解除条件格納部1134を参照して、上記の命令に関連する権利を行使するための条件(解除条件と称する場合がある。)の有無を判定する。上記の命令に関連する権利について解除条件が設定されておらず、ユーザAが当該命令を実行する権原又は権限を有する場合、機能制御部1126は、目的物930の機能に関する制限を解除することを決定し、命令実行部1128に上記の命令を実行させる。
一方、上記の命令に関連する権利について解除条件が設定されている場合、機能制御部1126は、権利管理サーバ940又は分散型台帳管理システム110にアクセスして、上記の命令に関連する権利の解除条件の充足性を判定するための情報を取得する。例えば、機能制御部1126は、上記の命令に関連する権利の内容情報、目的物930に設定されている他の権利の権利ID及び内容情報などを取得する。機能制御部1126は、権利管理サーバ940又は分散型台帳管理システム110から取得した情報に基づいて、解除条件が満たされているか否かを判定する。
解除条件が満たされており、ユーザAが当該命令を実行する権原又は権限を有する場合、機能制御部1126は、目的物930の機能に関する制限を解除することを決定し、命令実行部1128に上記の命令を実行させる。一方、解除条件が満たされていない場合、機能制御部1126は、目的物930の機能に関する制限を実施する又は当該制限を解除しないことを決定し、上記の命令を破棄する。この場合、機能制御部1126は、解除条件が満たされていないことを示す情報を、ユーザ端末920に送信したり、入出力部1110に出力したりしてよい。
実行部1128は、通信制御部1122が受信した、目的物930に対する命令を実行する。実行部1128は、機能制御部1126が目的物930の機能に関する制限を解除することを決定した場合に、上記の命令を実行してよい。
格納部1130は、各種の情報を格納する。権利識別情報格納部1132は、目的物930に設定されている権利の権利IDを格納する。権利識別情報格納部1132は、目的物930に設定されている権利の権利IDを、目的物930の機能若しくは処理、又は、目的物930に対する命令と対応付けて格納してもよい。解除条件格納部1134は、目的物930の機能に関する制限を解除するための解除条件を格納する。格納部1130は、その他の情報を格納してもよい。
図12は、権利管理システム900における情報処理の一例を概略的に示す。図12を用いて、権利管理システム900におけるトランザクションデータの登録処理の一実施形態について説明する。なお、本実施形態において、内容情報格納部942は、ユーザAが有する1以上の権利のそれぞれの内容情報を格納している。本実施形態よれば、まず、ステップ1202(ステップをSと省略して記載する場合がある。)において、ユーザ端末920の入出力部620が、ユーザAからの入力を受け付ける。上記の入力は、ユーザ端末920の操作に関する指示であってよい。
上記の指示により、ユーザAが有する権利Rにi番目の変動Viが生じる場合、S1204において、トランザクションデータ生成部630は、変動Viに関する移転用のトランザクションデータTiを生成する(iは2以上の正の整数である)。例えば、トランザクションデータ生成部630は、トランザクションデータTiを生成する工程において、権利R又は権利変動Viの内容を示す内容情報を生成する。また、生成された内容情報を符号化して、内容情報の符号化データ(例えば、ハッシュ値である。)を生成する。トランザクションデータ生成部630は、上記の内容情報の符号化データをトランザクションデータTiの適切な位置に配置する。これにより、内容情報の符号化データを含むトランザクションデータTiが生成される。
トランザクションデータ生成部630は、トランザクションデータTiを生成する工程において、権利Rの変動Viに関するトランザクションデータTiの少なくとも一部を、ユーザAの秘密鍵122で暗号化することによりトランザクションデータTiの署名値を生成し、当該署名値をトランザクションデータTiの適切な領域に配置してよい。これにより、トランザクションデータTiが、権利Rの権利者であるユーザAにより生成されたことを保証することができる。
その後、トランザクションデータ生成部630は、生成されたトランザクションデータTiを、分散型台帳管理システム110に参加する複数のノード112のうちの1つに送信する。本実施形態において、トランザクションデータ生成部630は、トランザクションデータTiを、権利管理サーバ940を介して、分散型台帳管理システム110に参加するノード112に送信する。より具体的には、トランザクションデータ生成部630は、内情情報と、トランザクションデータTiとを、一旦、権利管理サーバ940に送信する。
このとき、トランザクションデータ生成部630は、署名値を含むトランザクションデータTiを、権利Rの権利IDと対応付けて送信してよい。一実施形態によれば、トランザクションデータ生成部630は、上記の署名値及び上記の権利IDを含むトランザクションデータTiを送信する。他の実施形態によれば、トランザクションデータ生成部630は、上記の署名値を含むトランザクションデータTiに、上記の権利IDを含むメタデータを付与したデータを送信する。
なお、変動Viにおいて、権利Rは移転せず、権利Rの内容に変更が生じる場合、トランザクションデータ生成部630は、承継先として被承継人(ユーザAである。)を指定する承継先情報を含むトランザクションデータTiを生成してよい。また、目的物930に新たな権利を設定する場合、トランザクションデータ生成部630は、発行用のトランザクションデータTi(iは1である。)を生成してよい。
S1212において、権利管理サーバ940の情報管理部944が、ユーザ端末920から、内容情報及びトランザクションデータTiを受信する。情報管理部944は、ユーザ端末920から受信したデータの正当性を確認する。例えば、情報管理部944は、ユーザ端末920から受信した内容情報を符号化して、内容情報の符号化データを生成する。情報管理部944は、(i)ユーザ端末920から受信した内容情報の符号化データと、(ii)ユーザ端末920から受信したトランザクションデータTiに含まれる符号化データとを比較する。両者が一致する場合、情報管理部944は、ユーザ端末920から受信したデータは正当なデータであると判定する。
上記のデータの正当性が確認された場合、S1214において、情報管理部944が、内容情報格納部942に格納された内容情報を更新する。また、S1216において、情報管理部944は、ユーザ端末920から受信したトランザクションデータTiを、分散型台帳管理システム110に転送する。これにより、トランザクションデータTiが、権利管理サーバ940を介して、ユーザ端末920から分散型台帳管理システム110に送信される。内容情報の更新は、トランザクションデータの転送前であってもよく、トランザクションデータの転送後であってもよい。
S1222において、分散型台帳管理システム110に参加する複数のノード112のうちの1つが、権利管理サーバ940から、トランザクションデータTiを受信する。権利管理サーバ940からトランザクションデータTiを受信したノード112は、他のノード112に、トランザクションデータTiを転送する。複数のノード112のそれぞれは、トランザクションデータTiと、予め定められた期間に受信した他のトランザクションデータとを一纏めにして、新たなブロックを生成する。
次に、複数のノード112のそれぞれは、新たなブロックの承認処理を実行する。1台のノード112によって新たなブロックが承認されると、当該ノードのブロックチェーン生成部220が、当該ブロックを既存のブロックチェーンに追加して、新たなブロックチェーンを生成する。S1224において、複数のノード112の間で、新たなブロックチェーンが共有される。これにより、トランザクションデータの登録処理が完了する。
図13は、権利管理システム900における情報処理の一例を概略的に示す。図13を用いて、権利管理システム900における目的物930の遠隔操作処理の第1の実施形態について説明する。本実施形態によれば、まず、S1302において、ユーザ端末920の入出力部620が、ユーザAからの入力を受け付ける。上記の入力は、目的物930の操作に関する指示であってよい。上記の操作は、目的物930のロックを解除するための操作であってもよい。
S1304において、命令生成部1070が、上記の指示に対応する目的物930に対する命令を生成し、当該命令を目的物930に送信する。一実施形態において、命令生成部1070は、通信ネットワーク10を介して、当該命令を目的物930に送信する。命令生成部1070は、当該命令を、権利管理サーバ940を介して、目的物930に送信してもよい。他の実施形態によれば、命令生成部1070は、当該命令を、近距離無線通信により、P2Pで目的物930に送信する。
S1312において、目的物930の通信制御部1122が、ユーザ端末920からの命令を受信して、当該命令を要求生成部1124に転送する。要求生成部1124は、上記の命令に関連する権利の現在の権利者のユーザ識別情報の抽出を要求するためのデータを生成する。要求生成部1124は、生成されたデータと、上記の命令に関連する権利の権利IDとを、分散型台帳管理システム110に送信する。なお、分散型台帳管理システム110と、ユーザ端末920及び目的物930との間に、権利管理サーバ940が介在している場合、要求生成部1124は、生成されたデータと、上記の命令に関連する権利の権利IDとを、権利管理サーバ940に送信してもよい。
S1314において、分散型台帳管理システム110が、目的物930からの要求を受信する。分散型台帳管理システム110は、目的物930から受け取った1又は複数の権利IDで示される権利のそれぞれを表現するブロックチェーンにアクセスする。その後、分散型台帳管理システム110は、目的物930から受け取った1又は複数の権利IDで示される権利のそれぞれについて、現在の権利者のユーザ識別情報を抽出する。分散型台帳管理システム110は、目的物930からの要求に対する応答として、ブロックチェーンから抽出された情報を、目的物930に送信する。
分散型台帳管理システム110と、ユーザ端末920及び目的物930との間に、権利管理サーバ940が介在している場合、例えば、権利管理サーバ940が、分散型台帳管理システム110にアクセスして、目的物930からの要求に応じた情報をブロックチェーンから抽出する。また、権利管理サーバ940は、目的物930からの要求に対する応答として、ブロックチェーンから抽出された情報を、目的物930に送信する。
S1316において、目的物930の通信制御部1122が、権利管理サーバ940又は分散型台帳管理システム110からの応答を受信して、当該応答を機能制御部1126に転送する。機能制御部1126は、権利管理サーバ940又は分散型台帳管理システム110から受信した抽出結果と、ユーザ端末920から受信したユーザAのユーザ識別情報とに基づいて、ユーザAが目的物930に対する命令を実行する権原又は権限を有するか否かを判定する。
ユーザAが、目的物930に対する命令を実行する権原又は権限を有すると判定された場合、機能制御部1126は、命令実行部1128に上記の命令に対応する処理を実行させる。命令実行部1128による処理が完了すると、目的物930の遠隔操作処理が完了する。一方、ユーザAが、目的物930に対する命令を実行する権原又は権限を有しないと判定された場合、機能制御部1126は、上記の命令を破棄する。その結果、上記の命令は実行されることなく、目的物930の遠隔操作処理が終了する。
図14は、権利管理システム900における情報処理の一例を概略的に示す。図14を用いて、権利管理システム900における目的物930の遠隔操作処理の第2の実施形態について説明する。図14に記載された実施形態は、S1312及びS1314の代わりに、S1412及びS1414が実行される点で、図13に記載された実施形態と相違する。上記の相違点以外の点については、図13に記載された実施形態と同様の構成を有してよい。
本実施形態によれば、S1412において、目的物930の通信制御部1122が、ユーザ端末920からの命令を受信して、当該命令を要求生成部1124に転送する。要求生成部1124は、ユーザAが上記の命令に関連する権利を有するか否かの判定を要求するためのデータを生成する。要求生成部1124は、生成された要求と、ユーザAのユーザ識別情報と、上記の命令に関連する権利の権利IDとを、分散型台帳管理システム110に送信する。
S1414において、分散型台帳管理システム110が、目的物930からの要求を受信する。分散型台帳管理システム110は、目的物930から受け取った1又は複数の権利IDで示される権利のそれぞれを表現するブロックチェーンにアクセスする。その後、分散型台帳管理システム110は、目的物930から受け取った1又は複数の権利IDで示される権利のそれぞれについて、現在の権利者のユーザ識別情報を抽出する。
分散型台帳管理システム110は、上記の抽出の結果と、ユーザ端末920から受信したユーザAのユーザ識別情報とに基づいて、ユーザAが、目的物930に対する命令を実行する権原又は権限を有するか否かを判定する。分散型台帳管理システム110は、目的物930からの要求に対する応答として、上記の判定の結果を、目的物930に送信する。また、S1316において、機能制御部1126は、分散型台帳管理システム110から受信した判定結果に基づいて、ユーザAが、目的物930に対する命令を実行する権原又は権限を有するか否かを判定する。
本実施形態において、目的物930が、権利管理サーバ940を介することなく、分散型台帳管理システム110に要求などを送信する場合について説明した。しかしながら、権利管理システム900における情報処理は本実施形態に限定されない。他の実施形態において、分散型台帳管理システム110と、ユーザ端末920及び目的物930との間に、権利管理サーバ940が介在してもよい。
図15は、権利管理システム900を利用したエスクローシステム2100の一例を概略的に示す。本実施形態において、エスクローシステム2100は、クライアント端末22を利用するユーザAと、クライアント端末24を利用するユーザBとに対して、エスクローサービスを提供する。クライアント端末22及びクライアント端末24のそれぞれは、ユーザ端末120又はユーザ端末920と同様の構成を有してよい。
本実施形態において、クライアント端末22は、ユーザAの秘密鍵122を格納している。クライアント端末24は、ユーザBの秘密鍵2122を格納している。また、権利管理サーバ940は、エスクローサービスを管理するサービス提供者としての秘密鍵2124を格納している。
[契約の締結]
本実施形態においては、まず、目的物930の所有権を有するユーザAと、目的物930の購入を希望するユーザBとが、権利管理サーバ940により提供されるマッチングサービス又はオークションサービスを利用して、目的物930の譲渡契約を締結する。これにより、権利管理サーバ940は、上記の譲渡契約に伴う権利の変動に関する情報を取得する。マッチングサービス又はオークションサービスは、例えば、情報管理部944における情報処理により実現される。情報管理部944は、目的物930に関する権利の被承継人と、当該権利の承継を希望する承継候補者とを仲介する仲介部を有してよい。
なお、譲渡契約の成立過程は、本実施形態に限定されない。他の実施形態において、ユーザA及びユーザBは、権利管理サーバ940により提供されるサービスを利用することなく、譲渡契約を締結してもよい。この場合、ユーザA又はユーザBがクライアント端末22又はクライアント端末24を操作して、契約内容に関する情報を権利管理サーバ940に送信する。契約内容に関する情報としては、取引の対象となる権利の権利ID、取引相手のユーザID、金額などを例示することができる。クライアント端末22又はクライアント端末24は、契約内容を示すデータと、契約内容を示すデータの符号化データとを含むトランザクションを、権利管理サーバ940に送信してもよい。
[目的物930の状態確認]
取引開始前に、ユーザBが目的物930の状態確認を希望する場合がある。この場合、ユーザAは、目的物930の状態を示す情報(ステータス情報と称する場合がある。)を、ユーザBに送信する。ステータス情報は、目的物930が譲渡契約の条件を満足することを確認できる情報であればよく、その詳細については特に限定されない。一実施形態によれば、クライアント端末22は、目的物930の外観の画像を含むステータス情報を、クライアント端末24に送信する。他の実施形態によれば、クライアント端末22は、近距離無線通信又は有線通信により、目的物930に配されたコンピュータから、目的物930のステータス情報を取得する。例えば、目的物930が自動車である場合、クライアント端末22は、目的物930のコンピュータにアクセスして、目的物930の走行距離に関する情報を取得する。クライアント端末22は、目的物930から取得したステータス情報をクライアント端末24に送信する。
ステータス情報は、電子メールプログラム、メッセンジャープログラムなどを利用してクライアント端末24に送信されてもよく、権利管理サーバ940を介して、クライアント端末24に送信されてもよい。ステータス情報は、権利管理サーバ940により提供されるサービスを利用してクライアント端末24に送信されてもよい。
ユーザAが、権利管理サーバ940により提供されるサービスを利用する場合、ユーザAは、例えば下記の手順により、ステータス情報をクライアント端末24に送信する。ユーザAは、まず、クライアント端末22を操作して、目的物930の状態を報告させるための命令を、目的物930に送信する。これにより、クライアント端末22がステータス情報を取得することができる。次に、ユーザAは、権利管理サーバ940により提供されるファイル共有サービスを利用して、ステータス情報を、クライアント端末22から権利管理サーバ940にアップロードする。
次に、ユーザAは、クライアント端末22を操作して、ステータス情報の読み込みに関するアクセス権を発行するためのトランザクションを生成する。クライアント端末22は、上記のトランザクションを権利管理サーバ940に送信する。また、ユーザAは、クライアント端末22を操作して、ステータス情報の読み込みに関するアクセス権をユーザBに移転することを示すトランザクションを生成する。クライアント端末22は、上記のトランザクションを権利管理サーバ940に送信する。このとき、クライアント端末22は、上記のアクセス権に関する内容情報を権利管理サーバ940に送信してもよい。なお、後述の他の権利についても、上記のアクセス権と同様にして、トランザクション及び内容情報が権利管理サーバ940に送信されてよい。
権利管理サーバ940は、上記の2つのトランザクションを分散型台帳管理システム110に転送する。これにより、ユーザBがステータス情報にアクセスできるようになる。このとき、権利管理サーバ940は、上記のアクセス権に関する内容情報を内容情報格納部942に格納してもよい。なお、後述の他の権利についても、上記のアクセス権と同様にして、内容情報が内容情報格納部942に格納されてもよい。また、情報管理部944は、ステータス情報のURIを、クライアント端末24に送信する。これにより、ユーザBは、ステータス情報にアクセスして、当該情報を閲覧することができる。上記の2つのトランザクションには、ステータス情報のハッシュ値が格納されていてもよい。これにより、ステータス情報の信憑性が担保される。これらのサービスは、情報管理部944における情報処理により実現されてよい。
[エスクローサービスの開始]
ユーザBがステータス情報を確認した上で、目的物930の所有権の移転を希望する場合、ユーザBは、クライアント端末24を操作して、権利管理サーバ940に、エスクローサービスの提供開始を要求する。権利管理サーバ940は、クライアント端末24からの要求を受信して、当該要求に応じて、エスクローサービスに関する処理を開始する。エスクローサービスに関する処理は、情報管理部944における情報処理により実現されてよい。情報管理部944は、エスクローサービスに関する処理を実行するエスクローサービス提供部を有してよい。
例えば、情報管理部944は、クライアント端末24から、エスクローサービスの開始を要求することを示す情報を取得すると、クライアント端末24に対して、代金の供託処理を実行することを要求する。クライアント端末24は、情報管理部944からの要求を受信すると、例えば、クライアント端末24の表示装置にユーザBに対して代金の供託を促す画面を表示させる。ユーザBが、権利管理サーバ940により提供される代金供託サービスを利用する場合、クライアント端末24は、表示装置に代金供託サービス用のユーザ・インタフェースを表示させてよい。目的物930の代金は、ビットコインなどの暗号通貨を利用して供託されてもよい。例えば、ユーザBは、秘密鍵2124に対応するアドレスに代金を送金する。
供託金の金額は、目的物930の代金と同一であってもよく、目的物930の代金より少なくてもよく、目的物930の代金より多くてもよい。供託金の金額は、目的物930の代金と、暗号通貨の相場変動のリスクに応じた金額及びエスクローサービスの利用手数料に相当する金額の少なくとも一方との合計であってもよい。
[目的物930の配送]
情報管理部944は、ユーザBが目的物930の代金を供託したことを示す情報を取得すると、クライアント端末22に対して、目的物930をユーザBに配送することを要求する。例えば、情報管理部944は、クライアント端末22の表示装置に、ユーザAに対して目的物930をユーザBに配送することを促す画面を表示させる。情報管理部944は、ユーザBが目的物930の代金を支払ったことを示す情報を、クライアント端末24から取得してもよく、代金決済サービスを提供する情報処理システムから取得してもよい。
ユーザAは、配送前の準備として、(i)目的物930の機能を制限する、(ii)目的物930の所有権をサービス提供者に譲渡するなどの処理を実行してよい。例えば、ユーザAは、目的物930の機能の一部又は全部に制限を課した状態で、目的物930を配送する。一実施形態において、上記の制限は、目的物930の所有権又は使用権を有する者でなければ解除することができないように設定される。この場合、ユーザAは、クライアント端末22を操作して、予め定められた期間に限って、ユーザBが目的物930の一部又は全部を使用する権利を発行するためのトランザクションを生成する。クライアント端末22は、上記のトランザクションを権利管理サーバ940に送信する。
例えば、ユーザBがクライアント端末24を使用して目的物930にアクセスすると、目的物930は、クライアント端末24からユーザBを識別するための情報を取得する。また、目的物930は、権利管理サーバ940にアクセスして、ユーザBが目的物930の使用権を有するか否かを確認する。これにより、目的物930の所有権がユーザBに移転されていない状態であっても、ユーザBが目的物930の動作を確認することができる。
他の実施形態において、目的物930にユーザBを識別するための情報を記録しておき、ユーザBがクライアント端末24を使用して目的物930にアクセスした場合に、ユーザBの認証処理を実行してもよい。なお、ユーザAは、ユーザBによる動作確認に必要な機能については制限を課すことなく、目的物930を配送してもよい。
ユーザAは、目的物930を配送した後、クライアント端末22を操作して、配送手続が完了したことを示す情報を権利管理サーバ940に送信する。また、ユーザAは、クライアント端末22を操作して、目的物930の所有権をサービス提供者に譲渡するためのトランザクションを生成する。クライアント端末22は、一定期間が経過しても代金が精算されない場合には、目的物930の所有権をユーザAに戻すようなコードを含むトランザクションを生成してもよい。クライアント端末22は、上記のトランザクションを権利管理サーバ940に送信する。
[目的物930の動作確認]
ユーザBは、目的物930を受領すると、目的物930の状態及び動作を確認する。ユーザBが目的物930を操作した場合、目的物930のコンピュータは、目的物930の操作履歴を示すトランザクションを生成し、当該トランザクションを権利管理サーバ940に送信させるための命令を、クライアント端末24に送信してよい。クライアント端末24は、目的物930のコンピュータから上記の命令を受信すると、目的物930の操作履歴を示すトランザクションを生成して、当該トランザクションを権利管理サーバ940に送信する。なお、目的物930のコンピュータが、目的物930を識別するための秘密鍵(図示していない。例えば、秘密鍵932である。)を有している場合、目的物930のコンピュータが、目的物930の操作履歴を示すトランザクションを生成して、当該トランザクションを権利管理サーバ940に送信してもよい。これにより、ユーザBが目的物930を受領していないと虚偽の申告を行うことを抑制することができる。
目的物930の状態が譲渡契約の内容に合致する場合、ユーザBは、クライアント端末24を操作して、目的物930を受領したことを示す情報(受領確認情報と称する場合がある。)を、権利管理サーバ940に送信する。目的物930の状態が譲渡契約の内容に合致しない場合、ユーザBは、クライアント端末24を操作して、目的物930の受領を拒否することを示す情報(受領拒否情報と称する場合がある。)を、権利管理サーバ940に送信する。
[所有権の移転及び決済]
情報管理部944は、は、クライアント端末24から受領確認情報を受信したことに応じて、所有権の移転処理と、代金の支払処理とを実施する。所有権の移転処理及び代金の支払処理は、同時に実施されてよい。情報管理部944は、例えば、(i)目的物930の所有権が、サービス提供者からユーザBに移転することを示すトランザクションデータと、(ii)目的物930の代金に相当する量の暗号通貨が、サービス提供者の供託用の口座アカウントからユーザAの口座アカウントに移転することを示すトランザクションデータとを生成して、分散型台帳管理システム110に登録する。
情報管理部944は、エスクローサービスの利用手数料に相当する量の暗号通貨が、ユーザA及びユーザBの少なくとも一方の口座アカウントから、サービス提供者の口座アカウントに移転することを示すトランザクションデータを生成して、分散型台帳管理システム110に登録してもよい。供託金の残金が存在する場合、情報管理部944は、供託金の残金に相当する量の暗号通貨が、サービス提供者の供託用の口座アカウントからユーザBの口座アカウントに移転することを示すトランザクションデータを生成して、分散型台帳管理システム110に登録してよい。
一方、情報管理部944は、クライアント端末24から受領拒否情報を受信したことに応じて、例えば、下記のとおり、所有権の移転処理と、代金の支払処理とを実施する。情報管理部944は、例えば、(i)目的物930の所有権が、サービス提供者からユーザAに移転することを示すトランザクションデータと、(ii)目的物930の代金に相当する量の暗号通貨が、サービス提供者の供託用の口座アカウントからユーザBの口座アカウントに移転することを示すトランザクションデータとを生成して、分散型台帳管理システム110に登録する。情報管理部944は、エスクローサービスの利用手数料に相当する量の暗号通貨が、ユーザA及びユーザBの少なくとも一方の口座アカウントから、サービス提供者の口座アカウントに移転することを示すトランザクションデータを生成して、分散型台帳管理システム110に登録してもよい。
トランザクションがブロックチェーンに組み込まれるまで、ある程度の時間を要する。そこで、情報管理部944は、定期的に又は任意のタイミングで、分散型台帳管理システム110にアクセスして、上記のトランザクションのそれぞれが、対応するブロックチェーンに組み込まれたことを確認してよい。情報管理部944は、上記のトランザクションのそれぞれが、対応するブロックチェーンに組み込まれたことを確認した後、所有権の移転処理及び代金の支払処理が完了したことを、クライアント端末22及びクライアント端末24に通知してよい。
ユーザBは、所有権の移転処理が完了した後、クライアント端末24を操作して、制限を解除するための命令を、目的物930に送信する。目的物930は、分散型台帳管理システム110にアクセスして、ユーザBが上記の命令を実行するための権原又は権限を有しているかを確認する。その後、目的物930は、機能制限を解除するための処理を実行する。これにより、ユーザBは、目的物930を使用することができる。
本実施形態においては、代金又は供託金の決済に、暗号通貨が利用される場合について説明した。しかしながら、決済手段は、本実施形態に限定されない。他の実施形態において、決済手段として、クレジット決済、現金決済、電子バリュー決済などが利用される。
本実施形態においては、権利管理サーバ940が提供する各種のサービスを組み合わせて、エスクローサービスを実現する場合について説明した。しかしながら、権利管理サーバ940により提供されるエスクローサービスは本実施形態に限定されない。他の実施形態において、権利管理サーバ940は、供託サービスを利用せずにエスクローサービスを実現してもよい。
また、権利管理サーバ940は、ステータス情報の通知、供託金又は代金の支払、商品の配送、所有権の移転などの順番を適宜変更して、エスクローサービスを実現してもよい。一実施形態において、ステータス情報の通知処理は、契約締結前になされてもよい。他の実施形態において、ステータス情報の閲覧処理に代わって、又は、ステータス情報の閲覧処理に加えて、動作確認処理を実施してもよい。動作確認処理は、受領確認処理を兼ねてよい。
動作確認処理を実施する場合、例えば、ユーザAは、クライアント端末22を操作して、目的物930の使用権を発行する。目的物930の使用権には有効期限又は有効期間が設定される。このとき、クライアント端末22は、ユーザAの秘密鍵122を利用して、有効期限又は有効期間が設定された使用権を発行するためのトランザクションを生成し、権利管理サーバ940に送信する。また、ユーザAは、クライアント端末22を操作して、上記の使用権をユーザBに移転するためのトランザクションを生成し、権利管理サーバ940に送信する。権利管理サーバ940は、クライアント端末22からトランザクションを受信すると、当該トランザクションを分散型台帳管理システム110に転送する。
一方、ユーザBは、目的物930を受領した後、クライアント端末24を操作して、目的物930に設定された機能制限を解除するための命令を、目的物930に送信する。目的物930のコンピュータは、権利管理サーバ940にアクセスして、ユーザBが目的物930の使用権を有することを確認し、機能制限を解除するための処理を実行する。
ユーザBは、目的物930の動作を確認した後、クライアント端末24を操作して、目的物930の動作確認が終了したことを示す情報(動作確認情報と称する場合がある。)を、権利管理サーバ940に送信する。権利管理サーバ940は、クライアント端末24から動作確認情報を受信したことに応じて、所有権の移転処理と、代金の支払処理とを実施する。
一方、目的物930が不良品である場合、ユーザBは、クライアント端末24を操作して、目的物930が契約条件を満足しないことを示す情報(クレーム情報と称する場合がある。)を、権利管理サーバ940に送信する。クライアント端末24は、目的物930のステータス情報を取得して、当該ステータス情報を権利管理サーバ940に送信してもよい。権利管理サーバ940は、ユーザBからのクレーム情報を、クライアント端末22に送信する。権利管理サーバ940は、クレーム情報及びステータス情報を、クライアント端末22に送信してもよい。
クレーム情報を受信したユーザAが、契約の解除を決定した場合、ユーザAは、クライアント端末22を操作して、契約の解除を示す情報を、権利管理サーバ940に送信する。権利管理サーバ940は、契約の解除を示す情報を受信すると、例えば、供託金をユーザBに戻すためのトランザクションを生成して、分散型台帳管理システム110に送信する。権利管理サーバ940は、目的物930がユーザAに返送され、クライアント端末22から受領確認情報を受信した後、供託金をユーザBに戻すための処理を実行してもよい。
本実施形態によれば、万が一、ユーザBが、使用権の期限内に動作確認処理を実施しなかった場合には、ユーザBは目的物930の使用を継続することができなくなる。また、目的物930の所有権はユーザAに属するので、ユーザAは、目的物930を遠隔操作して、目的物930をロックすることもできる。
本実施形態においては、権利管理サーバ940が、図5に示されるようなトランザクションデータ500を利用して、エスクローサービスを実現する場合について説明した。しかしながら、トランザクションデータの形式は、本実施形態に限定されない。他の実施形態において、権利管理サーバ940は、コード格納領域にコードが格納されたトランザクションデータを利用して、エスクローサービスを実現してよい。
例えば、ユーザAは、目的物930をユーザBに配送した後、クライアント端末22を操作して、コード格納領域に、(i)「ノード112のコンピュータに、サービス提供者が、ユーザBから目的物930の代金に相当する額の供託金を受領したことを示す情報を受信したら、(a)目的物930の所有権がユーザAからサービス提供者に移転することを示すトランザクションデータを生成して、当該トランザクションデータを分散型台帳管理システム110に送信するステップを実行させるためのコード」と、(ii)「ノード112のコンピュータに、ユーザBが目的物930を受領したことを示す情報を受信したら、(a)目的物930の所有権がサービス提供者からユーザBに移転することを示すトランザクションデータと、(b)目的物930の代金に相当する量の暗号通貨が、サービス提供者の供託用の口座アカウントからユーザAの口座アカウントに移転することを示すトランザクションデータとを生成して、当該トランザクションデータを分散型台帳管理システム110に送信するステップを実行させるためのコード」とが格納されたトランザクションデータを生成する。上記のトランザクションデータは、各種の手数料を処理するためのトランザクションデータを生成するためのコードを含んでもよい。
クライアント端末22は、生成されたトランザクションデータを権利管理サーバ940に送信する。権利管理サーバ940は、クライアント端末22から受信したトランザクションデータを、分散型台帳管理システム110に送信する。これにより、上述した実施形態と同様のエスクローサービスを実現することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
例えば、本願明細書には、下記のデータ管理システムに関する事項が記載されている。
[項目A]
ユーザが有する一の権利の変動に関するトランザクション情報を、前記一の権利の変動に関する分散型台帳を管理する分散型台帳管理システムに送信する場合に、前記トランザクション情報の少なくとも一部が前記ユーザの秘密鍵を用いて暗号化された暗号化データを、前記一の権利を一意に特定する権利識別情報又は前記権利識別情報を示す情報に対応付けて、前記分散型台帳管理システムに送信するトランザクション情報送信部を備え、
前記トランザクション情報は、
前記変動における前記一の権利の1以上の承継先を示す承継先情報と、
前記一の権利の直前の変動に関する、直前のトランザクション情報の符号化データと、
を含み、
前記分散型台帳管理システムは、P2Pネットワークを構成する複数のノードを有し、
前記複数のノードのそれぞれは、前記分散型台帳を格納し、
前記分散型台帳は、複数のブロックを含み、
前記複数のブロックのそれぞれは、
前記一の権利の1以上の変動に関する1以上のトランザクション情報と、
直前のブロックの符号化データと、
を含む、
データ管理システム。
[項目B]
エスクローサービス提供部をさらに備える、
項目Aに記載のデータ管理システム。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。