

取引量が増えると何が問題になるのか?
ビットコインが世の中に認知され、世界中で取引されるようになるのは素晴らしいことです・・・たぶん。「たぶん」といいますのは、ビットコインが大勢の人に使われると少々困った問題が出てくるからです。
ビットコインのブロックサイズ問題です。
ここで、ブロックサイズ問題を理解するために、ビットコインの送金方法を簡潔におさらいしましょう。世界中でビットコインの送金希望が出されますが、それはおよそ10分ごとにブロックにまとめられます。そのブロックが承認されれば、送金が完了します。
承認されたブロックは、過去の承認済ブロックにつなげられていきます。これをブロックチェーンといいます(送金の仕組みの詳細は、カテゴリ「送金の仕組み」でご確認ください)。
ビットコインのブロックサイズ問題とは
さて、この「ブロック」が問題です。ブロックという名前がついていますが、ビットコインはデータの塊です。このため、ブロックもデータです。そして、このブロックに収められるデータ量には上限があります。
1MB(1,000KB:キロバイト)です。
では、2011年から2017年3月までのデータを確認しましょう。(https://tradeblock.com/からの引用。以下同じ)。

このグラフは、毎日の送金額とブロックサイズの平均値を表しています。
青線が送金額で、その大きさは左の縦軸で表しています。日ごとに送金額が大きく異なることが分かります。そして、黄色がブロックサイズの平均値です。右肩上がりでほぼ一直線に上昇していることが分かります。すなわち、毎日の送金件数がどんどん増えているのです。
その大きさは右側の縦軸で確認できますが、2017年3月現在(上のグラフの右端)で、平均値は960KBくらいです。上限は1,000KBですから、ほぼ上限に到達しています。
では、ブロックサイズ問題が特に注目されていた時期(2017年3月)のブロックサイズを確認しましょう。下の一覧表はブロックごとの情報がかかれており、一番右(赤枠で囲った部分)がブロックサイズです。

こちらのサイズはKB単位でなくB(バイト)単位で表示されており、999,000Bくらいだと分かります。1,000,000B(=1,000KB)が上限ですから、もう送金余力がないことが分かります。
ブロックサイズが常に上限いっぱいになると、どうなる?
では、ブロックサイズが常にいっぱいになってしまう状況をシミュレーションしてみましょう。すなわち、およそ10分ごとに送金要求がブロックにまとめられるのですが、その要求量が常に1MBを超えてしまう状況です。
すると、こんな例が出てしまうのでは?と懸念されました。
- 送金手数料があまりに小さな送金要求は、いつまでたっても送金されない。
- 10分程度で送金できるはずが、何時間もかかってしまう。
- 送金されない送金要求が積み上がってしまい、予期しないエラーが発生する。
ブロックサイズ問題の懸念が現実に
そして、その懸念は現実になりました。ブロックサイズ問題が最も厳しくなったのは、おそらく2017年12月ごろです。そのころ、以下の状態でした。
- 送金待ち件数が10万件を超えることが珍しくない
- 1回の送金手数料で3,000円~4,000円が必要になる
- 何日待っても送金できない
ビットコインの送金能力は、1秒間に3件くらいです。10万件の送金待ち件数があったということは、新規の送金要請がゼロだと仮定しても、全部送金するのに9時間以上かかるという状態です。
実際には、次から次へと送金要請が出る事態でした。
すると、確実に早く送金したい人は、送金手数料を多く払うようになりました。送金手数料は、送金する人が自由に設定できます。こうして、1回の送金手数料が何千円も必要になりました。
ビットコインの当初の目的である「安価に早く送金できる」は、もはや過去の話になってしまったのです。
そこで、何か対策が必要になりました。
ブロックサイズ問題の解決方法は?
この問題を解決する方法は、複数あるでしょう。
- ビットコインのプログラムを改変して、1ブロックの容量を大きくする。
- 1ブロックの容量を変えずに、1送金あたりに要するデータ量を小さくする(Segwit)。
- ブロックチェーンの枠外で送金できるようにする。
しかし、ここで問題があります。ビットコインは中央管理者がいません。
円だったら、日銀が「来年からお札のデザインを変えます」と公開すれば、円を使う人は全員それに従います。中には旧札がいいんだと主張する人もいるでしょうが、次第に旧札はなくなり、否応なしに新札を使うことになります。
ビットコインの場合、この強制力がありません。かといって、100%全員の同意を取り付けるのは不可能でしょう。そこで、主要なプレーヤーを含む多数派の合意でプログラムを変更することになります。
互換性のないプログラム変更
プログラム変更の際、内容によっては変更前後のビットコイン間で互換性がなくなります。この、同じ仮想通貨でもプログラムの変更前後で互換性がなくなってしまう変更を「ハードフォーク」と呼びます。
ハードフォークというのは聞きなれない名前ですが、仮想通貨の世界では時折みられる現象です。
メジャーなプレーヤー(マイナーなど)と開発者の合意形成がうまくいくかどうかが、ブロックサイズ問題解決のカギを握るでしょう。そして、ビットコインの信頼性を維持することが、関係者全員の利益になります。
過去のハードフォーク
なお、2017年8月、ビットコインはハードフォークしました。結果、Segwit(セグウィット)という機能を実装しました。
この機能を基礎にすれば、ブロックチェーンに記載しなくてもビットコインを送信できるようになります。ライトニングネットワークと呼ばれる機能です。すなわち、1MBの上限問題が緩和されます。
ライトニングネットワークが一般化すれば、ブロックサイズ問題は解決されるかもしれません。期待しましょう。
なお、このSegwit実装に反対するグループもあります。このグループは、Bitcoin Cash(ビットコインキャッシュ)を支持しています。Bitcoin Cashは、Segiwitやライトニングネットワークでなく、ブロックサイズを大きくすることで問題を解決しようとしています。
以上の話を図にしますと、以下の通りになります。ビットコインとビットコインキャッシュは、それぞれの道でブロックサイズ問題を解決しようとしています。

ハードフォークになる場合、私たちのビットコインは大丈夫?
今後、ビットコインに限らず、自分が保有している仮想通貨でハードフォークが実行されると決まったら、私たちはどうすれば良いでしょうか。
このサイトを読んでいただいている皆様は、どこかの取引所でビットコインを取引している(または、する予定)だと思います。このような重要な情報は、取引所各社のホームページで大きく扱われるでしょう。メールでも情報提供されるはずです。
そして、基本的な手続きは全て取引所に任せられると期待したいですが、何か必要な場合は、ビットコインを預けている取引所の指示に従いましょう。
また、デスクトップやスマートフォンなどにウォレットを持っている場合は、そのウォレットを配布しているホームページを確認しましょう。
次の記事で、ハードフォークのメリットとデメリットを確認しましょう。事前に知識を持っておくと、実際にハードフォークになるときに不安を和らげることができます。