From 3c6e5b927cec2673ab633716310fa0fba2f838d2 Mon Sep 17 00:00:00 2001 From: Ali3219 <72197134+Ali3219@users.noreply.github.com> Date: Mon, 14 Oct 2024 18:07:19 +0330 Subject: [PATCH] Revert "miner: limit block size to eth protocol msg size (#2696)" This reverts commit a28262b3ecefd12909538795cf8f5b0a5dd476a2. --- eth/protocols/eth/protocol.go | 3 +-- miner/bid_simulator.go | 9 --------- miner/worker.go | 19 ------------------- params/protocol_params.go | 2 -- 4 files changed, 1 insertion(+), 32 deletions(-) diff --git a/eth/protocols/eth/protocol.go b/eth/protocols/eth/protocol.go index 46bc97fbb8..d1e07df25c 100644 --- a/eth/protocols/eth/protocol.go +++ b/eth/protocols/eth/protocol.go @@ -25,7 +25,6 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/forkid" "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/rlp" ) @@ -47,7 +46,7 @@ var ProtocolVersions = []uint{ETH68} var protocolLengths = map[uint]uint64{ETH68: 17} // maxMessageSize is the maximum cap on the size of a protocol message. -var maxMessageSize = params.MaxMessageSize +const maxMessageSize = 10 * 1024 * 1024 const ( StatusMsg = 0x00 diff --git a/miner/bid_simulator.go b/miner/bid_simulator.go index 498f1ec2b2..f96d3c1a8a 100644 --- a/miner/bid_simulator.go +++ b/miner/bid_simulator.go @@ -692,14 +692,6 @@ func (b *bidSimulator) simBid(interruptCh chan int32, bidRuntime *BidRuntime) { return } - // check bid size - if bidRuntime.env.size+blockReserveSize > params.MaxMessageSize { - log.Error("BidSimulator: failed to check bid size", "builder", bidRuntime.bid.Builder, - "bidHash", bidRuntime.bid.Hash(), "env.size", bidRuntime.env.size) - err = errors.New("invalid bid size") - return - } - bestBid := b.GetBestBid(parentHash) if bestBid == nil { log.Info("[BID RESULT]", "win", "true[first]", "builder", bidRuntime.bid.Builder, "hash", bidRuntime.bid.Hash().TerminalString()) @@ -866,7 +858,6 @@ func (r *BidRuntime) commitTransaction(chain *core.BlockChain, chainConfig *para } r.env.tcount++ - r.env.size += uint32(tx.Size()) return nil } diff --git a/miner/worker.go b/miner/worker.go index 8513b6a9b6..8f09819d7d 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -70,12 +70,6 @@ const ( // the default to wait for the mev miner to finish waitMEVMinerEndTimeLimit = 50 * time.Millisecond - - // Reserve block size for the following 3 components: - // a. System transactions at the end of the block - // b. Seal in the block header - // c. Overhead from RLP encoding - blockReserveSize = 100 * 1024 ) var ( @@ -95,7 +89,6 @@ type environment struct { signer types.Signer state *state.StateDB // apply state changes here tcount int // tx count in cycle - size uint32 // almost accurate block size, gasPool *core.GasPool // available gas used to pack transactions coinbase common.Address @@ -112,7 +105,6 @@ func (env *environment) copy() *environment { signer: env.signer, state: env.state.Copy(), tcount: env.tcount, - size: env.size, coinbase: env.coinbase, header: types.CopyHeader(env.header), receipts: copyReceipts(env.receipts), @@ -903,13 +895,6 @@ LOOP: txs.Pop() continue } - // If we don't have enough size left for the next transaction, skip it. - if env.size+uint32(tx.Size())+blockReserveSize > params.MaxMessageSize { - log.Trace("Not enough size left for transaction", "hash", ltx.Hash, - "env.size", env.size, "needed", uint32(tx.Size())) - txs.Pop() - continue - } // Error may be ignored here. The error has already been checked // during transaction acceptance is the transaction pool. from, _ := types.Sender(env.signer, tx) @@ -935,7 +920,6 @@ LOOP: // Everything ok, collect the logs and shift in the next transaction from the same account coalescedLogs = append(coalescedLogs, logs...) env.tcount++ - env.size += uint32(tx.Size()) // size of BlobTxSidecar included txs.Shift() default: @@ -1071,9 +1055,6 @@ func (w *worker) prepareWork(genParams *generateParams) (*environment, error) { vmenv := vm.NewEVM(context, vm.TxContext{}, env.state, w.chainConfig, vm.Config{}) core.ProcessBeaconBlockRoot(*header.ParentBeaconRoot, vmenv, env.state) } - - env.size = uint32(env.header.Size()) - return env, nil } diff --git a/params/protocol_params.go b/params/protocol_params.go index a032f2759e..65b2d942c1 100644 --- a/params/protocol_params.go +++ b/params/protocol_params.go @@ -29,8 +29,6 @@ const ( GenesisGasLimit uint64 = 4712388 // Gas limit of the Genesis block. PayBidTxGasLimit uint64 = 25000 // Gas limit of the PayBidTx in the types.BidArgs. - MaxMessageSize uint32 = 10 * 1024 * 1024 // MaxMessageSize is the maximum cap on the size of a eth protocol message. - MaximumExtraDataSize uint64 = 32 // Maximum size extra data may be after Genesis. ForkIDSize uint64 = 4 // The length of fork id ExpByteGas uint64 = 10 // Times ceil(log256(exponent)) for the EXP instruction.