全6913文字

 Bitcoin(ビットコイン)のように、いつでも誰でも参加・離脱できることで数学的にトラスト(信頼)を実現できる「パーミッションレス」のブロックチェーンは、根源的にはスケールさせる(処理性能を高める)ことができない。この数学的性質をどの程度の人が知っているだろうか。

パーミッションレスブロックチェーンのスケーラビリティー問題

 処理性能を高めたブロックチェーンは、何らかのセキュリティー問題が生じたり、信頼できる機関が追加で必要になったりする(つまりはパーミッションレスブロックチェーンの良さががなくなる)ことがほとんどだ。世間ではこの点が知られていないまま、ブロックチェーンやWeb 3.0が幅広い用途に使えるとの議論が進んでいないだろうか。本稿では、この点の理解を深めつつ、解決に向けた取り組みと現時点での限界について考察したい。

 まずは基礎として、なぜ(教科書的な)Bitcoinがグローバルに1秒当たり7トランザクション(取引)しか処理できないのか、この点を説明しよう。

 Bitcoinは10分ほどで時間を区切り、その単位でトランザクションをひとまとめにする。このまとめる単位のことを「ブロック」と呼ぶ。Bitcoinの場合は1ブロックのデータサイズは1MB(メガバイト)である。Bitcoinのトランザクションのデータは付随する電子署名データを含めてそのサイズが決まっているので、1MBをそのサイズで割り算をすると、1秒当たり7トランザクションになる。

 1秒当たりのトランザクション数を増やすために、単純に1ブロックのデータサイズを増やせばいいかというと、そうはいかない。パーミッションレスであるBitcoinのブロックチェーンは、地球上のどこにいても、いつでも誰でもネットワークに参加できることが重要である。この場合、参加者はネットワーク性能が悪い場所にいることも想定しなければならない。

 さて、ここで現在のクレジットカードの決済ネットワークが処理するトランザクション数を参考に、1秒当たりのトランザクション数を2000倍にすると考えてみよう。現行のブロック容量である1MBくらいのデータであれば、現在のインターネットでは、悪意あるノードが一定数あったとしても10分間に1MBのデータを同期することはできる。しかし、これが2000倍の2GB(ギガバイト)となると、とてもではないが10分では、世界中のサーバーの間で同期を取ることはできない。

 仮にネットワーク性能が劇的に向上したとしても、1日当たり288GBずつ手元のハードディスクにデータがたまり続けることになる。事実上大金持ちでないとBitcoinのフルノードを運営できなくなり、「非中央集権的に分散する」というお題目に反することになる。

 つまり、今の1MBというブロックサイズは、分散ノードで同期を取りやすくするためにあえて小さくした、絶妙な値と考えることができる。この問題は、同一のデータについて各ノードが合意しながらグローバルに同期する問題として避けることはできない。また数学的な制約であるために、ムーアの法則で半導体チップが指数関数的に性能を上げたのと同じようには、ブロックチェーンの処理性能は上がらない。 

トレードオフの対処方法と、それにより生じるセキュリティー上の問題

 こうしたスケーラビリティーの問題は、遅くとも2014年には広く認識されるようになっていた。ここで、スケーラビリティー問題をBitcoinエンジニアとアカデミアが協力して解決しようと開催されたのがScaling Bitcoinというワークショップのシリーズである(https://scalingbitcoin.org)。筆者が運営委員、プログラム委員長を歴任した。2015年9月のカナダ・モントリオールを皮切りに、香港(2015年12月)、イタリア・ミラノ(2016年10月)、米スタンフォード(2018年11月)、東京(2018年10月、筆者が招致)、イスラエル・テルアビブ(2019年9月)と開かれている。

2018年10月に東京で開催された「Scaling Bitcoin 2018」の様子。慶応義塾大学の村井純教授が基調講演で登壇した
2018年10月に東京で開催された「Scaling Bitcoin 2018」の様子。慶応義塾大学の村井純教授が基調講演で登壇した
(写真:筆者)
[画像のクリックで拡大表示]

 こうした議論を通じ、スケーラビリティー問題の解決に向けた技術開発が主に2つの流れで進むようになった。1つは、ブロックサイズの調整を含むブロックチェーンプロトコルの修正を通じて性能を高める「オンチェーンスケーリング」で、例えばEthereum 2.0の計画に含まれるシャーディングがこれに当たる。もう1つはオフチェーンと呼ばれるブロックチェーン外の処理を組み合わせて性能向上を図る「オフチェーンスケーリング」で、Lightning NetworkやLayer 2がその代表例だ。

スケーラビリティー問題の解決に向けた技術開発
スケーラビリティー問題の解決に向けた技術開発
出所:筆者作成
[画像のクリックで拡大表示]

 以下ではその2つの流れについて、代表的な性能向上の試みの概要と、特にセキュリティー上の課題を含む制約について述べる。