ethereum-optimism / design-docs

MIT License
27 stars 20 forks source link

feat: txpool service #7

Closed tynes closed 5 months ago

tynes commented 6 months ago

Description

Adds a design doc for the txpool-service, which can be used to horizontally scale denial of service protection in the world of interop and beyond.

tynes commented 6 months ago

This needs an architecture diagram, but the tldr is:

hamdiallam commented 6 months ago

for the design-doc of sendRawTransactionConditional, should we replace the proxy described with op-txpool? We can iterate on a single rpc server and consolidate early or we can start separately if it gets us to our goals faster

tynes commented 5 months ago

New Proposal

Based on convo with @axelKingsley and @protolambda

Instead of adding a completely new service to act as a transaction ingress, simply add execution and an op-supervisor client to a full node's mempool. This feature can be opt in, meaning that not all nodes need to do this, but nodes that sit in front of the sequencing node will need to have this feature on to filter out invalid transactions before forwarding them to the sequencer. Ultimately, the sequencer should also double check executing messages when building the block itself due to the lack of strong consistency with the check at the periphery and the downside of including a an invalid executing message resulting in an invalid block.

This cuts scope and simplifies the architecture. We shouldn't attempt to optimize here yet.

Drawing 2

tynes commented 5 months ago

Closing this in favor of the solution defined in https://github.com/ethereum-optimism/optimism/issues/10956