After the last announcement about Preparing the Dencun Fork, network validators running Geth noticed that nodes had trouble getting block execution rewards when updating to the latest version, 1.13.12.
The backstory
Initially, Geth directly enforced transaction gas prices and tips from Proof of Work in the blockchain's transaction pool. This ensured that transactions with minimum tips were admitted by default. When nodes started mining, operators could choose which transactions to include or not, defaulting to a minimum gas price of 1 Gwei.
However, with the introduction of Proof of Stake, blocks are sometimes produced on demand via the beacon client, meaning that the enforcement of the execution client was no longer triggered and canceled out. As a result, validating Geth nodes began blindly accepting transactions even if they had lower tips and gas prices as defined in their client configurations.
While this is not a big issue in occupied networks with high transaction volumes and gas prices like Ethereum, the misbehavior actively affected less occupied blockchains, like LUKSO, as it was impossible to define custom preferences for unsaturated transaction pools.
The bug was fixed in February this year, enforcing gas prices correctly.
Why does it affect clients on LUKSO?
Within LUKSO's network configuration, the minimum gas price was initially tested and set to 4,2 Gwei. As the network currently only levels off between 0.4 and 2.5 Gwei, the values are so far apart from the minimum gas price that only empty blocks are produced. Consequently, validators running Geth v1.13.12 or above only gain income from the consensus algorithm without additional tips from transaction fees.
What do you have to do?
We have already released the changes to our network configuration, meaning new node installations automatically get the updated default values of 1 Gwei. If you are already running Geth or experiencing further block reward issues, please lower the gas price within your Geth configuration file.
Update April 15th: Due to many nodes still running older clients and the network occupation remaining low, adjusting the minimal gas price between 0.1 and 1 Gwei is recommended to prevent validators from not receiving transaction rewards.
First, stop your node before applying any changes.
The following examples set the gas price to 0.1 Gwei. You can further raise the value to 1 Gwei by adding one zero.
🤹 If you are using Dappnode
Please move into the Lukso Geth Package in the LUKSO Stakers menu. Then, navigate to the Configs window and define the following flag in the EXTRA_OPTS field.
--miner.gasprice 100000000
Optionally, you can navigate into the LUKSO Stakers menu and reinstall the Geth client from scratch. This won't affect validator keys within the Staking Brain.
📟 If you are using the LUKSO CLI
Move into the node working directory and open the Geth configuration:
vim configs/<network>/geth/geth.toml
Update the minimum miner gas price as the following:
GasPrice = 100000000 # 0.1 Gwei
🐳 If you are using a Docker Image
Stop your docker container.
Open the docker-compose.yml file.
Adjust the gas price flag:
--miner.gasprice 100000000
🔧 If you are running a custom setup
Please manually set the minimum gas price to 0.1 Gwei by either:
adjusting the geth configuration file within your container or service
adding the gas price flag to the Geth client
After making the changes, you can restart your validator.
Please note, that the gas price is a local client setting. Validators are free to choose the value that they desire for block approval depending on the current network occupation. If the majority of the network is accepting transactions with a small gas price, overall fees will remain lower. If the gas price is set to high, the validator will end up with proposing empty blocks without transaction fees.