集中から分散型への移行にあたって、「スケーラビリティ面で心配は本当にないのかな・・・?」という問題をどなたでももつのではないでしょうか? Peer to Peerという形態のシステムが世界のあちらこちらに生まれていくと考えられます。つまり、ノードとそれを利用するユーザーは限りなく増加の一途を辿ると容易に予想できます。言い方を変えれば、分散化は際限なく拡散していくだろうし、安全という面ではどうであろうかという問題が浮上してくるに違いありません。
ブロックチェーンにおいては分散と安全、そしてスケーラビリティの3面を同時並行して満たすのは簡単なことではなさそう!
これら3面はお互いにコンペティションの関係が強くり、終いにはトレードオフの状態を産み出す理由があるためと考えられています。しかしながら、この問題に向かって様々なところで提案、開発、検証を繰り返している状況にあります。
ビットコインについてスケーラビリティ問題をピックアップしていくことにします。この問題を取り組むことに際して、ネットワーク拡大を前提として捉えパブリック基盤の考えを除外することにします。基盤がパブリックであっては問題をさらに難解なものにしていくことは目に見えて明らかであるといえそうです。
ただはっきりいえることはネットワークが拡大していくことは、ネットワークに加わるノードとそれを利用するユーザーは限りなく増加していくといえます。例えば、ウオレットによるビットコインを送金する一般の人のことをユーザーと定義します。
【ユーザーの数の増加】
ユーザーがウオレットを利用してビットコインを送金する場面を考えてみます。送金した時点で即、取引データ、つまりトランザクションがブロックチェーン内にストックされます。この場合にまず問題となってくるのはデータサイズです。このデータサイズは無制限ではなく上限が儲けられています。このため、ユーザーの増加とともにトランザクションが増加していくも保存においてはままならない状況に陥ってしまいます。大雨洪水をイメージすることで容易にイメージできるのではないでしょうか? トランザクションを雨量に、ブロックチェーンを川に例えるとイメージがしやすくなリます。大きいトランザクションが一旦ブロックチェーンに流入しますと、次のブロックの生成には時間がかかることは容易に想像できます。この問題を解決することは容易ではありませんが、解決する必要性が必ずあるといえます。また、ユーザーに与えるデメリットも考慮することもポイントの一つとなってきます。例えば、送金の要する時間が掛かって遅くなってしますう、或いは取引にかかってくる手数料が高くなってしまうこと等などです。ただ、採掘者であるマイナーの場合は手数料の高い取引データを優先させて承認することになってきます。というのもマイナーは程度の差はあれ、ブロックにストックする取引データを自由に選択することができる理由もあってこういうことが可能になってきます。
【ノードの数の増加】
さまざまなノードがネットワークに加わって構成するため、ノードの数の増加はスケーラビリティに対する問題は解決には複雑かつ多岐にわたってきます。ノードの基本的な役割は何はともあれ取引データ、すなわちトランザクションの検証です。トランザクションの検証は他のノードから送信されたトランザクションが正当か否かを明確に確認を行ない、確認後は他のノードに送信します。ネットワークがパブリックであれば、オープン制となり、誰でもこのネットワークに加わることもできるし、ノードになることができます。ということはノードはさらに拍車が掛かって多種多彩色を帯びてきます。つまり、コンピュータ性能とその処理能力、通信面におけるデータ通信速度とトランスファーレート、メモリ容量、補助記憶装置容量とトランスファーレート等でバリエーションに富んでくること間違いなしです。そのような状況でネットワークに参加するようなことをしますと、周りの足を引っ張って迷惑をかけることになってしまいます。つまり性能の低いスペック・レベルの低いノードではあってはなりません。何度もいいますが、常に分散化したネットワークをビルドするコンセプトがブロックチェーンなのです。
分散化と取引データの処理速度はトレードオフの関係にあることに注視しましょう!
コメント