Bitget App
スマートな取引を実現
暗号資産を購入市場取引先物Bitget Earn広場もっと見る
Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活

Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活

Vitalik ButerinVitalik Buterin2025/11/17 18:33
原文を表示
著者:Vitalik Buterin

Plasmaは、データの可用性問題を完全に回避し、取引手数料を大幅に削減することを可能にします。

Plasmaは、私たちがデータ可用性の問題を完全に回避し、取引手数料を大幅に削減することを可能にしました。


執筆:Vitalik Buterin

翻訳:jk,Odaily

 

Plasmaはブロックチェーンのスケーリングソリューションの一種であり、すべてのデータと計算(入金、出金、Merkleルートを除く)をオフチェーンに保つことを可能にします。これにより、オンチェーンのデータ可用性制限を受けない大規模なスケーラビリティが実現されます。Plasmaは2017年に初めて提案され、2018年には最小実用Plasma、Plasma Cash、Plasma Cashflow、Plasma Primeなど、複数回のイテレーションが行われました。残念ながら、(i)クライアント側のデータ保存コストが大きいこと、(ii)Plasmaの基本的な制限により支払い以外のアプリケーションへの拡張が難しいことから、Plasmaは現在では主にrollupsに置き換えられています。

 

有効性証明(別名ZK-SNARKs)の登場により、この判断を再考する理由が生まれました。Plasmaが支払いで機能する上で最大の課題であるクライアント側のデータ保存は、有効性証明によって効果的に解決できます。さらに、有効性証明は、EVMを実行するPlasmaタイプのチェーンを作成するためのさまざまなツールを提供します。Plasmaのセキュリティ保証はすべてのユーザーをカバーするものではありません。なぜなら、Plasmaスタイルのexit gameを多くの複雑なアプリケーションに拡張する根本的な課題は依然として存在するからです。しかし、実際には非常に大きな割合の資産を安全に保護することができます。

 

以下では、Plasmaがどのようにこれを実現するかを詳しく説明します。

 

概要:Plasmaの仕組み


最も理解しやすいPlasmaのバージョンはPlasma Cashです。Plasma Cashは、各トークンを独立したNFTとして扱い、それぞれのトークンの履歴を個別に追跡することで機能します。Plasmaチェーンにはオペレーターが1人おり、ブロックを作成し定期的に公開します。各ブロック内の取引はスパースMerkleツリーとして保存されます:もし取引がトークンkの所有権を移転するものであれば、それはツリーのk番目の位置に現れます。Plasmaチェーンのオペレーターが新しいブロックを作成すると、Merkleツリーのルートをオンチェーンに公開し、ユーザーが所有するトークンに対応するMerkleブランチを各ユーザーに直接送信します。

 

Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活 image 0

 

これらがPlasma Cashチェーンにおける最後の3つの取引ツリーだと仮定します。すべての以前のツリーが有効であると仮定すると、現在Eveがトークン1を、Davidがトークン4を、Georgeがトークン6を所有していることがわかります。

 

Plasmaシステムにおける主なリスクは、オペレーターの不正行為です。これは2つの方法で発生する可能性があります:

 

1. 無効なブロックの公開(例:オペレーターが、Fredがその時点でトークン1を所有していないにもかかわらず、FredからHermioneへのトークン1の移転取引を含める);

 

2. 利用不可能なブロックの公開(例:オペレーターがBobにMerkleブランチの1つを送信せず、Bobが自分のトークンが有効かつ未使用であることを他者に証明できなくする)。

 

オペレーターの行動がユーザーの資産に関係する場合、ユーザーは直ちにexitする責任があります(具体的には7日以内に)。ユーザー(「exit者」)がexitする際、彼らはそのトークンが前の所有者から自分に移転された取引のMerkleブランチを提出します。これにより7日間のチャレンジ期間が始まり、その間、他の人は以下の3つのいずれかのMerkle証明を提出することでexitをチャレンジできます:

 

1. 最新の所有者でない:exit者が署名した後続の取引で、exit者のトークンが他者に移転されている;

 

2. 二重支払い:前の所有者から他者へのトークン移転取引が、exit者への移転取引より前に含まれている;

 

3. 無効な履歴:過去7日間にトークンが移転された取引があり、対応する消費がない。exit者は対応する消費を提出して応答でき、そうしない場合はexitが失敗します。

 

Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活 image 1

 

これらのルールに基づき、トークンkを所有する人は、過去1週間のすべての履歴ツリーにおけるk番目の位置のすべてのMerkleブランチを見る必要があります。これにより、実際にトークンkを所有し、exitできることを確認します。また、資産移転を含むすべてのブランチを保存しておく必要があり、チャレンジに対応し安全にトークンをexitするためです。

 

代替可能トークンへの拡張


上記の設計はNFT(非代替性トークン)に適用されます。しかし、NFTよりも一般的なのはETHやUSDCのような代替可能トークンです。Plasma Cashを代替可能トークンに適用する1つの方法は、各小額単位のトークン(例:0.01 ETH)を個別のNFTとして扱うことです。残念ながら、これを行うとexit時のガスコストが高くなりすぎます。

 

1つの解決策は、多くの隣接するトークンを1つの単位として最適化処理し、一度に移転またはexitできるようにすることです。これには2つの方法があります:

 

1. ほぼそのままPlasma Cashを使用しつつ、多数のオブジェクトが同じ場合に非常に高速にMerkleツリーを計算する複雑なアルゴリズムを使う。これは意外と難しくありません。Python実装はこちらで見られます。

 

2. Plasma Cashflowを使用し、多くの隣接するトークンを1つのオブジェクトとして表現する。

 

しかし、これら2つの方法はいずれもフラグメンテーションの問題に直面します。コーヒーを買った数百人からそれぞれ0.001 ETHを受け取ると、ツリーの多くの場所に0.001 ETHを持つことになり、実際にこれらのETHをexitするには多くのexitを個別に提出する必要があり、ガスコストが高くなります。フラグメント整理プロトコルも開発されていますが、実装はかなり難しいです。

 

もう1つの方法は、より伝統的な「未使用トランザクション出力」(UTXO)モデルを考慮してシステムを再設計することです。トークンをexitする際には、これらのトークンの直近1週間の履歴を提出する必要があり、誰でもその履歴トークンが既にexitされたことを証明してexitをチャレンジできます。

 

Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活 image 2

 

右下の0.2 ETH UTXOの出金は、その履歴のいずれかのUTXOの出金を示すことでキャンセルできます(図中の緑色部分)。特に、中左と下左のUTXOは祖先ですが、上左のUTXOはそうではありません。この方法は、2013年ごろのカラードコインプロトコルにおける順序ベースの着色の考え方に似ています。

 

これを実現する技術は複数あります。いずれの場合も、目的は履歴上の異なる時点で「同じトークン」という概念を追跡し、「同じトークン」が2回引き出されるのを防ぐことです。

 

EVMへの拡張の課題


残念ながら、これを支払い以外のEVMに拡張するのははるかに困難です。主な課題の1つは、EVM内の多くの状態オブジェクトには明確な「所有者」がいないことです。Plasmaのセキュリティは、各オブジェクトに所有者がいて、その所有者がチェーン上のデータ可用性を監視し、問題が発生した場合にそのオブジェクトをexitする責任を負うことに依存しています。しかし、多くのEthereumアプリケーションはそうなっていません。例えば、Uniswapの流動性プールには単一の所有者がいません。

 

もう1つの課題は、EVMは依存関係を制限しようとしないことです。ブロックNでは、アカウントAが保有するETHはブロックN-1のどこからでも来ている可能性があります。一貫した状態をexitするためには、EVM Plasmaチェーンはexit gameを持つ必要があり、極端な場合、ブロックNの情報を使ってexitしたい人は、ブロックN全体の状態をチェーン上に公開するコスト(数百万ドルにもなる)を支払う必要があります。UTXOベースのPlasmaスキームではこの問題はありません。各ユーザーは、自分がデータを持っている最新ブロックから資産をexitできます。

 

3つ目の課題は、EVM内の無限の依存関係により、有効性証明の一貫したインセンティブを持つことが難しいことです。任意の状態の有効性は他のすべてに依存するため、何かを証明するにはすべてを証明する必要があります。この場合、データ可用性の問題により、失敗時の解決策とインセンティブの両立が通常できません。特に厄介なのは、UTXOベースのシステムに存在する「所有者の同意なしにオブジェクトの状態が変更されない」という保証を失うことです。この保証は非常に有用で、所有者は常に自分の資産の最新かつ証明可能な状態を知ることができ、exit gameを簡素化します。これがないと、exit gameの作成がより困難になります。

 

有効性証明がこれらの問題をどう緩和するか


有効性証明の最も基本的な役割は、各Plasmaブロックの有効性をオンチェーンで証明することです。これにより設計空間が大幅に簡素化されます。つまり、オペレーターによる利用不可能なブロック攻撃だけを心配すればよく、無効なブロックを心配する必要がありません。例えばPlasma Cashでは、履歴チャレンジの心配がなくなります。これにより、ユーザーがダウンロードする必要のある状態は、過去1週間の各ブロックの1つのブランチから、各資産の1つのブランチに減少します。

 

さらに、最新状態からの出金(オペレーターが誠実な通常のケースでは、すべての出金は最新状態から行われます)は、非最新所有者チャレンジの影響を受けません。したがって、有効性証明付きのPlasmaチェーンでは、この種の出金はまったくチャレンジされません。つまり、通常時は出金が即時に行えます。

 

EVMへの拡張:並列UTXOグラフ


EVMの場合、有効性証明によりさらに賢いことができます。ETHやERC20トークンの並列UTXOグラフを実現し、SNARKでUTXOグラフとEVM状態の等価性を証明することができます。これができれば、UTXOグラフ上で「通常の」Plasmaシステムを実装できます。

 

Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活 image 3

 

これにより、EVMの多くの複雑さを回避できます。例えば、アカウントベースのシステムでは、誰かがあなたの同意なしにあなたのアカウントを編集できます(トークンを送って残高を増やすなど)。しかし、Plasmaの構築はEVM状態自体ではなく、EVMと並行するUTXO状態上で行われるため、あなたが受け取るトークンはすべて独立したオブジェクトとなります。

 

EVMへの拡張:完全な状態exit


「Plasma EVM」を作るためのよりシンプルなスキームもすでに提案されています。例えばPlasma Freeや、2019年のこの記事などです。これらのスキームでは、誰でもL1でメッセージを送信し、オペレーターに取引を含めるか、特定の状態ブランチを利用可能にすることを強制できます。オペレーターがこれを怠ると、チェーンはブロックを巻き戻し始めます。誰かが状態全体の完全なコピー、またはユーザーが欠落している可能性があるとマークしたすべてのデータを公開すると、チェーンは巻き戻しを停止します。出金には報奨金を設定し、大量のデータを公開するユーザーのガスコストを支払うことができます。

 

このようなスキームには弱点があり、通常時に即時出金ができません。なぜなら、常に最新状態を巻き戻す必要がある可能性があるからです。

 

EVM Plasmaスキームの限界


このようなスキームは強力ですが、すべてのユーザーに完全なセキュリティ保証を提供するものではありません。最も明白な失敗例は、特定の状態オブジェクトに明確な経済的「所有者」がいない場合です。

 

CDP(担保債務ポジション)のケースを考えてみましょう。これはスマートコントラクトで、ユーザーがトークンをロックし、債務を返済した後にのみ解放されます。ユーザーがCDPに1ETH(執筆時点で約2000ドル)をロックし、1000DAIの債務を持っているとします。今、Plasmaチェーンがブロックの公開を停止し、ユーザーがexitを拒否したとします。ユーザーは永遠にexitしないこともできます。こうなると、ユーザーは無料のオプションを得ることになります。ETHの価格が1000ドルを下回ればCDPを放棄し、1000ドル以上を維持すれば最終的にそれを請求します。平均すると、このような悪意のあるユーザーは利益を得ることになります。

 

もう1つの例は、Tornado CashやPrivacy Poolsのようなプライバシーシステムです。5人の預金者がいるプライバシーシステムを考えてみましょう:

 

Vitalikの長文:EVM ValidiumのエグジットゲームとPlasmaの復活 image 4

 

プライバシーシステム内のZK-SNARKsは、システムに入るトークンの所有者とシステムを出るトークンの所有者の関係を隠します。

 

オレンジだけがすでに出金していると仮定し、この時点でPlasmaチェーンオペレーターがデータの公開を停止したとします。先入れ先出しルール付きのUTXOグラフ方式を使っていると仮定すると、各トークンは下のトークンと一致します。この場合、オレンジはプリミックスとポストミックスの両方のトークンを出金でき、システムはそれらを2つの独立したトークンとして扱います。ブルーがプリミックストークンを出金しようとすると、オレンジの更新状態がそれを置き換えます。同時に、ブルーはポストミックストークンを出金する情報を持っていません。

 

他の4人の預金者がプライバシーコントラクト自体を出金できるようにし(これが預金を置き換える)、その後L1でトークンを引き出せるようにすれば、この問題は解決できます。しかし、実際にこのようなメカニズムを実装するには、プライバシーシステムの開発者が追加の努力を払う必要があります。

 

他にもIntmax方式のようなプライバシー問題の解決策があり、これは数バイトをrollupスタイルでオンチェーンに置き、Plasmaのようなオペレーターが各ユーザー間で情報を伝達します。

 

Uniswap LPポジションにも同様の問題があります。UniswapポジションでUSDCを使ってETHを取引した場合、取引前のUSDCと取引後のETHの両方を出金しようとすることができます。Plasmaチェーンオペレーターと共謀すれば、流動性提供者や他のユーザーは取引後の状態にアクセスできず、取引後のUSDCを出金できません。これを防ぐには特別なロジックが必要です。

 

結論


2023年になっても、Plasmaは過小評価されている設計です。Rollupsは依然としてゴールドスタンダードであり、比類なきセキュリティ属性を持っています。これは開発者体験の観点から特にそうです。アプリ開発者がアプリ内の所有権グラフやインセンティブフローを考慮する必要がないほどシンプルなものはありません。

 

しかし、Plasmaはデータ可用性の問題を完全に回避し、取引手数料を大幅に削減することを可能にします。もともとvalidiumであったチェーンにとって、Plasmaは大きなセキュリティアップグレードとなり得ます。ZK-EVMsが今年ついに実現し、この設計空間を再探求する絶好の機会が生まれました。開発者体験を簡素化し、ユーザー資産を保護するより効率的な構築方法を提案できます。


Karl Floersch、Georgios Konstantopoulos、Martin Koppelmannにフィードバック、レビュー、議論への貢献を特に感謝します。

0

免責事項:本記事の内容はあくまでも筆者の意見を反映したものであり、いかなる立場においても当プラットフォームを代表するものではありません。また、本記事は投資判断の参考となることを目的としたものではありません。

PoolX: 資産をロックして新しいトークンをゲット
最大12%のAPR!エアドロップを継続的に獲得しましょう!
今すぐロック

こちらもいかがですか?

火星モーニングニュース|FRB当局者が再び強いタカ派シグナルを発信、12月の利下げに疑念

暗号資産市場は全体的に下落しており、bitcoinおよびethereumの価格が下落し、アルトコインの下落幅が顕著です。米連邦準備制度理事会(FRB)のタカ派的なシグナルが市場センチメントに影響を与え、複数のプロジェクトトークンが間もなくアンロックされます。ethereumの初期投資家は大きな利益を得ており、金のブルマーケットが続くとの期待が持たれています。

MarsBit2025/11/17 20:30
火星モーニングニュース|FRB当局者が再び強いタカ派シグナルを発信、12月の利下げに疑念