ビットコインの情報サイトの運営者ブログ

サイトには掲載していない仮想通貨に関する時事的な情報や個人的な感想など。中級者以上向け。

スケーラビリティ問題に関するよくある誤解

最近、ビットコインのスケーラビリティ問題の対策の一つであるSegWitがそろそろ実装されそうだという情報が流れています。そこでスケーラビリティ問題に関するよくある誤解について改めて書いてみたいと思います。

スケーラビリティ問題とは?

そもそもスケーラビリティ問題とは、言い換えればビットコインの取引の最大処理能力の問題です。クレジットカードのVISAの処理能力は平均2,000tps(2,000取引/秒)で最大10,000~50,000ともいわれていますが、ビットコインの現在の処理能力は約7tpsしかありません。そして、すぐにでもこの最大処理能力をオーバーしてしまうだろう、と考えられているため、ビットコインの目下の最重要問題となっています。

この7tpsという処理能力は、ビットコインのブロックに1MBというサイズ制限があるためです。技術的にはサイズ制限を引き上げれば簡単に解決する話ですが、サイズを増やすということはブロックチェーンのサイズの増大につながり、それだけブロックチェーン情報全てを保管するフルノードの負担を増やすことになります。これは、ごく一部の人しかノードになれなくなることを意味するので、分散化という面で大きな問題となり、そう単純には解決しません。また、ハードフォークというビットコインの仕様変更を気軽に行えない問題もあります。

スケーラビリティ問題はコミュニティの分裂だけが問題である

単純には解決しない複雑な問題なので、現在、ビットコインのコミュニティが分裂してしまうという別の問題も発生してしまっています。そのため、コミュニティが合意さえすればスケーラビリティ問題は根本的な解決に向かうだろう、と考える人もいるかもしれません。

しかし、これは卵が先か鶏が先かみたいな話なのですが、むしろ逆であると思います。つまり、「スケーラビリティ問題が根本的に解決しない限り、コミュニティの合意問題は解決しない」ということです。Bitcoin Coreから分裂してしまったBitcoin Classicなどの一派が納得して解散したとしても、それはあくまでも一時的なもので、スケーラビリティ問題が根本的に解決しない限り、また同じような分裂が発生する可能性があるのではないでしょうか。

SegWitが実装されればスケーラビリティ問題は解決する

SegWitとはSegregated Witnessの略で日本語では署名の分離と訳されます。元々は、Mt.Gox事件の際に話題となった「トランザクション展性」という、ビットコインのバグのような仕様への対策技術として考案されたものです。SegWitを導入することにより取引データ自体のサイズが縮小されるのでそれに伴いブロックサイズも小さくなり、スケーラビリティ問題に対する解決法の一つになるともいわれています。

このSegWitの効果で4分の1程度にブロックサイズを圧縮できるという話もありますが、実質的にはせいぜい2分の1程度になるだろうという試算もあります。2分の1ということは処理能力が14tpsになるということです。これは2,000tpsのVISAと比べると到底解決したとは言えない数字です。

Lightning Networkが実装されればブロックサイズは引き上げなくて良い

Lightning Networkは一言でいえば、ビットコインのブロックチェーン外(オフチェーン)で送金・取引を行おうという技術です。多くの取引がブロックチェーン外で行えるようになれば、当然ビットコインの本体のブロックチェーンに含まれる取引量も少なくなり、スケーラビリティ問題に対する対策になるというわけです。

このLightning Networkは今年の夏にも実装されるのではないかという話もあります。この手のはっきりとした時期が示される情報には、大抵裏切られて延期するので、あまり信用はしていませんが、Segwitが予想を超えるスピードで実装されそうなこともあり、案外本当にすぐ導入されるのかもしれません。

取引の大部分がLightning Networkで行われるようになれば、SegWitとは比べ物にならないぐらいの効果があることも考えられますが、それで万事解決かというとそこまでのものではありません。これは、Lightning Networkのホワイトペーパーでも述べられており、全世界の70億人がビットコインを使うようになると仮定すると、Lightning Networkですべての取引が行われたとしても133MBのブロックが必要になると予想されています。

スケーラビリティ問題はビットコインだけの問題である

ビットコインのスケーラビリティ問題が解決されない場合、そういう問題のないイーサリアムに皆移行するだろう、という考えを持っている人もいるかもしれません。この考えは、イーサリアムには固定のブロックサイズ制限がなく、マイナーの投票により柔軟に変動するという仕様から来ていると思われます。しかし、最初に書いたように、スケーラビリティ問題は単純なサイズ引き上げにより解決できるようなものではありません。

実際にイーサリアムの開発チームはこの柔軟なブロックサイズ変更だけでは十分と考えておらず、Lightning Networkのような仕組みなど様々なイーサリアムのスケーラビリティ問題に対する解決策を考えています。

また、今は開発者のVitalik Buterinが強烈な存在感を放っており、彼さえいればコミュニティはまとまると考える人もいれませんが、彼が永遠に開発チームにとどまっている保証もありませんし、将来イーサリアムがスケーラビリティ問題に直面したとき、Vitalikの考えはけしからんということで分裂しようとする一派が出てくる可能性もあると思います。