Status Quo: L1 (EIP-4844 + ES Contract) + L2 ES Network
L2 ES network watches BLOB events on L1 ES contract and then downloads BLOBs from L1
Pros:
- Synchronous submission without data bridges
Cons:
Solution 2: L1 (EIP-4844) + L2 (ES Contract) + L3 (ES Network)
L2 ES contract will do inclusion EIP-4844 BLOB hash check on recent (8194, ~27 hours < 18 days) L1 blocks in putBlobFromL1()
method
- Optimization: using ZK to compress the proof
L3 ES Network watches BLOB events on L2 ES contract and then downloads BLOBs from L1
Pros:
- Gas saving using L2 to maintain the index of BLOB hash
Cons:
- Asynchronous submission with two transactions
- Need liveness assumption on L2 (Solution: if the L2 clock is too late compared to L1, then such L2 transactions may be invalid)
- Create challenge to ES downloader cache since L2 finalization time can be very long (e.g., including Optimism fraud proof window like 7 days)
Solution 3: L1 + L2 (EIP-4844 + ES Contract) + L3 (ES Network)
L3 ES Network watches BLOB events on L2 ES contract and then download BLOBs from L2
- Need a DA (DP) of L2
- May use Ethereum as L2 EIP-4844
- Sequencer will submit L2 blocks with DA BLOBs to L1 (submit L2 DA BLOBs to L1 DA)
- Maybe similar to L2 calldata with L2 EIP-4444 data expiration
- DAC (Arbitrum Nova/Metis) or DAChallange or ES DAC or bridged from Celestia or EigenDA
- Pros:
- More gas saving that bypass Ethereum DA cost