Replies: 1 comment 1 reply
-
The root issue seems to be the DAL’s forking tendency, so I think maybe we need to investigate why it is more likely to fork after using DAL, could you please provide more data or usecase of To better analyze why the new data availability layer (DAL) causes more forks in Optimism's blockchain, could you provide more details on how or why these forks occur? For example:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Idea
Optimism is working on a way to make transactions cheaper by using a new kind of data storage solution (DAL) that isn’t based on the Ethereum Virtual Machine (EVM). However, this new feature is still being developed, and in our tests, we found that using it can cause the blockchain to split into different versions (called “forks”) more often than when we don’t use it. When we don’t use this new data solution, everything runs smoothly and stably.
To address this issue, we came up with an idea: create a L1 proxy that decides where to send each transaction based on what it does. If a transaction involves moving assets between different blockchains (cross-chain transfer) or updating the main state of the network (state root publishing), we’ll use the main Ethereum network (Layer 1). But if a transaction is about publishing data batches (blobs) collected by a “batcher” (a system that groups transactions together), we’ll use our own private Ethereum network that uses a special QBFT consensus.
We also noticed that the “batcher,” which publishes these grouped transactions, doesn’t directly interact with the “proposer,” who is responsible for suggesting new blocks to add to the blockchain. The batcher publishes transactions, and then these can be checked to figure out the correct version of the blockchain (the “canonical fork”).
Our idea aims to improve the stability and efficiency of the system by smartly choosing the best network for each type of transaction, ensuring everything runs smoothly without unnecessary forks.
Beta Was this translation helpful? Give feedback.
All reactions