ブロックチェーンのトリレンマとは
ブロックチェーンのトリレンマ(特にスケーラビリティのトリレンマ)とは、イーサリアムの開発者であるVitalik Buterinによって提唱された概念です。
そもそもトリレンマとは
3つの概念が存在し、2つの概念を重視すると、残りの概念が犠牲になる事象のことです。
例えば、図1では「時間」「金」「品質」が扱われています。時間と金銭的コストを抑えようとすると、品質が低下してしまい、高品質を維持しつつ時間を短縮しようとすると金銭的コストがかかってしまうというような事象です。
ブロックチェーンにおけるトリレンマ
Vitalikはトリレンマにおける3つの概念を「スケーラビリティ」「分散化」「セキュリティ」として、これらの全ては同時に実現されないことを唱えました。
話を進める前に、上記3つの概念が達成されている定義を記しておきます。(あまり読まなくていいかも)
c,nをそれぞれ実数とし、cを各ノードの計算リソース、nを任意のチェーンを維持するエコシステム全体のリソース、Oをc,nの最適化関数とした場合
分散化:各参加者がO(c)のリソースしか持たない状況でシステムが維持されている状況
スケーラビリティ:処理速度。O(n)(>O(c))のトランザクションが処理可能である状況。
セキュリティ:最大O(n)のリソースを有する攻撃者が存在している状況で安全性が保たれている状況。
以下では、具体的な例に則ってこのトリレンマを解説します。
(+は重視、−は犠牲を表現します。)
事例1(+分散性、-スケーラビリティ、+安全性)
ノードが分散すると検証や全ノードのネットワーク同期に時間的なコストが生じ、処理速度が低下することでスケーラビリティは犠牲になります。しかし、高い分散性による非中央集権化と高い検証力によって高いセキュリティは実現されます。
このパターンはBTC(7TPS)やETH(15TPS)などに当てはまり、実際にETHは最も高い分散性が実現されていますが、処理速度はVISAの平均2500TPSと比較すると大きく差開いています。
だからこそ、3つの概念のバランスを実現するために、layer2(セカンドレイヤー)、特にビットコインはライトニングネットワーク、イーサリアムはプラズマ、シャーディングなどの開発によってスケーラビリティ問題の解決を目指しています。
スケーラビリティのトリレンマと言われている所以は、Vitalikのイーサリアム自体がこの事例に該当してるからだと思います。
事例2(-分散性、+スケーラビリティ、+安全性)
少ないノードによって検証、同期が高速で行われる為、処理が高速で行われ、高いスケーラビリティが実現します。少ないノードがネットワークを維持するので分散性は少ないですが、多くの場合は信頼するノードを母体が選出することなどで一定のセキュリティは担保されています。
例えば、EOS(3000TPS)やXRP(1500TPS)などです。これら以外にも沢山ありますが、ノードの選出を母体が管理していたり、参加者がノードを選出する形式も該当します。分散性を実現できていないことから「既存のシステムと同じではないか」という批判もあります。
筆者の主観:少ないノードの場合、中央集権化によるセキュリティの脆弱性は無視できないのでセキュリティは一般的に「+」とできないような気もします。
事例3(+分散性、+スケーラビリティ、-安全性)
安全性が実現されていない時点で論外ですが、どういうことかというと、多数のノードが高速で検証や同期処理を行おうとすることで、検証時間が減少し比較的正確性に欠けてしまうことや、各ノードの同期に誤差が生じすぎる事態により、システムの安全性が損なわれている状況です。
まとめ
以上が解説になります。事例1の状態からスケーラビリティを解決しようとする試みや、事例2の状態から中央の権力を如何に分散させるかという動きが世界中で見られますね。