paint-brush
Ethereum のスケーリング: データの肥大化、データの可用性、クラウドレス ソリューション@logos
5,353 測定値
5,353 測定値

Ethereum のスケーリング: データの肥大化、データの可用性、クラウドレス ソリューション

Logos11m2024/06/12
Read on Terminal Reader

長すぎる; 読むには

Codex は、クラウドレスでトラストレスな P2P ストレージ プロトコルであり、Ethereum エコシステムとそれ以降の環境に強力なデータ永続性と耐久性の保証を提供することを目指しています。新しいプロトコルの急速な開発と実装により、Ethereum ブロックチェーン チェーンはデータで肥大化しています。このデータ肥大化は、トランザクション データがネットワークを詰まらせ、スケーラビリティを損なう「ネットワーク輻輳」とも定義できます。Codex は、データの永続性を除いて、DA 問題に対するソリューションを提供します。
featured image - Ethereum のスケーリング: データの肥大化、データの可用性、クラウドレス ソリューション
Logos HackerNoon profile picture

Codex は、クラウドレスでトラストレスな P2P ストレージ プロトコルであり、Ethereum エコシステムおよびその先に向けて強力なデータ永続性と耐久性の保証を提供することを目指しています。現在、EIP-4844 はデータ肥大化の問題に対する部分的な解決策しか提供していません。料金は依然として高く、エコシステムには長期的なデータ ストレージ オプションがほとんどありません。


Ethereum の余分なデータをどのように永続化するかを決定することで、将来にわたって無制限に拡張できるようになります。そして、Codex は、こうした懸念を軽減するために登場しました。問題を探ってみましょう。


UniswapでETHを別のトークンに交換したことがありますか?


Metamask 経由で接続し、0.001 Eth (約 35 ドル) を SNT に交換しようとしました。ガス料金は取引額と同額です。暗号通貨の取引には高すぎる料金です。ほとんどの人は、これほどの金額を支払いたくありません。


これらの取引がなぜそれほど高額になるのか、その核心に迫ってみましょう。



2024年3月20日

Web3 と分散型金融は近年、大きく成長しました。新しいプロトコルの急速な開発と実装により、Ethereum ブロックチェーン チェーンはデータで肥大化しました。その結果は?法外なガス料金とユーザー エクスペリエンスの低下です。このデータ肥大化は「ネットワーク輻輳」とも定義され、トランザクション データがネットワークを詰まらせ、スケーラビリティを低下させます。


この記事では、ブロックチェーンが肥大化した理由、トランザクション スループットが低下した理由、および問題を解決するためのさまざまなアプローチについて説明します。特に、Ethereum とロールアップのコンテキストにおけるデータの可用性に焦点を当てます。他のほとんどのソリューションにはないデータの永続性と耐久性の保証を除いて、Codex が DA の問題に対するソリューションをどのように提供するかについて説明します。


我慢してください。専門用語や技術用語を使用しますが、この重要かつ過小評価されているトピックをわかりやすい言葉で説明できるよう最善を尽くします。エコシステムのより多くの人々が、データ可用性サンプリング (DAS) がブロックチェーンのスケーリングにどれほど堅牢であるかに取り組み始める必要があります。先に進む前に、読者はコンセンサス メカニズム、プルーフ オブ ステーク、およびこのテクノロジーが高レベルでどのように機能するかについて読んでおく必要があります。


まず、ブロックチェーンのトリレンマを解明することから始めましょう。

問題のあるトリレンマ

成長を目指すすべての分散型テクノロジーは、同様の制約に悩まされています。


彼らは、数千人から数百万人のユーザーまで、より多くのユーザーがテクノロジーを採用できるように拡張したいと考えています。しかし、さまざまなテクノロジーを拡張するには、さまざまなエンジニアリング上の課題が伴います。


Ethereum の場合、チェーン上のブロックにはトランザクション、状態、スマート コントラクトのデータが含まれます。ネットワークを使用する人が増えるほど、各ブロックに追加されるデータも多くなります。問題は、ブロックがいっぱいになり始めると、手数料市場が出現し、より高いガス料金を支払う人ほど、次のブロックにトランザクションが含められる可能性が高くなることです。


簡単な解決策としては、ブロック サイズを拡大して、より多くのトランザクション データを許可することが考えられます。ただし、このアプローチには問題があり、ブロックチェーンのトリレンマの一部となっています。

トリレンマとは、ブロックチェーンには、スケーラビリティ、分散化、セキュリティという 3 つの主要な機能を維持および強化する必要があるというものです。トリレンマは、2 つを改善しようとすると、もう 1 つが低下することを示唆しています。


Ethereum の場合、ブロック容量をアップグレードすると、ネットワーク上で完全に検証されたノードを実行するためのハードウェア要件も増加します。ネットワークがこのようにハードウェア要件を上げると、一般の人がフルノードを実行することがより困難になり、全体的な分散化と検閲耐性が低下してネットワークに悪影響を及ぼします。


表面的には、この問題は克服できないように思えます。幸いなことに、開発者やエンジニアはブロックチェーンの拡張方法を再考しています。彼らはブロックチェーンとそのエコシステムをモノリシックではなくモジュール型として構想しています。

モジュラー対モノリシック

ネットワーク上でフルノードを実行することがネットワークの成功に不可欠であることを改めて強調しておくことが重要です。しかし、「フルノード」または「完全に検証するノード」とは正確には何でしょうか?


フルノードは、すべてのブロックチェーン データをダウンロードし、ネットワーク上で作成されたすべてのトランザクションを実行するネットワーク参加者です。フルノードは完全なトランザクション データ セットをダウンロードするため、より多くの計算能力とディスク容量を必要とします。


袁漢李氏の記事「データの可用性とは何か” は次のように説明しています。

「フルノードはすべてのトランザクションをチェックしてブロックチェーンのルールに従っていることを確認するため、ブロックチェーンはフルノードを実行するためのハードウェア要件を増やさずに 1 秒あたりに処理できるトランザクションを増やすことはできません (ハードウェアが優れている = フルノードが強力 = フルノードがチェックできるトランザクションの数が多い = より多くのトランザクションを含むブロックが大きくなります)。」


分散化を維持する上での問題は、一部のネットワーク参加者にフルノードを実行させることです。しかし、これらのノードには膨大な計算能力が必要であり、ほとんどのユーザーにとって購入して維持するには高価すぎます。そうなると、ネットワーク上のノードの数が大幅に制限され、全体的な分散化が損なわれます。


主な問題は、マイナーとバリデーターがネットワークからデータを隠蔽し、他の人がすべてのデータにアクセスできないようにする可能性があることです。これが、「モノリシック ブロックチェーン」のコンテキストにおける問題の核心です。


これはエコシステム内で少々使い古された流行語ではありますが、ブロックチェーンにおける「モノリシック」という考え方とは、ベースレイヤー、つまりイーサリアムブロックチェーンが決済レイヤー、コンセンサスレイヤー、データ可用性レイヤーとして機能する必要があることを意味し、これによりシステムがデータで肥大化し、トランザクションスループットが低下し、手数料が上昇します。


「モノリシック」なブロックチェーンの問題に対する解決策は、その機能を「モジュール化」し、データ可用性機能を他のネットワーク参加者にオフロードすることです。このシナリオでは、ブロックチェーンのベースレイヤーは決済およびコンセンサスレイヤーとしてのみ機能します。すべてのデータ可用性要件は、ネットワーク内の他のアクターにオフロードされます。

モジュール化の賢明さを理解したところで、データの可用性とはいったい何であり、なぜそれがネットワークにとって重要なのでしょうか。

DA の問題とロールアップ

データの可用性は、ブロックチェーンが真実の不変の調停者として機能するために必要なものです。トランザクション データが利用できなければ、ブロックチェーンに不正または無効なトランザクションが含まれているかどうかは誰にもわかりません。言い換えれば、バリデータとマイナーが悪意を持って行動したかどうかを誰も証明できません。Emmanuel Awosika による__記事__ では、次のように説明されています。

「データの可用性」とは、新しく提案されたブロックの背後にあるデータ(ブロックの正確性を検証するために必要なもの)が、ブロックチェーン ネットワーク上の他の参加者に利用可能であることを保証することです。」


重要な余談ですが、「データの可用性」と「データの保存」には違いがあることに注意してください。この分野の多くの人々は、この2つを混同しています。データの可用性は、データが利用可能であり、誰でもアクセスできるかどうかを尋ね、データの保存は、データを長期間にわたって特定の場所に保持することを意味します。この意味で、データ保存は「データの永続性」という概念を暗示しています。CelestiaのCOOであるNick Whiteは、 強力な類推:


缶詰食品はデータストレージを表します。食品は缶詰にされて長期保存され、いつでもアクセスしたり取り出したりすることができます。この意味で、「データストレージ」には「データの永続性」という要素があります。逆に、データの可用性はビュッフェのようなものです。食べ物は準備され、ビュッフェテーブルに並べられます。誰もが試食できます。データの可用性も同様です。


データがネットワークに公開される主な目的は、ネットワーク参加者がデータが正確であり、悪意のあるトランザクションが含まれていないことを確認できるようにすることです。

すると、「データ可用性の問題」とは何なのかという疑問が湧いてきます。


「データ可用性問題」は、技術者がイーサリアムを拡張するために解決しようとしている中心的な問題です。問題は、フルノードがトランザクションデータをエコシステム全体にブロードキャストするとき、「ライトノード」と呼ばれる小さなノードには通常、すべてのトランザクションをダウンロードして実行するためのハードウェア要件がないことです。

ledger.com の記事では、ライトノードの仕組みについて次のように説明されています。

「ライトノードはトランザクションをダウンロードしたり検証したりせず、ブロックヘッダーのみを格納します。言い換えると、ライトノードは、フルノードが提供する検証なしにブロック内のトランザクションが有効であると想定するため、ライトノードのセキュリティが低下します。この問題は、データ可用性の問題と呼ばれます。」


この場合、これらのノードは、データが利用可能かどうか、そしてそれがブロックチェーンの現在の「状態」を表しているかどうかを知るだけで済みます。「状態」とは、チェーンに保存されているすべてのブロックチェーン データ、アドレス残高、スマート コントラクトの値のことです。現在の形式の Ethereum ブロックチェーンでは、ライト クライアントは、データが実際に利用可能であるというオンチェーン認証を提供するために、いわゆるデータ可用性委員会 (DAC) に頼る必要があります。


ロールアップと呼ばれる Ethereum スケーリング ソリューションのコンテキストでは、このデータは、ネットワーク参加者がそのデータがネットワーク ルールに準拠しているかどうかを判断できるように公開する必要があります。言い換えると、データが正確であり、バリデータがライト クライアントを騙そうとしないことを保証する必要があります。

楽観的および ZK ロールアップ

DA の問題をさらに理解するには、ロールアップを理解することが重要です。ロールアップは、シーケンサーと呼ばれるノードを持つレイヤー 2 のブロックチェーンです。これらのシーケンサーは、トランザクションのバッチ処理、圧縮、順序付けに役立ちます。ベンジャミン サイモン説明したロールアップとイーサリアムの関係:

「ロールアップは本質的には独立したブロックチェーンですが、いくつかの変更が加えられています。イーサリアムと同様に、ロールアッププロトコルにはスマートコントラクトコードを実行する「仮想マシン」があります。ロールアップの仮想マシンは、イーサリアムの独自の仮想マシン(「電気自動車” ですが、これは Ethereum スマート コントラクトによって管理されます。この接続により、ロールアップと Ethereum は通信できるようになります。ロールアップはトランザクションを実行してデータを処理し、Ethereum はその結果を受け取って保存します。”


簡単に言えば、ロールアップはオフチェーン スケーリング ソリューションです。ただし、ロールアップでは、多くの「オフチェーン」スケーリング ソリューションが通常行うようなセキュリティの犠牲は発生しません。ロールアップの場合、データの処理と計算のみがオフチェーン (シーケンサー経由) で行われます。トランザクションは最終的にレイヤー 1 ブロックチェーンに保存され、セキュリティが維持されます。このオンチェーン データは、以前は「 calldata 」と呼ばれていました。


ある意味、ロールアップはコミュニティにとって「両方を手に入れられる」方法です。つまり、ネットワーク セキュリティを維持しながら、使いやすさを拡張できるのです。これは独創的なソリューションです。


ロールアップには、オプティミスティック ロールアップと ZK ロールアップという 2 つの一般的な種類があります。

  • 楽観的ロールアップは、最も広く議論され、導入されているロールアップのタイプです。その名前が示すように、「楽観的」ロールアップは、エコシステム内に少なくとも1 xn の善良なアクターが存在することを前提としています。これは何を意味するのでしょうか? 楽観的ロールアップは、ネットワークに投稿されたすべてのトランザクションが有効であると想定しています。この「楽観主義」を補うために、ロールアップはネットワークが「詐欺防止ロールアップによって送信されたトランザクションが無効であることを示す「」が表示されます。


    楽観的ロールアップについて知っておくべき重要なことの1つは、それらはほとんどEVMと互換性があるため、開発者が効率的に作業できることです。このように、それらはEthereumのより人気のあるスケーリングソリューションと見なすことができます。楽観的ロールアップの2つの例は次のとおりです。楽観そして仲裁

  • ZK ロールアップは、ゼロ知識暗号化を使用して、圧縮してバッチ処理するトランザクションが正確で正確であることを証明します。すべてのトランザクションが正確であると想定する代わりに (楽観的ロールアップのように)、ZK ロールアップは「有効性証明」を生成して、トランザクションが有効であることを即座に証明し、待機期間を排除します。


    しかし、ZKロールアップはEVMと互換性がないことから、開発者にとって扱いが難しいことが知られています。また、証明の生成に多くのリソースを消費するため、ZKロールアップは計算集約的です。それでも、EVMと互換性のあるロールアップが市場に出始めています。スクロールロールアップEVM解決策は単なる一例です。

ソリューション: データ可用性サンプリングとコーデックス

先ほど、ロールアップにはデータをダンプする場所が必要であると述べました。前述のように、ほとんどのロールアップはデータを Ethereum メイン チェーンにプッシュしており、これが問題の核心であるデータ肥大化につながります。肥大化が発生すると、トランザクションのスループットが低下し、トランザクションとスマート コントラクト実行の手数料が増加します。


解決策の一部は、ネットワーク セキュリティのために完全に検証されたノードに依存しないことであることを思い出してください。これらのノードだけに依存すると、ほとんどのユーザーは、法外に高価なハードウェア要件のためにフル ノードを実行できなくなります。(ブロック サイズを増やすことは潜在的な解決策ですが、この方法は分散化に悪影響を与えるため疑わしいことに注意してください。ただし、ロールアップはメイン チェーンのセキュリティを維持するレイヤー 2 スケーリング ソリューションとして機能するため、この特定の議論は無効になっています)。

そうは言っても、全員がフルノードを実行しないようにする答えは何でしょうか?

解決策は、ライトノード(およびフルノード)に権限を与え、すべてのトランザクションをダウンロードして実行することなくデータを検証できるようにすることです。これが問題の核心であり、Ethereum ネットワーク(およびその他のブロックチェーン)をスケーリングする魔法が見つかる場所です。

データの可用性、消去符号化、およびコーデックス

最初のステップは、データが利用可能かどうかを判断するための堅牢な軽量クライアント ネットワークを備えたデータ可用性レイヤーを用意することです。しかし、通常はヘッダー データのみをチェックし、情報についてはフル ノードに依存する軽量クライアントは、どのようにしてデータが有効で完全であることを保証できるのでしょうか。その答えは、「データ可用性サンプリング (DAS)」と呼ばれる数学的なトリックの中にあります。


DASは、データチャンクから少量のデータをサンプリングし、それを使用して残りのデータを確率的に決定し、再構築する方法です。多くの組織(セレスティアブロックチェーンおよびDA層)は、消失訂正符号化と多項式コミットメントを通じてDASを活用しています。リードソロモンコードは多くのプロジェクトで人気のある選択肢です。これらのタイプの多項式このように見える:

Y = a[o] + a[1]x + a[2]x^2+...+a[k]x^k


これらの関数は、失われたデータを特定し、それを完全に復元するために使用されます。これは、K/Nデータを作成することによって機能します。ここで、Kは元のデータ、Nは「パリティデータ」です。元のデータの一部が失われた場合、ノードのマシンはと呼ばれる数学関数を活用します。ラグランジュ補間復元します。関係する数学はほとんどの人にとって難解に思えますが、考え方は単純明快です。

消失訂正符号化の明確な実例がいくつかあります。この方法は、傷のついた CD のバックアップに使用されています。CD の消失訂正符号化により、表面の損傷により失われた音楽のビットを再構築できます。衛星も、広大な宇宙でデータが失われた場合に消失訂正符号化を活用します。衛星または CD は失われたデータを再構築できるため、両方のシステムに冗長な保護を追加できます。


Codex (および Celestia) が使用する特定のスキームは、2D 消失訂正符号スキームと呼ばれます。2D 消失訂正符号は、暗号エコシステムでは人気がありますが、新しい技術ではないことに注意してください。ただし、DA 問題を解決するためにどのように使用されるかは非常に興味深いものです。Bautista 博士は、Codex チームが消失訂正符号を使用する方法について説明しました

「Codex と同様に、元のデータをより冗長で堅牢なデータ構造に消去符号化することは、プロトコルの残りの部分が機能するための基本であり、それがなければ魔法は存在しません。Codex では、これはデータをアップロードするノードの Codex クライアント内で行われますが、Ethereum では、ブロックを構築/提案しているノードのコンセンサス/ビーコン クライアントの Ethereum バリデーター内で行われます。」

Codexのデータの旅についてはさらに話があるが、この記事の範囲を超えている。バウティスタ博士のピースCodex が活用するデータの分散、サンプリング、および「遅延修復」メカニズムを理解するため。


Codex は、証明圧縮によるデータ保存と検索機能、およびデータ可用性サンプリングを同時に実現することを意図しています。これにより、一時的なデータ (または長期的には必要のないデータ) の処理が可能になり、他のプロジェクトで欠落している可能性があるデータの永続性と耐久性が保証されます。

結論: 問題の解決

ブロックチェーンのスケーリング方法に関する議論は終わりを迎えています。ビットコイン エコシステムでは、ブロック サイズの制限を増やすことからレイヤー 2 ソリューションを活用することまで、ブロックチェーンのスケーリング方法について激しい議論が交わされてきました。現実には、この 2 つを組み合わせるのが最も合理的なソリューションです。たとえば、Codex は Ethereum (および他のブロックチェーン) のクラウドレス データ可用性レイヤーとして機能し、ネットワークに DA チェックを実行するノードが多数含まれるため、ブロック サイズを拡大できます。

良いニュースは、これによりベースレイヤーのセキュリティを維持しながらネットワークのスループットが向上することです。その結果、何が得られるのでしょうか? はい、その通りです。手数料が安くなり、取引が速くなります。ブロックチェーンのユーザーとして、私たちが最も気にかけているのはまさにこれです。

いつか、おそらく近いうちに、35 ドルではなく、数セントでトークン交換ができるようになるでしょう。


by Sterlin Lujan