(57)【要約】【課題】新旧のブロックチェーンで台帳の一貫性を担保すること。【解決手段】旧ブロックチェーン１００ａから新ブロックチェーン１００ｂへバージョンアップする際に、旧ブロックチェーン台帳１２１ａを新ブロックチェーン台帳１２１ｂに引き継ぐにあたり、取引管理装置１１１は、旧ブロックチェーン１００ａにおいて所有者１３０が所有する資産の取引操作の依頼１５１に応答して、旧ブロックチェーン台帳１２１ａに記録されている所有者１３０が所有する資産１５３と、取引操作にかかる取引内容１５２とを確認する。取引操作の正当性が確認できた場合に、取引後の旧ブロックチェーンの所有者が所有する資産に電子署名を付与した転入取引１５４を生成する。生成された転入取引１５４について検証・合意を形成し（１５５）、新ブロックチェーン台帳１２１ｂに記録する。【選択図】図１
2020042671.tif 000002
【特許請求の範囲】
【請求項１】
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
制御部を有することを特徴とする取引管理装置。
【請求項２】
ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の取引操作の依頼を受け付ける取引受付部と、
前記取引受付部によって受け付けられた取引操作の依頼が、第一のブロックチェーンにおける依頼か、第二のブロックチェーンにおける依頼かを判定する取引タイプ判定部と、
前記取引タイプ判定部による判定の結果、前記取引操作の依頼が前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる、第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容とを確認する確認部と、
前記確認部によって前記取引操作の正当性が確認できた場合に、電子署名を付与した、前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産の第二のブロックチェーン台帳への転入取引を生成する生成部と、
前記生成部によって生成された前記転入取引を検証可能な状態にする転入取引検証部と、
を有することを特徴とする取引管理装置。
【請求項３】
前記転入取引検証部は、前記検証の結果、前記転入取引の正当性について合意が形成された場合に、前記転入取引を前記第二のブロックチェーン台帳に記録することを特徴とする請求項２に記載の取引管理装置。
【請求項４】
前記取引タイプ判定部による判定の結果、前記取引操作の依頼が、前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる前記取引口座の前記第二のブロックチェーン台帳への移転手続きが完了しているかを判定する口座移転完了判定部を有することを特徴とする請求項２または３に記載の取引管理装置。
【請求項５】
前記確認部は、前記口座移転完了判定部による判定の結果、前記取引口座の移転手続きが完了していない場合に、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなうことを特徴とする請求項４に記載の取引管理装置。
【請求項６】
前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳への移転開始要求を受け付ける移転開始受付部と、
前記移転開始受付部によって受け付けられた移転開始要求に含まれる前記第一のブロックチェーン台帳の更新禁止取引を検証し、検証された更新禁止取引を前記第一のブロックチェーン台帳へ記録する更新禁止取引記録部と、
を有することを特徴とする請求項２〜５のいずれか一つに記載の取引管理装置。
【請求項７】
前記確認部は、前記更新禁止取引記録部によって記録された更新禁止取引が記録されている場合は、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなわないことを特徴とする請求項６に記載の取引管理装置。
【請求項８】
前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産が前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳へ移転されたか否かの問合せがあった場合に、未移転の取引口座に関する情報を出力する未移転口座問合せ部を有することを特徴とする請求項２〜７のいずれか一つに記載の取引管理装置。
【請求項９】
前記生成部は、前記未移転口座問合せ部によって出力された未移転の取引口座に関する情報に基づいて、電子署名を付与して、前記未移転の取引口座にかかる資産の前記第二のブロックチェーン台帳への転入取引を生成することを特徴とする請求項８に記載の取引管理装置。
【請求項１０】
コンピュータが、
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
処理を実行することを特徴とする取引管理方法。
【請求項１１】
コンピュータに、
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
処理を実行させることを特徴とする取引管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取引管理装置、取引管理方法および取引管理プログラムに関する。
【背景技術】
【０００２】
近年の仮想通貨ブームを受けて、中央集権ではない分散台帳管理技術であるブロックチェーンの有用性と、仮想通貨以外の分野への本技術の応用には、大きな期待が持たれている。ブロックチェーンを繋いでいくにあたり、たとえば、新旧のブロックチェーンの間で機能拡張などによる引継ぎが発生する場合があり、その際、新旧双方のブロックチェーンで取引情報を連携する必要がある。
【０００３】
関連する先行技術としては、取引内容の信頼性を確保しつつ、資産の所有者は複数の資産移動をともなう複合的な取引形態を扱うことができる技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／１７０９１２号
【特許文献２】国際公開第２０１７／１７０９９７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術にあっては、複数のブロックチェーンで取引情報の連携をとるにあたり、特権を持った管理アプリケーションが台帳を操作しなければならず、ブロックチェーンの存在意義である非中央集権的な運用ができないという問題点がある。
【０００６】
一つの側面では、本発明は、複数のブロックチェーンで台帳の一貫性を担保することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施態様では、第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、制御部を有する取引管理装置が提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、複数のブロックチェーンで台帳の一貫性を担保することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる取引管理装置、取引管理方法および取引管理プログラムの概要の一例を示す説明図である。
【図２】図２は、ブロックチェーンのシステム構成の一例を示すブロック図である。
【図３】図３は、取引管理装置のハードウェア構成の一例を示すブロック図である。
【図４】図４は、旧ブロックチェーン台帳のデータ構成の一例を示す説明図である。
【図５】図５は、新ブロックチェーン台帳のデータ構成の一例を示す説明図である。
【図６】図６は、取引管理装置の機能的構成の一例を示すブロック図である。
【図７】図７は、旧ブロックチェーン向け資産移転取引データの内容の一例を示す説明図である。
【図８】図８は、新ブロックチェーン向け資産移転取引データの内容の一例を示す説明図である。
【図９】図９は、新ブロックチェーン向け資産転入取引データの内容の一例を示す説明図である。
【図１０】図１０は、旧ブロックチェーン口座リストの内容の一例を示す説明図である。
【図１１】図１１は、新ブロックチェーン口座リストの内容の一例を示す説明図である。
【図１２】図１２は、未移転口座リストの内容の一例を示す説明図である。
【図１３】図１３は、取引管理装置の処理の手順の一例（その１）を示すフローチャートである。
【図１４】図１４は、取引管理装置の処理の手順の一例（その２）を示すフローチャートである。
【図１５】図１５は、取引管理装置の処理の手順の一例（その３）を示すフローチャートである。
【図１６】図１６は、取引管理装置の処理の手順の一例（その４）を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる取引管理装置、取引管理方法および取引管理プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態）
（取引管理処理の概要）
図１は、実施の形態にかかる取引管理装置、取引管理方法および取引管理プログラムの概要の一例を示す説明図である。図１において、ブロックチェーン１００は、中央集権による運用ではない、いわゆる「非中央集権的な」分散台帳管理技術である。複数の取引をまとめたブロック１０１〜１０７を鎖状に繋いでいくことで、ブロックチェーン１００の機能を実現している。
【００１２】
本来、ブロックチェーン１００に記録される取引の真正性の検証や、改ざん防止といったブロックチェーン１００の効能は、ブロックチェーン１００への記録が長期間途切れることなく連続して運用されることで発揮される。しかし、ブロックチェーン１００であっても、基盤ソフトウェアの機能拡張や、暗号アルゴリズムの危殆化などの理由で、第一のブロックチェーンの一例である旧ブロックチェーン１００ａ（ブロック１０１〜１０４）から、第二のブロックチェーンの一例である新ブロックチェーン１００ｂ（ブロック１０５〜１０７）へバージョンアップした場合などに、たとえば、ブロック１０４とブロック１０５との間で、チェーンを繋ぐことができなくなり、双方のブロックチェーンの間で引き継ぎが発生する場合がある。
【００１３】
その際、短期間で全資産の新ブロックチェーン１００ｂへの移行や、旧ブロックチェーン１００ａでの資産管理の無効化などがうまくいかずに、旧ブロックチェーン１００ａと新ブロックチェーン１００ｂで台帳の一貫性が保てなくなる、いわゆる“フォーク”が発生して、問題となっている。旧ブロックチェーンから新ブロックチェーンへの引継ぎに限らず、複数のブロックチェーン間で取引情報を連携させようとする際には同様の問題が生じる。
【００１４】
したがって、このような問題を回避し、旧ブロックチェーン１００ａの台帳（旧ブロックチェーン台帳１２１ａ）で管理されていた取引記録や、（残高を移すような）ユーザ権限を他のブロックチェーン１００ｂにスムーズに移行するためには、双方のブロックチェーン１００ａ、１００ｂで取引情報を連携させる必要がある。
【００１５】
ブロックチェーン１００の安全性はそのチェーン上でのみ保証される仕組みであるため、従来の旧ブロックチェーン台帳１２１ａと新ブロックチェーン台帳１２１ｂの連携では、特権を持った管理アプリケーションが台帳を操作することが必須である。この場合、新旧のブロックチェーン台帳１２１ａ、１２１ｂに記録される情報の連携、という機能面での要件を満たしていても、ブロックチェーン１００の存在意義である「非中央集権での運用」という要件を満たすことができないため、一般的な解決策としては受け容れられにくい。
【００１６】
そこで、ブロックチェーン１００で実現された分散台帳管理システムに関わるもので、古いブロックチェーン（旧ブロックチェーン１００ａ）の取引記録を活用し、新しいブロックチェーン（新ブロックチェーン１００ｂ）で取引を生成する際の、以下の３つの課題を解決する必要がある。
【００１７】
第１の課題は、新ブロックチェーン１００ｂへの移行で情報資産の総量を変化させないようにすることである。新ブロックチェーン１００ｂが旧ブロックチェーン１００ａから分岐する“フォーク”が発生すると、資産が二重にカウントされて総量が変化してしまうので、そうならないようにする必要がある。
【００１８】
第２の課題は、移行中にサービスが中断されないようにすることである。具体的には、利用者に配布されるアプリケーション（たとえばウォレット・アプリケーション１３１）が新ブロックチェーン１００ｂに対応していない時点で旧ブロックチェーン１００ａの更新が終了した場合でも、新ブロックチェーン１００ｂでの取引をおこなうことができるようにする必要がある。
【００１９】
第３の課題は、移転アプリケーションが「特権」で動作する必要がないことである。すなわち、あくまで「非中央集権での運用」により移行がおこなわれるようにする必要がある。
【００２０】
図１において、取引管理装置１１１は、旧ブロックチェーン台帳１２１ａと新ブロックチェーン台帳１２１ｂとを有している。ここで、旧ブロックチェーン台帳１２１ａは、バージョンアップ前の旧ブロックチェーン１００ａにおける内容を記録している。また、新ブロックチェーン台帳１２１ｂは、バージョンアップ後の新ブロックチェーン１００ｂにおける内容を記録している。
【００２１】
旧ブロックチェーン１００ａにおいて所有者１３０が、たとえばウォレット・アプリケーション１３１などを用いて、当該所有者１３０が所有する資産の取引操作（旧ブロックチェーンによる資産の取引操作１５１）の依頼を、取引管理装置１１１に対しておこなう。そうすると、取引管理装置１１１は、その依頼に応答して、取引操作にかかる取引内容１５２を確認する。また、その依頼に応答して、旧ブロックチェーン１００ａの所有者１３０が所有する資産（所有者の資産１５３）を確認する。
【００２２】
そして、取引操作の正当性が確認できた場合に、取引管理装置１１１は、スマートコントラクトを利用して、転入取引１５４を生成する。生成される転入取引１５４は、旧ブロックチェーンの取引（取引内容１５２）にスマートコントラクトによる電子署名を付与したものである。旧ブロックチェーン１００ａの取引であるから、旧ブロックチェーン１００ａにおける当該所有者の資産１５３が、当該取引にかかる送金量よりも大きい場合に取引の正当性が確認されるのである。
【００２３】
したがって、旧ブロックチェーンの取引（取引内容１５２）に電子署名を付与するということは、取引後の資産（元の資産から取引にかかる送金量を減算した残高）について電子署名が付与されたものであるとすることもできる。したがって、生成される転入取引１５４は、取引後資産にスマートコントラクトによる電子署名を付与したものであるといってもよい。
【００２４】
そして、転入取引１５４を新ブロックチェーン１００ｂの参加者、すなわち、Ｐ２Ｐネットワーク１１０における各ノードサーバ１１２〜１１６において検証し、合意が形成される（検証・合意形成１５５）。新ブロックチェーン１００ｂの参加者における検証・合意形成がなされた場合に、転入取引１５４は、新ブロックチェーン台帳１２１ｂに記録される。これによって、当該取引にかかる所有者の資産（取引口座）は、旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへの引き継ぎが完了する。
【００２５】
このように、旧ブロックチェーン１００ａの所有者１３０が、旧ブロックチェーン１００ａにおける資産の取引操作１５１をするだけで、新旧のブロックチェーン台帳１２１ａ、１２１ｂの引き継ぎをおこなうことができる。
【００２６】
（ブロックチェーンのシステム構成）
図２は、ブロックチェーンのシステム構成の一例を示すブロック図である。図２において、ブロックチェーン１００のシステムは、複数のコンピュータ間で通信をおこなうＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）ネットワーク１１０によって、そのシステムが構成される。
【００２７】
ブロックチェーン１００のシステム（Ｐ２Ｐネットワーク）１１０は、たとえば、Ｐｅｅｒとよばれる端末（ノードサーバ）によって構成される。複数のＰｅｅｒそれぞれがサービス提供者であり利用者である。そのため、アップデートなどをおこなう場合は、Ｐｅｅｒの参加者がそれぞれでプログラムの更新をおこなうなど、参加者の同意を得て更新していくことになる。
【００２８】
このブロックチェーン１００のシステム１１０では、クライアント・サーバ型でいうサーバに相当する依存する存在がないため、特定のＰｅｅｒが切断しても、サービスの提供は止まらない。このように、このブロックチェーン１００のシステム１１０は、参加者それぞれが平等な立場であることから、「非中央集権的な」システムであるといえる。
【００２９】
各Ｐｅｅｒの端末に該当するのが、図２に示す、ノードサーバ１１１〜１１６である。取引管理装置１１１も、このノードサーバの一つである。ノードサーバ１１１〜１１６は、ブロックチェーン１００のコンセンサスアルゴリズムで、取引について検証・合意の形成をおこなうことができる。そして、いずれかのノードサーバ（図２においては、取引管理装置であるノードサーバ１１１）の下に、インターネットなどのネットワーク２００を介して、ウォレット・アプリケーション１３１を搭載した端末装置２０１が、ぶら下がる形で接続されている。
【００３０】
各ノードサーバ１１１〜１１６は、ブロックチェーン１００のバージョンアップにともない、旧ブロックチェーン１００ａ用の旧ブロックチェーン台帳１２１ａ〜１２６ａと、新ブロックチェーン１００ｂ用の新ブロックチェーン台帳１２１ｂ〜１２６ｂとを、それぞれ備えている。
【００３１】
端末装置２０１は、資産の所有者１３０が操作する情報処理装置である。この端末装置２０１は、インストールされたウォレット・アプリケーション１３１を用いて、所有者１３０が資産の取引操作をおこなう際に用いる。端末装置２０１は、具体的には、たとえば、パーソナルコンピュータ、スマートフォン、タブレット端末装置などのインターネット２００に有線または無線で接続可能な情報処理装置であってもよい。
【００３２】
（取引管理装置のハードウェア構成）
図３は、取引管理装置のハードウェア構成の一例を示すブロック図である。図３において、取引管理装置であるノードサーバ１１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５と、を有する。また、各構成部３０１〜３０４は、バス３００によってそれぞれ接続される。
【００３３】
ここで、ＣＰＵ３０１は、取引管理装置１１１の全体の制御を司る。メモリ３０２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、たとえば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３４】
ネットワークＩ／Ｆ３０３は、通信回線を通じてネットワーク１１０、２００に接続され、ネットワーク１１０、２００を介して他の装置に接続される。そして、ネットワークＩ／Ｆ３０３は、ネットワーク１１０、２００と自装置内部とのインターフェースを司り、他の装置（たとえば、他のノードサーバ１０２〜１０６やクライアント端末装置２０１など）からのデータの入出力を制御する。ネットワークＩ／Ｆ３０３には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００３５】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１の制御にしたがって記録媒体３０５に対するデータのリード／ライトを制御する。記録媒体３０５は、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する。記録媒体３０５としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
【００３６】
なお、取引管理装置は、上述した構成部３０１〜３０５のほかに、たとえば、図示を省略する、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、ポインティングデバイス、ディスプレイなどを有することにしてもよい。
【００３７】
（旧ブロックチェーン台帳のデータ構成）
図４は、旧ブロックチェーン台帳のデータ構成の一例を示す説明図である。旧ブロックチェーン台帳１２１ａは、具体的には、たとえば、図３に示した取引管理装置のメモリ３０２や記録媒体３０５によってその機能を実現することができる。図４において、旧ブロックチェーン台帳１２１ａは、旧ブロックチェーン向け資産移転取引データ（トランザクション）４０１を記録する。
【００３８】
旧ブロックチェーン向け資産移転取引データ４０１は、たとえば、「バージョン番号」４１１、「発行時刻」４１２、「送金元アドレス（Ａｄｄｒ）」４１３、「送金先アドレス（Ａｄｄｒ）」４１４、「送金量」４１５、「署名データ」４１６、「送金元公開鍵」４１７などのフィールドからなる。
【００３９】
「バージョン番号」４１１のフィールドには、その値（「Ｖａｌｕｅ」）として、ブロックチェーンのバージョンに関する数値が記録される。「発行時刻」４１２のフィールドには、その値として、この資産移転取引が発行された時刻が記録される。「送金元アドレス（Ａｄｄｒ）」４１３のフィールドには、この資産移転取引における資産の送金元、すなわちこの資産の所有者のアドレスが、また、「送金先アドレス（Ａｄｄｒ）」４１４のフィールドには、この資産移転取引における資産の送金先のアドレスが、それぞれ記録される。
【００４０】
「送金量」４１５のフィールドには、この資産移転取引において送金される量、すなわちこの資産移転取引における資産の送金の額に関する情報が記録される。「署名データ」４１６のフィールドには、この資産の所有者の電子署名データ、すなわち、秘密鍵で暗号化することで、当該秘密鍵の保有者であることを証明するデータが記録される。
【００４１】
「送金元公開鍵」４１７のフィールドには、「署名データ」フィールドに記憶されている電子署名データを復号化することができる、『送信元』すなわち当該秘密鍵の保有者の公開鍵データが記録されている。この公開鍵をアドレスとして銀行口座のように使用して、使用する際に電子署名で利用しようとしている公開鍵に対応する秘密鍵の保有の証明をおこなうために使用するようにしてもよい。
【００４２】
また、旧ブロックチェーン台帳１２１ａは、旧ブロックチェーン口座リスト４０２を記録するようにしてもよい。図４に示すように、旧ブロックチェーン口座リスト４０２は、「口座番号」４２１のカラムと、「残高」４２２のカラムとからなる。「口座番号」４２１のカラムの各フィールドには、一意に設定される資産の所有者の口座番号が記録される。ここには、口座番号として、送金元公開鍵を用いるようにしてもよい。
【００４３】
「残高」４２２のカラムの各フィールドには、レコードごとに口座番号に対応した資産の残高が記録される。これにより、各口座番号をキーとして、当該口座番号ごとの残高（資産）を容易に検索し、抽出することができる。
【００４４】
このように、旧ブロックチェーン台帳１２１ａには、複数の旧ブロックチェーン向け資産移転取引データ４０１が、ブロック（たとえば、図１に示したブロック１０１〜１０４）としてまとめられて記録されている。旧ブロックチェーン口座リスト４０２を記録しておくことで、各口座番号における残高を容易に抽出することができる。
【００４５】
旧ブロックチェーン台帳１２１ａにおいて、旧ブロックチェーン向け資産移転取引データ４０１から旧ブロックチェーン口座リスト４０２に関する情報を算出することが可能なので、旧ブロックチェーン向け資産移転取引データのみを記録しておいて、その移転取引データから各口座番号における残高を算出するようにしてもよい。その場合は、旧ブロックチェーン向け資産移転取引データ４０１だけあればよいので、旧ブロックチェーン口座リスト４０２をあえて記録しておかなくてもよい。
【００４６】
（新ブロックチェーン台帳のデータ構成）
図５は、新ブロックチェーン台帳のデータ構成の一例を示す説明図である。新ブロックチェーン台帳１２１ｂは、具体的には、たとえば、図３に示した取引管理装置１１１のメモリ３０２や記録媒体３０５によってその機能を実現することができる。図５において、新ブロックチェーン台帳１２１ｂは、新ブロックチェーン向け資産移転取引データ（トランザクション）５０１および新ブロックチェーン口座リスト５０２を記録する。この構成は、旧ブロックチェーン台帳１２１ａと同じである。
【００４７】
新ブロックチェーン向け資産移転取引データ５０１は、たとえば、「バージョン番号」５１１、「取引タイプ」５１２、「発行時刻」５１３、「送金元アドレス（Ａｄｄｒ）」５１４、「送金先アドレス（Ａｄｄｒ）」５１５、「送金量」５１６、「署名データ」５１７、「送金元公開鍵」５１８、「通信欄」５１９などのフィールドからなる。図４に示した旧ブロックチェーン向け資産移転取引データ４０１と比較して、「取引タイプ」フィールド５１２および「通信欄」フィールド５１９が追加されていることがわかる。その他のフィールド５１１、５１３〜５１８については、旧ブロックチェーン向け資産移転取引データ４０１のフィールド４１１〜４１７と同じである、したがって、フィールド５１１、５１３〜５１８の説明は、省略する。
【００４８】
「取引タイプ」フィールド５１２には、どのような取引かそのタイプに関する情報が記録される。たとえば、『資産移転取引』、『資産転入取引』などの情報が記録される。「通信欄」フィールド５１９には、送金元から送金先への連絡事項に関する情報などが記録され、通信欄として送信元の所有者が自由に各種の情報を使用することができるこの「通信欄」フィールド５１９を活用することによって、当該移転取引の内容がより明確となり、ブロックチェーンによる取引の利便性が向上する。
【００４９】
また、新ブロックチェーン台帳１２１ｂは、旧ブロックチェーン台帳１２１ａと同様に、新ブロックチェーン口座リスト５０２を記録するようにしてもよい。図５に示すように、新ブロックチェーン口座リスト５０２は、図４に示した旧ブロックチェーン台帳１２１ａと同様に、「口座番号」フィールドと、「残高」フィールドとからなる。旧ブロックチェーン台帳と新ブロックチェーン台帳とは、その構成についての違いはない。
【００５０】
このように、新ブロックチェーン台帳１２１ｂには、旧ブロックチェーン台帳１２１ａと同様に、複数の新ブロックチェーン向け資産移転取引データ５０１が、ブロック（たとえば、図１に示したブロック１０５〜１０７）としてまとめられて記録されている。なお、新ブロックチェーン台帳１２１ｂにおいて、新ブロックチェーン向け資産移転取引データ５０１から新ブロックチェーン口座リスト５０２に関する情報を算出することが可能なので、新ブロックチェーン口座リスト５０２をあえて記録しておかなくてもよい。これも、旧ブロックチェーン台帳１２１ａと同じである。
【００５１】
（取引管理装置の機能的構成）
図６は、取引管理装置の機能的構成の一例を示すブロック図である。また、図７は、旧ブロックチェーン向け資産移転取引データの内容の一例を示す説明図であり、図８は、新ブロックチェーン向け資産移転取引データの内容の一例を示す説明図である。
【００５２】
図６において、取引管理装置１１１は、制御部６００を備えている。また、取引管理装置１１１は、旧ブロックチェーン台帳１２１ａおよび新ブロックチェーン台帳１２１ｂを備えている、あるいは、旧ブロックチェーン台帳１２１ａおよび新ブロックチェーン台帳１２１ｂは、取引管理装置１１１に、アクセス可能に接続されている。
【００５３】
図６に示すように、取引管理装置１１１が備える制御部６００は、取引受付部６０１と、取引タイプ判定部６０２と、新ブロックチェーン向け資産移転取引検証部６０３と、口座移転完了判定部６０４と、旧ブロックチェーン向け資産移転取引確認部６０５と、資産転入取引生成部６０６と、資産転入取引検証部６０７と、ブロックチェーン移転開始受付部６０８と、更新禁止取引記録部６０９と、未移転口座問合せ部６１０と、を有する構成となっている。
【００５４】
ここで、取引受付部６０１は、ウォレット・アプリケーション１３１を利用して所有者１３０が送信した取引データを受信する。取引データは、たとえば、ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の移転取引に関するデータである。取引データは、より具体的には、たとえば、図７に示す旧ブロックチェーン向け資産移転取引データ７０１または図８に示す新ブロックチェーン向け資産移転取引データ８０１であってもよい。
【００５５】
取引受付部６０１は、具体的には、たとえば、図３に示した、ネットワークＩ／Ｆ３０３などによってその機能を実現することができる。このようにして、取引受付部６０１は、ブロックチェーン１００において所有者１３０が所有する取引口座にかかる資産の取引操作の依頼を受け付けることができる。
【００５６】
取引タイプ判定部６０２は、取引受付部６０１が受信した取引データの取引タイプを判定する。具体的には、取引タイプ判定部６０２は、当該取引データが、旧ブロックチェーン１００ａにおける取引データであるか、あるいは、新ブロックチェーン１００ｂにおける取引データであるかを判定する。取引タイプの判定は、具体的には、たとえば、取引データのバージョン番号に基づいておこなうことができる。
【００５７】
より具体的には、図７に示した旧ブロックチェーン向け資産移転取引データ７０１において、「バージョン番号」が『０．６』であり、図８に示した新ブロックチェーン向け資産移転取引データ８０１において、「バージョン番号」が『１．０』である。したがって、取引タイプ判定部６０２は、取引受付部６０１が受信した取引データの「バージョン番号」が『０．６』であれば、旧ブロックチェーン１００ａにおける取引データであると判断し、取引データの「バージョン番号」が『１．０』であれば、新ブロックチェーン１００ｂにおける取引データであると判断することができる。
【００５８】
また、取引タイプの判定は、取引受付部６０１が受信した取引データに含まれる電子署名データを検査して、新旧どちらのブロックチェーン向けに作成されたものか判断するようにしてもよい。
【００５９】
取引タイプ判定部６０２は、具体的には、たとえば、図３に示した、メモリ３０２などに記憶されたプログラムをＣＰＵ３０１に実行させることによって、その機能を実現することができる。このようにして、取引タイプ判定部６０２は、取引受付部６０１によって受け付けられた取引操作の依頼が、旧ブロックチェーン１００ａにおける依頼か、新ブロックチェーン１００ｂにおける依頼かを判定することができる。
【００６０】
新ブロックチェーン向け資産移転取引検証部６０３は、新ブロックチェーン向け取引検証部の一例であり、取引タイプ判定部６０２による判定の結果、取引操作の依頼が新ブロックチェーン１００ｂにおける依頼である場合に、当該依頼にかかる移転取引をブロックチェーンによる検証可能な状態にする。そして、この移転取引は、新ブロックチェーン１００ｂのコンセンサスアルゴリズムで検証・合意されることとなる。
【００６１】
また、新ブロックチェーン向け資産移転取引検証部６０３は、検証の結果、移転取引の正当性について合意が形成された場合に、当該移転取引を新ブロックチェーン台帳１２１ｂに正式に記録するようにしてもよい。ここで、合意の形成は、たとえば、新ブロックチェーン向け資産移転取引データの電子署名データにかかる電子署名の正当性についておこなわれるようにしてもよい。そして、電子署名の正当性について合意が形成されることによって、当該移転取引の検証がなされるようにしてもよい。
【００６２】
新ブロックチェーン向け資産移転取引検証部６０３は、図３に示した、メモリ３０２などに記憶されたプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３、記録媒体Ｉ／Ｆ３０４などによって、その機能を実現することができる。
【００６３】
このようにして、新ブロックチェーン向け資産移転取引検証部６０３は、新ブロックチェーン向け資産移転取引の検証および合意形成をおこない、当該移転取引を新ブロックチェーン台帳１２１ｂに記録することができる。
【００６４】
口座移転完了判定部６０４は、取引タイプ判定部６０２による判定の結果、取引操作の依頼が、旧ブロックチェーン１００ａにおける依頼である場合に、取引操作の依頼にかかる取引口座の新ブロックチェーン台帳１２１ｂへの移転手続きが完了しているかを判定する。具体的には、口座移転完了判定部６０４は、取引管理装置１１１に実装された資産移転処理用スマートコントラクトを呼び出す。このスマートコントラクトは、取引データの送金元アドレスの情報を使って、当該口座の資産が移転済みか否かを検査する。
【００６５】
より具体的には、スマートコントラクトを呼び出して、新ブロックチェーン台帳１２１ｂに対して、資産の移転先口座残高の問い合わせをおこなう。スマートコントラクトを呼び出した結果、移転手続きが完了していれば、移転済みの口座では０以上の残高の数値が返却され、移転前の口座では“口座が存在しない”というエラーが発生することになる。このように、スマートコントラクトを利用して、口座移転が完了しているか否かの判定をおこなうことができる。
【００６６】
口座移転完了判定部６０４は、具体的には、たとえば、図３に示した、メモリ３０２などに記憶された資産移転処理用スマートコントラクトを含むプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３、記録媒体Ｉ／Ｆ３０４などによって、その機能を実現することができる。
【００６７】
このようにして、取引操作の依頼が、旧ブロックチェーン向け資産移転取引の依頼である場合に、取引操作の依頼にかかる取引口座の新ブロックチェーン台帳１２１ｂへの移転手続きが完了しているかを判定することができる。そして、旧ブロックチェーン１００ａ向け取引を起点に実行される資産移転が既に完了した資産について移転手続きがおこなわれて、二重に移転してしまうという問題を確実に回避することができる。
【００６８】
なお、この口座移転完了判定部６０４は、省略することができる。すなわち、取引タイプ判定部６０２による判定の結果、取引操作の依頼が、旧ブロックチェーン１００ａにおける依頼である場合には、口座移転完了判定部６０４による判定をおこなうことをせずに、旧ブロックチェーン向け資産移転取引確認部６０５による確認処理をおこなうようにしてもよい。
【００６９】
旧ブロックチェーン向け資産移転取引確認部６０５は、確認部の一例であり、当該取引操作にかかる取引内容と、当該取引操作の依頼にかかる、旧ブロックチェーン台帳１２１ａに記録されている旧ブロックチェーン１００ａの所有者が所有する取引口座にかかる資産とを確認する。具体的には、旧ブロックチェーン向け資産移転取引確認部６０５は、ここでも、資産の移転手続きをおこなう資産移転処理用スマートコントラクトを利用する。
【００７０】
このスマートコントラクトは、当該取引データにかかる口座について、旧ブロックチェーン台帳１２１ａに記録されている取引履歴（具体的には、たとえば、旧ブロックチェーン口座リスト４０２など）を参照する。そして、取引で送金される送金額より多い残高が該当口座に残っており、付与されている電子署名が当該口座の所有者のものである、という検証をおこなう。
【００７１】
旧ブロックチェーン向け資産移転取引確認部６０５は、図３に示した、メモリ３０２などに記憶された資産移転処理用スマートコントラクトを含むプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３、記録媒体Ｉ／Ｆ３０４などによって、その機能を実現することができる。
【００７２】
このようにして、旧ブロックチェーン向け資産移転取引確認部６０５は、取引タイプ判定部６０２による判定の結果、取引操作の依頼が旧ブロックチェーン１００ａにおける依頼である場合、あるいは、口座移転完了判定部６０４による判定の結果、口座移転が完了している場合に、当該取引操作の依頼にかかる、旧ブロックチェーン台帳１２１ａに記録されている当該旧ブロックチェーン１００ａの所有者が所有する取引口座にかかる資産と、当該取引操作にかかる取引内容とを確認することができる。
【００７３】
資産転入取引生成部６０６は、生成部の一例であり、該取引操作の依頼にかかる所有者の資産について、新ブロックチェーン台帳１２１ｂへの資産転入取引データを生成する。資産転入取引データには電子署名を付与する。具体的には、資産転入取引生成部６０６は、スマートコントラクトを利用して、スマートコントラクトが管理する署名鍵で電子署名を付与した資産転入取引データを生成する。
【００７４】
図９は、新ブロックチェーン向け資産転入取引データの内容の一例を示す説明図である。資産転入取引生成部６０６は、たとえば、スマートコントラクトを利用して、図９に示す新ブロックチェーン向け資産転入取引データ９０１を生成する。図９において、新ブロックチェーン向け資産転入取引データ９０１は、図８に示した新ブロックチェーン向け資産移転取引データ８０１のデータ構成が基本となっている。
【００７５】
新ブロックチェーン向け資産転入取引データ９０１における、新ブロックチェーン向け資産移転取引データ８０１との違いは、（１）「取引タイプ」フィールドの記録の内容の違い、（２）「旧ブロックチェーン取引データ」フィールドを含むこと、（３）「通信欄」フィールドがないこと、である。
【００７６】
（１）新ブロックチェーン向け資産移転取引データ８０１の「取引タイプ」フィールドには、『資産移転取引』と記録されるのに対して、新ブロックチェーン向け資産転入取引データ９０１は、『資産転入取引』と記録される。これによって、取引のタイプの違いを認識することができる。
【００７７】
（２）「旧ブロックチェーン取引データ」フィールドには、図７に示した、旧ブロックチェーン向け資産移転取引データ７０１の内容が記録される。図７および図９に示すとおり、新ブロックチェーン向け資産転入取引データ９０１の「旧ブロックチェーン取引データ」フィールドにおける、「バージョン番号」、「発行時刻」、「送金元Ａｄｄｒ」、「送金先Ａｄｄｒ」、「送金量」、「署名データ」、「送金元公開鍵」の各フィールドのデータは、旧ブロックチェーン向け資産移転取引データ７０１の各フィールドのデータがそのまま記録されることになる。「取引タイプ」およびこれらの「旧ブロックチェーン取引データ」によって、この取引データが旧ブロックチェーンからの資産転入取引であることがわかる。
【００７８】
（３）「通信欄」は、なくてもよい。そもそも、この新ブロックチェーン向け資産転入取引データは、スマートコントラクトによって生成されたデータであるから、「通信欄」はなくてもよい。
【００７９】
資産転入取引生成部６０６は、図３に示した、メモリ３０２などに記憶された資産移転処理用スマートコントラクトを含むプログラムをＣＰＵ３０１に実行させることによって、その機能を実現することができる。
【００８０】
このようにして、資産転入取引生成部６０６は、旧ブロックチェーン向け資産移転取引確認部６０５によって取引操作の正当性が確認できた場合に、電子署名を付与した、旧ブロックチェーン１００ａの所有者が所有する取引口座にかかる資産の新ブロックチェーン台帳１２１ｂへの転入取引を生成することができる。
【００８１】
資産転入取引検証部６０７は、転入取引検証部の一例であり、資産転入取引生成部６０６において生成された転入取引をブロックチェーンによる検証可能な状態にする。そして、この転入取引は、新ブロックチェーンにおいて合意可能な形式（必須パラメタや電子署名の付与など）となっていて、新ブロックチェーンのコンセンサスアルゴリズムで検証・合意されることとなる。
【００８２】
また、資産転入取引検証部６０７は、検証の結果、転入取引の正当性について合意が形成された場合に、当該転入取引を新ブロックチェーン台帳１２１ｂに正式に記録するようにしてもよい。ここで、合意の形成は、たとえば、転入データの電子署名データにかかる電子署名（スマートコントラクトが管理する署名鍵で電子署名）の正当性についておこなわれるようにしてもよい。そして、電子署名の正当性について合意が形成されることによって、当該転入取引の検証がなされるようにしてもよい。
【００８３】
このような資産転入取引検証部６０７の一連の処理は、資産転入取引検証部６０７の一連の処理と同様である。資産転入取引検証部６０７は、図３に示した、メモリ３０２などに記憶されたプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３、記録媒体Ｉ／Ｆ３０４などによって、その機能を実現することができる。
【００８４】
このようにして、資産転入取引検証部６０７は、資産転入取引生成部６０６によって生成された転入取引を検証可能な状態にすることができる。また、資産転入取引検証部６０７は、検証の結果、転入取引の正当性について合意が形成された場合に、当該転入取引を新ブロックチェーン台帳１２１ｂに記録することができる。そして、取引口座の残高を再計算し、再計算された残高を新ブロックチェーン台帳１２１ｂに記録することで、取引口座を、旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへ引き継ぐことができる。
【００８５】
これにより、（更新がされなくなった）旧ブロックチェーンの合意ポリシーのもとで正当と判断されるか否かを検証し、正当と判断された場合にのみ、検証結果と検証者（スマートコントラクト）の電子署名を付与した「資産転入取引データ」を生成することで、転入前の資産価値を検証者が保証し、新ブロックチェーンへの記録時に検証者の署名検査をおこなうだけで、移転可能とすることができる。
【００８６】
つぎに、ブロックチェーン移転開始受付部６０８および更新禁止取引記録部６０９について説明する。
【００８７】
ブロックチェーン移転開始受付部６０８は、移転開始受付部の一例であり、旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへの取引口座にかかる資産の移転開始要求（命令）を受け付ける。移転開始要求は、ブロックチェーンの参加者による所定の操作によっておこなわれるようにしてもよく、また、システムのプログラムが所定の条件に基づいて実行されることによっておこなわれるようにしてもよい。
【００８８】
ブロックチェーン移転開始受付部６０８は、図３に示した、メモリ３０２などに記憶されたプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３などによって、その機能を実現することができる。このように、ブロックチェーン移転開始受付部６０８は、ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへの移転開始要求を受け付けることができる。
【００８９】
更新禁止取引記録部６０９は、ブロックチェーン移転開始受付部６０８によって受け付けられた移転開始要求に含まれる旧ブロックチェーン台帳の更新禁止取引データがある場合は、その更新禁止取引データを抽出する。そして、抽出された更新禁止取引データの検証を、たとえばスマートコントラクトを利用して実行する。そして、更新禁止取引データにかかる取引を検証する。具体的には、旧ブロックチェーンへの参加者が旧ブロックチェーンの継続利用が不可能になる事実を検証する。さらには、図示を省略するがこの事実に合意をとるようにしてもよい。そして、検証された場合に、更新禁止取引データを旧ブロックチェーン台帳１２１ａへ記録する。
【００９０】
更新禁止取引記録部６０９によって記録された更新禁止取引が旧ブロックチェーン台帳１２１ａに記録されている場合は、旧ブロックチェーン向け資産移転取引確認部６０５は、取引操作の依頼にかかる、旧ブロックチェーン台帳１２１ａに記録されている旧ブロックチェーンの所有者が所有する取引口座にかかる資産と、当該取引操作にかかる取引内容の確認をおこなわないようにしてもよい。これによって、以降に受け付けられた取引を無効と判断できるようにすることができる。
【００９１】
更新禁止取引記録部６０９は、図３に示した、メモリ３０２などに記憶されたプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３、記録媒体Ｉ／Ｆ３０４などによって、その機能を実現することができる。このように、更新禁止取引記録部６０９は、ブロックチェーン移転開始受付部６０８によって受け付けられた移転開始要求に含まれる旧ブロックチェーン台帳の更新禁止取引を検証し、検証された更新禁止取引を当該旧ブロックチェーン台帳１２１ａへ記録する。
【００９２】
つぎに、未移転口座問合せ部６１０について、図１０〜図１２を用いて説明する。図１０は、旧ブロックチェーン口座リストの内容の一例を示す説明図であり、図１１は、新ブロックチェーン口座リストの内容の一例を示す説明図である。また、図１２は、未移転口座リストの内容の一例を示す説明図である。
【００９３】
未移転口座問合せ部６１０は、ブロックチェーン１００において所有者が所有する取引口座にかかる資産が旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへ移転されたか否かの問合せがあった場合に、旧ブロックチェーン台帳１２１ａから、たとえば図１０に示す旧ブロックチェーン口座リスト１００１を抽出するとともに、新ブロックチェーン台帳１２１ａから、たとえば図１１に示す新ブロックチェーン口座リスト１１０１を抽出する。
【００９４】
未移転口座問合せ部６１０は、抽出した旧ブロックチェーン口座リスト１００１と新ブロックチェーンリスト１１０１を比較する。そうすると、旧ブロックチェーン口座リスト１００１の上から２番目の「口座番号」が『３２５６３４３３５３４』で「残高」が『５００』の取引口座が、旧ブロックチェーン口座リスト１００１には存在するが、新ブロックチェーン口座リスト１１０１には存在しないことがわかる。
【００９５】
このように、旧ブロックチェーン口座リスト１００１には存在するが、新ブロックチェーン口座リスト１１０１には存在しない口座、すなわち、このような検査で、新ブロックチェーン口座リスト１１０１への移転が確認できなかった口座のみを抽出する。そして、未移転口座問合せ部６１０は、抽出した口座に基づいて、たとえば、図１２に示す未移転口座リスト１２０１を生成する。さらに、未移転口座問合せ部６１０は、生成されたリストに関する情報を、たとえば、資産転入取引生成部６０６へ出力する。
【００９６】
そして、資産転入取引生成部６０６は、未移転口座問合せ部６１０によって出力された未移転の取引口座に関する情報に基づいて、電子署名を付与して、当該未移転の取引口座にかかる資産の新ブロックチェーン台帳への転入取引を生成する。具体的には、たとえば、各口座に対して送金量『０（コイン）』の送金取引データを、送金元となる管理者ユーザの秘密鍵で電子署名することで、転入取引を生成する。その後は、上述した処理と同様の処理をおこなうことによって、当該取引口座を新ブロックチェーン台帳１２１ｂに記録することができる。
【００９７】
未移転口座問合せ部６１０は、図３に示した、メモリ３０２などに記憶されたプログラムをＣＰＵ３０１に実行させることによって、また、ネットワークＩ／Ｆ３０３、記録媒体Ｉ／Ｆ３０４などによって、その機能を実現することができる。
【００９８】
このように、未移転口座問合せ部６１０は、ブロックチェーン１００において所有者が所有する取引口座にかかる資産が旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへ移転されたか否かの問合せがあった場合に、未移転の取引口座に関する情報を出力することができる。これによって、未移転の取引口座の移転処理を実行することができ、新ブロックチェーンの運用をより確実なものとすることができる。
【００９９】
（取引管理装置の処置の手順）
図１３は、取引管理装置の処理の手順の一例を示すフローチャートであり、取引管理装置の全体の流れを示している。図１３のフローチャートにおいて、取引管理装置１１１は、取引データを受信したか否かを判断する（ステップＳ１３０１）。ここで、取引データを受信するのを待って（ステップＳ１３０１：Ｎｏ）、取引データを受信した場合（ステップＳ１３０１：Ｙｅｓ）は、受信した取引データにかかる取引が新ブロックチェーン向け取引データであるか否かを判断する（ステップＳ１３０２）。
【０１００】
ステップＳ１３０２において、受信した取引データが新ブロックチェーン向け取引データである場合（ステップＳ１３０２：Ｙｅｓ）は、当該取引データを新ブロックチェーンで検証可能な状態として、新ブロックチェーンで当該取引データにかかる取引が合意されたか否かを判断する（ステップＳ１３０３）。ここで、取引が合意された場合（ステップＳ１３０３：Ｙｅｓ）は、当該取引を新ブロックチェーン台帳１２１ｂに記録するとともに、取引口座の残高を再計算する（ステップＳ１３０４）。再計算された残高も新ブロックチェーン台帳１２１ｂに記録するようにしてもよい。これにより、一連の処理を終了する。
【０１０１】
一方、ステップＳ１３０３において、取引が合意されなかった場合（ステップＳ１３０３：Ｎｏ）は、当該取引データを破棄し（ステップＳ１３０５）、一連の処理を終了する。
【０１０２】
ステップＳ１３０２において、受信した取引データが新ブロックチェーン向け取引データでない、すなわち、受信した取引データが旧ブロックチェーン向け取引データである場合（ステップＳ１３０２：Ｎｏ）は、送金元の取引口座は新ブロックチェーンへ移転済みか否かを判断する（ステップＳ１３０６）。ここで、移転済みでない場合（ステップＳ１３０６：Ｎｏ）は、旧ブロックチェーンでの取引口座の残高を旧ブロックチェーン台帳１２１ａから取得する（ステップＳ１３０７）。一方、移転済みの場合（ステップＳ１３０６：Ｙｅｓ）は、新ブロックチェーンでの取引口座の残高を新ブロックチェーン台帳１２１ｂから取得する（ステップＳ１３０８）。
【０１０３】
そして、受信した取引データにかかる取引が、旧ブロックチェーンにおいて正当な取引であるか否かを判断する（ステップＳ１３０９）。ここで、正当な取引ではないと判断された場合（ステップＳ１３０９：Ｎｏ）は、ステップＳ１３０５へ移行して、当該取引データを破棄し（ステップＳ１３０５）、一連の処理を終了する。
【０１０４】
一方、ステップＳ１３０９において、受信した取引データにかかる取引が正当な取引であると判断された場合（ステップＳ１３０９：Ｙｅｓ）は、転入取引を生成する（ステップＳ１３１０）。具体的には、当該取引データに電子署名を付与することによって、転入取引データを生成する。
【０１０５】
そして、生成された転入取引を新ブロックチェーンで検証可能な状態にして、新ブロックチェーンで当該転入取引が合意されたか否かを判断する（ステップＳ１３１１）。ここで、転入取引が合意された場合（ステップＳ１３１１：Ｙｅｓ）は、当該転入取引を新ブロックチェーン台帳１２１ｂに記録するとともに、取引口座の残高を再計算し（ステップＳ１３１２）。再計算された残高を新ブロックチェーン台帳１２１ｂに記録する。これにより、一連の処理を終了する。
【０１０６】
一方、ステップＳ１３１１において、転入取引が合意されなかった場合（ステップＳ１３１１：Ｎｏ）は、当該転入取引データを破棄し（ステップＳ１３０５）、一連の処理を終了する。このようにして、取引口座を、旧ブロックチェーン台帳１２１ａから新ブロックチェーン台帳１２１ｂへ引き継ぐことができる。
【０１０７】
図１４は、取引管理装置の処理の手順の別の一例を示すフローチャートであり、更新禁止取引の記録に関する処理の流れを示している。図１４のフローチャートにおいて、取引管理装置１１１（たとえば、ブロックチェーン移転開始受付部６０８）は、移転開始要求を受け付けたか否かを判断する（ステップＳ１４０１）。ここで、移転開始要求を受け付けるのを待って（ステップＳ１４０１：Ｎｏ）、移転開始要求を受け付けた場合（ステップＳ１４０１：Ｙｅｓ）は、取引管理装置１１１（たとえば、更新禁止取引記録部６０９）は、受け付けた移転開始要求に更新禁止取引データが含まれているか否かを判断する（ステップＳ１４０２）。
【０１０８】
ステップＳ１４０２において、更新禁止取引データが含まれていない場合（ステップＳ１４０２：Ｎｏ）は、何もせずに、一連の処理を終了する。一方、ステップＳ１４０２において、更新禁止取引データが含まれている場合（ステップＳ１４０２：Ｙｅｓ）は、含まれていた更新禁止取引データにかかる更新禁止取引を検証する（ステップＳ１４０３）。そして、検証の結果、当該更新禁止取引が正当か否かを判断する（ステップＳ１４０４）。
【０１０９】
ステップＳ１４０４において、当該更新禁止取引が正当であると判断された場合（ステップＳ１４０４：Ｙｅｓ）は、当該更新禁止取引を旧ブロックチェーン台帳１２１ａに記録し（ステップＳ１４０５）、一連の処理を終了する。一方、ステップＳ１４０４において、当該更新禁止取引が正当でないと判断された場合（ステップＳ１４０４：Ｎｏ）は、当該更新禁止取引データを破棄し（ステップＳ１４０６）、一連の処理を終了する。
【０１１０】
図１５は、取引管理装置の処理の手順の別の一例を示すフローチャートであり、未移転口座の問合せ処理の流れを示している。図１５のフローチャートにおいて、取引管理装置１１１（たとえば、未移転口座問合せ部６１０）は、未移転口座の問合せがあったか否かを判断する（ステップＳ１５０１）。ここで、未移転口座の問合せがあるのを待って（ステップＳ１５０１：Ｎｏ）、未移転口座の問合せがあった場合（ステップＳ１５０１：Ｙｅｓ）は、旧ブロックチェーン台帳１２１ａから旧ブロックチェーン口座リストを抽出する（ステップＳ１５０２）とともに、新ブロックチェーン台帳１２１ｂから新ブロックチェーン口座リストを抽出する（ステップＳ１５０３）。
【０１１１】
そして、抽出した旧ブロックチェーン口座リストと新ブロックチェーン口座リストとを比較する（ステップＳ１５０４）。比較の結果、未移転の取引口座があるか否かを判断する（ステップＳ１５０５）。ここで、未移転の取引口座がなかった場合（ステップＳ１５０５：Ｎｏ）は、何もせずに、一連の処理を終了する。一方、未移転の取引口座があった場合（ステップＳ１５０５：Ｙｅｓ）は、未移転口座リストを生成し（ステップＳ１５０６）、生成した未移転口座リストを出力し（ステップＳ１５０７）、一連の処理を終了する。
【０１１２】
図１６は、取引管理装置の処理の手順の別の一例を示すフローチャートであり、未移転口座の転入処理の流れを示している。図１６のフローチャートにおいて、取引管理装置１１１（たとえば、資産転入取引生成部６０６）は、未移転口座リストから未移転の取引口座に関するデータを抽出する（ステップＳ１６０１）。
【０１１３】
そして、強制的に当該口座の新チェーンへの移行を完了させるため、抽出したデータに基づいて、システムが管理する口座から送金量『０（コイン）』の送金をおこなう取引データを生成する（ステップＳ１６０２）。その後、図１３のフローチャートのステップＳ１３０９へ移行する。ステップＳ１３０９以降の処理については既に説明したので、その説明は省略する。
【０１１４】
（実施例）
つぎに、取引管理装置１１１を用いた仮想通貨の残高管理処理の実施例について説明する。運用しているブロックチェーン１００において、台帳管理に使われていた基盤ソフトウェアのバージョンアップで、取引データの互換性がとれなくなるため、仮想通貨Ｆコインを管理している旧ブロックチェーン（台帳システム）１００ａから、同仮想通貨の管理を引き継ぐために暗号強度を向上させた新ブロックチェーン（台帳システム）１００ｂへ移行することとなった。
【０１１５】
このとき、ＦコインのＡ口座に１０００コインを所有するＡ氏（所有者１３０）が、サービス代金として『３００コイン』の資産を、Ｂ店舗のＢ口座(残高『５００００コイン』）へ送金することになった。
【０１１６】
Ａ氏は、旧ブロックチェーン１００ａの仕様に沿ったウォレット・アプリケーション１３１を使って、Ａ口座から『３００コイン』をＢ口座へ移転する取引データを作成する。作成される取引データは、旧ブロックチェーン１００ａ用に、送金元と送金先のアドレス、送金額、作成日時の送金情報に加え、旧ブロックチェーン１００ａで有効とされる電子署名データが含まれている。
【０１１７】
Ａ氏は、ウォレット・アプリケーション１３１でこの取引データをブロックチェーン（台帳管理システム）１００に送信するが、当該システムでは既に旧ブロックチェーン１００ａから新ブロックチェーン１００ｂへの移行が開始されていて、当該取引データも新ブロックチェーン台帳１２１ｂに取り込まれることとなる。
【０１１８】
ブロックチェーン（台帳管理システム）１００では、受け付けた取引データに含まれる電子署名データを検査して、新旧どちらのブロックチェーン向けに作成されたものか判断する。今回の取引データは旧ブロックチェーン１００ａ向けに作成されたものなので、旧ブロックチェーン１００ａ向けの取引データを受信したと判定する。そして、当該取引データは、台帳管理システムに実装された資産移転処理用スマートコントラクトを呼び出す際の、パラメタ引数として使用されるようにしてもよい。
【０１１９】
このスマートコントラクトによって、取引データの送金元アドレスの情報を使って、当該口座（Ａ口座）の資産が移転済みか否かを検査する。資産移転先となる新ブロックチェーン１００ｂに実装された口座残高を問い合わせる。ここでもスマートコントラクトの呼び出し結果を利用して判定をおこなうことができる。
【０１２０】
この判定で送金元となっている資産が、新ブロックチェーン１００ｂへの移転前であった場合には、資産転入取引データを作成し、資産の移転手続きを開始する。作成される資産転入取引データは、Ａ氏のウォレット・アプリケーション１３１が生成して、ブロックチェーン（台帳管理システム）１００に送信された「旧ブロックチェーン向け資産移転取引データ７０１」を再利用して作成されるようにしてもよい。
【０１２１】
資産の移転手続きをおこなうスマートコントラクトは、当該取引データが旧ブロックチェーン台帳１２１ａに記録されている取引履歴を参照する。ここで、Ａ口座に取引で送金される送金額より多い残高が残っており、付与されている電子署名がＡ口座の所有者であるＡ氏のものである、という検証をおこなったのち、スマートウォレットが管理する署名鍵で電子署名を付与する。Ａ口座の残高は『１０００コイン』であり、送金額が３００コインであり、かつ、Ａ氏の有効な電子署名が付与されているので、検証結果はＯＫと判断される。そして、スマートコントラクトの電子署名がついた資産転入取引データが作成される。
【０１２２】
この資産転入取引データは、移転先のブロックチェーンである新ブロックチェーン１００ｂで合意可能な形式（必須パラメタや電子署名の付与など）となっており、新ブロックチェーン１００ｂのコンセンサスアルゴリズムで検証、合意されることとなる。
【０１２３】
この資産転入取引データ、移転操作の結果（旧ブロックチェーン１００ａでの残高−送金額）を、Ａ口座の新しい残高として、新ブロックチェーン台帳１２１ｂに記録される。資産転入取引データがブロックチェーンに取り込まれると、Ａ氏の新ブロックチェーン台帳１２１ｂでのＡ口座の残高（『７００コイン』）が参照できるようになる。
【０１２４】
送金先となっているＢ口座についても同様で、Ｂ口座が新ブロックチェーン１００ｂへの移転前であれば、Ｂ口座の資産も新ブロックチェーン１００ｂへ移転され、旧ブロックチェーン１００ａでのＢ口座の残高に『３００コイン』を追加した残高『５０３００コイン』となる。一方、Ｂ口座が既に新ブロックチェーン１００ｂへ移転済みであった場合には、新ブロックチェーン１００ｂでのＢ口座の残高が資産転入取引データを使って再計算され、同じく残高『５０３００コイン』となる。
【０１２５】
このようにして、取引管理装置１１１を用いて仮想通貨の残高管理処理をおこなうことができる。
【０１２６】
つぎに、このような資産移転が自然に発生することで、旧ブロックチェーン１００ａに管理されていた大部分の口座残高が新ブロックチェーン１００ｂへ移転したあと、残っている口座の残高を新ブロックチェーン１００ｂに移す際の処理について説明する。
【０１２７】
管理者ユーザは、移転がおこなわれていない口座のリスト（未移転口座リスト）を作成し、各口座に対して『０コイン』の送金取引を作成、台帳管理システムへ送信する。未移転口座リストは、たとえば旧ブロックチェーン１００ａで管理される口座のリストを作成し、各口座について新ブロックチェーン１００ｂへ移転済みか否かの検査で移転が確認できなかった口座を未移転口座リストに加えることで作成することができる。
【０１２８】
つぎに、各口座宛てに『０コイン』を送金する取引データを送金元となる管理者ユーザの秘密鍵で電子署名して作成し、ブロックチェーン１００の台帳管理システムへ送信する。これらの取引データが台帳管理システムで受信されると、宛先となっている移転前の口座残高が新ブロックチェーン１００ｂに移管されることとなる。
【０１２９】
このようにして、残っている口座の残高を新ブロックチェーン１００ｂに移す際の処理をおこなうことができる。
【０１３０】
以上説明したように、本実施の形態によれば、旧ブロックチェーン１００ａにおいて所有者が所有する資産の取引操作の依頼に応答して、旧ブロックチェーン１００ａの所有者が所有する資産と、当該取引操作にかかる取引内容とを確認し、取引操作の正当性が確認できた場合に、取引後の旧ブロックチェーン１００ａの所有者が所有する資産を、電子署名を付与して新ブロックチェーン１００ｂに登録するので、旧ブロックチェーン１００ａの所有者は、取引をおこなうだけで、所有する資産を、新ブロックチェーン１００ｂへ引き継ぐことができる。
【０１３１】
また、本実施の形態によれば、取引操作の依頼が旧ブロックチェーン１００ａにおける依頼である場合に、当該取引操作の依頼にかかる、旧ブロックチェーン台帳１２１ａに記録されている旧ブロックチェーン１００ａの所有者が所有する取引口座にかかる資産１５３と、当該取引操作にかかる取引内容１５２、７０１とを確認し、取引操作の正当性が確認できた場合に、電子署名を付与した、旧ブロックチェーン１００ａの所有者が所有する取引口座にかかる資産の新ブロックチェーン台帳１２１ｂへの転入取引１５４を生成し、生成された転入取引を検証し、検証の結果、転入取引の正当性について合意が形成された場合に、当該転入取引を新ブロックチェーン台帳１２１ｂに記録するため、非中央集権的な運用において、新旧のブロックチェーンで台帳の一貫性を担保することができる。
【０１３２】
なお、本実施の形態で説明した取引管理方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。取引管理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、取引管理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【０１３３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１３４】
（付記１）第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
制御部を有することを特徴とする取引管理装置。
【０１３５】
（付記２）ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の取引操作の依頼を受け付ける取引受付部と、
前記取引受付部によって受け付けられた取引操作の依頼が、第一のブロックチェーンにおける依頼か、第二のブロックチェーンにおける依頼かを判定する取引タイプ判定部と、
前記取引タイプ判定部による判定の結果、前記取引操作の依頼が前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる、第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容とを確認する確認部と、
前記確認部によって前記取引操作の正当性が確認できた場合に、電子署名を付与した、前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産の第二のブロックチェーン台帳への転入取引を生成する生成部と、
前記生成部によって生成された前記転入取引を検証可能な状態にする転入取引検証部と、
を有することを特徴とする取引管理装置。
【０１３６】
（付記３）前記転入取引検証部は、前記検証の結果、前記転入取引の正当性について合意が形成された場合に、前記転入取引を前記第二のブロックチェーン台帳に記録することを特徴とする付記２に記載の取引管理装置。
【０１３７】
（付記４）前記取引タイプ判定部による判定の結果、前記取引操作の依頼が、前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる前記取引口座の前記第二のブロックチェーン台帳への移転手続きが完了しているかを判定する口座移転完了判定部を有することを特徴とする付記２または３に記載の取引管理装置。
【０１３８】
（付記５）前記確認部は、前記口座移転完了判定部による判定の結果、前記取引口座の移転手続きが完了していない場合に、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなうことを特徴とする付記４に記載の取引管理装置。
【０１３９】
（付記６）前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳への移転開始要求を受け付ける移転開始受付部と、
前記移転開始受付部によって受け付けられた移転開始要求に含まれる前記第一のブロックチェーン台帳の更新禁止取引を検証し、検証された更新禁止取引を前記第一のブロックチェーン台帳へ記録する更新禁止取引記録部と、
を有することを特徴とする付記２〜５のいずれか一つに記載の取引管理装置。
【０１４０】
（付記７）前記確認部は、前記更新禁止取引記録部によって記録された更新禁止取引が記録されている場合は、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなわないことを特徴とする付記６に記載の取引管理装置。
【０１４１】
（付記８）前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産が前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳へ移転されたか否かの問合せがあった場合に、未移転の取引口座に関する情報を出力する未移転口座問合せ部を有することを特徴とする付記２〜７のいずれか一つに記載の取引管理装置。
【０１４２】
（付記９）前記生成部は、前記未移転口座問合せ部によって出力された未移転の取引口座に関する情報に基づいて、電子署名を付与して、前記未移転の取引口座にかかる資産の前記第二のブロックチェーン台帳への転入取引を生成することを特徴とする付記８に記載の取引管理装置。
【０１４３】
（付記１０）前記取引タイプ判定部による判定の結果、前記取引操作の依頼が前記第二のブロックチェーンにおける依頼である場合に、前記依頼にかかる取引を検証可能な状態にする第二のブロックチェーン向け取引検証部を有することを特徴とする付記２〜９のいずれか一つに記載の取引管理装置。
【０１４４】
（付記１１）前記第二のブロックチェーン向け取引検証部は、前記検証の結果、前記取引の正当性について合意が形成された場合に、前記取引を第二のブロックチェーン台帳に記録することを特徴とする付記１０に記載の取引管理装置。
【０１４５】
（付記１２）前記合意の形成は、前記電子署名の正当性についておこなわれることを特徴とする付記３〜１１のいずれか一つに記載の取引管理装置。
【０１４６】
（付記１３）コンピュータが、
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
処理を実行することを特徴とする取引管理方法。
【０１４７】
（付記１４）コンピュータに、
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
処理を実行させることを特徴とする取引管理プログラム。
【符号の説明】
【０１４８】
１００  ブロックチェーン
１００ａ  旧ブロックチェーン
１００ｂ  新ブロックチェーン
１０１〜１０７  ブロック
１１０  ブロックチェーンの分散台帳システム（Ｐ２Ｐネットワーク）
１１１〜１１６  取引管理装置（ノードサーバ）
１２１ａ〜１２６ａ  旧ブロックチェーン台帳
１２１ｂ〜１２６ｂ  新ブロックチェーン台帳
１３０  所有者（資産者）
１３１  ウォレット・アプリケーション
２００  ネットワーク
２０１  端末装置
４０１、７０１  旧ブロックチェーン向け資産移転取引データ
４０２、１００１  旧ブロックチェーン口座リスト
５０１、８０１  新ブロックチェーン向け資産移転取引データ
５０２、１１０１  新ブロックチェーン口座リスト
６００  制御部
６０１  取引受付部
６０２  取引タイプ判定部
６０３  新ブロックチェーン向け資産移転取引検証部
６０４  口座移転完了判定部
６０５  旧ブロックチェーン向け資産移転取引確認部
６０６  資産転入取引生成部
６０７  資産転入取引検証部
６０８  ブロックチェーン移転開始受付部
６０９  更新禁止取引記録部
６１０  未移転口座問合せ部
９０１  新ブロックチェーン向け資産転入取引データ
１２０１  未移転口座リスト
【図１】
2020042671.tif 000003
【図２】
2020042671.tif 000004
【図３】
2020042671.tif 000005
【図４】
2020042671.tif 000006
【図５】
2020042671.tif 000007
【図６】
2020042671.tif 000008
【図７】
2020042671.tif 000009
【図８】
2020042671.tif 000010
【図９】
2020042671.tif 000011
【図１０】
2020042671.tif 000012
【図１１】
2020042671.tif 000013
【図１２】
2020042671.tif 000014
【図１３】
2020042671.tif 000015
【図１４】
2020042671.tif 000016
【図１５】
2020042671.tif 000017
【図１６】
2020042671.tif 000018