-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add l2_blob_tx.md #2
base: main
Are you sure you want to change the base?
Conversation
specs/experimental/l2_blob_tx.md
Outdated
|
||
## Motivation | ||
|
||
To make it seamless for dapps that's depending on blob transaction to migrate from L1 to L2, it's important that L2 also supports blob transaction. This will also make L3 more uniform since they can also use blob transaction for batch submitting, just like L2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The objective of the proposal is to add BLOB tx support to OP Stack. Describe blob-based txs (examples) that are becoming popular on L1. But L1 is expensive, so it is important to support them in OP Stack to minimize migration cost.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By default, all BLOB and calldata will use L1 as DA, but we may further explain the proposal can enable hybrid (forget the exact) DA so that
- High-value applications can use L2 calldata and L1 as DA;
- Low-value applications can use L2 BLOB and DAC/Plasma as DA.
specs/experimental/l2_blob_tx.md
Outdated
|
||
## How It Works | ||
|
||
The changes include two parts: optimism and op-geth. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes include two parts: one part in optimism
repo and the other part in op-geth
repo.
specs/experimental/l2_blob_tx.md
Outdated
|
||
The changes include two parts: optimism and op-geth. | ||
|
||
The optimism part mainly includes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The optimism part mainly includes: | |
The `optimism` part mainly includes: |
specs/experimental/l2_blob_tx.md
Outdated
The changes include two parts: optimism and op-geth. | ||
|
||
The optimism part mainly includes: | ||
1. Add `L2BlobConfig` field to `rollup.Config` so that if configured, L2 blob tx will be supported and optionally the blob can be stored to a [DA provider](https://github.com/ethstorage/da-server) by sequencer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. Add `L2BlobConfig` field to `rollup.Config` so that if configured, L2 blob tx will be supported and optionally the blob can be stored to a [DA provider](https://github.com/ethstorage/da-server) by sequencer. | |
1. Add `L2BlobConfig` field to `rollup.Config` so that if configured, L2 blob tx will be supported and optionally the blob can be stored to a [DA provider](https://github.com/ethstorage/da-server) by the sequencer. |
specs/experimental/l2_blob_tx.md
Outdated
|
||
The optimism part mainly includes: | ||
1. Add `L2BlobConfig` field to `rollup.Config` so that if configured, L2 blob tx will be supported and optionally the blob can be stored to a [DA provider](https://github.com/ethstorage/da-server) by sequencer. | ||
1. There're a bunch of workarounds to make L2 blob tx work for op stack: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. There're a bunch of workarounds to make L2 blob tx work for op stack: | |
1. There're a bunch of changes to make L2 blob tx work for OP Stack: |
specs/experimental/l2_blob_tx.md
Outdated
|
||
## Motivation | ||
|
||
The proposal aims to integrate BLOB transaction support into the OP Stack. BLOB transactions are gaining popularity on Layer 1 (L1), with applications including BLOB inscriptions, Rollups (as an optional feature), and EthStorage. However, given the high costs associated with L1, it is crucial to implement BLOB transaction support in the OP Stack. This implementation would significantly reduce migration costs for projects and users looking to leverage BLOB transactions in a more cost-effective environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposal aims to integrate BLOB transaction support into the OP Stack. BLOB transactions are gaining popularity on Layer 1 (L1), with applications including BLOB inscriptions, Rollups (as an optional feature), and EthStorage. However, given the high costs associated with L1, it is crucial to implement BLOB transaction support in the OP Stack. This implementation would significantly reduce migration costs for projects and users looking to leverage BLOB transactions in a more cost-effective environment. | |
The proposal aims to integrate BLOB transaction support into the OP Stack. BLOB transactions are gaining popularity on Layer 1 (L1), with applications including BLOB inscriptions, Rollups (as an optional feature), and EthStorage. However, none of the L2s (including OP Stack) supports BLOB transactions, resulting in high migration costs for these projects. To harvest the reduced gas costs of L2s with minimized migration costs of applications using BLOB transactions, it is of great value in OP Stack to support L2 BLOB transactions. | |
To further reduce the DA cost of L2 BLOB transactions of OP Stack, the proposal offers a hybrid DA solution, where the L2 BLOBs may use a different DA (e.g., DA committee or DA challenge) as that of L2 calldata (generally L1 DA). This better serves the applications with demands on different data values with lower costs: | |
- For transactions with high-value data (e.g., swap in Uniswap), the users can use non-BLOB L2 transactions. | |
- For transactions with low-value data (e.g., NFT images/inscriptions), the users can use BLOB L2 transactions at a lower cost. |
## Motivation | ||
|
||
The proposal aims to integrate BLOB transaction support into the OP Stack. BLOB transactions are gaining popularity on Layer 1 (L1), with applications including BLOB inscriptions, Rollups (as an optional feature), and EthStorage. However, given the high costs associated with L1, it is crucial to implement BLOB transaction support in the OP Stack. This implementation would significantly reduce migration costs for projects and users looking to leverage BLOB transactions in a more cost-effective environment. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overview of Implementation
Derivation
Depending on L2 BLOB DA configuration:
- Sequencer-self-hosted: Skip actual L2 BLOB data during derivation
- DAC: Verify the DAC signatures during derivation
- L1 DA: Decode and verify L2 BLOB from L1 BLOB during derivation
- DA challenge (Plasma): Check L1 challenge contract to see if a BLOB is challenged during derivation
BLOB Gas Cost
What is the formula of L2 BLOB gas cost?
BLOB P2P Network
Compared to L1 BLOB processing in P2P network, what we have done?
Other Minor Changes
...
|
||
## Motivation | ||
|
||
The proposal aims to integrate BLOB transaction support into the OP Stack. BLOB transactions are gaining popularity on Layer 1 (L1), with applications including BLOB inscriptions, Rollups (as an optional feature), and EthStorage. However, none of the L2s (including OP Stack) supports BLOB transactions, resulting in high migration costs for these projects. To harvest the reduced gas costs of L2s with minimized migration costs of applications using BLOB transactions, it is of great value in OP Stack to support L2 BLOB transactions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can there be more specific projects or user scenarios here? Why does L2 support Blob transactions? This motivation does not seem to be a high demand.
The proposal aims to integrate BLOB transaction support into the OP Stack. BLOB transactions are gaining popularity on Layer 1 (L1), with applications including BLOB inscriptions, Rollups (as an optional feature), and EthStorage. However, none of the L2s (including OP Stack) supports BLOB transactions, resulting in high migration costs for these projects. To harvest the reduced gas costs of L2s with minimized migration costs of applications using BLOB transactions, it is of great value in OP Stack to support L2 BLOB transactions. | ||
|
||
To further reduce the DA cost of L2 BLOB transactions of OP Stack, the proposal offers a hybrid DA solution, where the L2 BLOBs may use a different DA (e.g., DA committee or DA challenge) as that of L2 calldata (generally L1 DA). This better serves the applications with demands on different data values with lower costs: | ||
- For transactions with high-value data (e.g., swap in Uniswap), the users can use non-BLOB L2 transactions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If user use non-BLOB L2 transactions, how it can be the option of To further reduce the DA cost of L2 BLOB transactions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I understand it, the proposal suggests using an alternative data availability (DA) solution for L2 BLOB transactions instead of Ethereum’s native DA to further reduce the cost of these transactions.
No description provided.