JP2020042671A - 取引管理装置、取引管理方法および取引管理プログラム - Google Patents

取引管理装置、取引管理方法および取引管理プログラム Download PDF

Info

Publication number
JP2020042671A
JP2020042671A JP2018170933A JP2018170933A JP2020042671A JP 2020042671 A JP2020042671 A JP 2020042671A JP 2018170933 A JP2018170933 A JP 2018170933A JP 2018170933 A JP2018170933 A JP 2018170933A JP 2020042671 A JP2020042671 A JP 2020042671A
Authority
JP
Japan
Prior art keywords
transaction
blockchain
account
transfer
asset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018170933A
Other languages
English (en)
Other versions
JP7180223B2 (ja
Inventor
藤本 真吾
Shingo Fujimoto
真吾 藤本
健 鎌倉
Ken Kamakura
健 鎌倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018170933A priority Critical patent/JP7180223B2/ja
Publication of JP2020042671A publication Critical patent/JP2020042671A/ja
Application granted granted Critical
Publication of JP7180223B2 publication Critical patent/JP7180223B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】新旧のブロックチェーンで台帳の一貫性を担保すること。【解決手段】旧ブロックチェーン100aから新ブロックチェーン100bへバージョンアップする際に、旧ブロックチェーン台帳121aを新ブロックチェーン台帳121bに引き継ぐにあたり、取引管理装置111は、旧ブロックチェーン100aにおいて所有者130が所有する資産の取引操作の依頼151に応答して、旧ブロックチェーン台帳121aに記録されている所有者130が所有する資産153と、取引操作にかかる取引内容152とを確認する。取引操作の正当性が確認できた場合に、取引後の旧ブロックチェーンの所有者が所有する資産に電子署名を付与した転入取引154を生成する。生成された転入取引154について検証・合意を形成し(155)、新ブロックチェーン台帳121bに記録する。【選択図】図1

Description

本発明は、取引管理装置、取引管理方法および取引管理プログラムに関する。
近年の仮想通貨ブームを受けて、中央集権ではない分散台帳管理技術であるブロックチェーンの有用性と、仮想通貨以外の分野への本技術の応用には、大きな期待が持たれている。ブロックチェーンを繋いでいくにあたり、たとえば、新旧のブロックチェーンの間で機能拡張などによる引継ぎが発生する場合があり、その際、新旧双方のブロックチェーンで取引情報を連携する必要がある。
関連する先行技術としては、取引内容の信頼性を確保しつつ、資産の所有者は複数の資産移動をともなう複合的な取引形態を扱うことができる技術がある。
国際公開第2017/170912号 国際公開第2017/170997号
しかしながら、従来技術にあっては、複数のブロックチェーンで取引情報の連携をとるにあたり、特権を持った管理アプリケーションが台帳を操作しなければならず、ブロックチェーンの存在意義である非中央集権的な運用ができないという問題点がある。
一つの側面では、本発明は、複数のブロックチェーンで台帳の一貫性を担保することを目的とする。
一つの実施態様では、第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、制御部を有する取引管理装置が提供される。
本発明の一側面によれば、複数のブロックチェーンで台帳の一貫性を担保することができる。
図1は、実施の形態にかかる取引管理装置、取引管理方法および取引管理プログラムの概要の一例を示す説明図である。 図2は、ブロックチェーンのシステム構成の一例を示すブロック図である。 図3は、取引管理装置のハードウェア構成の一例を示すブロック図である。 図4は、旧ブロックチェーン台帳のデータ構成の一例を示す説明図である。 図5は、新ブロックチェーン台帳のデータ構成の一例を示す説明図である。 図6は、取引管理装置の機能的構成の一例を示すブロック図である。 図7は、旧ブロックチェーン向け資産移転取引データの内容の一例を示す説明図である。 図8は、新ブロックチェーン向け資産移転取引データの内容の一例を示す説明図である。 図9は、新ブロックチェーン向け資産転入取引データの内容の一例を示す説明図である。 図10は、旧ブロックチェーン口座リストの内容の一例を示す説明図である。 図11は、新ブロックチェーン口座リストの内容の一例を示す説明図である。 図12は、未移転口座リストの内容の一例を示す説明図である。 図13は、取引管理装置の処理の手順の一例(その1)を示すフローチャートである。 図14は、取引管理装置の処理の手順の一例(その2)を示すフローチャートである。 図15は、取引管理装置の処理の手順の一例(その3)を示すフローチャートである。 図16は、取引管理装置の処理の手順の一例(その4)を示すフローチャートである。
以下に図面を参照して、本発明にかかる取引管理装置、取引管理方法および取引管理プログラムの実施の形態を詳細に説明する。
(実施の形態)
(取引管理処理の概要)
図1は、実施の形態にかかる取引管理装置、取引管理方法および取引管理プログラムの概要の一例を示す説明図である。図1において、ブロックチェーン100は、中央集権による運用ではない、いわゆる「非中央集権的な」分散台帳管理技術である。複数の取引をまとめたブロック101〜107を鎖状に繋いでいくことで、ブロックチェーン100の機能を実現している。
本来、ブロックチェーン100に記録される取引の真正性の検証や、改ざん防止といったブロックチェーン100の効能は、ブロックチェーン100への記録が長期間途切れることなく連続して運用されることで発揮される。しかし、ブロックチェーン100であっても、基盤ソフトウェアの機能拡張や、暗号アルゴリズムの危殆化などの理由で、第一のブロックチェーンの一例である旧ブロックチェーン100a(ブロック101〜104)から、第二のブロックチェーンの一例である新ブロックチェーン100b(ブロック105〜107)へバージョンアップした場合などに、たとえば、ブロック104とブロック105との間で、チェーンを繋ぐことができなくなり、双方のブロックチェーンの間で引き継ぎが発生する場合がある。
その際、短期間で全資産の新ブロックチェーン100bへの移行や、旧ブロックチェーン100aでの資産管理の無効化などがうまくいかずに、旧ブロックチェーン100aと新ブロックチェーン100bで台帳の一貫性が保てなくなる、いわゆる“フォーク”が発生して、問題となっている。旧ブロックチェーンから新ブロックチェーンへの引継ぎに限らず、複数のブロックチェーン間で取引情報を連携させようとする際には同様の問題が生じる。
したがって、このような問題を回避し、旧ブロックチェーン100aの台帳(旧ブロックチェーン台帳121a)で管理されていた取引記録や、(残高を移すような)ユーザ権限を他のブロックチェーン100bにスムーズに移行するためには、双方のブロックチェーン100a、100bで取引情報を連携させる必要がある。
ブロックチェーン100の安全性はそのチェーン上でのみ保証される仕組みであるため、従来の旧ブロックチェーン台帳121aと新ブロックチェーン台帳121bの連携では、特権を持った管理アプリケーションが台帳を操作することが必須である。この場合、新旧のブロックチェーン台帳121a、121bに記録される情報の連携、という機能面での要件を満たしていても、ブロックチェーン100の存在意義である「非中央集権での運用」という要件を満たすことができないため、一般的な解決策としては受け容れられにくい。
そこで、ブロックチェーン100で実現された分散台帳管理システムに関わるもので、古いブロックチェーン(旧ブロックチェーン100a)の取引記録を活用し、新しいブロックチェーン(新ブロックチェーン100b)で取引を生成する際の、以下の3つの課題を解決する必要がある。
第1の課題は、新ブロックチェーン100bへの移行で情報資産の総量を変化させないようにすることである。新ブロックチェーン100bが旧ブロックチェーン100aから分岐する“フォーク”が発生すると、資産が二重にカウントされて総量が変化してしまうので、そうならないようにする必要がある。
第2の課題は、移行中にサービスが中断されないようにすることである。具体的には、利用者に配布されるアプリケーション(たとえばウォレット・アプリケーション131)が新ブロックチェーン100bに対応していない時点で旧ブロックチェーン100aの更新が終了した場合でも、新ブロックチェーン100bでの取引をおこなうことができるようにする必要がある。
第3の課題は、移転アプリケーションが「特権」で動作する必要がないことである。すなわち、あくまで「非中央集権での運用」により移行がおこなわれるようにする必要がある。
図1において、取引管理装置111は、旧ブロックチェーン台帳121aと新ブロックチェーン台帳121bとを有している。ここで、旧ブロックチェーン台帳121aは、バージョンアップ前の旧ブロックチェーン100aにおける内容を記録している。また、新ブロックチェーン台帳121bは、バージョンアップ後の新ブロックチェーン100bにおける内容を記録している。
旧ブロックチェーン100aにおいて所有者130が、たとえばウォレット・アプリケーション131などを用いて、当該所有者130が所有する資産の取引操作(旧ブロックチェーンによる資産の取引操作151)の依頼を、取引管理装置111に対しておこなう。そうすると、取引管理装置111は、その依頼に応答して、取引操作にかかる取引内容152を確認する。また、その依頼に応答して、旧ブロックチェーン100aの所有者130が所有する資産(所有者の資産153)を確認する。
そして、取引操作の正当性が確認できた場合に、取引管理装置111は、スマートコントラクトを利用して、転入取引154を生成する。生成される転入取引154は、旧ブロックチェーンの取引(取引内容152)にスマートコントラクトによる電子署名を付与したものである。旧ブロックチェーン100aの取引であるから、旧ブロックチェーン100aにおける当該所有者の資産153が、当該取引にかかる送金量よりも大きい場合に取引の正当性が確認されるのである。
したがって、旧ブロックチェーンの取引(取引内容152)に電子署名を付与するということは、取引後の資産(元の資産から取引にかかる送金量を減算した残高)について電子署名が付与されたものであるとすることもできる。したがって、生成される転入取引154は、取引後資産にスマートコントラクトによる電子署名を付与したものであるといってもよい。
そして、転入取引154を新ブロックチェーン100bの参加者、すなわち、P2Pネットワーク110における各ノードサーバ112〜116において検証し、合意が形成される(検証・合意形成155)。新ブロックチェーン100bの参加者における検証・合意形成がなされた場合に、転入取引154は、新ブロックチェーン台帳121bに記録される。これによって、当該取引にかかる所有者の資産(取引口座)は、旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへの引き継ぎが完了する。
このように、旧ブロックチェーン100aの所有者130が、旧ブロックチェーン100aにおける資産の取引操作151をするだけで、新旧のブロックチェーン台帳121a、121bの引き継ぎをおこなうことができる。
(ブロックチェーンのシステム構成)
図2は、ブロックチェーンのシステム構成の一例を示すブロック図である。図2において、ブロックチェーン100のシステムは、複数のコンピュータ間で通信をおこなうP2P(Peer to Peer)ネットワーク110によって、そのシステムが構成される。
ブロックチェーン100のシステム(P2Pネットワーク)110は、たとえば、Peerとよばれる端末(ノードサーバ)によって構成される。複数のPeerそれぞれがサービス提供者であり利用者である。そのため、アップデートなどをおこなう場合は、Peerの参加者がそれぞれでプログラムの更新をおこなうなど、参加者の同意を得て更新していくことになる。
このブロックチェーン100のシステム110では、クライアント・サーバ型でいうサーバに相当する依存する存在がないため、特定のPeerが切断しても、サービスの提供は止まらない。このように、このブロックチェーン100のシステム110は、参加者それぞれが平等な立場であることから、「非中央集権的な」システムであるといえる。
各Peerの端末に該当するのが、図2に示す、ノードサーバ111〜116である。取引管理装置111も、このノードサーバの一つである。ノードサーバ111〜116は、ブロックチェーン100のコンセンサスアルゴリズムで、取引について検証・合意の形成をおこなうことができる。そして、いずれかのノードサーバ(図2においては、取引管理装置であるノードサーバ111)の下に、インターネットなどのネットワーク200を介して、ウォレット・アプリケーション131を搭載した端末装置201が、ぶら下がる形で接続されている。
各ノードサーバ111〜116は、ブロックチェーン100のバージョンアップにともない、旧ブロックチェーン100a用の旧ブロックチェーン台帳121a〜126aと、新ブロックチェーン100b用の新ブロックチェーン台帳121b〜126bとを、それぞれ備えている。
端末装置201は、資産の所有者130が操作する情報処理装置である。この端末装置201は、インストールされたウォレット・アプリケーション131を用いて、所有者130が資産の取引操作をおこなう際に用いる。端末装置201は、具体的には、たとえば、パーソナルコンピュータ、スマートフォン、タブレット端末装置などのインターネット200に有線または無線で接続可能な情報処理装置であってもよい。
(取引管理装置のハードウェア構成)
図3は、取引管理装置のハードウェア構成の一例を示すブロック図である。図3において、取引管理装置であるノードサーバ111は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305と、を有する。また、各構成部301〜304は、バス300によってそれぞれ接続される。
ここで、CPU301は、取引管理装置111の全体の制御を司る。メモリ302は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、たとえば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ネットワークI/F303は、通信回線を通じてネットワーク110、200に接続され、ネットワーク110、200を介して他の装置に接続される。そして、ネットワークI/F303は、ネットワーク110、200と自装置内部とのインターフェースを司り、他の装置(たとえば、他のノードサーバ102〜106やクライアント端末装置201など)からのデータの入出力を制御する。ネットワークI/F303には、たとえば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F304は、CPU301の制御にしたがって記録媒体305に対するデータのリード/ライトを制御する。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する。記録媒体305としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
なお、取引管理装置は、上述した構成部301〜305のほかに、たとえば、図示を省略する、SSD(Solid State Drive)、キーボード、ポインティングデバイス、ディスプレイなどを有することにしてもよい。
(旧ブロックチェーン台帳のデータ構成)
図4は、旧ブロックチェーン台帳のデータ構成の一例を示す説明図である。旧ブロックチェーン台帳121aは、具体的には、たとえば、図3に示した取引管理装置のメモリ302や記録媒体305によってその機能を実現することができる。図4において、旧ブロックチェーン台帳121aは、旧ブロックチェーン向け資産移転取引データ(トランザクション)401を記録する。
旧ブロックチェーン向け資産移転取引データ401は、たとえば、「バージョン番号」411、「発行時刻」412、「送金元アドレス(Addr)」413、「送金先アドレス(Addr)」414、「送金量」415、「署名データ」416、「送金元公開鍵」417などのフィールドからなる。
「バージョン番号」411のフィールドには、その値(「Value」)として、ブロックチェーンのバージョンに関する数値が記録される。「発行時刻」412のフィールドには、その値として、この資産移転取引が発行された時刻が記録される。「送金元アドレス(Addr)」413のフィールドには、この資産移転取引における資産の送金元、すなわちこの資産の所有者のアドレスが、また、「送金先アドレス(Addr)」414のフィールドには、この資産移転取引における資産の送金先のアドレスが、それぞれ記録される。
「送金量」415のフィールドには、この資産移転取引において送金される量、すなわちこの資産移転取引における資産の送金の額に関する情報が記録される。「署名データ」416のフィールドには、この資産の所有者の電子署名データ、すなわち、秘密鍵で暗号化することで、当該秘密鍵の保有者であることを証明するデータが記録される。
「送金元公開鍵」417のフィールドには、「署名データ」フィールドに記憶されている電子署名データを復号化することができる、『送信元』すなわち当該秘密鍵の保有者の公開鍵データが記録されている。この公開鍵をアドレスとして銀行口座のように使用して、使用する際に電子署名で利用しようとしている公開鍵に対応する秘密鍵の保有の証明をおこなうために使用するようにしてもよい。
また、旧ブロックチェーン台帳121aは、旧ブロックチェーン口座リスト402を記録するようにしてもよい。図4に示すように、旧ブロックチェーン口座リスト402は、「口座番号」421のカラムと、「残高」422のカラムとからなる。「口座番号」421のカラムの各フィールドには、一意に設定される資産の所有者の口座番号が記録される。ここには、口座番号として、送金元公開鍵を用いるようにしてもよい。
「残高」422のカラムの各フィールドには、レコードごとに口座番号に対応した資産の残高が記録される。これにより、各口座番号をキーとして、当該口座番号ごとの残高(資産)を容易に検索し、抽出することができる。
このように、旧ブロックチェーン台帳121aには、複数の旧ブロックチェーン向け資産移転取引データ401が、ブロック(たとえば、図1に示したブロック101〜104)としてまとめられて記録されている。旧ブロックチェーン口座リスト402を記録しておくことで、各口座番号における残高を容易に抽出することができる。
旧ブロックチェーン台帳121aにおいて、旧ブロックチェーン向け資産移転取引データ401から旧ブロックチェーン口座リスト402に関する情報を算出することが可能なので、旧ブロックチェーン向け資産移転取引データのみを記録しておいて、その移転取引データから各口座番号における残高を算出するようにしてもよい。その場合は、旧ブロックチェーン向け資産移転取引データ401だけあればよいので、旧ブロックチェーン口座リスト402をあえて記録しておかなくてもよい。
(新ブロックチェーン台帳のデータ構成)
図5は、新ブロックチェーン台帳のデータ構成の一例を示す説明図である。新ブロックチェーン台帳121bは、具体的には、たとえば、図3に示した取引管理装置111のメモリ302や記録媒体305によってその機能を実現することができる。図5において、新ブロックチェーン台帳121bは、新ブロックチェーン向け資産移転取引データ(トランザクション)501および新ブロックチェーン口座リスト502を記録する。この構成は、旧ブロックチェーン台帳121aと同じである。
新ブロックチェーン向け資産移転取引データ501は、たとえば、「バージョン番号」511、「取引タイプ」512、「発行時刻」513、「送金元アドレス(Addr)」514、「送金先アドレス(Addr)」515、「送金量」516、「署名データ」517、「送金元公開鍵」518、「通信欄」519などのフィールドからなる。図4に示した旧ブロックチェーン向け資産移転取引データ401と比較して、「取引タイプ」フィールド512および「通信欄」フィールド519が追加されていることがわかる。その他のフィールド511、513〜518については、旧ブロックチェーン向け資産移転取引データ401のフィールド411〜417と同じである、したがって、フィールド511、513〜518の説明は、省略する。
「取引タイプ」フィールド512には、どのような取引かそのタイプに関する情報が記録される。たとえば、『資産移転取引』、『資産転入取引』などの情報が記録される。「通信欄」フィールド519には、送金元から送金先への連絡事項に関する情報などが記録され、通信欄として送信元の所有者が自由に各種の情報を使用することができるこの「通信欄」フィールド519を活用することによって、当該移転取引の内容がより明確となり、ブロックチェーンによる取引の利便性が向上する。
また、新ブロックチェーン台帳121bは、旧ブロックチェーン台帳121aと同様に、新ブロックチェーン口座リスト502を記録するようにしてもよい。図5に示すように、新ブロックチェーン口座リスト502は、図4に示した旧ブロックチェーン台帳121aと同様に、「口座番号」フィールドと、「残高」フィールドとからなる。旧ブロックチェーン台帳と新ブロックチェーン台帳とは、その構成についての違いはない。
このように、新ブロックチェーン台帳121bには、旧ブロックチェーン台帳121aと同様に、複数の新ブロックチェーン向け資産移転取引データ501が、ブロック(たとえば、図1に示したブロック105〜107)としてまとめられて記録されている。なお、新ブロックチェーン台帳121bにおいて、新ブロックチェーン向け資産移転取引データ501から新ブロックチェーン口座リスト502に関する情報を算出することが可能なので、新ブロックチェーン口座リスト502をあえて記録しておかなくてもよい。これも、旧ブロックチェーン台帳121aと同じである。
(取引管理装置の機能的構成)
図6は、取引管理装置の機能的構成の一例を示すブロック図である。また、図7は、旧ブロックチェーン向け資産移転取引データの内容の一例を示す説明図であり、図8は、新ブロックチェーン向け資産移転取引データの内容の一例を示す説明図である。
図6において、取引管理装置111は、制御部600を備えている。また、取引管理装置111は、旧ブロックチェーン台帳121aおよび新ブロックチェーン台帳121bを備えている、あるいは、旧ブロックチェーン台帳121aおよび新ブロックチェーン台帳121bは、取引管理装置111に、アクセス可能に接続されている。
図6に示すように、取引管理装置111が備える制御部600は、取引受付部601と、取引タイプ判定部602と、新ブロックチェーン向け資産移転取引検証部603と、口座移転完了判定部604と、旧ブロックチェーン向け資産移転取引確認部605と、資産転入取引生成部606と、資産転入取引検証部607と、ブロックチェーン移転開始受付部608と、更新禁止取引記録部609と、未移転口座問合せ部610と、を有する構成となっている。
ここで、取引受付部601は、ウォレット・アプリケーション131を利用して所有者130が送信した取引データを受信する。取引データは、たとえば、ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の移転取引に関するデータである。取引データは、より具体的には、たとえば、図7に示す旧ブロックチェーン向け資産移転取引データ701または図8に示す新ブロックチェーン向け資産移転取引データ801であってもよい。
取引受付部601は、具体的には、たとえば、図3に示した、ネットワークI/F303などによってその機能を実現することができる。このようにして、取引受付部601は、ブロックチェーン100において所有者130が所有する取引口座にかかる資産の取引操作の依頼を受け付けることができる。
取引タイプ判定部602は、取引受付部601が受信した取引データの取引タイプを判定する。具体的には、取引タイプ判定部602は、当該取引データが、旧ブロックチェーン100aにおける取引データであるか、あるいは、新ブロックチェーン100bにおける取引データであるかを判定する。取引タイプの判定は、具体的には、たとえば、取引データのバージョン番号に基づいておこなうことができる。
より具体的には、図7に示した旧ブロックチェーン向け資産移転取引データ701において、「バージョン番号」が『0.6』であり、図8に示した新ブロックチェーン向け資産移転取引データ801において、「バージョン番号」が『1.0』である。したがって、取引タイプ判定部602は、取引受付部601が受信した取引データの「バージョン番号」が『0.6』であれば、旧ブロックチェーン100aにおける取引データであると判断し、取引データの「バージョン番号」が『1.0』であれば、新ブロックチェーン100bにおける取引データであると判断することができる。
また、取引タイプの判定は、取引受付部601が受信した取引データに含まれる電子署名データを検査して、新旧どちらのブロックチェーン向けに作成されたものか判断するようにしてもよい。
取引タイプ判定部602は、具体的には、たとえば、図3に示した、メモリ302などに記憶されたプログラムをCPU301に実行させることによって、その機能を実現することができる。このようにして、取引タイプ判定部602は、取引受付部601によって受け付けられた取引操作の依頼が、旧ブロックチェーン100aにおける依頼か、新ブロックチェーン100bにおける依頼かを判定することができる。
新ブロックチェーン向け資産移転取引検証部603は、新ブロックチェーン向け取引検証部の一例であり、取引タイプ判定部602による判定の結果、取引操作の依頼が新ブロックチェーン100bにおける依頼である場合に、当該依頼にかかる移転取引をブロックチェーンによる検証可能な状態にする。そして、この移転取引は、新ブロックチェーン100bのコンセンサスアルゴリズムで検証・合意されることとなる。
また、新ブロックチェーン向け資産移転取引検証部603は、検証の結果、移転取引の正当性について合意が形成された場合に、当該移転取引を新ブロックチェーン台帳121bに正式に記録するようにしてもよい。ここで、合意の形成は、たとえば、新ブロックチェーン向け資産移転取引データの電子署名データにかかる電子署名の正当性についておこなわれるようにしてもよい。そして、電子署名の正当性について合意が形成されることによって、当該移転取引の検証がなされるようにしてもよい。
新ブロックチェーン向け資産移転取引検証部603は、図3に示した、メモリ302などに記憶されたプログラムをCPU301に実行させることによって、また、ネットワークI/F303、記録媒体I/F304などによって、その機能を実現することができる。
このようにして、新ブロックチェーン向け資産移転取引検証部603は、新ブロックチェーン向け資産移転取引の検証および合意形成をおこない、当該移転取引を新ブロックチェーン台帳121bに記録することができる。
口座移転完了判定部604は、取引タイプ判定部602による判定の結果、取引操作の依頼が、旧ブロックチェーン100aにおける依頼である場合に、取引操作の依頼にかかる取引口座の新ブロックチェーン台帳121bへの移転手続きが完了しているかを判定する。具体的には、口座移転完了判定部604は、取引管理装置111に実装された資産移転処理用スマートコントラクトを呼び出す。このスマートコントラクトは、取引データの送金元アドレスの情報を使って、当該口座の資産が移転済みか否かを検査する。
より具体的には、スマートコントラクトを呼び出して、新ブロックチェーン台帳121bに対して、資産の移転先口座残高の問い合わせをおこなう。スマートコントラクトを呼び出した結果、移転手続きが完了していれば、移転済みの口座では0以上の残高の数値が返却され、移転前の口座では“口座が存在しない”というエラーが発生することになる。このように、スマートコントラクトを利用して、口座移転が完了しているか否かの判定をおこなうことができる。
口座移転完了判定部604は、具体的には、たとえば、図3に示した、メモリ302などに記憶された資産移転処理用スマートコントラクトを含むプログラムをCPU301に実行させることによって、また、ネットワークI/F303、記録媒体I/F304などによって、その機能を実現することができる。
このようにして、取引操作の依頼が、旧ブロックチェーン向け資産移転取引の依頼である場合に、取引操作の依頼にかかる取引口座の新ブロックチェーン台帳121bへの移転手続きが完了しているかを判定することができる。そして、旧ブロックチェーン100a向け取引を起点に実行される資産移転が既に完了した資産について移転手続きがおこなわれて、二重に移転してしまうという問題を確実に回避することができる。
なお、この口座移転完了判定部604は、省略することができる。すなわち、取引タイプ判定部602による判定の結果、取引操作の依頼が、旧ブロックチェーン100aにおける依頼である場合には、口座移転完了判定部604による判定をおこなうことをせずに、旧ブロックチェーン向け資産移転取引確認部605による確認処理をおこなうようにしてもよい。
旧ブロックチェーン向け資産移転取引確認部605は、確認部の一例であり、当該取引操作にかかる取引内容と、当該取引操作の依頼にかかる、旧ブロックチェーン台帳121aに記録されている旧ブロックチェーン100aの所有者が所有する取引口座にかかる資産とを確認する。具体的には、旧ブロックチェーン向け資産移転取引確認部605は、ここでも、資産の移転手続きをおこなう資産移転処理用スマートコントラクトを利用する。
このスマートコントラクトは、当該取引データにかかる口座について、旧ブロックチェーン台帳121aに記録されている取引履歴(具体的には、たとえば、旧ブロックチェーン口座リスト402など)を参照する。そして、取引で送金される送金額より多い残高が該当口座に残っており、付与されている電子署名が当該口座の所有者のものである、という検証をおこなう。
旧ブロックチェーン向け資産移転取引確認部605は、図3に示した、メモリ302などに記憶された資産移転処理用スマートコントラクトを含むプログラムをCPU301に実行させることによって、また、ネットワークI/F303、記録媒体I/F304などによって、その機能を実現することができる。
このようにして、旧ブロックチェーン向け資産移転取引確認部605は、取引タイプ判定部602による判定の結果、取引操作の依頼が旧ブロックチェーン100aにおける依頼である場合、あるいは、口座移転完了判定部604による判定の結果、口座移転が完了している場合に、当該取引操作の依頼にかかる、旧ブロックチェーン台帳121aに記録されている当該旧ブロックチェーン100aの所有者が所有する取引口座にかかる資産と、当該取引操作にかかる取引内容とを確認することができる。
資産転入取引生成部606は、生成部の一例であり、該取引操作の依頼にかかる所有者の資産について、新ブロックチェーン台帳121bへの資産転入取引データを生成する。資産転入取引データには電子署名を付与する。具体的には、資産転入取引生成部606は、スマートコントラクトを利用して、スマートコントラクトが管理する署名鍵で電子署名を付与した資産転入取引データを生成する。
図9は、新ブロックチェーン向け資産転入取引データの内容の一例を示す説明図である。資産転入取引生成部606は、たとえば、スマートコントラクトを利用して、図9に示す新ブロックチェーン向け資産転入取引データ901を生成する。図9において、新ブロックチェーン向け資産転入取引データ901は、図8に示した新ブロックチェーン向け資産移転取引データ801のデータ構成が基本となっている。
新ブロックチェーン向け資産転入取引データ901における、新ブロックチェーン向け資産移転取引データ801との違いは、(1)「取引タイプ」フィールドの記録の内容の違い、(2)「旧ブロックチェーン取引データ」フィールドを含むこと、(3)「通信欄」フィールドがないこと、である。
(1)新ブロックチェーン向け資産移転取引データ801の「取引タイプ」フィールドには、『資産移転取引』と記録されるのに対して、新ブロックチェーン向け資産転入取引データ901は、『資産転入取引』と記録される。これによって、取引のタイプの違いを認識することができる。
(2)「旧ブロックチェーン取引データ」フィールドには、図7に示した、旧ブロックチェーン向け資産移転取引データ701の内容が記録される。図7および図9に示すとおり、新ブロックチェーン向け資産転入取引データ901の「旧ブロックチェーン取引データ」フィールドにおける、「バージョン番号」、「発行時刻」、「送金元Addr」、「送金先Addr」、「送金量」、「署名データ」、「送金元公開鍵」の各フィールドのデータは、旧ブロックチェーン向け資産移転取引データ701の各フィールドのデータがそのまま記録されることになる。「取引タイプ」およびこれらの「旧ブロックチェーン取引データ」によって、この取引データが旧ブロックチェーンからの資産転入取引であることがわかる。
(3)「通信欄」は、なくてもよい。そもそも、この新ブロックチェーン向け資産転入取引データは、スマートコントラクトによって生成されたデータであるから、「通信欄」はなくてもよい。
資産転入取引生成部606は、図3に示した、メモリ302などに記憶された資産移転処理用スマートコントラクトを含むプログラムをCPU301に実行させることによって、その機能を実現することができる。
このようにして、資産転入取引生成部606は、旧ブロックチェーン向け資産移転取引確認部605によって取引操作の正当性が確認できた場合に、電子署名を付与した、旧ブロックチェーン100aの所有者が所有する取引口座にかかる資産の新ブロックチェーン台帳121bへの転入取引を生成することができる。
資産転入取引検証部607は、転入取引検証部の一例であり、資産転入取引生成部606において生成された転入取引をブロックチェーンによる検証可能な状態にする。そして、この転入取引は、新ブロックチェーンにおいて合意可能な形式(必須パラメタや電子署名の付与など)となっていて、新ブロックチェーンのコンセンサスアルゴリズムで検証・合意されることとなる。
また、資産転入取引検証部607は、検証の結果、転入取引の正当性について合意が形成された場合に、当該転入取引を新ブロックチェーン台帳121bに正式に記録するようにしてもよい。ここで、合意の形成は、たとえば、転入データの電子署名データにかかる電子署名(スマートコントラクトが管理する署名鍵で電子署名)の正当性についておこなわれるようにしてもよい。そして、電子署名の正当性について合意が形成されることによって、当該転入取引の検証がなされるようにしてもよい。
このような資産転入取引検証部607の一連の処理は、資産転入取引検証部607の一連の処理と同様である。資産転入取引検証部607は、図3に示した、メモリ302などに記憶されたプログラムをCPU301に実行させることによって、また、ネットワークI/F303、記録媒体I/F304などによって、その機能を実現することができる。
このようにして、資産転入取引検証部607は、資産転入取引生成部606によって生成された転入取引を検証可能な状態にすることができる。また、資産転入取引検証部607は、検証の結果、転入取引の正当性について合意が形成された場合に、当該転入取引を新ブロックチェーン台帳121bに記録することができる。そして、取引口座の残高を再計算し、再計算された残高を新ブロックチェーン台帳121bに記録することで、取引口座を、旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへ引き継ぐことができる。
これにより、(更新がされなくなった)旧ブロックチェーンの合意ポリシーのもとで正当と判断されるか否かを検証し、正当と判断された場合にのみ、検証結果と検証者(スマートコントラクト)の電子署名を付与した「資産転入取引データ」を生成することで、転入前の資産価値を検証者が保証し、新ブロックチェーンへの記録時に検証者の署名検査をおこなうだけで、移転可能とすることができる。
つぎに、ブロックチェーン移転開始受付部608および更新禁止取引記録部609について説明する。
ブロックチェーン移転開始受付部608は、移転開始受付部の一例であり、旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへの取引口座にかかる資産の移転開始要求(命令)を受け付ける。移転開始要求は、ブロックチェーンの参加者による所定の操作によっておこなわれるようにしてもよく、また、システムのプログラムが所定の条件に基づいて実行されることによっておこなわれるようにしてもよい。
ブロックチェーン移転開始受付部608は、図3に示した、メモリ302などに記憶されたプログラムをCPU301に実行させることによって、また、ネットワークI/F303などによって、その機能を実現することができる。このように、ブロックチェーン移転開始受付部608は、ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへの移転開始要求を受け付けることができる。
更新禁止取引記録部609は、ブロックチェーン移転開始受付部608によって受け付けられた移転開始要求に含まれる旧ブロックチェーン台帳の更新禁止取引データがある場合は、その更新禁止取引データを抽出する。そして、抽出された更新禁止取引データの検証を、たとえばスマートコントラクトを利用して実行する。そして、更新禁止取引データにかかる取引を検証する。具体的には、旧ブロックチェーンへの参加者が旧ブロックチェーンの継続利用が不可能になる事実を検証する。さらには、図示を省略するがこの事実に合意をとるようにしてもよい。そして、検証された場合に、更新禁止取引データを旧ブロックチェーン台帳121aへ記録する。
更新禁止取引記録部609によって記録された更新禁止取引が旧ブロックチェーン台帳121aに記録されている場合は、旧ブロックチェーン向け資産移転取引確認部605は、取引操作の依頼にかかる、旧ブロックチェーン台帳121aに記録されている旧ブロックチェーンの所有者が所有する取引口座にかかる資産と、当該取引操作にかかる取引内容の確認をおこなわないようにしてもよい。これによって、以降に受け付けられた取引を無効と判断できるようにすることができる。
更新禁止取引記録部609は、図3に示した、メモリ302などに記憶されたプログラムをCPU301に実行させることによって、また、ネットワークI/F303、記録媒体I/F304などによって、その機能を実現することができる。このように、更新禁止取引記録部609は、ブロックチェーン移転開始受付部608によって受け付けられた移転開始要求に含まれる旧ブロックチェーン台帳の更新禁止取引を検証し、検証された更新禁止取引を当該旧ブロックチェーン台帳121aへ記録する。
つぎに、未移転口座問合せ部610について、図10〜図12を用いて説明する。図10は、旧ブロックチェーン口座リストの内容の一例を示す説明図であり、図11は、新ブロックチェーン口座リストの内容の一例を示す説明図である。また、図12は、未移転口座リストの内容の一例を示す説明図である。
未移転口座問合せ部610は、ブロックチェーン100において所有者が所有する取引口座にかかる資産が旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへ移転されたか否かの問合せがあった場合に、旧ブロックチェーン台帳121aから、たとえば図10に示す旧ブロックチェーン口座リスト1001を抽出するとともに、新ブロックチェーン台帳121aから、たとえば図11に示す新ブロックチェーン口座リスト1101を抽出する。
未移転口座問合せ部610は、抽出した旧ブロックチェーン口座リスト1001と新ブロックチェーンリスト1101を比較する。そうすると、旧ブロックチェーン口座リスト1001の上から2番目の「口座番号」が『32563433534』で「残高」が『500』の取引口座が、旧ブロックチェーン口座リスト1001には存在するが、新ブロックチェーン口座リスト1101には存在しないことがわかる。
このように、旧ブロックチェーン口座リスト1001には存在するが、新ブロックチェーン口座リスト1101には存在しない口座、すなわち、このような検査で、新ブロックチェーン口座リスト1101への移転が確認できなかった口座のみを抽出する。そして、未移転口座問合せ部610は、抽出した口座に基づいて、たとえば、図12に示す未移転口座リスト1201を生成する。さらに、未移転口座問合せ部610は、生成されたリストに関する情報を、たとえば、資産転入取引生成部606へ出力する。
そして、資産転入取引生成部606は、未移転口座問合せ部610によって出力された未移転の取引口座に関する情報に基づいて、電子署名を付与して、当該未移転の取引口座にかかる資産の新ブロックチェーン台帳への転入取引を生成する。具体的には、たとえば、各口座に対して送金量『0(コイン)』の送金取引データを、送金元となる管理者ユーザの秘密鍵で電子署名することで、転入取引を生成する。その後は、上述した処理と同様の処理をおこなうことによって、当該取引口座を新ブロックチェーン台帳121bに記録することができる。
未移転口座問合せ部610は、図3に示した、メモリ302などに記憶されたプログラムをCPU301に実行させることによって、また、ネットワークI/F303、記録媒体I/F304などによって、その機能を実現することができる。
このように、未移転口座問合せ部610は、ブロックチェーン100において所有者が所有する取引口座にかかる資産が旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへ移転されたか否かの問合せがあった場合に、未移転の取引口座に関する情報を出力することができる。これによって、未移転の取引口座の移転処理を実行することができ、新ブロックチェーンの運用をより確実なものとすることができる。
(取引管理装置の処置の手順)
図13は、取引管理装置の処理の手順の一例を示すフローチャートであり、取引管理装置の全体の流れを示している。図13のフローチャートにおいて、取引管理装置111は、取引データを受信したか否かを判断する(ステップS1301)。ここで、取引データを受信するのを待って(ステップS1301:No)、取引データを受信した場合(ステップS1301:Yes)は、受信した取引データにかかる取引が新ブロックチェーン向け取引データであるか否かを判断する(ステップS1302)。
ステップS1302において、受信した取引データが新ブロックチェーン向け取引データである場合(ステップS1302:Yes)は、当該取引データを新ブロックチェーンで検証可能な状態として、新ブロックチェーンで当該取引データにかかる取引が合意されたか否かを判断する(ステップS1303)。ここで、取引が合意された場合(ステップS1303:Yes)は、当該取引を新ブロックチェーン台帳121bに記録するとともに、取引口座の残高を再計算する(ステップS1304)。再計算された残高も新ブロックチェーン台帳121bに記録するようにしてもよい。これにより、一連の処理を終了する。
一方、ステップS1303において、取引が合意されなかった場合(ステップS1303:No)は、当該取引データを破棄し(ステップS1305)、一連の処理を終了する。
ステップS1302において、受信した取引データが新ブロックチェーン向け取引データでない、すなわち、受信した取引データが旧ブロックチェーン向け取引データである場合(ステップS1302:No)は、送金元の取引口座は新ブロックチェーンへ移転済みか否かを判断する(ステップS1306)。ここで、移転済みでない場合(ステップS1306:No)は、旧ブロックチェーンでの取引口座の残高を旧ブロックチェーン台帳121aから取得する(ステップS1307)。一方、移転済みの場合(ステップS1306:Yes)は、新ブロックチェーンでの取引口座の残高を新ブロックチェーン台帳121bから取得する(ステップS1308)。
そして、受信した取引データにかかる取引が、旧ブロックチェーンにおいて正当な取引であるか否かを判断する(ステップS1309)。ここで、正当な取引ではないと判断された場合(ステップS1309:No)は、ステップS1305へ移行して、当該取引データを破棄し(ステップS1305)、一連の処理を終了する。
一方、ステップS1309において、受信した取引データにかかる取引が正当な取引であると判断された場合(ステップS1309:Yes)は、転入取引を生成する(ステップS1310)。具体的には、当該取引データに電子署名を付与することによって、転入取引データを生成する。
そして、生成された転入取引を新ブロックチェーンで検証可能な状態にして、新ブロックチェーンで当該転入取引が合意されたか否かを判断する(ステップS1311)。ここで、転入取引が合意された場合(ステップS1311:Yes)は、当該転入取引を新ブロックチェーン台帳121bに記録するとともに、取引口座の残高を再計算し(ステップS1312)。再計算された残高を新ブロックチェーン台帳121bに記録する。これにより、一連の処理を終了する。
一方、ステップS1311において、転入取引が合意されなかった場合(ステップS1311:No)は、当該転入取引データを破棄し(ステップS1305)、一連の処理を終了する。このようにして、取引口座を、旧ブロックチェーン台帳121aから新ブロックチェーン台帳121bへ引き継ぐことができる。
図14は、取引管理装置の処理の手順の別の一例を示すフローチャートであり、更新禁止取引の記録に関する処理の流れを示している。図14のフローチャートにおいて、取引管理装置111(たとえば、ブロックチェーン移転開始受付部608)は、移転開始要求を受け付けたか否かを判断する(ステップS1401)。ここで、移転開始要求を受け付けるのを待って(ステップS1401:No)、移転開始要求を受け付けた場合(ステップS1401:Yes)は、取引管理装置111(たとえば、更新禁止取引記録部609)は、受け付けた移転開始要求に更新禁止取引データが含まれているか否かを判断する(ステップS1402)。
ステップS1402において、更新禁止取引データが含まれていない場合(ステップS1402:No)は、何もせずに、一連の処理を終了する。一方、ステップS1402において、更新禁止取引データが含まれている場合(ステップS1402:Yes)は、含まれていた更新禁止取引データにかかる更新禁止取引を検証する(ステップS1403)。そして、検証の結果、当該更新禁止取引が正当か否かを判断する(ステップS1404)。
ステップS1404において、当該更新禁止取引が正当であると判断された場合(ステップS1404:Yes)は、当該更新禁止取引を旧ブロックチェーン台帳121aに記録し(ステップS1405)、一連の処理を終了する。一方、ステップS1404において、当該更新禁止取引が正当でないと判断された場合(ステップS1404:No)は、当該更新禁止取引データを破棄し(ステップS1406)、一連の処理を終了する。
図15は、取引管理装置の処理の手順の別の一例を示すフローチャートであり、未移転口座の問合せ処理の流れを示している。図15のフローチャートにおいて、取引管理装置111(たとえば、未移転口座問合せ部610)は、未移転口座の問合せがあったか否かを判断する(ステップS1501)。ここで、未移転口座の問合せがあるのを待って(ステップS1501:No)、未移転口座の問合せがあった場合(ステップS1501:Yes)は、旧ブロックチェーン台帳121aから旧ブロックチェーン口座リストを抽出する(ステップS1502)とともに、新ブロックチェーン台帳121bから新ブロックチェーン口座リストを抽出する(ステップS1503)。
そして、抽出した旧ブロックチェーン口座リストと新ブロックチェーン口座リストとを比較する(ステップS1504)。比較の結果、未移転の取引口座があるか否かを判断する(ステップS1505)。ここで、未移転の取引口座がなかった場合(ステップS1505:No)は、何もせずに、一連の処理を終了する。一方、未移転の取引口座があった場合(ステップS1505:Yes)は、未移転口座リストを生成し(ステップS1506)、生成した未移転口座リストを出力し(ステップS1507)、一連の処理を終了する。
図16は、取引管理装置の処理の手順の別の一例を示すフローチャートであり、未移転口座の転入処理の流れを示している。図16のフローチャートにおいて、取引管理装置111(たとえば、資産転入取引生成部606)は、未移転口座リストから未移転の取引口座に関するデータを抽出する(ステップS1601)。
そして、強制的に当該口座の新チェーンへの移行を完了させるため、抽出したデータに基づいて、システムが管理する口座から送金量『0(コイン)』の送金をおこなう取引データを生成する(ステップS1602)。その後、図13のフローチャートのステップS1309へ移行する。ステップS1309以降の処理については既に説明したので、その説明は省略する。
(実施例)
つぎに、取引管理装置111を用いた仮想通貨の残高管理処理の実施例について説明する。運用しているブロックチェーン100において、台帳管理に使われていた基盤ソフトウェアのバージョンアップで、取引データの互換性がとれなくなるため、仮想通貨Fコインを管理している旧ブロックチェーン(台帳システム)100aから、同仮想通貨の管理を引き継ぐために暗号強度を向上させた新ブロックチェーン(台帳システム)100bへ移行することとなった。
このとき、FコインのA口座に1000コインを所有するA氏(所有者130)が、サービス代金として『300コイン』の資産を、B店舗のB口座(残高『50000コイン』)へ送金することになった。
A氏は、旧ブロックチェーン100aの仕様に沿ったウォレット・アプリケーション131を使って、A口座から『300コイン』をB口座へ移転する取引データを作成する。作成される取引データは、旧ブロックチェーン100a用に、送金元と送金先のアドレス、送金額、作成日時の送金情報に加え、旧ブロックチェーン100aで有効とされる電子署名データが含まれている。
A氏は、ウォレット・アプリケーション131でこの取引データをブロックチェーン(台帳管理システム)100に送信するが、当該システムでは既に旧ブロックチェーン100aから新ブロックチェーン100bへの移行が開始されていて、当該取引データも新ブロックチェーン台帳121bに取り込まれることとなる。
ブロックチェーン(台帳管理システム)100では、受け付けた取引データに含まれる電子署名データを検査して、新旧どちらのブロックチェーン向けに作成されたものか判断する。今回の取引データは旧ブロックチェーン100a向けに作成されたものなので、旧ブロックチェーン100a向けの取引データを受信したと判定する。そして、当該取引データは、台帳管理システムに実装された資産移転処理用スマートコントラクトを呼び出す際の、パラメタ引数として使用されるようにしてもよい。
このスマートコントラクトによって、取引データの送金元アドレスの情報を使って、当該口座(A口座)の資産が移転済みか否かを検査する。資産移転先となる新ブロックチェーン100bに実装された口座残高を問い合わせる。ここでもスマートコントラクトの呼び出し結果を利用して判定をおこなうことができる。
この判定で送金元となっている資産が、新ブロックチェーン100bへの移転前であった場合には、資産転入取引データを作成し、資産の移転手続きを開始する。作成される資産転入取引データは、A氏のウォレット・アプリケーション131が生成して、ブロックチェーン(台帳管理システム)100に送信された「旧ブロックチェーン向け資産移転取引データ701」を再利用して作成されるようにしてもよい。
資産の移転手続きをおこなうスマートコントラクトは、当該取引データが旧ブロックチェーン台帳121aに記録されている取引履歴を参照する。ここで、A口座に取引で送金される送金額より多い残高が残っており、付与されている電子署名がA口座の所有者であるA氏のものである、という検証をおこなったのち、スマートウォレットが管理する署名鍵で電子署名を付与する。A口座の残高は『1000コイン』であり、送金額が300コインであり、かつ、A氏の有効な電子署名が付与されているので、検証結果はOKと判断される。そして、スマートコントラクトの電子署名がついた資産転入取引データが作成される。
この資産転入取引データは、移転先のブロックチェーンである新ブロックチェーン100bで合意可能な形式(必須パラメタや電子署名の付与など)となっており、新ブロックチェーン100bのコンセンサスアルゴリズムで検証、合意されることとなる。
この資産転入取引データ、移転操作の結果(旧ブロックチェーン100aでの残高−送金額)を、A口座の新しい残高として、新ブロックチェーン台帳121bに記録される。資産転入取引データがブロックチェーンに取り込まれると、A氏の新ブロックチェーン台帳121bでのA口座の残高(『700コイン』)が参照できるようになる。
送金先となっているB口座についても同様で、B口座が新ブロックチェーン100bへの移転前であれば、B口座の資産も新ブロックチェーン100bへ移転され、旧ブロックチェーン100aでのB口座の残高に『300コイン』を追加した残高『50300コイン』となる。一方、B口座が既に新ブロックチェーン100bへ移転済みであった場合には、新ブロックチェーン100bでのB口座の残高が資産転入取引データを使って再計算され、同じく残高『50300コイン』となる。
このようにして、取引管理装置111を用いて仮想通貨の残高管理処理をおこなうことができる。
つぎに、このような資産移転が自然に発生することで、旧ブロックチェーン100aに管理されていた大部分の口座残高が新ブロックチェーン100bへ移転したあと、残っている口座の残高を新ブロックチェーン100bに移す際の処理について説明する。
管理者ユーザは、移転がおこなわれていない口座のリスト(未移転口座リスト)を作成し、各口座に対して『0コイン』の送金取引を作成、台帳管理システムへ送信する。未移転口座リストは、たとえば旧ブロックチェーン100aで管理される口座のリストを作成し、各口座について新ブロックチェーン100bへ移転済みか否かの検査で移転が確認できなかった口座を未移転口座リストに加えることで作成することができる。
つぎに、各口座宛てに『0コイン』を送金する取引データを送金元となる管理者ユーザの秘密鍵で電子署名して作成し、ブロックチェーン100の台帳管理システムへ送信する。これらの取引データが台帳管理システムで受信されると、宛先となっている移転前の口座残高が新ブロックチェーン100bに移管されることとなる。
このようにして、残っている口座の残高を新ブロックチェーン100bに移す際の処理をおこなうことができる。
以上説明したように、本実施の形態によれば、旧ブロックチェーン100aにおいて所有者が所有する資産の取引操作の依頼に応答して、旧ブロックチェーン100aの所有者が所有する資産と、当該取引操作にかかる取引内容とを確認し、取引操作の正当性が確認できた場合に、取引後の旧ブロックチェーン100aの所有者が所有する資産を、電子署名を付与して新ブロックチェーン100bに登録するので、旧ブロックチェーン100aの所有者は、取引をおこなうだけで、所有する資産を、新ブロックチェーン100bへ引き継ぐことができる。
また、本実施の形態によれば、取引操作の依頼が旧ブロックチェーン100aにおける依頼である場合に、当該取引操作の依頼にかかる、旧ブロックチェーン台帳121aに記録されている旧ブロックチェーン100aの所有者が所有する取引口座にかかる資産153と、当該取引操作にかかる取引内容152、701とを確認し、取引操作の正当性が確認できた場合に、電子署名を付与した、旧ブロックチェーン100aの所有者が所有する取引口座にかかる資産の新ブロックチェーン台帳121bへの転入取引154を生成し、生成された転入取引を検証し、検証の結果、転入取引の正当性について合意が形成された場合に、当該転入取引を新ブロックチェーン台帳121bに記録するため、非中央集権的な運用において、新旧のブロックチェーンで台帳の一貫性を担保することができる。
なお、本実施の形態で説明した取引管理方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。取引管理プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical Disk)、DVD(Digital Versatile Disk)、フラッシュメモリ、USB(Universal Serial Bus)メモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、取引管理プログラムは、インターネットなどのネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
制御部を有することを特徴とする取引管理装置。
(付記2)ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の取引操作の依頼を受け付ける取引受付部と、
前記取引受付部によって受け付けられた取引操作の依頼が、第一のブロックチェーンにおける依頼か、第二のブロックチェーンにおける依頼かを判定する取引タイプ判定部と、
前記取引タイプ判定部による判定の結果、前記取引操作の依頼が前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる、第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容とを確認する確認部と、
前記確認部によって前記取引操作の正当性が確認できた場合に、電子署名を付与した、前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産の第二のブロックチェーン台帳への転入取引を生成する生成部と、
前記生成部によって生成された前記転入取引を検証可能な状態にする転入取引検証部と、
を有することを特徴とする取引管理装置。
(付記3)前記転入取引検証部は、前記検証の結果、前記転入取引の正当性について合意が形成された場合に、前記転入取引を前記第二のブロックチェーン台帳に記録することを特徴とする付記2に記載の取引管理装置。
(付記4)前記取引タイプ判定部による判定の結果、前記取引操作の依頼が、前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる前記取引口座の前記第二のブロックチェーン台帳への移転手続きが完了しているかを判定する口座移転完了判定部を有することを特徴とする付記2または3に記載の取引管理装置。
(付記5)前記確認部は、前記口座移転完了判定部による判定の結果、前記取引口座の移転手続きが完了していない場合に、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなうことを特徴とする付記4に記載の取引管理装置。
(付記6)前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳への移転開始要求を受け付ける移転開始受付部と、
前記移転開始受付部によって受け付けられた移転開始要求に含まれる前記第一のブロックチェーン台帳の更新禁止取引を検証し、検証された更新禁止取引を前記第一のブロックチェーン台帳へ記録する更新禁止取引記録部と、
を有することを特徴とする付記2〜5のいずれか一つに記載の取引管理装置。
(付記7)前記確認部は、前記更新禁止取引記録部によって記録された更新禁止取引が記録されている場合は、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなわないことを特徴とする付記6に記載の取引管理装置。
(付記8)前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産が前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳へ移転されたか否かの問合せがあった場合に、未移転の取引口座に関する情報を出力する未移転口座問合せ部を有することを特徴とする付記2〜7のいずれか一つに記載の取引管理装置。
(付記9)前記生成部は、前記未移転口座問合せ部によって出力された未移転の取引口座に関する情報に基づいて、電子署名を付与して、前記未移転の取引口座にかかる資産の前記第二のブロックチェーン台帳への転入取引を生成することを特徴とする付記8に記載の取引管理装置。
(付記10)前記取引タイプ判定部による判定の結果、前記取引操作の依頼が前記第二のブロックチェーンにおける依頼である場合に、前記依頼にかかる取引を検証可能な状態にする第二のブロックチェーン向け取引検証部を有することを特徴とする付記2〜9のいずれか一つに記載の取引管理装置。
(付記11)前記第二のブロックチェーン向け取引検証部は、前記検証の結果、前記取引の正当性について合意が形成された場合に、前記取引を第二のブロックチェーン台帳に記録することを特徴とする付記10に記載の取引管理装置。
(付記12)前記合意の形成は、前記電子署名の正当性についておこなわれることを特徴とする付記3〜11のいずれか一つに記載の取引管理装置。
(付記13)コンピュータが、
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
処理を実行することを特徴とする取引管理方法。
(付記14)コンピュータに、
第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
処理を実行させることを特徴とする取引管理プログラム。
100 ブロックチェーン
100a 旧ブロックチェーン
100b 新ブロックチェーン
101〜107 ブロック
110 ブロックチェーンの分散台帳システム(P2Pネットワーク)
111〜116 取引管理装置(ノードサーバ)
121a〜126a 旧ブロックチェーン台帳
121b〜126b 新ブロックチェーン台帳
130 所有者(資産者)
131 ウォレット・アプリケーション
200 ネットワーク
201 端末装置
401、701 旧ブロックチェーン向け資産移転取引データ
402、1001 旧ブロックチェーン口座リスト
501、801 新ブロックチェーン向け資産移転取引データ
502、1101 新ブロックチェーン口座リスト
600 制御部
601 取引受付部
602 取引タイプ判定部
603 新ブロックチェーン向け資産移転取引検証部
604 口座移転完了判定部
605 旧ブロックチェーン向け資産移転取引確認部
606 資産転入取引生成部
607 資産転入取引検証部
608 ブロックチェーン移転開始受付部
609 更新禁止取引記録部
610 未移転口座問合せ部
901 新ブロックチェーン向け資産転入取引データ
1201 未移転口座リスト

Claims (11)

  1. 第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
    前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
    制御部を有することを特徴とする取引管理装置。
  2. ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の取引操作の依頼を受け付ける取引受付部と、
    前記取引受付部によって受け付けられた取引操作の依頼が、第一のブロックチェーンにおける依頼か、第二のブロックチェーンにおける依頼かを判定する取引タイプ判定部と、
    前記取引タイプ判定部による判定の結果、前記取引操作の依頼が前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる、第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容とを確認する確認部と、
    前記確認部によって前記取引操作の正当性が確認できた場合に、電子署名を付与した、前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産の第二のブロックチェーン台帳への転入取引を生成する生成部と、
    前記生成部によって生成された前記転入取引を検証可能な状態にする転入取引検証部と、
    を有することを特徴とする取引管理装置。
  3. 前記転入取引検証部は、前記検証の結果、前記転入取引の正当性について合意が形成された場合に、前記転入取引を前記第二のブロックチェーン台帳に記録することを特徴とする請求項2に記載の取引管理装置。
  4. 前記取引タイプ判定部による判定の結果、前記取引操作の依頼が、前記第一のブロックチェーンにおける依頼である場合に、前記取引操作の依頼にかかる前記取引口座の前記第二のブロックチェーン台帳への移転手続きが完了しているかを判定する口座移転完了判定部を有することを特徴とする請求項2または3に記載の取引管理装置。
  5. 前記確認部は、前記口座移転完了判定部による判定の結果、前記取引口座の移転手続きが完了していない場合に、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなうことを特徴とする請求項4に記載の取引管理装置。
  6. 前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産の前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳への移転開始要求を受け付ける移転開始受付部と、
    前記移転開始受付部によって受け付けられた移転開始要求に含まれる前記第一のブロックチェーン台帳の更新禁止取引を検証し、検証された更新禁止取引を前記第一のブロックチェーン台帳へ記録する更新禁止取引記録部と、
    を有することを特徴とする請求項2〜5のいずれか一つに記載の取引管理装置。
  7. 前記確認部は、前記更新禁止取引記録部によって記録された更新禁止取引が記録されている場合は、前記取引操作の依頼にかかる、前記第一のブロックチェーン台帳に記録されている前記第一のブロックチェーンの前記所有者が所有する取引口座にかかる資産と、前記取引操作にかかる取引内容の確認をおこなわないことを特徴とする請求項6に記載の取引管理装置。
  8. 前記ブロックチェーンにおいて所有者が所有する取引口座にかかる資産が前記第一のブロックチェーン台帳から前記第二のブロックチェーン台帳へ移転されたか否かの問合せがあった場合に、未移転の取引口座に関する情報を出力する未移転口座問合せ部を有することを特徴とする請求項2〜7のいずれか一つに記載の取引管理装置。
  9. 前記生成部は、前記未移転口座問合せ部によって出力された未移転の取引口座に関する情報に基づいて、電子署名を付与して、前記未移転の取引口座にかかる資産の前記第二のブロックチェーン台帳への転入取引を生成することを特徴とする請求項8に記載の取引管理装置。
  10. コンピュータが、
    第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
    前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
    処理を実行することを特徴とする取引管理方法。
  11. コンピュータに、
    第一のブロックチェーンにおいて所有者が所有する資産の取引操作の依頼に応答して、前記第一のブロックチェーンの前記所有者が所有する資産と、前記取引操作にかかる取引内容とを確認し、
    前記取引操作の正当性が確認できた場合に、取引後の前記第一のブロックチェーンの前記所有者が所有する資産を、電子署名を付与して第二のブロックチェーンに登録する、
    処理を実行させることを特徴とする取引管理プログラム。
JP2018170933A 2018-09-12 2018-09-12 取引管理装置、取引管理方法および取引管理プログラム Active JP7180223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018170933A JP7180223B2 (ja) 2018-09-12 2018-09-12 取引管理装置、取引管理方法および取引管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018170933A JP7180223B2 (ja) 2018-09-12 2018-09-12 取引管理装置、取引管理方法および取引管理プログラム

Publications (2)

Publication Number Publication Date
JP2020042671A true JP2020042671A (ja) 2020-03-19
JP7180223B2 JP7180223B2 (ja) 2022-11-30

Family

ID=69798443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018170933A Active JP7180223B2 (ja) 2018-09-12 2018-09-12 取引管理装置、取引管理方法および取引管理プログラム

Country Status (1)

Country Link
JP (1) JP7180223B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461721A (zh) * 2020-04-16 2020-07-28 北京俩撇科技有限公司 一种基于区块链的保护账户、验证交易的方法及装置
CN113064675A (zh) * 2020-12-29 2021-07-02 上海能链众合科技有限公司 一种可继承的区块链无损改造方法
WO2022168192A1 (ja) * 2021-02-03 2022-08-11 三菱電機株式会社 データ移行装置、データ移行方法、及び、データ移行プログラム
JP7432443B2 (ja) 2020-05-28 2024-02-16 株式会社日立製作所 移行支援システム、移行支援方法、およびノード
JP7527404B2 (ja) 2021-02-03 2024-08-02 三菱電機株式会社 データ移行装置、データ移行方法、及び、データ移行プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204070A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム
CN107392608A (zh) * 2017-07-11 2017-11-24 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统
JP2020521254A (ja) * 2017-05-25 2020-07-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited サービス・データをブロックチェーン・システムに書き込むための方法およびデバイス
JPWO2019235198A1 (ja) * 2018-06-06 2021-06-03 日本電信電話株式会社 決済システム、決済方法、利用者装置、決済プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204070A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム
JP2020521254A (ja) * 2017-05-25 2020-07-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited サービス・データをブロックチェーン・システムに書き込むための方法およびデバイス
CN107392608A (zh) * 2017-07-11 2017-11-24 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统
JPWO2019235198A1 (ja) * 2018-06-06 2021-06-03 日本電信電話株式会社 決済システム、決済方法、利用者装置、決済プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461721A (zh) * 2020-04-16 2020-07-28 北京俩撇科技有限公司 一种基于区块链的保护账户、验证交易的方法及装置
JP7432443B2 (ja) 2020-05-28 2024-02-16 株式会社日立製作所 移行支援システム、移行支援方法、およびノード
CN113064675A (zh) * 2020-12-29 2021-07-02 上海能链众合科技有限公司 一种可继承的区块链无损改造方法
CN113064675B (zh) * 2020-12-29 2023-12-19 上海零数众合信息科技有限公司 一种可继承的区块链无损改造方法
WO2022168192A1 (ja) * 2021-02-03 2022-08-11 三菱電機株式会社 データ移行装置、データ移行方法、及び、データ移行プログラム
DE112021006204T5 (de) 2021-02-03 2023-10-12 Mitsubishi Electric Corporation Daten-Transfereinrichtung, Daten-Transferverfahren und Daten-Transferprogramm
JP7527404B2 (ja) 2021-02-03 2024-08-02 三菱電機株式会社 データ移行装置、データ移行方法、及び、データ移行プログラム

Also Published As

Publication number Publication date
JP7180223B2 (ja) 2022-11-30

Similar Documents

Publication Publication Date Title
JP7180223B2 (ja) 取引管理装置、取引管理方法および取引管理プログラム
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
US20200051041A1 (en) System and method for arbitrating a blockchain transaction
US20200145373A1 (en) System for blockchain based domain name and ip number register
KR20180113145A (ko) 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
CN109543869B (zh) 基于区块链网络的酒店预订结算方法、装置及系统
CN110659906B (zh) 票据信息处理方法、相关设备及介质
WO2020233404A1 (zh) 交易系统、方法以及交易系统中的节点
KR20200093777A (ko) 디지털 자산 보관 서비스 제공 시스템 및 방법
US20200160340A1 (en) Distributed fraud detection system within mesh networks
US11640604B2 (en) Automated blockchain address creation and transfers by uniform resource locator generation and execution
JP6786119B2 (ja) 取引装置、取引方法及び取引プログラム
KR20190132047A (ko) 스마트 컨트랙트를 이용한 블록체인 기반 서비스 플랫폼 제공 방법
US20200118093A1 (en) System and method for arbitrating a blockchain transaction
KR20190132159A (ko) 스마트 컨트랙트를 이용한 블록체인 기반 암호화폐 거래 플랫폼 제공 방법
KR20190132054A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
KR20200114324A (ko) 블록체인 기반의 암호화폐를 이용한 송금 처리 시스템
CN110910000A (zh) 一种区块链资产管理方法和装置
US20230083351A1 (en) System and method for providing patent title insurance with centralized and distributed data architectures
KR102333811B1 (ko) 블록체인 기반의 카드 결제 처리 시스템 및 방법
TW201913529A (zh) 基於區塊鏈智能合約的函證系統及其方法
KR20190132160A (ko) 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
JP2022531642A (ja) ブロックチェーンで生成されたデータを認証する方法およびシステム
WO2021006251A1 (ja) 資産のバックアップ処理方法およびプログラムを記録した記録媒体
CN110377609B (zh) 基于区块链的智能合约动态部署与演化方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221031

R150 Certificate of patent or registration of utility model

Ref document number: 7180223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150