(57)【特許請求の範囲】
【請求項１】
トランザクションデータを発行するトランザクション発行端末と、前記トランザクションデータに基づいてトランザクションを処理し、前記トランザクションデータを含むブロックデータを生成し、ブロックチェーンデータに連結するブロック生成端末とを備える処理システムであって、
前記トランザクション発行端末は、
表示データを含む登録トランザクションデータを、送信する登録手段を有し、
前記ブロック生成端末は、
前記登録トランザクションデータを受信すると、前記登録トランザクションデータから前記表示データを削除し、前記表示データに対応する長期保存データを生成し、前記表示データをストアデータに設定するトランザクション処理手段と、
前記長期保存データを含むブロックデータを生成し、生成したブロックデータを、ブロックチェーンデータに連結するとともに、前記表示データおよび前記生成したブロックデータを送信するブロック生成手段を備える
ことを特徴とする処理システム。
【請求項２】
前記トランザクション発行端末は、
前記表示データの削除を依頼する際、前記表示データを削除するための削除トランザクションデータを、送信する削除手段をさらに備え、
前記ブロック生成端末において、
前記トランザクション処理手段は、前記削除トランザクションデータを受信すると、前記ストアデータから前記表示データを削除し、
前記ブロック生成手段は、前記削除トランザクションデータを含むブロックデータを生成し、生成したブロックデータを、ブロックチェーンデータに連結するとともに、前記生成したブロックデータを送信する
ことを特徴とする請求項１に記載の処理システム。
【請求項３】
前記トランザクション発行端末は、
前記表示データの暗号化鍵の更新を依頼する際、前記表示データの識別子と新たな暗号化鍵を含む鍵更新トランザクションデータを、送信する鍵更新手段をさらに備え、
前記ブロック生成端末において、
前記トランザクション処理手段は、前記鍵更新トランザクションデータを受信すると、前記表示データを新たな公開鍵で暗号化して、更新後表示データを生成し、前記更新後表示データに対応する更新後長期保存データを生成し、前記ストアデータの前記表示データを、前記更新後表示データに更新し、
前記ブロック生成手段は、前記更新後長期保存データを含むブロックデータを生成し、生成したブロックデータを、前記ブロックチェーンデータに連結するとともに、前記生成したブロックデータを送信する
ことを特徴とする請求項１または２に記載の処理システム。
【請求項４】
トランザクションデータを発行するトランザクション発行端末と、前記トランザクションデータに基づいてトランザクションを処理し、前記トランザクションデータを含むブロックデータを生成し、ブロックチェーンデータに連結するブロック生成端末とを備える処理システムに用いられる処理方法であって、
前記トランザクション発行端末が、表示データを含む登録トランザクションデータを、送信するステップと、
前記ブロック生成端末が、前記登録トランザクションデータを受信するステップと、
前記ブロック生成端末が、前記登録トランザクションデータから前記表示データを削除し、前記表示データに対応する長期保存データを生成するステップと、
前記ブロック生成端末が、前記表示データをストアデータに設定するステップと、
前記ブロック生成端末が、前記長期保存データを含むブロックデータを生成するステップと、
前記ブロック生成端末が、生成したブロックデータを、ブロックチェーンデータに連結するとともに、前記表示データおよび前記生成したブロックデータを送信するステップ
を備えることを特徴とする処理方法。
【請求項５】
前記長期保存データを生成するステップにおいて前記ブロック生成端末は、さらに、前記表示データと前記長期保存データとの対応づけを確認するための検証データを生成し、
前記表示データを前記ストアデータに設定するステップにおいて前記ブロック生成端末は、さらに、前記検証データを前記ストアデータに設定する
ことを特徴とする請求項４に記載の処理方法。
【請求項６】
前記トランザクション発行端末が、前記表示データの削除を依頼する際、
前記トランザクション発行端末が、前記表示データを削除するための削除トランザクションデータを、送信するステップと、
前記ブロック生成端末が、前記削除トランザクションデータを受信するステップと、
前記ブロック生成端末が、前記ストアデータから前記表示データを削除するステップと、
前記ブロック生成端末が、前記削除トランザクションデータを含むブロックデータを生成するステップと、
前記ブロック生成端末が、生成したブロックデータを、ブロックチェーンデータに連結するとともに、前記生成したブロックデータを送信するステップ
をさらに備えることを特徴とする請求項４に記載の処理方法。
【請求項７】
前記長期保存データを生成するステップにおいて前記ブロック生成端末は、さらに、前記表示データと前記長期保存データとの対応づけを確認するための検証データを生成し、
前記表示データを前記ストアデータに設定するステップにおいて前記ブロック生成端末は、さらに、前記検証データを前記ストアデータに設定し、
前記ストアデータから前記表示データを削除するステップにおいて前記ブロック生成端末は、さらに、前記ストアデータから前記検証データを削除する
ことを特徴とする請求項６に記載の処理方法。
【請求項８】
前記トランザクション発行端末が、前記表示データの暗号化鍵の更新を依頼する際、
前記トランザクション発行端末が、前記表示データの識別子と新たな暗号化鍵を含む鍵更新トランザクションデータを、送信するステップと、
前記ブロック生成端末が、前記鍵更新トランザクションデータを受信するステップと、
前記ブロック生成端末が、前記表示データを新たな公開鍵で暗号化して、更新後表示データを生成するステップと、
前記ブロック生成端末が、前記更新後表示データに対応する更新後長期保存データを生成するステップと、
前記ブロック生成端末が、前記ストアデータの前記表示データを、前記更新後表示データに更新するステップと、
前記ブロック生成端末が、前記更新後長期保存データを含むブロックデータを生成するステップと、
前記ブロック生成端末が、生成したブロックデータを、前記ブロックチェーンデータに連結するとともに、前記生成したブロックデータを送信するステップ
をさらに備えることを特徴とする請求項４または６に記載の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクションデータを発行するトランザクション発行端末と、トランザクションデータを含むブロックデータを生成し、ブロックチェーンデータに連結するブロック生成端末とを備える処理システムに用いられる処理方法および処理システムに関する。
【背景技術】
【０００２】
近年、ブロックチェーン技術を実装した分散システム用プラットフォームが提案され（例えば非特許文献１参照）、仮想通貨だけではなく、様々な情報の記録や資産の流通などに利用され始めている。ブロックチェーン技術とは、複数参加者間で構成されるネットワークにおいて悪意のある参加者が一定割合以内という条件下で、参加者間の情報同期を可能にする技術である。参加者が保有する情報は、チェーン状にブロックデータをつないだ構造を持ち、ブロックチェーンと呼ばれる。ブロックデータ間には依存関係があり、さらにブロックデータの生成には特定の条件を満たす必要があるため、過去のブロックデータになるほど改竄が困難になる、という特徴がある。ブロックデータには、ブロックチェーンネットワークに発行されたトランザクションデータ（取引情報などを含む）がまとめられている。ブロックチェーンは、Ｐ２Ｐ（Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒ）ネットワークにおいて参加者が共有する一つの巨大な元帳として機能する。
【０００３】
ブロックチェーンの仕組みにおいて、ブロックデータの生成はある特定の参加者が実施するのではない。ブロックチェーンネットワークの維持に参加する参加者のうち、ある条件を満たした参加者だけが、ブロックデータを生成する事ができる。ブロックチェーンネットワークの維持に参加する参加者は、ブロックチェーンネットワークに発行された各トランザクションデータを検証し、複数のトランザクションをまとめてブロックデータの生成を始める。ブロックデータの生成には所定の条件があり、参加者は競争して条件を満たすブロックデータを探す。条件を満たすブロックデータを生成できた参加者は、他の参加者に対して見つけたブロックデータを送信するとともに、自身のブロックチェーンにそのブロックデータを追加する。受け取った参加者はブロックデータに格納されているトランザクションデータの検証やブロックデータの生成条件の検証などを行い、不正がないことを確認し自身が持つブロックチェーンにつなぐ。
【０００４】
ここで、トランザクションデータとして、仮想通貨の取引情報ではなく、特定の秘匿情報が設定される場合がある。特定の秘匿情報のやりとりを、ブロックチェーンによる元帳で管理し、特定の相手に参照させる場合がある。この秘匿情報は、一時的にやりとりされる情報であっても、ブロックチェーンの仕組みによれば、長期にわたって元帳で管理される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】DR. GAVIN WOOD、" ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER HOMESTEAD DRAFT"、［online］、［平成２８年５月１８日検索］、インターネット〈URL：http://gavwood.com/paper.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、トランザクションデータとして、特定の秘匿情報が設定される場合、この秘匿情報が長期にわたって元帳で管理される。従って、秘匿情報の暗号化に用いた鍵が流出した場合などでも、ブロックチェーン上のデータを削除したり更新したりできず、秘匿情報が予期せぬ第三者に参照されてしまう場合がある。
【０００７】
そこで、ブロックチェーンの仕組みにおいて、一時的にトランザクションの情報を保持することが可能な仕組みの開発が期待されている。
【０００８】
従って本発明の目的は、ブロックチェーンの仕組みにおいて、一時的にトランザクションの情報を保持可能な処理方法および処理システムを提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の第１の特徴は、トランザクションデータを発行するトランザクション発行端末と、トランザクションデータに基づいてトランザクションを処理し、トランザクションデータを含むブロックデータを生成し、ブロックチェーンデータに連結するブロック生成端末とを備える処理システムに関する。本発明の第１の特徴に係る処理システムにおいて、トランザクション発行端末は、表示データを含む登録トランザクションデータを、送信する登録手段を有する。ブロック生成端末は、登録トランザクションデータを受信すると、登録トランザクションデータから表示データを削除し、表示データに対応する長期保存データを生成し、表示データをストアデータに設定するトランザクション処理手段と、長期保存データを含むブロックデータを生成し、生成したブロックデータを、ブロックチェーンデータに連結するとともに、表示データおよび生成したブロックデータを送信するブロック生成手段を備える。
【００１０】
トランザクション発行端末は、表示データの削除を依頼する際、表示データを削除するための削除トランザクションデータを、送信する削除手段をさらに備えても良い。ブロック生成端末において、トランザクション処理手段は、削除トランザクションデータを受信すると、ストアデータから表示データを削除し、ブロック生成手段は、削除トランザクションデータを含むブロックデータを生成し、生成したブロックデータを、ブロックチェーンデータに連結するとともに、生成したブロックデータを送信する。
【００１１】
トランザクション発行端末は、表示データの暗号化鍵の更新を依頼する際、表示データの識別子と新たな暗号化鍵を含む鍵更新トランザクションデータを、送信する鍵更新手段をさらに備えても良い。ブロック生成端末において、トランザクション処理手段は、鍵更新トランザクションデータを受信すると、表示データを新たな公開鍵で暗号化して、更新後表示データを生成し、更新後表示データに対応する更新後長期保存データを生成し、ストアデータの表示データを、前記更新後表示データに更新し、ブロック生成手段は、更新後長期保存データを含むブロックデータを生成し、生成したブロックデータを、ブロックチェーンデータに連結するとともに、生成したブロックデータを送信する。
【００１２】
本発明の第２の特徴は、トランザクションデータを発行するトランザクション発行端末と、トランザクションデータに基づいてトランザクションを処理し、トランザクションデータを含むブロックデータを生成し、ブロックチェーンデータに連結するブロック生成端末とを備える処理システムに用いられる処理方法に関する。本発明の第２の特徴に係る処理方法は、トランザクション発行端末が、表示データを含む登録トランザクションデータを、送信するステップと、ブロック生成端末が、登録トランザクションデータを受信するステップと、ブロック生成端末が、登録トランザクションデータから表示データを削除し、表示データに対応する長期保存データを生成するステップと、ブロック生成端末が、表示データをストアデータに設定するステップと、ブロック生成端末が、長期保存データを含むブロックデータを生成するステップと、ブロック生成端末が、生成したブロックデータを、ブロックチェーンデータに連結するとともに、表示データおよび生成したブロックデータを送信するステップを備える。
【００１３】
長期保存データを生成するステップにおいてブロック生成端末は、さらに、表示データと長期保存データとの対応づけを確認するための検証データを生成し、表示データをストアデータに設定するステップにおいてブロック生成端末は、さらに、検証データをストアデータに設定しても良い。
【００１４】
トランザクション発行端末が、表示データの削除を依頼する際、トランザクション発行端末が、表示データを削除するための削除トランザクションデータを、送信するステップと、ブロック生成端末が、削除トランザクションデータを受信するステップと、ブロック生成端末が、ストアデータから表示データを削除するステップと、ブロック生成端末が、削除トランザクションデータを含むブロックデータを生成するステップと、ブロック生成端末が、生成したブロックデータを、ブロックチェーンデータに連結するとともに、生成したブロックデータを送信するステップをさらに備えても良い。
【００１５】
長期保存データを生成するステップにおいてブロック生成端末は、さらに、表示データと長期保存データとの対応づけを確認するための検証データを生成し、表示データをストアデータに設定するステップにおいてブロック生成端末は、さらに、検証データをストアデータに設定し、ストアデータから表示データを削除するステップにおいてブロック生成端末は、さらに、ストアデータから検証データを削除しても良い。
【００１６】
トランザクション発行端末が、表示データの暗号化鍵の更新を依頼する際、トランザクション発行端末が、表示データの識別子と新たな暗号化鍵を含む鍵更新トランザクションデータを、送信するステップと、ブロック生成端末が、鍵更新トランザクションデータを受信するステップと、ブロック生成端末が、表示データを新たな公開鍵で暗号化して、更新後表示データを生成するステップと、ブロック生成端末が、更新後表示データに対応する更新後長期保存データを生成するステップと、ブロック生成端末が、ストアデータの表示データを、更新後表示データに更新するステップと、ブロック生成端末が、更新後長期保存データを含むブロックデータを生成するステップと、ブロック生成端末が、生成したブロックデータを、ブロックチェーンデータに連結するとともに、生成したブロックデータを送信するステップをさらに備えても良い。
【発明の効果】
【００１７】
本発明によれば、ブロックチェーンの仕組みにおいて、一時的にトランザクションの情報を保持可能な処理方法および処理システムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る処理システムのシステム構成を説明する図である。
【図２】本発明の実施の形態に係るトランザクション発行端末のハードウエア構成と機能ブロックを説明する図である。
【図３】本発明の実施の形態に係るブロック生成端末のハードウエア構成と機能ブロックを説明する図である。
【図４】本発明の実施の形態に係るブロック検証端末のハードウエア構成と機能ブロックを説明する図である。
【図５】本発明の実施の形態に係る表示データと長期保存データの関係を説明する図である。
【図６】本発明の実施の形態に係る登録処理を説明するシーケンス図である。
【図７】本発明の実施の形態に係る登録トランザクションデータを説明する図である。
【図８】本発明の実施の形態に係るブロックチェーンデータを説明する図である。
【図９】本発明の実施の形態に係るブロック生成端末が送信するデータを説明する図である。
【図１０】本発明の実施の形態に係る削除処理を説明するシーケンス図である。
【図１１】本発明の実施の形態に係る鍵更新処理を説明するシーケンス図である。
【発明を実施するための形態】
【００１９】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２０】
（処理システム）
本発明の実施の形態に係る処理システム１０は、図１に示すように、複数のコンピュータを備え、各コンピュータは、各コンピュータに設けられた通信制御装置およびＰ２ＰネットワークＮを介して、自律分散的に接続されている。なお、図１に示す処理システム１０において接続されるコンピュータの数は、一例であって、これに限るものではない。
【００２１】
処理システム１０を構成する各コンピュータに、デジタル仮想通貨等における取引を実現するためのプログラムがインストールされる。各コンピュータは、それぞれ、ブロックチェーンデータＢとストアデータＡを保持する。各コンピュータは、それぞれ、Ｐ２ＰネットワークＮを介して、トランザクションデータＴや、トランザクションデータＴから生成され、ブロックチェーンデータＢに連結されるブロックデータＤを取得して、ブロックチェーンデータＢおよびストアデータＡを更新する。Ｐ２ＰネットワークＮに参加する端末群全体が、不正を監視し、唯一のブロックチェーンデータＢおよびストアデータＡを共有する。ここで、トランザクション発行端末１も、ブロックチェーンデータＢとストアデータＡを保持しても良い。
【００２２】
各コンピュータは、処理システム１０における各場面における役割に応じて、トランザクション発行端末１として機能したり、ブロック生成端末２として機能したり、ブロック検証端末３として機能したりする。ここで、ブロック生成端末２およびブロック検証端末３として機能することなくトランザクション発行端末１として機能する端末があっても良いし、トランザクション発行端末１として機能することなくブロック生成端末２およびブロック検証端末３としてのみ機能する端末があっても良い。
【００２３】
トランザクション発行端末１、ブロック生成端末２およびブロック検証端末３はそれぞれ、発行者、生成者および検証者によって操作される。トランザクション発行端末１、ブロック生成端末２およびブロック検証端末３が署名する際、それぞれ、発行者、生成者および検証者の署名が用いられる。
【００２４】
トランザクション発行端末１は、トランザクションを発行する端末である。トランザクション発行端末１は、トランザクションデータＴを、Ｐ２ＰネットワークＮに送信する。本発明の実施の形態においてトランザクション発行端末１は特に、一時的に保存する情報に関するトランザクションを発行する。
【００２５】
ブロック生成端末２は、トランザクション発行端末１等が発行したトランザクションを処理して、ブロックデータＤを生成し、既存のブロックチェーンデータＢに生成したブロックデータＤを連結するとともに、ストアデータＡを更新する。ブロック生成端末２は、トランザクションデータＴや生成したブロックデータＤを、Ｐ２ＰネットワークＮに送信する。
【００２６】
なお、処理システム１０において、複数の端末においてブロックの生成が試みられるが、本発明の実施の形態において、ブロック生成端末２が他の端末よりも早くブロックデータを生成する場合を説明する。
【００２７】
ブロック検証端末３は、ブロック生成端末２が送信したブロックデータＤを検証し、検証できた場合、自身の記憶装置に記憶したブロックチェーンデータＢを更新する。本発明の実施の形態に係るブロック検証端末３は特に、ブロックチェーンデータＢのみならず、ストアデータＡも検証し、検証できた場合、自身の記憶装置に記憶したストアデータを更新する。またブロック検証端末３は、必要に応じて、ブロック生成端末２に、ストアデータＡを要求し、最新のストアデータＡを取得する。
【００２８】
（各端末の構成）
図２ないし図４を参照して、トランザクション発行端末１、ブロック生成端末２およびブロック検証端末３を説明する。トランザクション発行端末１、ブロック生成端末２およびブロック検証端末３は、記憶装置１１０、２１０、３１０、処理装置１２０、２２０、３２０、通信制御装置１３０、２３０、３３０等を備える一般的なコンピュータである。トランザクション発行端末１、ブロック生成端末２およびブロック検証端末３は、それぞれ一般的なコンピュータが、所定の処理を実行するためのプログラムを実行することにより、図２ないし図４に示す各機能を実現する。
【００２９】
（トランザクション発行端末）
トランザクション発行端末１の記憶装置１１０は、表示データＭおよびトランザクションデータＴを記憶する。また図示しないが、記憶装置１１０は、ブロックチェーンデータＢおよびストアデータＡを記憶しても良い。
【００３０】
表示データＭは、例えば、秘匿情報（対象データ）を秘匿化したデータで、特定の人のみが復号することにより、秘匿情報の意味を理解できる。トランザクションデータＴは、表示データＭの登録、削除または鍵更新を実行するためのトランザクションに関するデータである。本発明の実施の形態において、トランザクションデータＴは、登録トランザクションデータＴＲ、削除トランザクションデータＴＤおよび鍵更新トランザクションデータＴＫを含む。トランザクションデータＴは、トランザクション発行後、削除されても良い。
【００３１】
トランザクション発行端末１の処理装置１２０は、登録手段１２１、削除手段１２２および鍵更新手段１２３を備える。
【００３２】
登録手段１２１は、表示データＭを含む登録トランザクションデータＴＲを、送信する。登録手段１２１は、例えば、秘匿情報である対象データを暗号化やハッシュ化して、第三者に意味が把握されない表示データＭを生成する。登録手段１２１は、表示データＭを含む登録トランザクションデータＴＲを生成し、Ｐ２ＰネットワークＮに送信する。登録トランザクションデータＴＲを受信したブロック生成端末２は、表示データＭに基づくデータ（後述の長期保存データＬ）をブロックデータＤに登録するとともに、表示データＭをストアデータＡに登録する。
【００３３】
ここで表示データＭは、Ｐ２ＰネットワークＮにおいて、一時的に保存されるデータである。表示データＭは、所定の対象データを秘匿化したデータであっても良いし、所定の対象データのメタデータであっても良いし、表示データＭはどのようなデータであっても良い。表示データＭは、削除トランザクションデータＴＤによって、Ｐ２ＰネットワークＮから削除されたり、鍵更新トランザクションデータＴＫによって、更に秘匿化されたりしても良い。
【００３４】
本願発明は、表示データＭを、ブロックチェーンデータＢ外のデータストアＡに登録することにより、ブロックチェーンデータＢの肥大化を防ぐことができる。これにより本発明の実施の形態において、表示データＭとして、長文のテキストデータや、画像または動画のデータ等の、ボリュームの大きいデータを、Ｐ２ＰネットワークＮにおいて、一時的に保存することが可能になる。
【００３５】
削除手段１２２は、表示データＭの削除を依頼する際、表示データＭを削除するための削除トランザクションデータＴＤを、送信する。削除手段１２２は、表示データＭの識別子を含む削除トランザクションデータＴＤを生成し、Ｐ２ＰネットワークＮに送信する。削除トランザクションデータＴＤを受信したブロック生成端末２は、ストアデータＡから表示データＭを削除する。発行者は、表示データＭを生成するために利用した鍵が流出した場合や、表示データＭのＰ２ＰネットワークＮでの共有を終了する場合に、表示データＭを削除するために、削除トランザクションデータＴＤを用いる。
【００３６】
鍵更新手段１２３は、表示データＭの暗号化鍵の更新を依頼する際、表示データＭの識別子と新たな暗号化鍵を含む鍵更新トランザクションデータＴＫを、送信する。鍵更新手段１２３は、古い鍵で暗号化された表示データＭがストアデータＡに含まれている場合、鍵更新トランザクションデータＴＫを生成し、Ｐ２ＰネットワークＮ送信する。鍵更新トランザクションデータＴＫを受信したブロック生成端末２は、古い鍵で暗号化された表示データＭを、新たな公開鍵で更に暗号化して、更新後表示データＭ’を生成し、更新後表示データＭ’をストアデータＡに登録する。
【００３７】
発行者は、表示データＭを生成するために利用した鍵が流出したものの、表示データＭのＰ２ＰネットワークＮでの共有の継続を希望する場合に、表示データＭをさらに暗号化するために、鍵更新トランザクションデータＴＫを用いる。鍵更新トランザクションデータＴＫにより、ストアデータＡの表示データＭは、新しい公開鍵で暗号化された更新後表示データＭ’に更新される。
【００３８】
（ブロック生成端末）
ブロック生成端末２の記憶装置２１０は、トランザクションデータＴ、ブロックチェーンデータＢおよびストアデータＡを記憶する。
【００３９】
トランザクションデータＴは、トランザクション発行端末１等から送信されたトランザクションのデータである。本発明の実施の形態において、トランザクションデータＴは、登録トランザクションデータＴＲ、削除トランザクションデータＴＤおよび鍵更新トランザクションデータＴＫを含む。
【００４０】
ブロックチェーンデータＢおよびストアデータＡは、Ｐ２ＰネットワークＮで共有されるデータである。本発明の実施の形態において、ブロックチェーンデータＢは、恒久的に記憶されるデータ（本願発明における長期保存データＬ）を含む。ここで、ブロックチェーンデータＢは、一時的に記憶されるデータ（本願発明における表示データＭ）を含まない。
【００４１】
ストアデータＡは、一時的に記憶されるデータ（長期保存データＬに対応する表示データＭ）を含む。ストアデータＡは、表示データＭと表示データＭの識別子とを対応づけたセットを含み、ストアデータＡは、複数のセットを含んでも良い。
【００４２】
ブロック生成端末２の処理装置２２０は、トランザクション処理手段２２１、ブロック生成手段２２２および同期手段２２３を備える。
【００４３】
トランザクション処理手段２２１は、トランザクション発行端末１が送信した登録トランザクションデータＴＲ、削除トランザクションデータＴＤおよび鍵更新トランザクションデータＴＫを受信して、処理する。
【００４４】
トランザクション処理手段２２１は、登録トランザクションデータＴＲを受信すると、登録トランザクションデータから表示データＭを削除し、表示データＭに対応する長期保存データＬを生成し、表示データＭをストアデータＡに設定する。ここでトランザクション処理手段２２１は、登録トランザクションデータＴＲの表示データＭを長期保存データＬに置換して登録トランザクションデータＴＲ’を生成しても良い。
【００４５】
トランザクション処理手段２２１は、削除トランザクションデータＴＤを受信すると、ストアデータＡから表示データＭを削除する。
【００４６】
トランザクション処理手段２２１は、鍵更新トランザクションデータＴＫを受信すると、表示データＭを新たな公開鍵で暗号化して、更新後表示データＭ’を生成し、更新後表示データＭ’に対応する更新後長期保存データＬ’を生成し、ストアデータＳの表示データＭを、更新後表示データＭ’に更新する。トランザクション処理手段２２１は、鍵更新トランザクションデータＴＫに更新後長期保存データＬ’を設定しても良い。
【００４７】
ブロック生成手段２２２は、トランザクション処理手段２２１が各トランザクションを処理した後、所定条件を満たすブロックの生成を試みる。この所定条件は、Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ（ＰｏＷ）、Ｐｒｏｏｆ  ｏｆ  Ｓｔａｋｅ（ＰｏＳ）などである。ブロック生成手段２２２がブロックの生成に成功すると、生成したブロックをＰ２ＰネットワークＮに送信する。
【００４８】
ブロック生成手段２２２は、トランザクション処理手段２２１が、登録トランザクションデータＴＲを処理した場合、長期保存データＬを含むブロックデータＤを生成し、登録トランザクションデータＴＲ’を含むブロックデータＤを、ブロックチェーンデータＢに連結する。さらにブロック生成手段２２２は、表示データＭを送信するとともに、登録トランザクションデータＴＲ’を含むブロックデータＤを送信する。
【００４９】
本発明の実施の形態においては、トランザクション処理手段２２１が、表示データＭを長期保存データＬに置換した登録トランザクションデータＴＲ’を生成し、ブロック生成手段２２２は、長期保存データＬを含む登録トランザクションデータＴＲ’を送信する場合を説明するがこれに限られない。ブロック生成手段２２２は、登録トランザクションデータＴＲから表示データＭを削除した登録トランザクションデータを、ブロックデータＤに含ませるとともに、ブロックデータＤのヘッダに、長期保存データＬを含ませても良い。また他の例として、ブロックデータＤが、ヘッダ部と、各トランザクションデータを保持するトランザクション保持部と、トランザクションデータ以外のデータを保持するデータ保持部を含む場合、長期保存データＬを、データ保持部に格納するとともに、データ保持部に長期保存データＬが保持されたことを示すデータを、ヘッダ部に格納しても良い。
【００５０】
ブロック生成手段２２２は、トランザクション処理手段２２１が、削除トランザクションデータＴＤを処理した場合、削除トランザクションデータＴＤを含むブロックデータＤを生成し、削除トランザクションデータＴＤを含むブロックデータＤを、ブロックチェーンデータＢに連結する。さらにブロック生成手段２２２は、削除トランザクションデータＴＤを含むブロックデータＤを送信する。
【００５１】
ブロック生成手段２２２は、トランザクション処理手段２２１が、鍵更新トランザクションデータＴＫを処理した場合、更新後長期保存データＬ’を含むブロックデータを生成し、更新後長期保存データＬ’を含むブロックデータＤを、ブロックチェーンデータＢに連結するとともに、更新後長期保存データＬ’を含むブロックデータＤを送信する。
【００５２】
本発明の実施の形態においては、トランザクション処理手段２２１が、更新後長期保存データＬ’を含む鍵更新トランザクションデータＴＫ’を生成し、ブロック生成手段２２２は、鍵更新トランザクションデータＴＫ’を含むブロックデータＤを送信する場合を説明するがこれに限られない。ブロック生成手段２２２は、更新後長期保存データＬ’を含まない鍵更新トランザクションデータを、ブロックデータＤに含ませるとともに、ブロックデータＤのヘッダに、更新後長期保存データＬ’を含ませても良い。また他の例として、ブロックデータＤが、ヘッダ部と、各トランザクションデータを保持するトランザクション保持部と、トランザクションデータ以外のデータを保持するデータ保持部を含む場合、更新後長期保存データＬ’を、データ保持部に格納するとともに、データ保持部に更新後長期保存データＬ’が保持されたことを示すデータを、ヘッダ部に格納しても良い。
【００５３】
同期手段２２３は、Ｐ２ＰネットワークＮからブロックチェーンデータＢおよびストアデータＡを取得し、ブロック生成端末２において、最新のブロックチェーンデータＢおよびストアデータＡを保持する。
【００５４】
（ブロック検証端末）
ブロック検証端末３の記憶装置３１０は、ブロックチェーンデータＢおよびストアデータＡを記憶する。
【００５５】
ブロックチェーンデータＢおよびストアデータＡは、ブロック生成端末２において説明おした通り、Ｐ２ＰネットワークＮで共有されるデータである。本発明の実施の形態において、ブロックチェーンデータＢは、恒久的に記憶されるデータ（本願発明における長期保存データＬ）を含み、ストアデータＡは、長期保存データＬに対応する表示データＭを含む。
【００５６】
ブロック検証端末３の処理装置３２０は、検証手段３２１および同期手段３２２を備える。
【００５７】
検証手段３２１は、ブロック生成端末２からブロックデータＤを受信し、ブロックデータＤの正当性等を検証する。さらに検証手段３２１は、ブロックデータＤが検証されると、ブロックデータＤをブロックチェーンデータＢに連結する。検証手段３２１はさらに、表示データＭを受信して、ストアデータＡの正当性等を検証する。
【００５８】
同期手段３２２は、ブロック生成端末２において説明した通り、Ｐ２ＰネットワークＮからブロックチェーンデータＢおよびストアデータＡを取得し、ブロック検証端末３において、最新のブロックチェーンデータＢおよびストアデータＡを保持する。
【００５９】
（表示データと長期保存データ）
本発明の実施の形態において、表示データＭは、例えば、秘匿情報（対象データ）を秘匿化したデータであって、登録トランザクションデータＴＲによってストアデータＡに登録され、削除トランザクションデータＴＤによってストアデータＡから削除される。これに対し長期保存データＬは、表示データＭに対応し、表示データＭをさらに安全化したデータであって、ブロックチェーンデータＢに恒久的に記憶される。
【００６０】
図５のパターン１およびパターン２に示すように、表示データＭと長期保存データＬは、検証データＫを介して、互いにペアとなり紐づくデータである。パターン１において表示データＭは、秘匿情報を暗号化またはハッシュ化したデータであるのに対し、検証データＫは桁の大きな乱数であって、長期保存データＬは、表示データＭに検証データＫを加えたデータのハッシュ値である。パターン２において表示データＭは、秘匿情報を暗号化またはハッシュ化したデータであるのに対し、長期保存データＬおよび検証データＫは、表示データＭを秘密分散したそれぞれの片割れである。
【００６１】
また図５のパターン３に示すように、表示データＭと長期保存データＬは、検証データＫを介することなく、互いにペアとなるデータであっても良い。パターン３において表示データＭは、メタデータまたは暗号化した秘匿情報であって、長期保存データＬは、表示データＭのハッシュ値である。
【００６２】
図５に示されるように、検証データＫは、表示データＭと長期保存データＬを紐づけるデータであって、任意に生成される。例えば、登録トランザクションデータＴＲについて処理される際、表示データＭと長期保存データＬとがパターン１またはパターン２の対応関係の場合、長期保存データＬが生成される際、検証データＫも生成される。表示データＭと長期保存データＬとがパターン３の対応関係の場合、検証データＫは生成されない。鍵更新トランザクションデータＴＫについて処理される場合も同様である。
【００６３】
なお、図５に示すパターンは一例であって、これに限るものではない。
【００６４】
（登録方法）
図６を参照して、トランザクション発行端末１が、登録トランザクションデータＴＲを送信する際の処理を説明する。
【００６５】
まずステップＳ１０１においてトランザクション発行端末１は、登録トランザクションデータＴＲを生成する。登録トランザクションデータＴＲは、図７（ａ）に示すように、表示データＭに発行者の電子署名をしたデータと、それ以外のデータに発行者の電子署名をしたデータとを含む。ここで、表示データＭは、秘匿情報を暗号化またはハッシュ化したデータである。それ以外のデータは、登録トランザクションデータＴＲが、秘匿情報の一時保存を示す秘匿指示データや、ｐｕｂｌｉｃ  ｋｅｙなどのデータである。一般的なトランザクションは、図７（ｃ）に示すように、すべてのデータに対して発行者の電子署名を付与するところ、本発明の実施の形態に係る登録トランザクションは、表示データＭと、それ以外のデータにそれぞれ電子署名を付与する点が異なる。
【００６６】
ステップＳ１０１において登録トランザクションデータＴＲが生成されると、トランザクション発行端末１は、登録トランザクションデータＴＲをＰ２ＰネットワークＮに送信し、ブロック生成端末２が登録トランザクションデータＴＲを受信する。
【００６７】
ブロック生成端末２は、登録トランザクションデータＴＲを受信すると、ステップＳ１１１において、登録トランザクションデータＴＲの有効性を検証する。ブロック生成端末２は、通常のトランザクションの検証に加え、登録トランザクションデータＴＲの表示データＭとそれ以外のデータが、それぞれ同じ発行者によって署名されていることなどを確認する。
【００６８】
登録トランザクションデータＴＲの有効性が確認されると、ブロック生成端末２は、ステップＳ１１２において、表示データＭから長期保存データＬを生成する。このとき、ブロック生成端末２は、必要に応じて検証データＫも生成する。長期保存データＬおよび検証データＫは、図５を参照して説明したパターンに基づいて、生成される。
【００６９】
ステップＳ１１３においてブロック生成端末２は、ステップＳ１１２で生成した長期保存データＬに生成者の署名を付与する。さらにブロック生成端末２は、図７（ｂ）に示すように、ステップＳ１０２で取得した登録トランザクションデータＴＲから表示データＭおよび発行者の署名を削除し、長期保存データＬおよび生成者の署名に置換して、登録トランザクションデータＴＲ’を生成する。
【００７０】
ステップＳ１１４においてブロック生成端末２は、ストアデータＡに、表示データＭを挿入する。このとき、ブロック生成端末２は、表示データＭの識別子に対応づけてストアデータＡに挿入しても良い。表示データＭは、トランザクション発行端末１が生成したデータであって、登録トランザクションデータＴＲに設定されるデータである。ステップＳ１１２において検証データＫも生成した場合、ブロック生成端末２は、ストアデータＡに、検証データＫも挿入する。
【００７１】
ステップＳ１１５においてブロック生成端末２は、ストアデータＡのダイジェストを生成し、新たに生成する第ＮブロックのブロックデータＤのヘッダを生成する。図８に示すように、第ＮブロックのブロックデータＤのヘッダは、（１）前ブロック（Ｎ−１）のハッシュ値、（２）ブロックに格納するトランザクションのダイジェスト、および（３）ストアデータＡのダイジェストを含む。（２）ブロックに格納するトランザクションのダイジェストには、ステップＳ１１３で生成した登録トランザクションデータＴＲ’のダイジェストを含む。
【００７２】
ステップＳ１１６においてブロック生成端末２は、登録トランザクションデータＴＲ’を含むブロックデータＤの生成を試みる。ここでブロック生成端末２がブロックデータＤの生成に成功すると、ステップＳ１１７においてブロック生成端末２は、ブロックチェーンデータＢにステップＳ１１６で生成したブロックデータＤを連結して、ブロックチェーンデータＢを更新する。
【００７３】
ステップＳ１１８においてブロック生成端末２は、図９に示すように、ステップＳ１１６で生成したブロックデータＤおよび発行者の署名付き表示データＭを、Ｐ２ＰネットワークＮに送信する。ステップＳ１１２において検証データＫも生成した場合、ブロック生成端末２は、検証データＫも送信する。
【００７４】
ブロック検証端末３は、ブロックデータＤおよび発行者の署名付き表示データＭ等を受信すると、ステップＳ１２１およびＳ１２２において、ブロック検証端末３が保持するブロックチェーンデータＢおよびストアデータＡを検証する。ブロック検証端末３は、ブロックデータＤに含まれる登録トランザクションデータＴＲ’に含まれる長期保存データＬと、表示データＭとが紐づくことを確認する。ステップＳ１１２において検証データも生成した場合、ブロック検証端末３は、検証データＫも参照して、紐づくことを確認する。ブロック検証端末３は、受信した表示データＭに基づいて、ブロック生成端末２のストアデータＡを更新し、その更新後のストアデータＡのダイジェストと、受信したブロックデータＤのヘッダにおけるストアデータのダイジェストが一致するか否かを判定する。また、ブロック検証端末３は、登録トランザクションデータＴＲ'の発行者が、表示データの電子署名の付与していることを確認する。
【００７５】
ブロック検証端末３は、検証の結果、自身の格納するブロックチェーンデータＢおよびストアデータＡがそれぞれ最新のデータでないと判断した場合、ステップＳ１２３において、Ｐ２ＰネットワークＮに問い合わせて、ブロック生成端末２等から最新のブロックチェーンデータＢおよびストアデータＡを取得する。
【００７６】
（削除方法）
図１０を参照して、トランザクション発行端末１が、削除トランザクションデータＴＤを送信する際の処理を説明する。
【００７７】
まずステップＳ２０１においてトランザクション発行端末１は、削除トランザクションデータＴＤを生成する。削除トランザクションデータＴＤは、削除対象の表示データＭの識別子を含む。
【００７８】
ステップＳ２０１において削除トランザクションデータＴＤが生成されると、ステップＳ２０２においてトランザクション発行端末１は、削除トランザクションデータＴＤをＰ２ＰネットワークＮに送信し、ブロック生成端末２が削除トランザクションデータＴＤを受信する。
【００７９】
ブロック生成端末２は、削除トランザクションデータＴＤを受信すると、削除トランザクションデータＴＤの有効性を検証する。有効性を検証できた場合、ブロック生成端末２は、ステップＳ２１１において、ストアデータＡから、削除トランザクションデータＴＤに含まれる識別子で特定される表示データＭを削除する。ブロック生成端末２は、表示データＭに対応する検証データＫがある場合、検証データＫも削除する。
【００８０】
ステップＳ２１２ブロック生成端末２は、ストアデータＡのダイジェストを生成し、新たに生成する第ＮブロックのブロックデータＤのヘッダを生成する。図８に示すように、第ＮブロックのブロックデータＤのヘッダには、（１）前ブロック（Ｎ−１）のハッシュ値、（２）ブロックに格納するトランザクションのダイジェスト、および（３）ストアデータＡのダイジェストを含む。削除方法において（２）ブロックに格納するトランザクションのダイジェストには、ステップＳ２０２で受信した削除トランザクションデータＴＤのダイジェストを含む。
【００８１】
ステップＳ２１３においてブロック生成端末２は、削除トランザクションデータＴＤを含むブロックデータＤの生成を試みる。ここでブロック生成端末２がブロックデータＤの生成に成功すると、ステップＳ２１４においてブロック生成端末２は、ブロックチェーンデータＢにステップＳ２１３で生成したブロックデータＤを連結して、ブロックチェーンデータＢを更新する。
【００８２】
ステップＳ２１５においてブロック生成端末２は、ステップＳ２１３で生成したブロックデータＤを、Ｐ２ＰネットワークＮに送信する。
【００８３】
ブロック検証端末３は、ブロックデータＤ等を受信すると、ステップＳ２２１およびＳ２２２において、ブロック検証端末３が保持するブロックチェーンデータＢおよびストアデータＡを検証する。ブロック検証端末３は、削除トランザクションデータＴＤの識別子で特定される表示データＭを、ストアデータＡから削除してストアデータＡを更新し、その更新後のストアデータＡのダイジェストと、受信したブロックデータＤのヘッダにおけるストアデータのダイジェストが一致するか否かを判定する。
【００８４】
ブロック検証端末３は、検証の結果、自身の格納するブロックチェーンデータＢおよびストアデータＡがそれぞれ最新のデータでないと判断した場合、ステップＳ２２３において、Ｐ２ＰネットワークＮに問い合わせて、ブロック生成端末２等から最新のブロックチェーンデータＢおよびストアデータＡを取得する。
【００８５】
（鍵更新方法）
図１０を参照して、トランザクション発行端末１が、鍵更新トランザクションデータＴＫを送信する際の処理を説明する。
【００８６】
まずステップＳ３０１においてトランザクション発行端末１は、鍵更新トランザクションデータＴＫを生成する。鍵更新トランザクションデータＴＫは、鍵の更新対象の表示データＭの識別子と、更新後の発行者の公開鍵を含む。
【００８７】
ステップＳ３０１において鍵更新トランザクションデータＴＫが生成されると、ステップＳ３０２においてトランザクション発行端末１は、鍵更新トランザクションデータＴＫをＰ２ＰネットワークＮに送信し、ブロック生成端末２が鍵更新トランザクションデータＴＫを受信する。
【００８８】
ブロック生成端末２は、鍵更新トランザクションデータＴＫを受信すると、鍵更新トランザクションデータＴＫの有効性を検証する。有効性を検証できた場合、ステップＳ３１１において、ストアデータＡから、鍵更新トランザクションデータＴＫに含まれる識別子で特定される表示データＭを抽出し、抽出した表示データＭを、更新後の公開鍵で暗号化して、更新後表示データＭ’を生成する。
【００８９】
ステップＳ３１２においてブロック生成端末２は、更新後表示データＭ’から更新後長期保存データＬ’を生成する。このとき、ブロック生成端末２は、必要に応じて更新後検証データＫ’も生成する。
【００９０】
ステップＳ３１３においてブロック生成端末２は、ステップＳ３０２で取得した鍵更新トランザクションデータＴＫに、ステップＳ３１２で生成した更新後長期保存データＬ’を設定して、鍵更新トランザクションデータＴＫ’を生成する。
【００９１】
ステップＳ３１４においてブロック生成端末２は、ストアデータＡに、更新後表示データＭ’を挿入する。ステップＳ３１２において更新後検証データＫ’も生成した場合、ブロック生成端末２は、ストアデータＡに、更新後検証データＫ’も挿入する。
【００９２】
ステップＳ３１５においてブロック生成端末２は、ストアデータＡのダイジェストを生成し、新たに生成する第ＮブロックのブロックデータＤのヘッダを生成する。図８に示すように、第ＮブロックのブロックデータＤのヘッダには、（１）前ブロック（Ｎ−１）のハッシュ値、（２）ブロックに格納するトランザクションのダイジェスト、および（３）ストアデータＡのダイジェストを含む。鍵更新方法において（２）ブロックに格納するトランザクションのダイジェストには、ステップＳ３１３で生成した鍵更新トランザクションデータＴＫ’のダイジェストを含む。
【００９３】
ステップＳ３１６においてブロック生成端末２は、鍵更新トランザクションデータＴＫ’を含むブロックの生成を試みる。ここでブロック生成端末２がブロックの生成に成功すると、すなわち、ブロックデータＤを生成すると、ステップＳ３１７においてブロック生成端末２は、ブロックチェーンデータＢにステップＳ３１６で生成したブロックデータＤを連結して、ブロックチェーンデータＢを更新する。
【００９４】
ステップＳ３１８においてブロック生成端末２は、ステップＳ３１６で生成したブロックデータＤを、Ｐ２ＰネットワークＮに送信する。ステップＳ３１２において更新後検証データＫ’も生成した場合、ブロック生成端末２は、更新後検証データＫ’も送信する。
【００９５】
ブロック検証端末３は、ブロックデータＤ等を受信すると、ステップＳ３２１およびＳ３２２において、ブロック検証端末３が保持するブロックチェーンデータＢおよびストアデータＡを検証する。ブロック検証端末３は、ブロック生成端末２から受信したブロックデータＤの鍵更新トランザクションデータＴＫ’を読み出して、表示データＭの識別子と、更新後の公開鍵を取得する。ブロック検証端末３は、ストアデータ３から表示データＭを取得して公開鍵で暗号化して、更新後表示データＭ’を生成し、ストアデータＡに挿入する。ブロック検証端末３は、ブロックデータＤに含まれる鍵更新トランザクションデータＴＫ’に含まれる更新後長期保存データＬ’と、ストアデータＡの更新後表示データＭ’とが紐づくことを確認する。ステップＳ３１２において更新後検証データＫ’も生成した場合、ブロック検証端末３は、更新後検証データＫ’も参照して、紐づくことを確認する。ブロック検証端末３は、更新後のストアデータＡのダイジェストと、受信したブロックデータＤのヘッダにおけるストアデータのダイジェストが一致するか否かを判定する。
【００９６】
ブロック検証端末３は、検証の結果、自身の格納するブロックチェーンデータＢおよびストアデータＡがそれぞれ最新のデータでないと判断した場合、ステップＳ３２３において、Ｐ２ＰネットワークＮに問い合わせて、ブロック生成端末２等から最新のブロックチェーンデータＢおよびストアデータＡを取得する。
【００９７】
図１１に示す例において更新後長期保存データＬ’が鍵更新トランザクションデータＴＫ’に設定される場合を説明したが、これに限られない。更新後長期保存データＬ’は、ブロックチェーンデータＢとしてＰ２ＰネットワークＮで共有されればよく、どのような形式でも良い。
【００９８】
このように本発明の実施の形態に係る処理方法において、秘匿情報を秘匿化した表示データＭをブロックチェーンデータＢに登録する際、表示データＭをブロックチェーンデータＢ外のストアデータＡに設定するとともに、表示データＭに対応する長期保存データＬをブロックチェーンデータＢに格納する。また、表示データＭを削除するトランザクションを発行することにより、ブロックチェーンデータＢに格納された長期保存データＬを変更することなく、ストアデータＡから表示データＭを削除することができる。従って、表示データＭ作成時の鍵の流出等による不利益を抑制するとともに、ブロックチェーンの仕組みを活用して、表示データＭを一時的に保持することができる。
【００９９】
このように本発明の実施の形態によれば、ブロックチェーンの仕組みにおいて、一時的にトランザクションの情報を保持することができる。
【０１００】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１０１】
例えば、本発明の実施の形態に記載したトランザクション発行端末、ブロック生成端末およびブロック検証端末は、図２ないし４にそれぞれ示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。また、既存の情報処理装置上に実現されても良い。
【０１０２】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１０３】
１  トランザクション発行端末
２  ブロック生成端末
３  ブロック検証端末
１０  処理システム
１１０、２１０、３１０  記憶装置
１２０、２２０、３２０  処理装置
１２１  登録手段
１２２  削除手段
１２３  鍵更新手段
１３０、２３０、３３０  通信制御装置
２２１  トランザクション処理手段
２２２  ブロック生成手段
２２３、３２２  同期手段
３２１  検証手段
Ａ  ストアデータ
Ｂ  ブロックチェーンデータ
Ｄ  ブロックデータ
Ｋ  検証データ
Ｋ’  更新後検証データ
Ｌ  長期保存データ
Ｌ’  更新後長期保存データ
Ｍ  表示データ
Ｍ’  更新後表示データ
Ｎ  Ｐ２Ｐネットワーク
Ｔ  トランザクションデータ
ＴＤ  削除トランザクションデータ
ＴＲ  登録トランザクションデータ
【図１】
0006557177.tif 000002
【図２】
0006557177.tif 000003
【図３】
0006557177.tif 000004
【図４】
0006557177.tif 000005
【図５】
0006557177.tif 000006
【図６】
0006557177.tif 000007
【図７】
0006557177.tif 000008
【図８】
0006557177.tif 000009
【図９】
0006557177.tif 000010
【図１０】
0006557177.tif 000011
【図１１】
0006557177.tif 000012