
Validiumを解雇する?Danksharding提唱者の視点からLayer2を再理解する
TechFlow厳選深潮セレクト

Validiumを解雇する?Danksharding提唱者の視点からLayer2を再理解する
本稿では、Dankradの視点から出発し、Layer2の詳細をさらに分析することで、なぜValidiumが厳密な意味での「Layer2」と言えないのかを深く理解することを目指す。
著者:Faust、Geek web3
導入
最近、Dankshardingの提唱者であり、Ethereum財団のリサーチャーであるDankrad Feist氏がTwitter上で議論を呼ぶ発言を行った。彼は明確に「ETHをDA層(データ可用性層)として採用しないモジュラーブロックチェーンはRollupではなく、またイーサリアムLayer2でもない」と主張した。Dankrad氏のこの見解に従えば、Arbitrum NovaやImmutable X、MantleなどはETH以外の場所(DACと呼ばれるオフチェーンDAネットワーク)にトランザクションデータを公開しているため、Layer2のリストから除外されることになる。

さらにDankrad氏は、Plasmaやステートチャネルのように、セキュリティのためにオンチェーンのデータ可用性(Data Availability)を必要としないスキームは依然としてLayer2と見なされるべきだとし、一方でValidium(ETHをDA層として使わないZKRollup)はLayer2ではないと述べている。


この発言に対して、多くのRollup分野のFounderやResearcherたちが疑問を呈した。というのも、コスト削減のためにETHをDA(データ可用性)層として使用していない「Layer2」プロジェクトは多数存在しており、これらをL2から排除すれば、非常に多くのスケーラビリティネットワークに影響が及ぶことになる。また、ValidiumがL2でないなら、Plasmaも同様にL2と見なされるべきではないだろう。
これに対しDankrad氏は、「PlasmaのユーザーはDAが利用不能になった場合(つまりオフチェーンDAネットワークがデータを隠蔽してトランザクションデータを公開しない状況)でも、資産を安全にL1へ引き出すことができる。しかし同じ状況下ではValidium(StarkEx方式を採用するプロジェクトの多くが該当)はユーザーがL1への引き出しをできなくなり、資金を凍結してしまう可能性がある」と説明した。

明らかにDankrad氏は「安全性の有無」によって、あるスケーリングプロジェクトがイーサリアムLayer2であるかどうかを定義しようとしている。安全性の観点から見ると、Validiumはシーケンサーの故障とDA層によるデータ隠匿攻撃(新しいデータを秘匿)が同時に発生した極端なケースにおいて、ユーザーの資産をL2に閉じ込め、L1への引き出しを不可能にする。一方、PlasmaはValidiumとは設計が異なり、通常のセキュリティ保証はValidiumより劣るものの、同様の攻撃条件下ではユーザーが資産を安全にL1へ移すことが可能である。従って、Dankrad氏の主張には一理ある。
本稿ではDankrad氏の視点から出発し、Layer2の詳細をさらに分析することで、なぜValidiumが厳密な意味での「Layer2」と見なされないのかを深く理解することを目指す。
そもそもLayer2とはどう定義されるべきか?

ethereum.orgおよび多くのイーサリアムコミュニティメンバーの定義によれば、Layer2とは「イーサリアムのスケーリングを実現し、かつイーサリアムのセキュリティを継承する独立したブロックチェーン」である。まず、「イーサリアムのスケーリング」は、イーサリアムが処理しきれないトラフィックを分散させ、TPSの負荷を軽減することを意味する。「イーサリアムのセキュリティを継承する」というのは、言い換えれば「イーサリアムを利用して自らのセキュリティを確保する」ことである。
例えば、Layer2上のすべてのトランザクション(Tx)はETH上で最終的に決済(Finalize)される必要があり、誤ったデータを持つTxは許可されない。Layer2のブロックをロールバックしたい場合、まずイーサリアムのブロックをロールバックしなければならない。イーサリアムメインネットで51%攻撃のようなブロックロールバックが発生しない限り、L2のブロックもロールバックされない。
Layer2のセキュリティについてさらに深く考察するならば、多くの極端なケースも検討する必要がある。たとえば、L2プロジェクト運営者が逃亡する、シーケンサー(Sequencer)が故障する、オフチェーンDA層がダウンするといった極端な事態が発生したとき、ユーザーは自身のL2上にある資金を安全にL1へ引き出すことができるのか?
Layer2の「強制引き出し」メカニズム
L2コントラクトのアップグレードやマルチシグのリスクなどを考慮しない場合、ArbitrumやStarkExにはユーザー向けの強制引き出し機能が設けられている。仮にL2のシーケンサーが検閲攻撃を行い、ユーザーの取引や引き出し要求を故意に拒否したり、永久にダウンした場合、ArbitrumのユーザーはL1のSequencer InboxコントラクトにあるforceInclusion関数を呼び出して、直接トランザクションデータをL1に提出できる。そして24時間以内にシーケンサーがその「強制包含」を処理しなかった場合、そのトランザクションはRollup台帳のトランザクション列に直接取り込まれることになり、これがL2ユーザーにとっての強制的な引き出しの「安全出口」を提供する。

対照的に、エスケープハッチ(Escape Hatch)機構を持つStarkEx方式はそれ以上の機能を提供している。L2ユーザーがL1に提出したForced Withdrawalリクエストが7日間のウィンドウ期間終了時までにシーケンサーから応答がない場合、ユーザーはfreezeRequest機能を呼び出してL2をフリーズ状態にできる。このとき、L2のシーケンサーはL1上でL2のステートを更新できなくなり、L2のステートは凍結され、1年後にのみ解除される。


L2のステートが凍結された後、ユーザーは現在のステートに関連するMerkle Proofを構築し、L2上にXX量の資金を持っていることを証明して、L1上のエスケープハッチ関連コントラクトを通じて引き出しを行うことができる。これがStarkEx方式が提供する「全額引き出し」サービスである。L2プロジェクト運営者が消えても、シーケンサーが永久に故障しても、ユーザーは資金をL2から撤退させる手段を持っている。
ただし、ここに問題がある。StarkEx方式を採用するL2の多くはValidium(例:Immutable XやApeX)であり、DAに必要なデータをETH上に公開しない。そのため、現在のL2ステートツリーを構成する情報はすべてオフチェーンに保存されている。ユーザーがオフチェーンでMerkle Proofを構築するためのデータを取得できない場合(例えばオフチェーンDA層がデータ隠匿攻撃を仕掛ける)、エスケープハッチを使って引き出すことは不可能である。

以上により、冒頭で触れたDankrad氏がValidiumを安全ではないと考える理由が明確になる:ValidiumはRollupのようにDAデータをオンチェーンに公開しないため、ユーザーは「強制引き出し」に必要なMerkle Proofを構築できない可能性がある。


データ隠匿攻撃発生時のValidiumとPlasmaの違い
実際、ValidiumのシーケンサーはL1上にL2の最新Stateroot(ステートツリーのルート)とValidity Proof(ZK Proof)のみを提出する。このValidity Proofは、新しいStaterootの生成に関わるステート変換(ユーザーの資金変動)がすべて正しいことを証明するものである。


しかしStaterootだけでは現在のステートツリー(world state trie)を再構成できないため、各L2アカウントの具体的な状態(残高など)も分からない。したがってL2ユーザーは、現在の有効なStaterootに対応するMerkle Proofを構築できない。これがValidiumの弱点である。

(Merkle Proofとは、ルート生成に必要なデータ、つまり図中の濃色部分のことである。Staterootに対応するMerkle Proofを構築するには、ステートツリーの構造を知る必要があり、DAデータが必要となる)
ここでDAC(Data Availability Committee)について説明する必要がある。ValidiumにおけるDA関連データ、例えばシーケンサーが最新で処理した一括のトランザクションは、データ可用性委員会DAC(Data Availability Committee)と呼ばれるL2専用のDAネットワークに同期される。DACは複数のノードサーバーで構成され、通常はL2運営チームやコミュニティメンバー、あるいは他の機関が運営・監視を担う(ただし表面的な話であり、実際のDACメンバーが誰かは外部からは確認困難である)。

興味深いことに、ValidiumのDACメンバーは頻繁にL1上でマルチシグを提出する必要がある。これは、L2シーケンサーがL1に提出した新しいStaterootおよびValidity Proofが、DACが同期したDAデータと一致することを証明するものである。DACのマルチシグが提出されて初めて、新しいStaterootとValidity Proofが合法と見なされる。

現在、Immutable XのDACは5/7マルチシグを採用しており、dYdXはZKRollupだがDACを持っており、1/2マルチシグを使用している。(dYdXはL1に完全なトランザクションデータではなくState diff(ステート差分)のみを公開する。しかし過去の履歴からState diffを取得すれば、すべてのL2アドレスの資産残高を再構成でき、結果としてMerkle Proofを構築して全額引き出し可能となる)。

Dankrad氏の指摘は的を射ている。ValidiumのDACメンバーが共謀してデータ隠匿攻撃を仕掛け、他のL2ノードに最新データの同期を拒否し、かつL2の正当なStaterootを更新した場合、ユーザーは現在の有効なrootに対応するMerkle Proofを構築できず、引き出しが不可能になる(その後のDAデータが利用不可であり、利用可能なのは過去のDAデータのみ)。

ただしDankrad氏が考慮しているのは理論上の極端なケースに過ぎず、現実には多くのValidiumシーケンサーが新しく処理したトランザクションデータをリアルタイムで他のL2ノードにブロードキャストしており、誠実なノードも存在する。たった1つの誠実なノードがDAデータを適時に取得できれば、ユーザーはL2から安全に退出できる。
しかし理論上Validiumに存在するこの問題が、なぜPlasmaには存在しないのか? それはPlasmaが正当なStaterootを判定する方法がValidiumとは異なり、詐欺防止証明(Fraud Proof)のウィンドウ期間があるためである。PlasmaはOPRollup以前のL2スケーリング方式であり、OPRと同じく詐欺防止証明によってL2のセキュリティを保証している。
PlasmaもOPRと同様にウィンドウ期間が設定されており、シーケンサーが提出した新しいStaterootは即座に合法とみなされるわけではなく、ウィンドウ期間が終了し、かつL2ノードからの詐欺防止証明が提出されなかった場合に限り合法となる。したがってPlasmaおよびOPRにおける現在の合法Staterootは、数日前に提出されたものである(まるで我々が見る星の光が昔に発せられたものであるように)。そしてユーザーは過去時点のDAデータを取得できることが多い。

また、詐欺防止証明が機能するためには、現在のL2のDAが利用可能である必要がある。つまりPlasmaのVerifierノードが現在のDA関連データを取得でき、必要に応じて詐欺防止証明を生成できる状態でなければならない。
こうなると話は簡単だ。Plasmaが正常に機能する前提は、現在のL2のDAデータが利用可能であること。もし今からL2のDAが利用不能になった場合、ユーザーは安全に引き出しできるのか?
この問いは難しくない。Plasmaのウィンドウ期間が7日だと仮定する。ある時刻T0から新たなDAデータが利用不能になったとする(DACがデータ隠匿攻撃を仕掛け、誠実なL2ノードがT0以降のデータを取得できなくなる)。しかしT0およびその後の一時期の合法Staterootは、T0以前に提出されたものであり、かつT0以前の履歴データは遡及可能であるため、ユーザーはMerkle Proofを構築して強制引き出しが可能である。

多くの人が直ちに異常を察知できなくても、ウィンドウ期間(OPは7日)があるため、T0に提出されたStaterootがまだ合法化されておらず、かつT0以前のDAデータが遡及可能であれば、ユーザーは安全にL2から資金を引き出せる。
まとめ
以上により、ValidiumとPlasmaのセキュリティ面での違いが明確になった:
ValidiumのシーケンサーはStaterootを提出した後、直ちにValidity ProofとDACのマルチシグを提出すれば、それを即座に合法とし、最新の合法Staterootとすることができる。ユーザーと誠実なL2ノードがデータ隠匿攻撃を受け、現在の合法Staterootに対応するMerkle Proofを構築できなければ、L1への引き出しは不可能となる。
一方、Plasmaは新しいStaterootを提出した後、ウィンドウ期間が終了するまで合法とならない。この時点での合法Staterootは過去に提出されたものである。ウィンドウ期間(ARBは3日、OPは7日)があるため、新たに提出されたStaterootのDAデータが利用不能であっても、ユーザーは現在の合法Staterootに対応するDAデータ(合法rootは過去に提出)を保持しており、十分な時間を持ってL1への強制引き出しが可能である。
したがって、Dankrad氏の発言には道理がある。データ隠匿攻撃が発生した場合、Validiumはユーザーの資産をL2に閉じ込める可能性があるが、Plasmaにはこの問題はない。
(下図でDankrad氏が述べている点の一つに誤りがある。Plasmaでは、古くなった合法Staterootに対応するMerkle Proofを使って引き出しを行うことは許容されないはずである。なぜなら、それは二重払いを引き起こす可能性があるため)

したがって、オフチェーンDA層によるデータ隠匿攻撃は多くのセキュリティリスクを生むが、Celestiaはまさにこの問題の解決を目指している。また、多くのLayer2プロジェクトが、L2ノードとシーケンサーをオフチェーンで同期させるサービスポートを提供しているため、Dankrad氏の懸念は理論上のものであり、現実的にはほとんど発生しない。
さらに極端な仮定を立ててみよう。すべてのPlasmaオフチェーンノードが利用不能になった場合、L2ノードを自走させていない一般ユーザーはL1への強制引き出しができなくなる。しかし、このような事象が起こる確率は、パブリックチェーンのすべてのノードが集団で永久にダウンする確率と同等であり、おそらく永遠に起きないだろう。
だからこそ、多くの場合、人々は決して起こらないであろうことを議論しているにすぎない。アメリカドラマ『チェルノブイリ』でKGB副長官が主人公に言った名台詞のように:「なぜ絶対に起こらないことを心配するのか?」


TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














