ブロックチェーンのトリレンマ:解決できるのでしょうか?
私たちの周りの世界は、特定の結果を達成するために私たちが行うトレードオフがすべてです。ブロックチェーンのトリレンマも同じです。そのため、ブロックチェーンに関連する問題が解決できるかどうかを理解することが重要です。開発者はこの問題の解決に時間とエネルギーを注いでいます。ブロックチェーンのスケーラビリティ、セキュリティ、分散化がどのように連携するかについて考察します。これら3つの機能は、ブロックチェーンのしくみの基盤であり、3つのうち2つしか獲得できないという認識が高まっています。つまり、すべてのブロックチェーンは、できるだけ効率的に機能するために何かを犠牲にする必要があります。
ブロックチェーントリレンマとは?
ブロックチェーンのトリレンマは、分散化、セキュリティ、スケーラビリティがすべて1つのブロックチェーンで表現できるわけではないという概念です。
ブロックチェーンのトリレンマという用語は、イーサリアムの共同創設者であるVitalik Buterinによって考案されました。彼は、ビットコインネットワークのような問題を抱えるインターネット上で2番目に人気のある仮想通貨であるイーサリアムで働いた経験から、この用語を提案しました。ビットコインの主な問題は、そのネットワークが多くの人々が望むほどスケーラブルではないことです。ブロックチェーンのトリレンマは、開発者が求める3つのこと、つまり分散化、スケーラビリティ、セキュリティに関するものであり、ベックスは3つのうち2つを選択する必要があります。
ブロックチェーントリレンマの例:ビットコインのスケーラビリティ
ビットコインは優れたイノベーションですが、そのプラットフォームは最もスケーラブルではありません。しかし、ビットコインはインターネット上で最も安全で分散化されたプラットフォームの1つです。スケーラビリティに関しては、残念ながら、理想的な取引速度を下回っているため、評判が悪くなっています。そのため、通貨として使用しようとすると最適ではありません。VisaやMastercardなどのカードプロセッサーと比較すると、ビットコインはミリ秒単位で取引を処理するため遅れています。この状況はLightning Networkのおかげで改善されましたが、このレイヤー2スケーリングソリューションは、かなりの問題を抱えています。最終的に、法定通貨として使用しようとする仮想通貨は、十分に拡張できなければなりません。
Vitalik Buterinが話していた問題は、1つのネットワークでこれら3つの機能をすべて実現できるかどうかです。多くの開発者は、3つの機能をすべて実現することは不可能であり、現在の技術で可能なことと連携し、実際の環境でトレードオフを行う方法を見出す必要があると結論づけています。各プロジェクトがネットワークを最適化しようとするのと同様に、各ブロックチェーン設計にはいくつかの欠点があります。したがって、開発者にとって重要なのは、最適なパフォーマンスを達成するために、犠牲にしたい各特性の度合いを理解することです。
ブロックチェーンにおける分散化
ブロックチェーンの分散化は、人々が現在の法定通貨よりも仮想通貨を好む主な理由です。お客様の通貨が1人の個人または事業体によって管理されている場合、お客様は常にその人物または事業体に憐れまれます。たとえば、米国政府とその米ドルの独占です。ブラックリストに載っている場合、または制裁を受けている場合、ドル建ての資産は凍結される可能性があります。自分の通貨を完全にコントロールすることは決してありません。ブロックチェーンの分散化は、誰も資産を管理できないようにすることで、この問題を解決します。ビットコインは最も有名な例です。つまり、ビットコインへのアクセスを誰も管理しておらず、あらゆる状況でビットコインを自由に所有・輸送できます。
残念ながら、大規模なブロックチェーン分散化における大きな問題は、その実現方法を模索することです。ネットワーク管理は、つまずくブロックの1つです。Visaネットワークは、仮想通貨が分散化されていない場合の様子の一例です。VisaNet上で行われるすべての取引は、Visaが世界中で保有する多くのサーバーのいずれかによって処理される必要があります。Visaは、ネットワークが回復力があり、ダウンタイムなしで常に機能することを保証する責任があります。
ただし、このため、1秒未満の取引時間を取得するためにすべてを制御しています。さらに、他の多くのネットワークと比較して、取引手数料は比較的低くなっています。そのため、多くの人々がキャッシュレス社会に移行し、物理的な資金を持ち歩く必要がなくなります。
ご覧のとおり、ブロックチェーンの分散化は、ネットワークのセキュリティとスケーラビリティに悪影響を及ぼします。ブロックチェーンの分散化は非常に重要です。なぜなら、最適なネットワークを得るためには、他の機能を犠牲にする必要があるからです。最終的には、ブロックチェーンの分散化は、1つの事業体または個人がネットワーク全体を制御しない場合に適しています。ただし、ブロックチェーンの分散化を優先する場合、ブロックチェーンのスケーラビリティやセキュリティは犠牲になります。
ブロックチェーンのスケーラビリティ
残念ながら、ブロックチェーンのスケーラビリティは大きな問題であり、多くの仮想通貨が大量に利用されることを防いでいます。ブロックチェーンが実用的であるためには、数千件の取引リクエストを受け、迅速に処理できる段階に進める必要があります。
理想的には、ブロックチェーンを毎秒数百万トランザクション(TPS)に拡張できるプロジェクトです。これは、VisaとMasterCardが世界中で使用されている多くの理由の1つです。結局のところ、取引が処理されるまで20分以上待つ必要がある場合、誰もこれらのカードを使用することはありません。また、取引の処理に非常に長い時間がかかるため、長い行がある場合、このネットワークを使用したい店舗はありません。ブロックチェーンのスケーラビリティは、毎秒のトランザクションだけを見るのではなく、特定のユースケースでブロックチェーンを機能させる方法を把握する必要があるため、組み込みが必要です。
ブロックチェーンのセキュリティ
ブロックチェーンのセキュリティは、多くのネットワークがブロックチェーンのトリレンマに関してリラックスすることを選択する3番目の機能です。優れたブロックチェーンセキュリティとは、ネットワークに取引を挿入するためにネットワークの脆弱性を利用するなど、誰もネットワークを引き継ぐことができないよう、すべてが堅牢である必要があることを意味します。
ブロックチェーンのセキュリティを維持する上で大きな欠点は、それを達成するには多くのプロセッサパワーが必要になることです。ブロックチェーンの分散化が発効した場合も、問題となる可能性があります。この必要性とブロックチェーンの分散化とスケーラビリティの現実を組み合わせると、TPS評価のわずかな改善を達成するために、処理能力を大幅に拡大する必要があります。ブロックチェーン開発者は、ネットワークを構築しようとする際にバランスを取る必要があります。犠牲にしたい3つの要素の1つを見極めなければなりません。
ブロックチェーンの分散化では、もう1つの問題はコンセンサスです。各元帳の正しい取引はどれですか? ブロックチェーン台帳に取引を書き込む際、取引がすべてのノードに正しく更新されるようにするにはどうすればよいですか? これには多くの処理能力が必要です。そのため、ブロックチェーンネットワーク内の他の機能とセキュリティのバランスを取る方法を理解することが重要となります。ブロックチェーンのセキュリティは、その有用性が高まるにつれて、ますます重要になってきています。セキュリティが間違っていた例として、スマートコントラクトを使用するブロックチェーンが挙げられます。
セキュリティとスケーラビリティ
ブロックチェーンセキュリティの一般的なアイデアは、ブロックチェーンのスケーラビリティに逆行して機能することです。ブロックチェーンのセキュリティでは、誰もネットワークを悪用しないように、追加の処理能力を使用する必要があります。しかし、大きな問題は、その結果として、取引を処理する能力が減っていることです。開発者は、より多くの取引を処理するか、セキュリティを強化するかを決定する必要があります。さらに、ネットワークが分散化すればするほど、コンセンサスに達するのに時間がかかるため、理想的なブロックチェーン分散とセキュリティを同時に実現することはさらに困難になります。現在、多くの人々が、ネットワークに大きなマイナス面をもたずに、両方の概念を正しく機能させる方法を模索しています。
安全なネットワークの例としては、上記のVisaが挙げられます。数百万TPSを配信するクレジットカード処理ネットワークを提供しています。それにもかかわらず、ブロックチェーンのセキュリティは決して問題ではありません。搾取されたことを耳にすることはめったにありません。しかし、何かが起きた場合、通常、ベンダーが禁止されていることをしたからです。クレジットカード処理会社自体が悪用された問題を抱えているわけではありません。
ほとんどのブロックチェーンは非常に安全であり、セキュリティ侵害はほとんどのネットワークで継続的な問題ではありません。しかし、前述のとおり、セキュリティはスケーラビリティの価格で実現します。これにより、ネットワークを破壊することなく、セキュリティやトランザクション処理能力を向上させるさまざまな方法を考える人が多くいます。
ブロックチェーントリレンマへのさまざまなアプローチ
ソラナ(SOL)
ポルカドット(DOT)
カルダノ(ADA)
ファントム(FTM)
アバランチ(AVAX)
Avalancheネットワークは、ブロックチェーンのトリレンマの限界を克服するもう1つのアプローチとして成功しています。ブロックチェーンの分散化は、主にバリデーターノードをステーキングして運用する人々に報酬を提供することによって実現されます。これらの特典は非常に印象的です。つまり、検証者候補が多くのトークンを投入する必要はありません。
また、アバランチのハードウェア要件は最小限です。ソラナネットワーク上でバリデーターになるために必要なハードウェア価格の1/10未満で、安価なハードウェアを持つバリデーターとして始めることができます。
バリデーターであることは、ブロックチェーンの分散化とスケーラビリティの両方にとって重要であることは明らかです。しかし、バリデーターになる気になろうとする人はあまりいません。多くの場合、高価すぎたり複雑すぎて機能せず、利益はわずか数例にとどまります。
ブロックチェーントリレンマの潜在的なソリューション
ブロックチェーンのトリレンマには、個別に実装できるソリューションがいくつかあります。また、多くの開発者が、ネットワークの各部分でブロックチェーンのトリレンマを達成する方法を模索しています。
レイヤー0
リレーチェーン
Polkadotのリレーチェーンは、ブロックチェーンのトリレンマに固有の欠点なしに多数のネットワークに接続できるため、複数のブロックチェーンネットワークを非常に簡単に接続できます。パラチェーンはPolkadotブロックチェーンと並行して動作します。Polkadotリレーチェーンを使用して、スケーラビリティ、セキュリティ、ガバナンスを最大化します。
レイヤー1
レイヤー1の主な考慮事項は、スケーリング方法を見つけることです。つまり、コンセンサスメカニズムやブロックチェーンのその他の側面を微調整することで、スケーラビリティを高めることができます。レイヤー1は、ネットワークが適切な容量で動作するようにするために必要な基盤を提供します。レイヤー1がしっかりしていないネットワークは、常に問題を抱えています。
コンセンサスプロトコルの改善
ブロックチェーンでコンセンサスを得る方法は数多くありますが、それを迅速に行うほど、ブロックチェーンのトリレンマを解決できます。主な問題は、コンセンサスが正確かつ完全に達成されるようにすることです。いくつかのアルゴリズムにはショートカットがありますが、通常は必要な場所にあります。ソラナは、取引が現在の順序にあり、適切なリーダーからのものであることを保証し、履歴のコンセンサス証明を提供します。リーダーが事前に選ばれているため、ネットワークコンセンサスを達成する時間を節約できます。
シャーディング
シャーディングはブロックチェーンを分割し、複数のバリデーターに分割します。理論上、特定のシャードを保有するすべてのバリデーターが倒れる可能性があるため、リスクの高い方法となります。この場合、ブロックチェーンの部分全体が失われます。これを防ぐアルゴリズムはいくつかあります。これは、イーサリアムがスケーラビリティを向上させる方法としてシャードチェーンを提供するプロセスを改善する多くの方法の1つです。この方法はブロックチェーン全体を水平に分割し、複数のサーバーに負荷をかけ、ネットワークの参加と処理能力が幾何学的に向上できるようにします。
レイヤー2
ネストされたブロックチェーン
ネストされたブロックチェーンは、別のブロックチェーン内に存在します。レイヤー1ブロックチェーンは、入れ子のブロックチェーンに処理を委任します。つまり、カスタム処理ソリューションは比較的簡単に作成できます。これは、ブロックチェーンのトリレンマをあまりにも困難なく解決する、最良かつ最も簡単な方法の1つです。その最大の例として、イーサリアムプラズマが挙げられます。イーサリアムプラズマは、メインチェーンに固定された別のブロックチェーンを使用しており、紛争を仲裁するための詐欺の証拠を提供します。
State Channel(ステートチャネル)
ステートチャネルは基本的に、取引処理とキャパシティを委任しています。ノードは検証不要です。つまり、必要な機能を提供する隣接リソースのようなものです。レイヤー1ネットワークでは、チャネルの最終状態をブロックチェーンに記録する必要があります。
サイドチェーン
サイドチェーンは基本的に、双方向ペグを使用してメインブロックチェーンに接続する独立したブロックチェーンです。これにより、既存のブロックチェーンの相互運用性と処理能力が向上します。たとえば、ビットコインのネットワークはサイドチェーンを使用して取引をより迅速に処理できます。これは、技術的に不可能であっても、ビットコインのパフォーマンスを向上させる多くの方法の1つです。
ロールアップ
基本的に、ロールアップはレイヤー1ブロックチェーン外で取引を処理し、コンセンサスに達したら後ほど転記します。これにより、レイヤー1のパフォーマンスに組み込まれるプロセスの大部分が分離されます。パズルの大きな部分は、ゼロ知識ロールアップ(ZKロールアップ)です。ZKロールアップは、現在のブロックチェーンから何百もの振替を処理し、後日それらをポストします。すべてを高速化するため、パフォーマンスを向上させる最良の方法の1つです。
ブロックチェーンのトリレンマは解決できますか?
ブロックチェーンのトリレンマをどのように解決できるかを考えると、解決策は1つではありません。理論的には、聖杯を達成することは不可能です。これまでできる最善の方法は、各ブロックチェーンを可能な限り最適化し、所定の目標を達成することです。事実上無限のコンピューティング能力と幾何学的に高速なネットワーク転送速度で未来を体験できるかもしれません。そのような環境では、ブロックチェーンのトリレンマは比較的簡単に解決できます。取引速度が「月へ」に推進されるため、問題はなくなります。
おわりに
ブロックチェーンのトリレンマは現在、ほとんどの開発者にとって大きな問題となっています。しかし、他の問題と同様に、問題の性質を理解すれば、その解決策を見つける可能性がはるかに高くなります。多くの開発者がブロックチェーントリレンマの複雑さに取り組んでおり、非常に楽観的です。そのため、私たちもそうすべきです。