important update
On July 21, 2021, a consensus issue was identified on the Ropsten network, where Go-ethereum, Erigon, and Nethermind implementations have different transaction validation logic than Besu and OpenEthereum. New versions of the affected clients have been released and are linked in the “Client Versions” table below. London’s block number has not changed and is still 12,965,000. Node operators using affected clients should upgrade to the latest version.
An overview of the problem is provided in the “Ropsten Consensus Problem” section.
London
After success Testnet deployment, the London Upgrade is now ready to go live on the Ethereum mainnet. It’s live on the block. 12 965 000This is expected between 3-5 August 2021.
client version
To be compatible with the London upgrade, node operators will need to update the client version they run. The versions listed below for each client support London on the Ethereum mainnet. This release differs from the previously announced release that supported London on testnet. Older versions do not support London on mainnet.
customer | version number | download link |
---|---|---|
Gothereum(geth) | Download | |
nethermind | Download | |
Erigon (also known as TurboGeth) | Download | |
besut | Download | |
OpenEthereum (fka parity) | v3.3.0-rc.4 | Download |
EthereumJS VM | v5.5.0 | Download |
note:
- For miners: London changes how its network handles target gas limits. See “What to do as a miner?” See the section below for more details.
- Besu version was updated on August 4, 2021. This was due to a non-London related bug affecting the transaction pool. see more here.
- The go-ethereum, Nethermind, and Erigon versions were updated on July 23, 2021. This was due to the Ropsten consensus issue detailed below.
- The OpenEthereum client is deprecated following the London upgrade. The OE team is working with Erigon to ensure a smooth transition path for users. You can find more information here.
London EIP
The London upgrade includes the following EIPs:
Ethereum Cat Herders announced. blog post Review the details of these EIPs.
EIP-1559 is backwards compatible with the current transaction format, but introduces changes to block headers, adds new transaction types, comes with a new JSON RPC endpoint, and supports multiple areas (mining, miners, transaction pools, etc.). We recommend that your project become familiar with the EIP. You can find a more extensive list of resources related to EIP-1559. here.
Bug Bounty Bonus
To bring more attention to the changes to the London Upgrade, all bounties for vulnerabilities related to the London Upgrade will be doubled until the upgrade occurs. Examples of doubly qualified problems include the inter-client consensus problem between Geth, Besu, Nethermind, OpenEthereum, and Erigon clients. For more information about the scope and limitations of bug bounties, see: https://bounty.ethereum.org/#rules.
Ropsten consensus issue
On July 21, 2021, a consensus issue was discovered on the Ropsten testnet. This issue was caused by missing validation for 1559 style transactions in some client implementations. That is, a transaction where the account balance is greater than the effective gas used for that transaction, but less than the balance of that transaction. Maximum fee per gas multiplied by gas price It was incorrectly included in a block.
A full post-mortem on the issue can be found here: eth1.0-specs repository. The affected versions that contain this bug are go-ethereum 1.10.5, Nethermind 1.10.77, and Erigon 2021.07.03-alpha. If you are running one of these versions, update your client to the version listed in the table above.
frequently asked questions
Is there anything I need to do as an Ethereum user or Ethereum holder?
When using an exchange (Coinbase, Kraken, Binance, etc.), a web wallet service (Metamask, MyCrypto, MyEtherWallet, etc.), a mobile wallet service (Coinbase Wallet, Status.im, Trust Wallet, etc.), or a hardware wallet (e.g. Ledger, Trezor) or KeepKey), you don’t need to take any action unless you are instructed to do so by the exchange or wallet service. If you run your own Ethereum node, you will need to upgrade your node. See “What do I do as a non-mining node operator?” section below.
What do I need to do as a non-mining node operator?
Download the latest version of the Ethereum client as listed in the table above.
What should I do as a miner?
First, download the latest version of the Ethereum client listed in the table above. You will then need to manually change your gas limit target to double what it is now. This is because once London becomes active, the block size will double and EIP-1559 will fill the block by about 50%. This can be done via JSON-RPC without a node restart on any client offering mainnet compatible mining.
For example, if you were targeting a block size of 15,000,000 gas before London, you would now need to target a limit of 30,000,000 gas to maintain the same transaction volume per block on average. If the gas limit target is not changed after block 12 965 000, the network’s block size will begin to decrease. The table below provides the specific API calls for each client that should be used to update gas limit targets.
Note: Nethermind, Erigon, and EthereumJS do not yet support mining on the Ethereum mainnet.
What happens if I’m a miner or node operator and don’t participate in the upgrade?
If you are using an Ethereum client that has not been updated to the latest version (listed above), your client will be in sync with the prefork blockchain when the upgrade occurs. Depending on the existing rules, you will be stuck on an incompatible chain and will not be able to send Ether or operate on the Ethereum network after the upgrade.
What is Ethereum Land’s network upgrade?
Network upgrades are changes to the underlying Ethereum protocol to create new rules to improve the system. The decentralized nature of blockchain systems makes network upgrades more difficult. Blockchain network upgrades require collaboration and communication with the community as well as various Ethereum client developers to ensure a smooth transition.
What happens during a network upgrade?
After the community reaches a consensus on what changes should be included in the upgrade, the protocol changes will be recorded in various Ethereum clients such as geth, Erigo, Besu, and Nethermind. Protocol changes are activated at specific block numbers. Any nodes that are not upgraded to the new rule set will be discarded from the old chain where the old rules still exist.
Why “London”?
After Istanbul, there was a lack of names for planned network upgrades. It was suggested to use Devcon city names for the upgrade., and we did! where is london Devcon 1 It happened. followed berlin Devcon 0.
thank you!
A huge thank you to everyone involved in researching, planning, implementing, testing, stopping, fixing, retesting, deploying, stress testing and all other support for the London deployment 😁🇬🇧
Scream Benjamin Davis For the cover image of this post!
disclaimer
This is an emerging, evolving, highly technological space. If you decide to implement the recommendations in this post and remain engaged, you need to understand how this affects you. You should understand that this involves risks, including but not limited to risks such as unexpected bugs. If you choose to implement these recommendations, you solely assume the risk of the results. This post and recommendations are not a sale of any kind, nor do they create any endorsement of any kind, including but not limited to anything related to the Ethereum network or the Ethereum clients mentioned herein.