Web教材一覧システムの活用電子マネー

仮想通貨(暗号資産)


暗号資産と仮想通貨

ビットコインのようなインターネット上の通貨は、慣用的に仮想通貨(Virtual Currency)といわれてきましたたが、2018年のG7で、暗号資産(Crypto Asset)と呼称されました。これを受け日本では金融庁が中心となり、呼び方を仮想通貨から暗号資産へ変更することになりました。

しかし、厳密には暗号資産には、通貨以外の資産データなど広義の意味を含んでおり、仮想通貨は暗号資産の1つということができます。それで本章では、「仮想通貨」を用いることにします。


仮想通貨の仕組み

仮想通貨には多くの種類があり、それぞれ独自の仕組みをもっています。ここでは代表的な仮想通貨であるビットコインを例にします。しかし、ビットコインは巨大な複雑なシステムになっていますので、ここでは、基本的なイメージを理解することを目的にかなり単純化しています。そのため、厳密性・正確性に欠ける記述があります。

ビットコインとマイニング

ビットコインの性格

ビットコインは仮想通貨ですから、紙幣やコインは存在しません。ビットコインという名称はありますが、これは1円などの単位を示すもので、物理的な硬貨は存在しません。

ビットコインは、コンピュータのネットワークに存在するアプリケーションシステムです。そのシステムを集中的に管理する組織はありません。開発者すら公式には特定されていません。中核的な開発者と他の協力者のグループによりメンテナンスされ、拡張されています。中核ソフトウェアは、オープンソースソフトウェアとして公開されており、いくつかのシステムが存在します。

しかし、後述のブロックチェーンが正しく一意に維持されることやマイニングのルールなど基本的な規則は守られなければならず、これらの改訂はユーザの合意が必要だとされています。

中央管理組織が存在しないことは無責任で信用できず混乱を招くという意見があります。それに対して、そのような組織がないことが、為政者などの権力による恣意的な通貨管理の危険を防ぐことができる、国際的な民主主義的な方式だという意見があります。。

マイニング(採掘)とマイナー(採掘人)

ビットコインを利用するには、世の中にビットコインが存在していることが前提になります。円のような法定通貨は日銀や政府が発行していますが、ビットコインには発行機関がありません。

ビットコインでは、取引データを第三者がチェックして正当性を承認することになっています。その作業をマイニング(採掘)といい、マイニングする人をマイナー(採掘人)といいます。そして、最初にマイニングに成功したマイナーに、報酬としてビットコインが与えられます。このビットコインが流通しているのです。

誰でもマイナーになれます。採掘の道具(マイニング用のソフトウェア)も多くあるので、採掘によりビットコインを得ることはできるのですが、計算量が膨大で時間的な競争なので素人には困難です。
 そのため、通常の利用者は、最初に取引所(仮想通貨交換業者)で円をビットコインに交換する(ビットコインを買う)か、誰かと取引をしてビットコインで支払ってもらうことによりビットコインを取得します。

トランザクションの構成と暗号化

ウォレット

ビットコインを使うにはウォレット(財布)が必要です。ウォレットもモノではなく、デジタルデータ(ファイル)です。
 ウォレットは、取引所で作ってもらうこともできますが、作成ツールがインターネットで利用できるので自分で作成できます。銀行での口座開設契約やインターネットでのプロバイダとの契約などの契約は不要です。

生成されたウォレットは、多様な保管方法があります。
 ・パソコンやスマートフォンなど
 ・USBメモリなどの記憶機器。ウォレットに特化したハードウェアもあります。
 ・レンタルサーバにも置けますし、取引所などウオレットを保管するプロバイダもあります。

このうち、パソコンやスマートフォンなどインターネットに接続している機器をノードといいます。取引所などでは巨大なコンピュータ群がノードを構成していることもあります。

ウォレットとは財布のことですが、ここにビットコインが入っているのではありません。後述の秘密鍵、共通鍵、ビットコインアドレスが入っています。
 また、ウォレットあるいはノードには、操作や運用を支援する多様な機能や情報をもっています。必須なものもあれば、利用者が選択するもあります。多くのウォレットはビットコイン以外の仮想通貨も使えます。

トランザクション

トランザクションの構成

ビットコインでの取引データをトランザクションといいます。トランザクションには次の項目が含まれます。

秘密鍵・公開鍵・ビットコインアドレス

トランザクションは、公開暗号方式で暗号化され署名が行われます。そのため、送金元、送金先の双方が公開鍵と秘密鍵を持っています。
 まず、ウォレットの持つ乱数発生機能によって、秘密鍵の原型になる乱数が生成され、秘密鍵が生成されます。
 その秘密鍵から楕円曲線を用いたSecp256k1などの暗号化方式により、公開鍵が生成されます。
 公開鍵をSHA256などのハッシュ関数によりハッシュを計算、このハッシュ値がビットコインアドレスになります。
 ビットコインアドレスは、1または3から始まる27~34文字の英数字で、電子メールでのメールアドレス、銀行振込での口座番号に相当します。

署名には送金者の秘密鍵が用いられます。それを解読するには送金者の共通鍵が必要ですが、トランザクションには共通鍵のハッシュ値であるビットコインアドレスしかありません(送信先にすら知らせていないのです)。電子メール以上にセキュリティが強化されています。

「おつり」の意義

「おつり」で示したように、トランザクション送信のたびに、新しい秘密鍵、公開鍵、ビットコインアドレスが自動生成されます。ウォレットに固有なマスターシードという値があり、それを基にして、パターンに則って秘密鍵を生成し、上述の操作によって公開鍵とビットコインアドレスが生成されます。

このように取引のたびに口座番号が変わるのは不便なようですが、ウォレットが自動管理しているので、意識する必要はありません。むしろ、セキュリティ面では多大な効果になります。
 また、以前のものがなくなるのではなく、ウォレットに保管されています。それで他者が以前のビットコインアドレスあてに送金してきても受け取れるのです。

トランザクションの送信

ノード

ウォレットを持ちネットワーク接続されている端末機器をノードといいます。
 各ノードは、ブロックチェーンの全体を持つフルノードと、ブロックヘッダだけをもつ軽量ノード(SPV(simplified payment verification)ノード)があります。最新の状態に更新されます。フルノードでは大きな容量が必要ですし、更新に長時間を要します。軽量ノードは必要に応じて、トランザクションの情報をフルノードから受け取れますが、それにはブルームフィルタというセキュリティ機能を解決するので複雑になります。
そのため、取引所やマイナーのノードはフルノード、一般利用者のパソコンやスマートフォンのノードは軽量ノードにするのが通常です。

トランザクションプール

送信したトランザクションは、直接に送金元に届くのではなく、いったん(未承認の)トランザクションプールに蓄積されます。このトランザクションプールもブロックチェーンと同様に、同じものがいくつかのノードに置かれており、互いに同期がとられています。

電子メールでは、ISP(インターネットサービスプロバイダ)を介して、いくつかのサーバをルーティングして、宛先のISPへ送られます。
 ビットコインではISPに相当するものがありません。各ノードが、ルーティング機能を持ち、インターネットでのルーティングと同じような方法で二つのノード間の経路を決定します。その後は、二つのノード間は、P2P方式(サーバを介さず、双方のノードが対等な方式)で通信が行われます。
 このような仕組みなので、送金者は適当なノードにトランザクションを送信すれば、トランザクションプールを持つノードに届き、すべてのトランザクションプールが同期して累積されるのです。

送信での留意事項

  • 銀行振込と異なり、通常のインターネット通信のように、トランザクションが途中で紛失する危険性が存在します。
  • 間違って他のビットコインアドレスを指定した場合、システムの中では、それを取り消すことはできません。そのときの補償手段もありません。
  • トランザクションは送金先には届きません。取引が成立した時点で、ビットコインアドレスに入金されるので、それを確認することになります。
  • ブロックチェーン

    ここまでに説明なしにブロックチェーンに言及してきました。ここでその概要を示します。
     ブロックチェーンとは、ビットコイン開設以来すべての取引情報を蓄積した取引台帳のようなものです。
     マイナーにより承認されたトランザクションは、ある程度まとめられてブロックになります。ビットコインでは、ビットコイン開設以降の全ブロックがチェーンでつながれており、それをブロックチェーンといいます。新しくできたブロックはブロックチェーンの末尾に結合されます。

    ブロックチェーンでは各ブロックにハッシュ値が計算されており、その値が次のブロックに引き継がれ、そこでのブロックに合わせて新しいハッシュ値が計算されます。このハッシュ値を引き継ぐことでチェーンが成り立っているのです。
     もし、改ざん者がある取引(トランザクション)内容を改ざんしようとしたら、発覚しないように、そのブロックだけでなく後続ブロックのハッシュ値を再計算する必要があり、膨大な作業量になります。これがブロックチェーンの一貫性を担保しています。

    ブロックチェーンは唯一の内容ですが、それを保存・管理する組織はなく、特定のサーバに保管され、特定の組織が管理しているのではありません。多様な場所に同一内容のデータが存在しており、互いに同期がとられています。誰もがブロックチェーン全体を自分のパソコンに取り出すことすらできます。これにより、誰もが取引情報を見る(実社会での取引名称などはわかりませんが)ことができるので、可視性・透明性の担保になります。

    マイニングの方法

    トランザクションプールに登録されただけでは、トランザクションの正当性が承認されていないので、取引は成立していません。マイナーによる正当性の承認が必要です。承認されたトランザクション(複数のトランザクションを持つブロック)が既存のブロックチェーンに結合されたときに取引が成立し、送金先のビットコインアドレスにビットコインが渡されます。

    正当性の内容

    マイニング

    次の手段で「送金者の正当性」「残金の正当性」も確認できるらしいのですが、私は理解できておりません。ご教示いただければ幸甚です。

    ブロックは次のような構成になっています。新しくブロックを作るときは、直前ブロックはブロックチェーンの末尾のブロックになります。続けて後続ブロックを作るときは先に作成した新ブロックが直前ブロックになります。
     nonce(Number used one)とは、マイナーが新しくブロックを追加するために作成する値です。最初は適当な値が入っています。

    この「上位×桁が0」のルールにより、データ改ざんを発見することができます。あるブロックのデータが改ざんされると、そのままではブロック全体のハッシュ値が「上位×桁が0」という条件を満たさないので、以降のブロックを作ることができません。それは直ちに発見されるので、他のブロックチェーンで置き換えられます。
     マイナーが取り込んだトランザクションを改ざんしようとしても、それ自体が暗号化されているし、改ざんデータでのハッシュ値が異なるので発覚してしまいます。
     最初に成功したとされるブロックに異常が発生したときは、そのブロック(X)をブロックチェーンから外します。そして、この時点で正しいブロックに接続できる状態になっているブロック群から最大のブロックを持っているもの(B)をブロックチェーンにつなぎます。

    マイニング競争

    マイナーは最初の成功者になるために、nonce探索の方法を工夫したり、多数のコンピュータを並列処理したりして激しい競争をしています。
    大人数で協力してマイニングを行うプールマイニングやマイニングを行う事業者に投資して成果を分配してもらうクラウドマイニングなどもあります。

    承認時間

    承認にかかる時間は、送金にかかる時間になりますので、短いほうがよいのですが、それはマイナーのマイニング能力に依存します。
    平均10分になるように、難易度(Difficuly、採掘難易度)を調整しています。

    正式承認のための承認数も大きく影響します。承認数1でよければ10分ですみますが、承認数6ならば10×6=60分になります。この承認数は成功後の後続ブロック数ですから、このチェーンが取り消される確率が低く信頼性が高いといえます。
     ビットコインでは6以上を標準にしていますが、取引所を介する場合は、取引所が自分の責任で低く設定していることもあります。


    仮想通貨と法律

    改正資金決済法(仮想通貨法)
    2017年に改正された資金決済法で、仮想通貨の定義や取扱に関する事項が追加されました。その部分を指して「仮想通貨法」といいます。

    仮想通貨の定義

    改正資金決済法では、仮想通貨を1号仮想通貨と2号仮想通貨に区分しています。以降は1号仮想通貨を対象にします。
     1号仮想通貨とは、次の要件をすべて満たしたものです。

    仮想通貨のホワイトリスト
    ホワイトリストとは、仮想通貨交換業者(後述)が取り扱う仮想通貨」のことです。
    仮想通貨の発行に関する規制はありません。誰もが勝手に新しい仮想通貨を発行できるし、そのシステムがどのようなものでも構いません。利用者が信用して価値を認めれば仮想通貨になります。その中には詐欺に利用されるようなもももあります。
    国に責任はないといっても、いかがわしい、あるいは欠陥があるシステムによる仮想通貨が広がるのは困ります。それで金融庁は、約20種類の仮想通貨だけに絞って仮想通貨交換業者が扱えるようにしています(仮想通貨交換業者を通さなければこれ以外の仮想通貨も使えます)。

    仮想通貨交換業者

    いわるる仮想通貨取引所とか仮想通貨代理店と称される事業者です。
     改正資金決済法では、次のように定義しています。

    仮想通貨交換業者は登録制です。登録を行わずに上記事業を行なうと処罰されます。登録制ですが、次のような規制を受けます。

    仮想通貨と税金

    所得税

    消費税

    消費税法の改正によって仮想通貨の消費税は非課税となりました。
    仮想通貨を「モノ」とすれば、購入に消費税がかかりますが、仮想通貨を決済に利用したときにも消費税がかかり二重課税になるのを避けるためです。

    利用者保護に関する規制

    仮想通貨が広く普及するのに伴い、利用者保護が社会的問題になってきました。金融庁もこれに大きな関心を持ち研究をしていますが、未だ具体的な方策には至っていません。
     利用目的が本来の取引決済での通貨としての目的よりも、価格変動を見越した投機目的が多いこと、しかも、株取引のような社会的貢献性が乏しいことから、どこまで保護するのが適切かという議論もあります。
     当面は業界の自主規制や利用者の自己判断に期待する状態のようです。

    利用者保護の観点からは、次のようなリスクがあります。