この記事は、 No Bitcoin-based protocol can handle more than 20M users per month (Rune K. Svendsen’s Blog)を自分用に翻訳したものを 許可を得て 公開するものである。

ソース中にコメントの形で原文を残している。 誤字や誤訳などを見つけたら今すぐ Pull requestだ!


Bitcoinのスケーラビリティー問題を解決するために、たくさんのいわゆる layer 2 プロトコルが提案されました。 それらのプロトコルは同じような、比較的シンプルな方針に従って動作します:

  1. ユーザがBitcoinブロックチェーンよりlayer 2システムへBitcoinをデポジットする
  2. Bitcoinブロックチェーンを介さず、デポジットされたBitcoinを他のユーザ(受取人)に任意の量配分することで、layer 2システム内で取引が進行する
  3. 受取人が受け取ったBitcoinを(Bitcoinブロックチェーンへ)引き出す

ステップ2がブロックチェーンにタッチしないため、ユーザ間のBitcoinの送金のスケーラビリティが増加します。 実際、ブロックチェーンに全くタッチしないなら、処理スピード(秒あたりのトランザクション)は理論上無制限であり、現実的にも制限するのはノード間のレイテンシとバンド幅のみです。

しかしステップ1に問題があります。 ユーザがお金、人間が通常給料として毎月受け取るお金を受け取る時、そのお金をlayer 2システムで利用するためにデポジットする必要があります。 現在のブロックサイズの上限1 メガバイトにおいて、最もシンプルな224バイトのBitcoinトランザクション(single-signature)が使われたと仮定した時、月あたりのデポジットトランザクションの最大数は……2000万です1

Single-signature Bitcoinトランザクションによるこの上限は、本質的にBitcoinを信頼できる第三者に送るための構成要素であるlayer 2プロトコルの文脈において面白くないものです。 Multi-signatureのようなより複雑なデポジットトランザクションでは、月間ユーザの数は2000万からより少なくなります。 さらに、引き落としトランザクション(受取人が資金をlayer 2システムから個人のBitcoinアドレスに引き出す)はこの数値に含まれておらず、対応できるユーザ数の上限はさらに減少します。

結論として、Bitcoinが世界人口の~0.2%を上回り拡大すると、上で説明した方針で動作するlayer 2プロトコルでは十分でなくなります。 Bitcoinブロックチェーンが月に2000万を超えるユーザをサポートするには、layer 2プロトコルと合わせて容量も増加させる必要があります。

  1. ブロックあたり1,000,000バイト / トランザクションあたり224バイト = ブロックあたり4464トランザクション ブロックあたり4464トランザクション * 1時間あたり6ブロック * 1日24時間 = ~1日あたり643000 トランザクション 1日あたり643000 トランザクション * 1ヶ月30日 = ~月あたり2000万トランザクション