1 of 51

Data AvaliabilityとEIP4844

やさしいDeFi 2024/3/13

2 of 51

はじめに (注意事項)

🏦 Not Financial Advice

やさしいDeFiでは、みんなで仕組みを理解することを目的に開催しています。暗号資産はハイリスクです。やさしいDeFiでは展望を考えることもありますが、投資は一切推奨しません。自己責任でお願いします。�

📚 DYOR (Do Your Own Research)

詐欺や欺瞞に満ちた世界です。他人を闇雲に信用せず、自分で学んで考える姿勢を失わずに向き合いましょう。利用で資金を失うことも珍しくありません。(我々も誤った理解をしてしまっていることも多々あります。詳しい方ぜひコメントしていただけると嬉しいです!)

3 of 51

今回の内容

  • 復習
    • Scalingとは?
    • Rollupとは? (ORU, zkRU)
  • Data Availability
    • 概念
  • EIP4844の話
    • 仕組み、仕様
    • 効果推定
  • Data Availabilityとセキュリティー
  • 今後の開発 (Shardingではなく、DankShardingとData Avaliability Sampling)

4 of 51

冬眠してました。

5 of 51

今日やること

  • Rollupの仕組みとか大事な部分について復習(確認)�
  • EIP4844, proto-dankshardingの仕組みなどを確認する�
  • その疑問点を解決していく�
  • 23時ごろのDencunハードフォーク完了(blobのメインネット降臨)を見届けてお祝いする

6 of 51

復習

7 of 51

その前に: scalabilityとは③

Ethereumコミュニティで大流行するL2(Rollup)のアプローチ�L1ブロックチェーンの「使い方」を変える。全部L1で計算するのでなく、大部分をL2(オフチェーン)で実行させ、L1はL2がルールに従ってるかどうかの�「裁判」や「検証」に集中する。L1で全部計算するより圧倒的コスト安。

on-chain

off

chain

採点(裁判/検証)�するだけ。楽。

on-chain

L1で計算は

しんどい。

8 of 51

Rollupの仕組み

  • Rollupの3つの特徴 (どうやってL1のセキュリティーを確保したままスケーリングするのか)
    • L1では”基本”txの実行を行わず、メインチェーン以外で行う
    • L2のtxデータ/その証明はL1にある (Validium/Plasmaはない)
    • L1でいざとなったら上記のデータを使うことで、正しい結果が得られる(= セキュリティがL1と同等 ※ORUはfraud proof不可欠だが
  • Optimistic Rollupは、「基本正しいとして受け入れる。ChallengeがあったらL1で実行して確かめる」Fraud Proof方式 。
  • zkRollupは「正しいという証明をSNARK/STARKなどで作る」方式

9 of 51

Optimistic Rollup(Optimism, Arbitrumなど) の場合:

challenge された疑わしいトランザクションがあれば、Ethereum L1にてもう一度実行され、真偽を確かめる。

Block 1

B2

B3

B4

Ethereum

Rollup

State 1

TX

TX

TX

S2

S4

S3

Rolled up

Rolled up

Rolled up

B5

B6

B7

TX

TX

S5

S6

Rolled up

Rolled up

Rolled up

S7

txn of S4

L1の審判

10 of 51

Fraud Proof する人 = Verifier, validator

RU上のトランザクションを処理してL1に提出する人たち(OptimismならOptimismチーム、ArbitrumならArbitrumチーム等)が不正なtxnを書いてないか監視する人たち。今はホワイトリスト形式?

Block 1

B2

B3

B4

Ethereum

Rollup

State 1

TX

TX

TX

S2

S4

S3

Rolled up

Rolled up

Rolled up

Prove Fraud!!

Verifier

11 of 51

zkRollup(zksync era, StarkNetなど)の場合:

Rollupの時点で「このtxnたちは正しい」ことの証明(ZKP)を作ってしまう。L1的には、いちいちtxnたちの詳細を見ずに証明を読むだけでいい。正しいなら後はどうでもいいし、中身を実行しない(=ゼロ知識の検証のみ)でOKだからL1は楽になる。

これだけ読めばいい

Block 1

B2

B3

B4

Ethereum

Rollup

State 1

TX

TX

TX

S2

S4

S3

Rolled up

Rolled up

Rolled up

zkp

S

12 of 51

朗報: zkEVMでけたで

ORUはめちゃ便利だけど、Fraud proofできなかったらTVL(Rollupにある全員のお金)全部パクられる可能性があったり、選択肢がこれだけだとちょと物足りない感じもあった。

でもとうとうzkEVMが開発されて、zkRUでもどんどんDeFiアプリケーションが開発されるような素地ができてユーザーとしてはORUとzkRUの両輪で運用できるようになりそうでだいぶハッピーな感じが出てきた

13 of 51

まだ Optimism は Fraud Proof なし

Fraud proofはありますか..。

うちイケイケのORUだし、zkとかArbよりこっちで大金ぶん回してね。資金抜いたらエアドロないから。

Fraud ProofなしのOptimisitic Rollupとしてもう2年は食ってるけど

すごい...�(いろんな意味で)

14 of 51

Optimistic rollups

ZK rollups

セキュリティ根拠

Fraud Proofを誰かがやる

ZKPで安全性を保証�(Rely on math, not validators)

Rollupから引き出しにかかる時間

~1週間�(FPするのに十分な期間)

Batchごと(5~10min)�(ブロックがfullになるまで待つ)

技術的難易度

そこまで

高い

L1からの移行/開発コスト

ほぼない(EVMが動く)

ほぼない場合が多い (zkEVM開発でけた)

L2での1txあたりgas cost�(L2ユーザー負担分)

ちょと高い

もうちょと高い(zkEVMは高い傾向)

オフチェーンでの計算コスト

低い(通常のノードでOK)

高い(証明作るためハイスペPCをぶん回す必要あり)

L1での最低1BatchごとのGas�(Rollupオペレーター負担分)

40,000~(情報を書き込むだけ)

500,000~ (zkpの検証を行うので)

https://vitalik.ca/general/2021/01/05/rollup.html

15 of 51

Data Avaliability

16 of 51

Data Availability(DA)とは

これまでの取引が正しいのかを検証するのに必要なデータの取得が、必要な時にいつでも、誰の許可もなしに」に取得できること

17 of 51

Data Availability(DA)とは

  • EthereumなどのLayer 1 Blockchainの場合: “無限” にあるフルノードたちのうち一台でも善意のノードがあれば情報を提供してくれる。
    • フルノードを走らせるハードルは低い
    • これまでの全履歴を保有しているのがフルノード。これを全員が保有している
    • ユーザーの残高が急に無くなったりしないのはこの高いDAのお陰。セキュリティ根拠の1つ

これまでの取引が正しいのかを検証するのに必要なデータの取得が、必要な時にいつでも、誰の許可もなしに」に取得できること

Ethereum

無限のノード

high DA

どすこぉい

18 of 51

Data Availability(DA)とは

これまでの取引が正しいのかを検証するのに必要なデータの取得が、必要な時にいつでも、誰の許可もなしに」に取得できること

  • 今のRollupとかの場合
    • Rollupで起きた取引が全てEthereumに書き込まれる
    • Ethereumのノードを走らせている人たちが、このRollupで起きた取引のデータも持っていることになる。= 「RollupのDAレベルがEthereumと同等」。完全勝利

Ethereum

Rollup

じゃRollupの記録も全部Ethereumに書き込めば完全勝利では!?

イサリアム!イサリアム!

19 of 51

RollupのData Availabilityが低かったら

  • Data Availabilityという概念が生まれたのは、Plasmaの議論がもと�
    • ブロックを作る人(Operator)が不正txを含むブロックを作成し、Root Chainにmarkle rootをcommitしたので、ユーザーはFraud Proofをし資産を保護したい。��そのために必要なデータを取得したいが、Operatorはそれを渡さないのでFraud Proofができない→Data Availabilityがない�
      • また場合によってはブロック情報すら渡さないので不正があったことすら検知できない。��やっぱりデータはEthereumに置いとくのが一番安心ではある

20 of 51

EIP4844

21 of 51

今までの問題点

  • これまでは、RollupはTxのCalldataという領域にRollupで起きた取引の情報を書き込んでいた。しかしこれは結局いつものカスみたいなガス戦争に巻き込まれて書き込みコストがめっちゃ高くなっていた。Rollupプラットフォーム側のコストがかかるから、ユーザーにコストが跳ね返ってきて正直安さ的には期待外れな感じになっていた

うわ書き込むのたかぁ

Rollupの記録をEthereumに書き込むの思ったよりめっちゃ高いわ。やっぱユーザーもガス代としていっぱい負担してもらうから。それでもL1より安いから文句ないでしょ

はぁ?

Ethereum

Rollup

22 of 51

今までの問題点

  • これまでは、RollupはTxのCalldataという領域にRollupで起きた取引の情報を書き込んでいた。しかしこれは結局いつものカスみたいなガス戦争に巻き込まれて書き込みコストがめっちゃ高くなっていた。Rollupプラットフォーム側のコストがかかるから、ユーザーにコストが跳ね返ってきて正直安さ的には期待外れな感じになっていた

うわ書き込むのたかぁ

Rollupの記録をEthereumに書き込むの思ったよりめっちゃ高いわ。やっぱユーザーもガス代としていっぱい負担してもらうから。それでもL1より安いから文句ないでしょ

はぁ?

Ethereum

Rollup

Ethereumノード的な観点では

  • しかもEthereumに書き込んだRollupの記録は永続的なデータとなり、残り続けるからEthereumノード的にも負担があった。�
  • 例えばOptimistic Rollupならチェーンの一番初めから今まで、全部履歴が残っていることになる。��でも正直、Fraud Proofに必要な期間だけあればいいし、大半のノードには無駄なコストじゃない?という疑問があった

23 of 51

EIP4844 (Proto-Danksharding)とは

Blobという一時的にしかデータ保管義務がない、�データ保存のためのトランザクション形式を用意

Ethereum

Rollup

  • Rollupに最適なデータ保存形式/領域をEthereumに新設してあげて、いつものガス戦争から逃がす。Rollupでユーザーが払う手数料の原価として大部分を占めるL1書き込みガス代を大幅削減する
  • BlockGasLimitの変更には繋がらないので、ノードの負担(集権性)はそんなに増加しない。
  • これはDankshardingの前段階 (後に解説)

calldataやめて

blobにしよ

24 of 51

EIP4844 (Proto-Danksharding)とは

  • Blobとは: 128kbのデータの塊
    • 128kbに満たなくても、手数料を計算する時は1blobとして扱う (つまり限界まで詰めた方が定額なので得)
    • Blob txという新たな形式にてCommitすることができる
    • Blob txにはKZG Commitmentなどのみが記載され、Blob dataの中身についてはExecution Layerには刻まれない

注意: これはDankshardingの図です

25 of 51

EIP4844 (Proto-Danksharding)とは

  • Blobには1ブロックあたりの上限とTargetが存在。Gas代はEIP1559のように決定される。
    • 最初のTargetは3個、Maxは6個
  • Gas代については、通常のTxのFee Marketとは全く別
    • Gas代の決定方法は、EIP1559と全く同様
    • (Burn量がもっと増える?というわけではなさそう。市場動向によります)
  • Blobの方におけるGas量及びGas代と、これまでのExecution Layerの方のGas量とGas代は全く別物であり別市場
  • BlobはExecution Layerから内容についてはアクセスできない。基本的にConsensus Layerにて4096Epoch (=約18日間 ) 保管される。 (保管義務がある)
  • 保管義務がなくなった後は、任意で破棄することが可能。ただし次のスライドで説明するKZG Commitmentだけは残る。

26 of 51

EIP4844 (Proto-Danksharding)とは

  • Execution LayerからはBlobデータの中身にはアクセスできないが、KZG Commitmentにはアクセスできる。
    • KZG Commitmentとは、(仕組みの説明をショートカットすると) その時にそのデータが存在したことを証明するもの。後から検証することも可能�(おすすめ解説: https://scroll.io/blog/kzg )
    • Data Avaliability Samplingとの後方互換性を確保するため
  • 保管義務がある期間でノードが保管しなくてはいけない容量は�128kb * 3 * 32 * 4096 ≒ 48GB とそこまで負荷ではない
  • 大体1年間で全部保管するとしたら、48*20 = 1TB程度。Execution LayerじゃないのでディスクI/O条件も低いことを加味するとかなり安い (HDDで良いはずなので。)

27 of 51

4844 Before After

Before 4844

block space(Calldata)

After 4844

blob space

Dataにアクセスできる人

全ノード

全ノード

データの保管義務のある期間

ずっと

18日間

データの存在証明方法

証明の必要性なし

KZG

過去のデータをずっと�保管している人

全ノード

任意で保管している人たち (Infura, Etherscan, 暇人etc.)

EVMと通信できるか

できる

できない

料金の計算方法

いつものオークション�高い (札束戦争)

blob オークション

安い

28 of 51

EIP4844 (Proto-Danksharding)を見てみる

29 of 51

EIP4844 (Proto-Danksharding)を見てみる

30 of 51

EIP4844 (Proto-Danksharding)を見てみる

31 of 51

EIP4844 (Proto-Danksharding)を見てみる

32 of 51

EIP4844 (Proto-Danksharding)を見てみる

33 of 51

4844でどれくらい安くなるのか

2年ちょっと前のdYdXの人のツイート(Cosmosに行った)

“L1 Ethereumにrolling upするのはめちゃくちゃ高いんだよね。rollupのトランザクションをEthereumに書き込むのに、数千万ドルかかるんだけど。 ”

34 of 51

EIP4844でどれくらい安くなるのか?(業者目線)

  • Blob tx価格は既存の取引のGas価格と独立して動くため、実際は需給によって決定される。
  • Rollupの需要でBlob Spaceを埋め尽くすまでは、かなり安くなる
  • 現在ある主要Rollupが全てEIP4844を採用した場合、今のBlobが捌ける量のうちおよそ22%を占める計算と余裕がある (https://dune.com/oplabspbc/l1-da-usage-by-rollups-eip4844 )

35 of 51

EIP4844でどれくらい安くなるのか?(ユーザー目線)

  • Rollupの取引手数料 は「Calldataやblobなどの保存にかかる原価 + Sequencerが欲しい利益」によって決まる
    • つまりはSequencerが自由に決めれる。例えば同じOP Stackを使っていても、OptimismよりBaseの方が現状高めに設定されている。
  • Blob 形式の方が混雑してきたら手数料は市場の需給によって結構変わるが、最初の方はBlobに対する需要は少ないのでだいぶお安いはず。
    • 現在のRollupたちが全移動しても余裕のキャパシティーがある。
    • 一応理論的にはCalldataの方がblobよりも安くなるということもありえるが、そうすればRollupはCalldata形式で保存することも理論上できる。
  • 1/10とか1/100になるとかいろいろ言われているが、実際のところまあ1/50程度にはなるのではないか
  • https://welovetheblobs.xyz/ OP Labの中の人が作ったシュミレーションサイト

36 of 51

EIP4844でセキュリティーは下がるの?

「Rollupのセキュリティ

イコール....

Ethereumのセキュリティ」

37 of 51

EIP4844でセキュリティーは下がるの?

  • Rollupの過去の全データを保存している人たちが、「Ethereumのノードを走らせている人たち」から「全Blobデータを保管している人たち」になった
    • イメージ数千〜1万台から、数百台~1000台になった
    • とはいえ、そこまで超負担になるわけではないので、一般のご家庭(?)にいるソロノーダー、取引所、Rollupのノード立てている人、InfuraやThe Graph、EtherscanなどのBaaS系サービスなどは保管する(はず)。
    • 誰か善意のノードが最低1台いれば大丈夫 (1 of N)
    • また渡されたBlobが改竄されたものであるかどうかは、KZG Commitmentが残っているから、例え18日を過ぎたものであろうとも検証が可能

38 of 51

Wen EIP4844

  • EIP4844に対応するDencun Hardforkは、このやさしいDeFiの放送中に!�みんなで見守りましょう

Rollupが対応するかは、各チェーンのSequencerやソフトウェアがいつ対応するかにかかっています。(Dencun実装されたから全部が即対応というわけではない。)

  • Arbitrum: ソフトの有効化は翌朝 Arbitrumでの有効化は3/18?
  • Optimism: 当日?
  • StarkNet: 当日?

39 of 51

今後の開発 (DankShardingとData Avaliability Sampling)

40 of 51

現在のRoadmap (2024年版)

41 of 51

現在のRoadmap (2024年版)

42 of 51

前まで (~2020あたり) との違い

  • これまでの64個のShard ChainがあるShardingの話は立ち消えになった
    • dankshardingには一部受け継がれている。
    • Rollup-Centric Ethereumへの転換 (2020/10)
  • 今現在は
    • Proto-Dankshardingの実装ののち、Dankshardingの実装に取り掛かる流れ

43 of 51

DankSharding

  • 参加しているValidatorたちは、Blobを全部検証するのではなく、Data Availability Samplingを利用することで、検証コストを低く保つことにする
    • DASとは一部分だけをランダムに検証することで、確率的にほぼその人がデータを保持しているかつ正しいということを証明する手法
    • データを全部ダウンロードしなくても、大丈夫
  • Block ProposerはBlobの検証をする必要があるが、要件が大きくなるのでPBS (Block BuilderとProposerの分離) が必須
  • これで大量のBlobを扱っても大丈夫なようになる。
    • Blob Maxを128、Targetを64とかにする世界線
  • Data Shardingとは違う手法ではあるが、同様の効果を生み出すことができる�(安全に超スケールするDA Layer)

44 of 51

DAS

45 of 51

Wen EIP4844

  • EIP4844に対応するDencun Hardforkは、このやさしいDeFiの放送中に!�みんなで見守りましょう

Rollupが対応するかは、各チェーンのSequencerやソフトウェアがいつ対応するかにかかっています。(Dencun実装されたから全部が即対応というわけではない。)

  • Arbitrum: ソフトの有効化は翌朝 Arbitrumでの有効化は3/18?
  • Optimism: 当日?
  • StarkNet: 当日?

46 of 51

外部Data Availabilityと

セキュリティー

47 of 51

Ethereum以外をDAとするRollup (Validium)

  • DAを確保するためのDA Layerというのに色々なパターンが出てきています
    • DA Committe
      • Arbitrum Nova/Anytrust : https://arbitrum.io/anytrust
        • いい感じの大企業たちがデータを保管する
    • EigenDA
      • EigenLayerのActive Validator Setsの活用事例
    • Celestia
      • DA専用に設計されたチェーン。DACをみんなでやる�イメージ
  • (流石に全部ちゃんと解説していると、4時間コースになるので割愛)
  • 某NearさんもDAにピボットしていましたね

48 of 51

Ethereum以外をDAとする場合のSecurity

Optimism�(Optimistic Rollup)

Manta Rollup (Validium)

Celestia Rollup (仮)

DA Layer

Ethereum

Celestia

Celestia

Settlement Layer

Ethereum

Ethereum

Celestia

FPに必要なデータの確保方法

Ethereumのノードに問い合わせor自分で保管

Celestiaのノードに問い合わせor自分で保管

Celestiaのノードに問い合わせor自分で保管

Security Assumption

Ethereumが正常稼働すること�+ EthereumのBlob保管者が1ofNで善良�+ 不正がないか監視するノードが1ofN

Ethereumが正常稼働すること�+ CelestiaのDA保管担当者が1ofNで善良�+ 不正がないか監視するノードが1ofN

Celestiaが正常稼働すること�+ CelestiaのDA保管担当者が1ofNで善良�+ 不正がないか監視するノードが1ofN

※不正がないか監視するノードが1ofNは、zkの場合不要

49 of 51

Ethereum以外をDAとする場合のSecurity

  • 一応Ethereumが正常稼働している + DAが自分で保管するなどで確保できるのであればFraud Proofは行うことができる。
  • SequencerがDataを公開しなかった場合、公開してないと異議申し立てするには?
    • 該当rootのDAS (後述)リクエストを送り、それができなかったらSlash?

考えるべきは、「必要な時にFraud Proofに必要なデータ」を今後きちんと提供してくれるか?

  1. ネットワークが参加者のノード全部が落ちて応答できない
  2. 経済的インセンティブ的に応答しない方が有利 (もし少数しか持ってなくて、保有者全員に賄賂送って黙っててもらうとか)
  3. そもそもサービス終了して応答しない

50 of 51

参考文献

51 of 51

参考文献