Skip to content
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 inbox-as-contract.md #1

Closed
wants to merge 3 commits into from
Closed

Conversation

blockchaindevsh
Copy link
Collaborator

No description provided.


The integration mainly includes two parts:
1. The [`BatchInboxAddress`](https://github.com/ethereum-optimism/optimism/blob/db107794c0b755bc38a8c62f11c49320c95c73db/op-chain-ops/genesis/config.go#L77) is replaced by an inbox contract to check submission conditions.
2. When deriving, op-node should exclude failed batches.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. When deriving, op-node should exclude failed batches.
2. When deriving, op-node should exclude failed batch txs.


## Motivation

Currently the batch inbox is an EOA, this spec aims to allow the batch inbox to be a contract, to enable customized batch submission conditions like:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Currently the batch inbox is an EOA, this spec aims to allow the batch inbox to be a contract, to enable customized batch submission conditions like:
Currently the batch inbox is an EOA. (What are the pros and cons of EOA? How can we solve the cons?). this spec aims to allow the batch inbox to be a contract, to enable customized batch submission conditions like:

## Motivation

Currently the batch inbox is an EOA, this spec aims to allow the batch inbox to be a contract, to enable customized batch submission conditions like:
1. The batch tx must be signed by a quorom of shared sequencers.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. The batch tx must be signed by a quorom of shared sequencers.
- The batch tx must be signed by a quorum of sequencers in a decentralized sequencing network; and/or


Currently the batch inbox is an EOA, this spec aims to allow the batch inbox to be a contract, to enable customized batch submission conditions like:
1. The batch tx must be signed by a quorom of shared sequencers.
2. The batch tx must pay DA fee to EthStorage to enable permanent and decentralized storage.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. The batch tx must pay DA fee to EthStorage to enable permanent and decentralized storage.
- The batch tx must call a BLOB storage contract (e.g., EthStorage) with a DA fee, which is further distributed to data nodes that prove BLOB storage over time.


This specification aims to allow the batch inbox to be a contract, enabling customized batch submission conditions such as:
- Requiring the batch transaction to be signed by a quorum of sequencers in a decentralized sequencing network; or
- Mandating that the batch transaction call a BLOB storage contract (e.g., EthStorage) with a Data Availability (DA) fee, which is then distributed to data nodes that prove BLOB storage over time.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Mandating that the batch transaction call a BLOB storage contract (e.g., EthStorage) with a Data Availability (DA) fee, which is then distributed to data nodes that prove BLOB storage over time.
- Mandating that the batch transaction call a BLOB storage contract (e.g., EthStorage) with a long-term storage fee, which is then distributed to data nodes that prove BLOB storage over time.


The integration process consists of two primary components:
1. Replacement of the [`BatchInboxAddress`](https://github.com/ethereum-optimism/optimism/blob/db107794c0b755bc38a8c62f11c49320c95c73db/op-chain-ops/genesis/config.go#L77) with an inbox contract: The existing `BatchInboxAddress`, which currently points to an Externally Owned Account (EOA), will be replaced by a smart contract. This new inbox contract will be responsible for verifying and enforcing batch submission conditions.
2. Modification of the op-node derivation process: The op-node will be updated to exclude failed batch transactions during the derivation process. This change ensures that only successfully executed batch transactions are processed and included in the derived state..
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Modification of the op-node derivation process: The op-node will be updated to exclude failed batch transactions during the derivation process. This change ensures that only successfully executed batch transactions are processed and included in the derived state..
2. Modification of the op-node derivation process: The op-node will be updated to exclude failed batch transactions during the derivation process. This change ensures that only successfully executed batch transactions are processed and included in the derived state.

@blockchaindevsh
Copy link
Collaborator Author

Close since the final version is on branch feature/inbox_contract.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants