(57)【特許請求の範囲】
【請求項１】
所定のサービスで提供される分散型の仮想通貨の取引処理を行う複数の端末が実行する仮想通貨管理方法であって、
前記端末は、前記所定のサービスで提供される仮想通貨に関する取引情報が一定の取引単位で時系列に繋がれた取引履歴であって真正性を示す情報である取引履歴を記憶する記憶部を有し、
前記端末が、前記所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関する前記取引履歴を取得する工程と、
前記端末が、取得した前記他のサービスに対応する取引履歴と、前記記憶部に記憶する取引履歴とを結合する工程と、
前記端末が、結合した取引履歴を前記記憶部に記憶させる工程と、
を含み、
前記取引単位は、一つ前の取引単位のハッシュ、前記取引情報及び予め条件が定められた適切な値を有し、
前記結合する工程は、結合対象の各取引履歴のそれぞれ最後の前記取引単位から、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとすることを特徴とする仮想通貨管理方法。
【請求項２】
前記端末が、所定のルールに従ったタイミングで、前記結合する工程の開始を制御する工程
をさらに含んだことを特徴とする請求項１に記載の仮想通貨管理方法。
【請求項３】
前記端末が、所定のルールに従って、前記所定のサービスを利用する各端末及び前記他のサービスを利用する各端末がそれぞれ結合した取引履歴のうち、結合後の取引履歴として採用する取引履歴を判断する工程と、
前記記憶させる工程は、前記判断する工程において、前記結合後の取引履歴として採用された取引履歴を前記記憶部に記憶することを特徴とする請求項１または２に記載の仮想通貨管理方法。
【請求項４】
前記取得する工程は、複数の前記他のサービスで提供される仮想通貨に関する取引履歴をそれぞれ取得し、
前記結合する工程は、取得した前記複数の他のサービスにそれぞれ対応する取引履歴と、前記記憶部に記憶する取引履歴とを結合することを特徴とする請求項１〜３のいずれか一つに記載の仮想通貨管理方法。
【請求項５】
所定のサービスで提供される分散型の仮想通貨に関する取引情報が一定の取引単位で時系列に繋がれた取引履歴であって真正性を示す情報である取引履歴を記憶するステップと、
前記所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関する前記取引履歴を取得するステップと、
前記他のサービスに対応する取引履歴と、前記所定のサービスに対応する取引履歴とを結合するステップと、
結合した取引履歴を記憶するステップと、
をコンピュータに実行させ、
前記取引単位は、一つ前の取引単位のハッシュ、前記取引情報及び予め条件が定められた適切な値を有し、
前記結合するステップは、結合対象の各取引履歴のそれぞれ最後の前記取引単位から、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとする仮想通貨管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想通貨管理方法及び仮想通貨管理プログラムに関する。
【背景技術】
【０００２】
近年、円やドルといった貨幣による物品の取引のみではなく、電子マネー等の仮想通貨を用いた商取引が行なわれている。さらに、オープンかつ分散を前提とした「ビットコイン（登録商標）」と呼ばれる仮想通貨を用いたサービスが提案されている（例えば、非許文献１参照）。
【０００３】
このビットコインでは、実現のために「ブロックチェーン」と呼ばれる技術が使用されている。まず、ビットコインによる取引では、ハッシュ関数と公開鍵暗号方式とを用いて、取引情報の真正性を担保している。暗号技術を用いて行われた仮想通貨の取引情報（以下、「トランザクション」という。）は、ビットコインを利用する全端末に対してブロードキャストで送信される。送信されたトランザクションは、マイナー（採掘者）と呼ばれる端末によって真正性が検証され、承認されるとブロックにまとめられ、ブロックチェーンと呼ばれる台帳に記録される。ビットコインによる取引では、マイナーにマイニング（採掘）と呼ばれる計算処理を行わせてから、ブロックチェーンにブロックを追加することによって、トランザクションの改ざんを防いでいる。
【０００４】
ここで、ブロックチェーンの末尾のブロックには、複数のトランザクションと、ブロックチェーンの末尾のブロックの一つ前のブロックのハッシュ値と、予め条件が定められた適切な値（「Nonce（ナンス）」という。）と、が格納されている。マイナーは、マイニングとして、このブロックチェーンの末尾のブロックのハッシュ値と、真正性を保証すべきトランザクションとから、次のブロックに使うハッシュを生成するようなNonceを、総当たりで探索する。
【０００５】
このとき、マイナーが、他のマイナーに先駆けてNonceを発見するためには膨大な計算量が必要である。この計算量が非常に大きいことがブロックチェーンの内容の真正性の根拠となっている。このように、各取引をネットワークで合意・認証するために多くの計算量を費やす方式を、プルーフ・オブ・ワークという。プルーフ・オブ・ワークは、仮想通貨など、様々な情報の真正性を示すために適用されている。
【０００６】
このブロックチェーン技術には様々な応用が検討されており、ビットコインの仕組みを基に、類似した暗号通貨システム（オルトコイン）が提案されている。オルトコインとしては、ライトコイン、ドージコイン、モナーコイン（登録商標）等があり、現在、５００以上の暗号通貨システムがあるといわれている。
【０００７】
このようなオープンかつ分散型の仮想通貨を提供するサービスでは、ブロックチェーンの内部に記述される情報（ビットコインの場合はトランザクションである。）の真正性は、その系を支えるマイナーが提供する計算量に依存している。
【０００８】
言い換えると、計算量によっては、ブロックチェーンへの攻撃が可能となる。例えば、悪意あるグループまたは個人が、全体の計算量の５０％以上を超えると、ネットワーク全体の採掘速度の５０％以上を支配し、不正な取引が可能となることが知られている（５１％攻撃）。
【０００９】
したがって、プルーフ・オブ・ワークによって真正性を保証するためには、すなわち、攻撃者からの改ざんを防ぐためには、攻撃者が、攻撃のために費やす計算量を超えることが極めて困難となるように、マイナーが非常に大きな計算量を費やすことが必要条件となる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】“Bitcoin:  A  Peer-to-Peer  Electronic  Cash  System”，  ［平成２８年５月６日検索，インターネット＜ＵＲＬ：https://bitcoin.org/bitcoin.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、このようなオルトコインは、オープンかつ分散を前提としたサービスであるため、マイナーは、自由に参加或いは離脱が可能である。このため、サービスの普及度によっては、十分なマイナーが確保できない可能性が想定される。即ち、サービスの普及度によっては、マイナーによる計算量が十分に確保できない可能性が想定される。この場合、トランザクション等のブロックチェーン内に記録された情報の真正性が保証できず、サービスは、その本来の目的を達成できないという問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、オープンかつ分散を前提としたサービスで提供される仮想通貨の取引情報の真正性の保証度を高めることができる仮想通貨管理方法及び仮想通貨管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明に係る仮想通貨管理方法は、所定のサービスで提供される分散型の仮想通貨の取引処理を行う複数の端末が実行する仮想通貨管理方法であって、端末は、所定のサービスで提供される仮想通貨に関する取引情報が一定の取引単位で時系列に繋がれた取引履歴であって真正性を示す情報である取引履歴を記憶する記憶部を有し、端末が、所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関する取引履歴を取得する工程と、端末が、取得した他のサービスに対応する取引履歴と、記憶部に記憶する取引履歴とを結合する工程と、端末が、結合した取引履歴を記憶部に記憶させる工程と、を含む。
【発明の効果】
【００１４】
本発明によれば、オープンかつ分散を前提としたサービスで提供される仮想通貨の取引情報の真正性の保証度を高めることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態の概略を説明する図である。
【図２】図２は、本発明の実施の形態の概略を説明する図である。
【図３】図３は、本発明の実施の形態に係る仮想通貨管理システムの構成の一例を模式的に示す図である。
【図４】図４は、図３に示すマイナーの構成を示すブロック図である。
【図５】図５は、図４に示すブロックチェーンの構成の一例を説明する図である。
【図６】図６は、図３に示すユーザの構成の一例を示すブロック図である。
【図７】図７は、図４及び図６に示す結合部による結合処理を説明するための図である。
【図８】図８は、図４及び図６に示す結合部による結合処理を説明するための図である。
【図９】図９は、結合のタイミングの一例を説明するための図である。
【図１０】図１０は、図４及び図６に示す結合部による結合処理の処理手順を示すフローチャートである。
【図１１】図１１は、本実施の形態の変形例１を説明する図である。
【図１２】図１２は、本実施の形態の変形例２を説明する図である。
【図１３】図１３は、本実施の形態の変形例２を説明する図である。
【図１４】図１４は、プログラムが実行されることにより、マイナー及びユーザが実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１７】
［実施の形態］
本発明の実施の形態について説明する。本発明の実施の形態では、オープンかつ分散を前提とした仮想通貨を提供するサービスに対する仮想通貨管理方法について説明する。まず、実施の形態に係る仮想通貨管理方法の概略について説明する。
【００１８】
［実施の形態の概略］
図１及び図２は、本発明の実施の形態の概略を説明する図である。一例として、図１の（ａ）に示すように、ブロックチェーン（取引履歴）Ｂ（Ｋ）を使ったサービスＫと、図１の（ｂ）に示すように、ブロックチェーンＢ（Ｔ）を使ったサービスＴと、がある場合について説明する。ブロックチェーンは、仮想通貨に関する取引情報を示す取引単位（ブロック）が時系列に繋がれたものであって真正性を示す情報であり、仮想通貨の取引を記録した台帳として機能する。
【００１９】
サービスＫは、オープンかつ分散を前提とした仮想通貨を提供する。サービスＴは、オープンかつ分散を前提とした仮想通貨であって、サービスＫが提供する仮想通貨とは異なる種別の仮想通貨を提供する。いずれのサービスＫ，Ｔも、それぞれのサービスＫ，Ｔに対応する仮想通貨管理プログラムをインストールした、複数の端末（プレイヤー）同士が互いに通信を行うＰ２Ｐの構成となっている。そして、図１の例では、サービスＫでは、サービスＫにおける仮想通貨の取引処理の内容を示す取引情報（トランザクション）の真正性を保証するためのマイナー（採掘者）Ｋ１〜Ｋ３がある。また、サービスＴでは、サービスＴにおけるトランザクションの真正性を保証するためのマイナーＴ１，Ｔ２がある。
【００２０】
ここで、本実施の形態では、図２の矢印Ｙ１に示すように、サービスＫのブロックチェーンＢ（Ｋ）と、サービスＴのブロックチェーンＢ（Ｔ）とを統合し、サービスＫとサービスＴとの取引履歴を継承した新たなブロックチェーンＢ（Ｋ＋Ｔ）を結合する。言い換えると、二つのサービスＫ，ＴのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を結合し、新たなサービス（Ｋ＋Ｔ）を構築する。
【００２１】
この結果、サービス（Ｋ＋Ｔ）では、真正性を保証するためのマイナーの数が、マイナーＫ１〜Ｋ３，Ｔ１，Ｔ２に増える。したがって、サービス（Ｋ＋Ｔ）では、真正性を保証するためにマイナーＫ１〜Ｋ３，Ｔ１，Ｔ２が実行する計算量も増加するため、真正性の保証度が高まる。これは、二つのサービスＫ，Ｔを合わせることで、情報の真正性を保証する、より大きな計算量を供給可能となるためである（図２の枠Ｃ１参照）。
【００２２】
このように、実施の形態では、ブロックチェーンを応用する２つのサービスＫ，Ｔがあった場合、サービスＫ，ＴのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を統合し、新たなブロックチェーンＢ（Ｋ＋Ｔ）を生成する。サービスＫ，Ｔでマイナーの集団Ｍ（Ｓ），Ｍ（Ｔ）があった場合には、このブロックチェーンＢ（Ｋ）及びＢ（Ｔ）統合によって、マイナーの集団として（Ｍ（Ｓ）∪Ｍ（Ｔ））を想定することができる。この結果、マイナーの数が増えるため、真正性を保証するためにマイナーが実行する計算量も増加し、真正性の保証度を高めることができる。
【００２３】
［仮想通貨管理システムの構成］
次に、実施の形態に係る仮想通貨管理システムの構成について説明する。図３は、本発明の実施の形態に係る仮想通貨管理システムの構成の一例を模式的に示す図である。
【００２４】
図３に示すように、仮想通貨管理システム１は、複数のクライアント端末装置同士が互いに通信を行う、Ｐ２Ｐ（Peer  to  Peer）型の構成を有する。この仮想通貨管理システム１は、この仮想通貨を利用する複数の端末（マイナー１０Ｋ，１０Ｔ、ユーザ２０Ｋ，２０Ｔ）が、インターネットや専用線等のネットワーク３０に接続された構成を有する。
【００２５】
マイナー１０Ｋ，１０Ｔ及びユーザ２０Ｋ，２０Ｔは、本仮想通貨管理システム１の仮想通貨管理プログラムをインストールした端末装置である。例えば、マイナー１０Ｋ，１０Ｔ及びユーザ２０Ｋ，２０Ｔは、携帯電話、スマートフォン、ＰＣ（Personal  Computer）、ＰＤＡ（Personal  Digital  Assistants）等である。
【００２６】
また、マイナー１０Ｋ，１０Ｔは、仮想通貨を用いて取引を行うとともに、仮想通貨に対するトランザクションの検証や承認を行う端末である。ユーザ２０Ｋ，２０Ｔは、仮想通貨を用いて取引を行う端末である。そして、マイナー１０Ｋ及びユーザ２０Ｋは、前述のサービスＫを利用する端末である。一方、マイナー１０Ｔ及びユーザ２０Ｔは、前述のサービスＴを利用する端末である。実施の形態では、仮想通貨管理システム１が、サービスＫとサービスＴとを統合する場合を例に、仮想通貨を管理する方法を説明する。
【００２７】
［仮想通貨の概要］
ここで、仮想通貨管理システム１によって提供される仮想通貨の概要について説明する。この仮想通貨は、既存のビットコインの仕組みと類似した暗号通貨システム（オルトコイン）によって提供されるＰ２Ｐデジタル通貨である。仮想通貨は、公開鍵暗号式と、ハッシュ関数とを使用したデジタル署名によって取引情報の完全性が担保されている。また、仮想通貨の取引に関数する情報や履歴は、ブロックチェーンとして、仮想通貨管理システム１全体で分散して管理されている。
【００２８】
サービスＫとサービスＴとの統合前には、マイナー１０Ｋ及びユーザ２０Ｋは、サービスＫで提供される仮想通貨を利用しており、ブロックチェーンＢ（Ｋ）を記憶する。マイナー１０Ｔ及びユーザ２０Ｔは、サービスＴで提供される仮想通貨を利用しており、ブロックチェーンＢ（Ｔ）を記憶する。サービスＫとサービスＴとの統合後には、マイナー１０Ｋ，１０Ｔ及びユーザ２０Ｋ，２０Ｔは、統合後のサービス（Ｋ＋Ｔ）で提供される仮想通貨を利用し、ブロックチェーンＢ（Ｋ＋Ｔ）を記憶する。
【００２９】
マイナー１０Ｋ，１０Ｔは、仮想通貨を取引するためのウォレット機能と、仮想通貨の真正性の検証及び取引を承認するためのマイニング機能とを実行させるプログラムをインストールしている。ユーザ２０Ｋ，２０Ｔは、ウォレット機能を実行させるプログラムをインストールしている。
【００３０】
マイナー１０Ｋ，１０Ｔ及びユーザ２０Ｋ，２０Ｔは、ウォレット機能を実行させるプログラムをインストールすることによって、口座アドレスがそれぞれ振り分けられ、仮想通貨を購入、取引することができる。暗号技術を用いて行われた仮想通貨の取引情報（トランザクション）は、ブロックチェーンによって管理される。マイナー１０Ｋ，１０Ｔは、トランザクションの真正性を検証し、正当なトランザクションを承認した場合、承認済みのトランザクションから構成されるブロックを生成して、ブロックチェーンの末尾に繋ぐ。そこで、マイナー１０Ｋ，１０Ｔの装置構成について説明する。
【００３１】
［マイナーの構成］
図４は、図３に示すマイナー１０Ｋの構成の一例を示すブロック図である。なお、マイナー１０Ｔは、マイナー１０Ｋと同様の機能構成である。以降、マイナー１０Ｋ，１０Ｔを区別なく表記する際は、マイナー１０と表記する。図４に示すように、マイナー１０Ｋは、通信部１１、記憶部１２、制御部１３、入力部１４及び出力部１５を有する。
【００３２】
通信部１１は、ネットワーク３０を介して接続された他のマイナー１０Ｋ，１０Ｔ及びユーザ２０Ｋ，２０Ｔとの間で、各種情報を送受信する通信インタフェースである。仮想通貨の取引があった場合には、通信部１１は、制御部１３の制御の基、トランザクションを同じサービスを利用する他のマイナー及びユーザにブロードキャストで送信する。
【００３３】
記憶部１２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、マイナー１０Ｋを動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部１２は、ブロック情報記憶部１２１、公開鍵記憶部１２２及び口座情報記憶部１２３を記憶する。
【００３４】
ブロック情報記憶部１２１は、このマイナー１０Ｋが利用するサービスＫ（所定のサービス）のブロックチェーンを記憶する。このブロックチェーンについて、サービスＫにおけるブロックチェーンＢ（Ｋ）を例に説明する。図５は、ブロックチェーンＢ（Ｋ）の構成の一例を説明する図である。
【００３５】
図５に示すように、ブロックチェーンＢ（Ｋ）は、例えばブロックＢ０〜Ｂ３が時系列に繋がった構成である。ブロックＢ０は先頭のブロックであり、ブロックＢ１〜Ｂ３は、それぞれが、サービスＫで提供される仮想通貨に関する取引情報を示す取引単位である。例えば、ブロックＢ２では、領域Ｒａには、一つ前のブロックＢ１のハッシュ（Ｈ（Ｂ１））が含まれ、領域Ｒｂには、暗号技術を用いて行われた複数のトランザクション（Transactions）が含まれ、領域Ｒｃには、Nonceが含まれる。
【００３６】
ここで、ハッシュは、ハッシュ関数を実行することによって任意のデータを一定の短い長さの値に変換したものである。また、Nonceは、次のブロックＢ３のハッシュ（Ｈ（Ｂ２））が、設定されたある条件を満たす値にするようなキーであり、一定の長さである任意の値である。例えば、Nonceは、ブロックＢ３に使うハッシュを「０が一定数連続する値」とするようなキーである。
【００３７】
なお、マイナー１０Ｋは、このブロックＢ２のハッシュ値と、真正性を保証すべきトランザクションとから、次のブロックＢ３に使うハッシュ（Ｈ（Ｂ２））を生成するようなＮonceを、総当たりで探索する計算処理（採掘：マイニング）を行う。また、ブロック情報記憶部１２１は、サービスＫとサービスＴとの統合前は、ブロックチェーンＢ（Ｋ）を記憶し、サービスＫとサービスＴとの統合後は、ブロックチェーンＢ（Ｋ＋Ｔ）を記憶する。マイナー１０Ｋは、ブロックチェーンＢ（Ｋ）の全体を記憶していることが望ましい。
【００３８】
図４に戻り、公開鍵記憶部１２２について説明する。公開鍵記憶部１２２は、サービスを利用する全マイナー及び全ユーザの口座アドレスと公開鍵とを対応付けて記憶する。口座情報記憶部１２３は、マイナー１０Ｋを利用する操作者の秘密鍵が記憶されている。秘密鍵は、送金の際に使用する暗証番号として機能する。
【００３９】
制御部１３は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部１３は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。制御部１３は、ウォレット部１３１、マイニング部１３２及び結合部１３３を有する。
【００４０】
ウォレット部１３１は、マイナー１０Ｋの操作者の処理によって、仮想通貨の購入、或いは、仮想通貨の送金を受付けると、この取引に関するトランザクションを作成し、ネットワーク３０へ配信する。配信したトランザクションが、他のマイナーのマイニングによって承認され、ブロックチェーンに繋がれると、取引が決済される。
【００４１】
マイニング部１３２は、他のマイナー或いはユーザから送信されたトランザクションの、真正性を検証し、他のマイナーから承認されると、発掘されたブロックにまとめて、ブロックチェーンに記録させる。マイニング部１３２は、マイニングと呼ばれる計算処理を行う。マイニングは、ブロックチェーンの末尾のブロックのハッシュ値と、真正性を保証すべきトランザクションとから、次のブロックに使うハッシュを生成するようなＮonceを、総当たりで探索する計算処理である。マイニング部１３２は、新規ブロックに適合する正しいNonceを見つけた場合、ブロックを作成し、作成したブロックをブロックチェーンの末尾に繋ぐ。言い換えると、正しいNonceを見つけたマイナーが、ブロックを作成し、ブロックチェーンに、作成したブロックを繋げる権利を獲得できる。
【００４２】
結合部１３３は、サービスＫのブロックチェーンＢ（Ｋ）と、サービスＫとは異なるサービスＴのブロックチェーンＢ（Ｔ）とを結合する結合処理を行う。言い換えると、結合部１３３は、ブロックチェーンＢ（Ｋ）とブロックチェーンＢ（Ｔ）とを統合し、サービスＫとサービスＴとの取引履歴を継承した新たなブロックチェーンＢ（Ｋ＋Ｔ）を結合する。この結果、仮想通貨管理システム１は、サービスＫと、サービスＴとを融合し、新たなサービス（Ｋ＋Ｔ）を構築することが可能になる。この結合部１３３は、タイミング制御部１３３１、結合処理部１３３２及び判断部１３３３を有する。
【００４３】
タイミング制御部１３３１は、所定のルールに従ったタイミングで、結合処理の開始を制御する。図１の例では、タイミング制御部１３３１は、所定のルールに従ったタイミングで、ブロックチェーンＢ（Ｋ）とブロックチェーンＢ（Ｔ）とを結合する結合処理の開始を制御する。
【００４４】
結合処理部１３３２は、所定のサービスと異なる他のサービスで提供される分散型の仮想通貨に関するブロックチェーンを取得する。続いて、結合処理部１３３２は、取得した他のサービスに対応する取引履歴と、ブロック情報記憶部１２１に記憶するブロックチェーンとを結合する。言い換えると、結合処理部１３３２は、サービスＴのブロックチェーンＢ（Ｔ）を取得する。続いて、結合処理部１３３２は、取得したサービスＴのブロックチェーンＢ（Ｔ）と、ブロック情報記憶部１２１に記憶するサービスＫのブロックチェーンＢ（Ｋ）とを結合し、サービスＫとサービスＴとの取引履歴を継承した新たなブロックチェーンＢ（Ｋ＋Ｔ）を結合する。
【００４５】
この場合、結合処理部１３３２は、結合対象の各取引履歴のそれぞれ最後のブロックから、暗号学的ハッシュ関数を用いてハッシュを生成し、結合後の取引履歴の最初のハッシュとする。そして、結合処理部１３３２は、通信部１１を介して、結合後のブロックチェーンＢ（Ｋ＋Ｔ）を、サービスＫ，Ｔを利用する他のマイナー及びユーザにブロードキャストで送信する。
【００４６】
なお、マイナー１０Ｔの場合には、結合処理部１３３２は、他方のサービスＫのブロックチェーンＢ（Ｋ）を取得し、結合処理部１３３２は、取得したサービス（Ｋ）のブロックチェーンＢ（Ｋ）と、記憶するサービスＴのブロックチェーンＢ（Ｔ）とを結合して、新たなブロックチェーンＢ（Ｋ＋Ｔ）を結合する。
【００４７】
判断部１３３３は、通信部１１を介して、サービスＫ，Ｔを利用する他のマイナー及びユーザがそれぞれ結合したブロックチェーンＢ（Ｋ＋Ｔ）を受信する。そして、判断部１３３３は、所定のルールに従って、受信した各ブロックチェーンＢ（Ｋ＋Ｔ）のうち、結合後のブロックチェーンとして採用するブロックチェーンを判断する。続いて、判断部１３３３は、結合後のブロックチェーンとして採用されたブロックチェーンＢ（Ｋ＋Ｔ）をブロック情報記憶部１２１に記憶する。
【００４８】
入力部１４は、マイナー１０Ｋの操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部１４は、ボタン、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。出力部１５は、例えば、液晶ディスプレイやプリンタ等であって、仮想通貨の管理に関する各種情報を出力する。
【００４９】
［ユーザの構成］
次に、ユーザ２０Ｋ，２０Ｔの装置構成について説明する。図６は、図３に示すユーザ２０Ｋの構成の一例を示すブロック図である。なお、ユーザ２０Ｔは、ユーザ２０Ｋと同様の機能構成である。以降、ユーザ２０Ｋ，２０Ｔを区別なく表記する際は、ユーザ２０と表記する。図６に示すように、ユーザ２０Ｋは、通信部２１、記憶部２２、制御部２３、入力部２４及び出力部２５を有する。
【００５０】
通信部２１は、通信部１１と同様の機能を有する通信インタフェースである。記憶部２２は、記憶部１２と同様の機能を有し、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部２２は、記憶部１２と同様に、ブロック情報記憶部１２１、公開鍵記憶部１２２及び口座情報記憶部１２３を記憶する。
【００５１】
制御部２３は、制御部１３と同様の機能を有し、ＣＰＵやＭＰＵなどの電子回路である。制御部２３は、制御部１３と比し、マイニング部１３２を削除した構成を有する。
【００５２】
入力部２４は、入力部１４と同様に、ユーザ２０Ｋの操作者からの各種操作を受け付ける入力インタフェースである。そして、出力部２５は、例えば、液晶ディスプレイやプリンタ等であって、仮想通貨の管理に関する各種情報を出力する。
【００５３】
［結合処理における前提］
次に、サービスＴと、サービスＫのブロックチェーンとを結合する場合の前提について説明する。
【００５４】
本実施の形態では、これまで説明したように、前提として、Ｐ２Ｐ型で運用されるブロックチェーンを利用した二つのサービスＫ，Ｔがあるとする。サービスＫ，Ｔによって生成されるブロックチェーンを、それぞれＢ（Ｋ），Ｂ（Ｔ）とするとともに、サービスＫ，Ｔに関連するプレイヤーの集合をそれぞれＰ（Ｋ），Ｐ（Ｔ）とする。プレイヤーには、前述のマイナー及びユーザが含まれる。また、サービスＫのマイナーの集合をＭ（Ｓ）とし、サービスＴのマイナーの集合をＭ（Ｔ）とすると、各サービスＫ，Ｔのマイナーは、各サービスＫ，Ｔのプレイヤーの一部であるから、Ｍ（Ｋ）⊂Ｐ（Ｋ）、Ｍ（Ｔ）⊂Ｐ（Ｔ）となる。
【００５５】
実施の形態では、これらのサービスＫ及びサービスＴを融合したサービス（Ｋ＋Ｔ）を創出及び運用するために、二つのブロックチェーンＢ（Ｋ）とブロックチェーンＢ（Ｔ）とを結合したブロックチェーンＢ（Ｋ＋Ｔ）を生成する。ここで、このブロックチェーンの結合処理は、運用中のサービスＫ，Ｔ間で行われるため、この結合処理を実施するためには、最初に、予め、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）との間で、次に示す内容を合意する。
【００５６】
まず、第一に、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、二つのサービスＫ，Ｔを統合すること、すなわち、二つのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を結合すること自体を合意する。第二に、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアの実装と配布とについて合意する。
【００５７】
そして、第三に、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、結合の処理に関する技術的仕様について合意する。具体的には、ブロックチェーンの結節点の技術的仕様である。また、第四に、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、結合後のブロックチェーンの技術的仕様について合意する。具体的には、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、結合後のブロックチェーンのための最初のハッシュの生成に使用するハッシュ関数等について合意する。
【００５８】
さらに、第五に、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、結合のタイミングについて合意する。そして、第六に、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）とは、結合後のブロックチェーンの「正しさ」を判断するルールを合意する。
【００５９】
［結合処理の概要］
第一から第六の合意事項のうち第一の合意事項である「二つのブロックチェーン（サービス）を結合すること」は、本実施の形態における結合処理を実施する前提であり、プレイヤーＰ（Ｋ）とプレイヤーＰ（Ｔ）との間で合意がなされているものとして以下の説明を行なう。そして、第二の合意事項である「合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアの実装と配布」は、以下で述べる技術的仕様の方法を決定し、それに従ったソフトウェアが実装及び配布されるものとする。
【００６０】
本実施の形態では、第三の合意事項である「結合の処理に関する技術的仕様」に従ってブロックチェーンの結節点を生成することによって、第四の合意事項である「結合後の部六チェーンの技術的仕様」に適合するブロックチェーンの生成を可能とする。そこで、具体的に、結合処理において生成するブロックチェーンの結節点の生成について説明する。
【００６１】
図７及び図８は、結合部１３３による結合処理を説明するための図である。結合部１３３は、図７に示すように、結合対象の、サービスＫのブロックチェーンＢ（Ｋ）とサービスＴのブロックチェーンＢ（Ｔ）とを取得する。サービスＫのブロックチェーンＢ（Ｋ）は、前述したように、先頭のブロックＢ０から、ブロックＢ１〜Ｂ（ｍ＋１）が時系列に繋がれている。また、サービスＴのブロックチェーンＢ（Ｔ）は、先頭のブロックＢ０´から、ブロックＢ１´〜Ｂ（ｎ＋１）´が時系列に繋がれている。
【００６２】
結合処理部１３３２は、サービスＫのブロックチェーンＢ（Ｋ）の最後のブロックＢ（ｍ＋１）と、サービスＴのブロックチェーンＢ（Ｔ）の最後のブロックＢ（ｎ＋１）´との２つのブロックから、「決められたルール」に従い、新しいハッシュＨｃ（Ｈ（Ｂｍ＋ｎ＋１））を生成する（図７の（１）及び図８参照）。
【００６３】
そして、結合処理部１３３２は、このハッシュＨｃを、結合後のブロックチェーンの最初のハッシュとして設定する。言い換えると、２つのサービスのマイナー１０及びユーザ２０は、それぞれ、ブロックチェーンＢ（Ｋ）の最後のブロックＢ（ｍ＋１）とブロックチェーンＢ（Ｔ）の最後のブロックＢ（ｎ＋１）´とから、新しいハッシュＨｃ（Ｈ（Ｂｍ＋ｎ＋１））を生成する（図７の矢印Ｙ１１参照）。このハッシュＨｃが、２つのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）の結節点となる。
【００６４】
そして、２つのサービスのマイナー１０及びユーザ２０は、新たに生成されたハッシュＨｃを用いて、ブロックチェーンを再開する（図７の（２）参照）。具体的には、マイナー１０及びユーザ２０は、図７の矢印Ｙ１２のように、トランザクション（Transactions）とNonceとに加え、新しいハッシュＨｃを含めたブロック（Ｂ（ｍ＋ｎ＋１））を、ブロックチェーンＢ（Ｋ），Ｂ（Ｔ）の結節点に繋げる。このブロック（Ｂ（ｍ＋ｎ＋１））は、サービス（Ｋ＋Ｔ）のマイナー１０のうち、マイニングに成功したマイナーが生成する。
【００６５】
続いて、このブロック（Ｂ（ｍ＋ｎ＋１））のハッシュＨｃの値及びトランザクションから、次のブロック（Ｂ（ｍ＋ｎ＋２））に適合する正しいNonceを見つけたマイナー１０が、ブロック（Ｂ（ｍ＋ｎ＋２））を作成する。そして、マイナー１０及びユーザ２０は、このブロック（Ｂ（ｍ＋ｎ＋２））をブロック（Ｂ（ｍ＋ｎ＋１））に繋ぐ。
【００６６】
図８に示すように、２つのサービスのマイナー１０及びユーザ２０は、それぞれ新しいハッシュＨｃ（Ｈ（Ｂｍ＋ｎ＋１））を生成し、ブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を、生成したハッシュＨｃで結節している。ここで、この結合後のブロックチェーンＢ（Ｋ＋Ｔ）のための最初のハッシュＨｃを生成する生成ルールは、さまざまな手法を選択することができる。
【００６７】
例えば、結合処理部１３３２は、２つのブロックＢ（ｍ＋１），Ｂ（ｎ＋１）´全体の連結値から、暗号学的ハッシュ関数を用いてハッシュを生成する手法を選択してもよい。暗号学的ハッシュ関数として、例えば、ＳＨＡ−２５６を使用する。
【００６８】
また、結合処理部１３３２は、２つのブロックＢ（ｍ＋１），Ｂ（ｎ＋１）´の値が同じ大きさである場合は、それらの排他的論理和を生成し、その排他的論理和に対して暗号学的ハッシュ関数でハッシュを生成する手法を選択してもよい。
【００６９】
そして、第五の合意事項である「結合のタイミング」は、Ｐ２Ｐの分散環境を前提とした場合（実運用上問題のない範囲で）最終的に一意に決めることができるという条件を満たすことができれば、様々な手法を選択することが可能である。そして、第六の結合事項である「結合後のブロックチェーンの「正しさ」を判断するルール」も同様に、Ｐ２Ｐの分散環境を前提とした場合（実運用上問題のない範囲で）最終的に一意に決めることができるという条件を満たせれば、様々な手法を選択することが可能である。
【００７０】
例えば、ルール例１について説明する。これは、プレイヤーＰ（Ｋ）及びプレイヤーＰ（Ｔ）の各ノードが、誤差が運用上無視できる程度に十分同期され信頼できる時計を保持していることを前提にしてよい場合である。この場合、タイミング制御部１３３１は、予め取り決めた一定時間、各サービスでのブロック生成を停止し、その時点のブロックチェーンを結合処理部１３３２が結合する、という方法で「結合のタイミング」を計ることができる。
【００７１】
続いて、ルール例２について説明する。図９は、結合のタイミングの一例を説明するための図である。例えば、どの時期に何番目のブロックが生成されるかが予測できる場合に、ルール例２が適用できる。この場合、判断部１３３３が使用する「結合後のブロックチェーンの正しさを決定するルール」と併せて、結合部１３３は、次のような優先度により定義されたルールを設定し、以下の第１〜第４のルールに沿ったタイミングで結合処理を実行する。
【００７２】
まず、タイミング制御部１３３１は、予め、結合するタイミングの指標として、サービスＫとサービスＴに対し、ブロック長Ｍとブロック長Ｎを指定する（第１のルール）。
結合処理部１３３２は、サービスＫの部分のブロック長が、ｍ≧Ｍとなるブロックチェーンのなかで、最短のものを選択する。理想的には、ｍ＝Ｍを選択する（図９参照）（第２のルール）。そして、結合処理部１３３２は、上記第１及び第２のルールを満たす中から、サービスＴの部分のブロック長が、ｎ≧Ｎとなるブロックチェーンのなかで、最短のものを選択する。理想的には、ｎ＝Ｎを選択する（図９参照）（第３のルール）。上記第１〜第３のルールを満たす中から、判断部１３３３は、結合後のブロック長ｌ（図９参照）が最長のものを、結合後のブロックチェーンとして選択する（第４のルール）。
【００７３】
上記第１〜第４のルールを、予めプレイヤーＰ(Ｋ)∪Ｐ（Ｔ）のノードにアナウンスすることで、理想的には、結合部１３３において、ブロックチェーンＢ（Ｋ）の長さがＭのブロックと、ブロックチェーンＢ（Ｔ）の長さがＮのブロックとが結合される。言い換えると、結合部１３３は、Ｂ（Ｋ）の長さがＭのブロックの最後のブロックと、Ｂ（Ｔ）の長さがＮのブロックの最後のブロックとから、暗号学的ハッシュ関数を用いてハッシュＨｃを生成し、ブロックチェーンの結節点とする。そして、結合後のブロックは、より長いブロックチェーンが正しいとして、プレイヤーＰ(Ｋ)∪Ｐ（Ｔ）の判断部１３３３に承認され、結合後のブロックチェーンとして採用される。
【００７４】
なお、分散環境下では、理論的には、前述のような理想的な形状のブロックチェーンが形成されることは保証されない。ただし、実運用においては、多数のノードは、予め指定されたブロック長Ｍ，Ｎを認識していることを前提とすることができる。このため、このブロック長を超えても結合処理を実施せずに従来のブロックを延長すると、このブロック内の情報は承認されず、また、マイニングの処理も無駄になる可能性が高いことを、多数のノードは認識している。したがって、プレイヤー全体で見れば、二つのブロックチェーンは、あらかじめ指定されたブロック長Ｍ，Ｎのブロックが結合されたブロックチェーンが形成される可能性が高いと想定される。
【００７５】
［結合処理の流れ］
続いて、図１０を参照して、結合部１３３の処理について説明する。図１０は、図４及び図６に示す結合部１３３の結合処理の処理手順を示すフローチャートである。
【００７６】
まず、結合部１３３は、サービスＫとサービスＴとのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）に対する結合指示を、通信部１１，２１を介して受信する（ステップＳ１）。この結合指示は、仮想通貨管理システム１において、サービスＫとサービスＴとの管理を行う装置から送信される。そして、結合部１３３は、受信した結合指示について同意し（ステップＳ２）、同意する旨を管理装置に送信する。これによって、結合部１３３は、合意事項に従った結合処理および結合後のブロックチェーンを運用するためのソフトウェアを受け取り、装置に実装する（ステップＳ３）。
【００７７】
続いて、結合部１３３は、ソフトウェアの実行によって、結合対象のブロックチェーンを取得する（ステップＳ４）。例えば、マイナー１０Ｋ或いはユーザ２０Ｋである場合、結合部１３３は、ブロック情報記憶部１２１から、自身が利用するサービスＫのブロックチェーンＢ（Ｋ）を読み出すとともに、ネットワーク３０を介して、サービスＴのブロックチェーンＢ（Ｔ）を取得する。また、マイナー１０Ｔ或いはユーザ２０Ｔである場合、結合部１３３は、ブロック情報記憶部１２１から、自身の装置が利用するサービスＴのブロックチェーンＢ（Ｔ）を読み出すとともに、サービスＫのブロックチェーンＢ（Ｋ）を取得する。
【００７８】
そして、タイミング制御部１３３１は、所定のルールに従ったタイミングで、結合の開始を制御する（ステップＳ５）。結合処理部１３３２は、タイミング制御部１３３１が制御したタイミングに従って、結合対象のブロックチェーンを結合する結合処理を行う（ステップＳ６）。この処理では、結合処理部１３３２は、結合対象の各ブロックチェーンＢ（Ｋ），Ｂ（Ｔ）のそれぞれ最後のブロックＢｍ，Ｂｎ´から、暗号学的ハッシュ関数を用いてハッシュＨｃを生成し、このハッシュＨｃを、結合後の取引履歴の最初のハッシュとする。
【００７９】
そして、判断部１３３３は、結合後のブロックチェーンの採用を判断する（ステップＳ７）。具体的には、まず、判断部１３３３は、自身の装置が結合したブロックチェーンＢ（Ｋ＋Ｔ）を、サービスＫ，Ｔの全プレイヤーに、ネットワーク３０を介してブロードキャストで配信する。これとともに、他のサービスＫ，Ｔを利用する他のマイナー及びユーザがそれぞれ結合したブロックチェーンＢ（Ｋ＋Ｔ）を受信する。そして、サービスＫ，Ｔの全プレイヤーは、「結合後のブロックチェーンの「正しさ」を判断するルール」に従って、各ブロックチェーンの「正しさ」を判断する。そして、サービスＫ，Ｔの全プレイヤーは、最も「正しい」と判断されたブロックチェーンＢ（Ｋ＋Ｔ）を、結合後のブロックチェーンとして採用することを決定する。
【００８０】
この結果に応じて、判断部１３３３は、結合後のブロックチェーンとして採用されたブロックチェーンＢ（Ｋ＋Ｔ）をブロック情報記憶部１２１に記憶する（ステップＳ８）。これによって、サービスＫ，Ｔの全プレイヤーは、結合後のブロックチェーンとして採用されたブロックチェーンＢ（Ｋ＋Ｔ）を保持することになる。したがって、サービスＫ，Ｔの、サービス（Ｋ＋Ｔ）への統合が終了し、以降のマイナー１０Ｋ，１０Ｔ及びユーザ２０Ｋ，２０Ｔによるトランザクションは、マイナー１０Ｋ，１０Ｔによってマイニングされる。
【００８１】
［実施の形態の効果］
上記のように、実施の形態では、ブロックチェーンを利用するサービスＫ，ＴのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を結合し、新たなブロックチェーンＢ（Ｋ＋Ｔ）を生成する。このように、ブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を結合した結果、サービス（Ｋ＋Ｔ）のマイナーの数は、サービスＫ，Ｔにおけるマイナーの集団Ｍ（Ｓ），Ｍ（Ｔ）の合計数となる。したがって、実施の形態によれば、ブロックチェーンＢ（Ｋ），Ｂ（Ｔ）を結合することによって、マイナーの数を増やすことができるため、真正性を保証するためにマイナーが実行する計算量も増加し、真正性の保証度を高めることができる。
【００８２】
［実施の形態の変形例１］
なお、本実施の形態では、連続して、ブロックチェーンの結合を行うことも可能である。図１１は、本実施の形態の変形例１を説明する図である。
【００８３】
図１１に示すように、例えば、サービスＫ，ＴのブロックチェーンＢ（Ｋ），Ｂ（Ｔ）をハッシュＨｃで結節（矢印Ｙ２１参照）することで、結合後のブロックチェーンＢ（Ｋ＋Ｔ）を生成する。そして、この後に、さらに別のサービスＵのブロックチェーンＢ（Ｕ）を結合してもよい（矢印Ｙ２２参照）。結合処理部１３３２は、この場合も、結合対象の各ブロックチェーンＢ（Ｋ＋Ｔ），Ｂ（Ｕ）のそれぞれ最後のブロックＢ（ｍ＋ｎ＋ｋ＋１），Ｂ（ｊ＋１）″から、暗号学的ハッシュ関数を用いてハッシュＨｃ´を生成する。
【００８４】
そして、結合処理部１３３２は、このハッシュＨｃ´を、結合後のブロックチェーンＢ（Ｋ＋Ｔ＋Ｕ）の最初のハッシュとし、ブロックチェーンを再開する。具体的には、マイニングに成功したマイナーは、結合後のブロックチェーンＢ（Ｋ＋Ｔ＋Ｕ）に対する最初のブロック（Ｂ（ｍ＋ｎ＋ｋ＋ｊ＋１））を作成して（セルＣ２参照）、ハッシュＨｃ´を介して繋いでいく。このように、本実施の形態では、連続して、ブロックチェーンの結合を行うことも可能である。
【００８５】
［実施の形態の変形例２］
また、本実施の形態では、３つのブロックチェーンを結合することも可能である。図１２及び図１３は、本実施の形態の変形例２を説明する図である。
【００８６】
図１２に示すように、例えば、サービスＫ，Ｔ，ＵのブロックチェーンＢ（Ｋ），Ｂ（Ｔ），Ｂ（Ｕ）をハッシュＨｃ″で結節（矢印Ｙ３１参照）することで、３つのブロックチェーンを、ブロックチェーンＢ（Ｋ＋Ｔ＋Ｕ）´に結合することもできる。
【００８７】
この場合も、結合処理部１３３２は、図１３に示すように、結合対象の各ブロックチェーンＢ（Ｋ），Ｂ（Ｔ），Ｂ（Ｕ）のそれぞれ最後のブロックＢ（ｍ＋１），Ｂ（ｎ＋１）´，Ｂ（ｊ＋１）″から、暗号学的ハッシュ関数（例えば、ＳＨＡ−２５６）を用いてハッシュＨｃ″を生成すればよい。なお、ＳＨＡ−２５６は、最長で２の６４乗ビットまでの任意長の原文からハッシュ値を算出できるため、３つのブロックチェーンのそれぞれの最後のブロックを連結したデータから、ひとつのハッシュ（ここではＨｃ″）を生成することは可能である。
【００８８】
そして、結合処理部１３３２は、このハッシュＨｃ″を、結合後のブロックチェーンＢ（Ｋ＋Ｔ＋Ｕ）´の最初のハッシュとし、ブロックチェーンを再開する。具体的には、マイニングに成功したマイナーは、結合後のブロックチェーンＢ（Ｋ＋Ｔ＋Ｕ）´に対する最初のブロック（Ｂ（ｍ＋ｎ＋ｊ＋１））を作成して、ハッシュＨｃ″を介して繋いでいく。このように、本実施の形態では、３つのブロックチェーンを結合することも可能である。
【００８９】
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９０】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９１】
［プログラム］
図１４は、プログラムが実行されることにより、マイナー１０，ユーザ２０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００９２】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００９３】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、マイナー１０，ユーザ２０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、マイナー１０，ユーザ２０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００９４】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００９５】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００９６】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００９７】
１  仮想通貨管理システム
１０Ｋ，１０Ｔ  マイナー
２０Ｋ，２０Ｔ  ユーザ
３０  ネットワーク
１１，２１  通信部
１２，２２  記憶部
１３，２３  制御部
１４，２４  入力部
１５，２５  出力部
１２１  ブロック情報記憶部
１２２  公開鍵記憶部
１２３  口座情報記憶部
１３１  ウォレット部
１３２  マイニング部
１３３  結合部
１３３１  タイミング制御部
１３３２  結合処理部
１３３３  判断部
【図１】
0006649173.tif 000002
【図２】
0006649173.tif 000003
【図３】
0006649173.tif 000004
【図４】
0006649173.tif 000005
【図５】
0006649173.tif 000006
【図６】
0006649173.tif 000007
【図７】
0006649173.tif 000008
【図８】
0006649173.tif 000009
【図９】
0006649173.tif 000010
【図１０】
0006649173.tif 000011
【図１１】
0006649173.tif 000012
【図１２】
0006649173.tif 000013
【図１３】
0006649173.tif 000014
【図１４】
0006649173.tif 000015