ledgerwatch / erigon-lib

Dependencies of Erigon project, rewritten from scratch and licensed under Apache 2.0
Apache License 2.0
59 stars 85 forks source link

Txpool upgrades for EIP-4844 Blob Transactions #1075

Closed somnathb1 closed 10 months ago

somnathb1 commented 11 months ago

EIP-4844 proposed the new (type-3) Blob Transactions which are expensive (because blobs are big etc.). The tx-pool should be tightened to alleviate spam and dos attacks by way of these new transactions.

Changes

Keep blob txs cached During new block, don't delete mined blobTxs, instead cache it till they are finalized. This is to avoid fetching them again for unwind. During unwind, if it's a previously seen blobTxn, try to fetch it from memory.

Pool config BlobSlots: Similar to AccountSlots - limits how many blobs a single account is allowed to have until it's marked as spamming. Blob txn priceBump: It's an added field in pool config (with a flag). Defaults to 100%, since blob txs of equal fee are costlier to process/execute

somnathb1 commented 10 months ago

Depends on https://github.com/ledgerwatch/interfaces/pull/194

AskAlexSharov commented 10 months ago

please don't merge erigon-lib PR if Erigon's CI is red. see: https://github.com/ledgerwatch/erigon-lib#dev-workflow