SHANGHAI UPDATE
Updated: Jun 8
-Testing (FIVE-LAYER RASHOMON)
-Timeline


SHANDONG TESTNET -> WITHDRAWAL DEVNET -> WITHDRAWAL MAINNET SHADOWFORK -> ZHEJIANG TESTNET -> ETHEREUM TESTNETS ( SEPOLIA& GOERLI)

Characteristics
Purpose: To select and test a sample of Shanghai EIP's early on client. The team behind this testnet is Ethereum Foundations JavaScript team and Ethereum Foundations DevOps team. Shandong was a JS-based testnet powered by a pair of EL&CL nodes called Lodestar and EthereumJS.
DEVNET

WITHDRAWAL DEVNET 0
Only for developers and testers.
Mainly used to examine all testing functionalities of Capella Hard fork (Consensus Layer).
👾
The Core Developers found a bug in Lodestar where the pool content of BLS changes was not distributed to Lodestar nodes. It was relaunched with 28000 validators with updated specs.
👾
The Core Developers found a bug again in Lodestar. It was unable to parse the payload fetched from Nethermind. Moreover, the Shanghai timestamp was no longer printed on Geth Nodes.
Tx-Fuzz was also implemented on Devnet 0 then it was standardised across all Devnets.
Tx-Fuzz: A package containing useful functions that help to create random transactions.
WITHDRAWAL DEVNET 1
It was a partially public testnet with some external entities running the validators to test the features. The testnet is running successfully and it finalized.
👾
Lighthouse called V2 methods, whereas Teku, Prysm, and Lodestar call V1 methods. This was a minor issue. However, some bad blocks were seen in clients.
WITHDRAWAL DEVNET 2
This particular devnet tested EIP-6122: forkid checks based on timestamp, followed by Shanghai EIP's.
👾
There was an issue with EthereumJS where it was producing some bad blocks. Geth also had issues where it was accepting bad transactions. Both these problems were identified in Tx Fuzz.
WITHDRAWAL DEVNET 3
The Core Developers wanted to test out a new way of executing withdrawals by changing the format from CL to EL. The minor change was in the field amount of withdrawal structure as it was altered from wei to gwei. This devnet tested EIP-6122:forkid checks based on timestamp and other Shanghai EIPs.
👾
Besu nodes saw a bad block.
WITHDRAWAL DEVNET 4
There were a total of 605k validators, where 565k validators were run by EF and 40k validators by other client teams. Spec & features were similar to Devnet 3. Developers wanted to mimic the mainnet environment as much as possible. They have also increased the gas limit to 25M from 4M to include larger contracts. Its main goal was to test BLS submission to the local pool before Capella.
A total of 605k validators were used in this devnet. EF was in charge of 93% of the nodes while the balance was run by other client teams. This devnet has similar features to its predecessor. The Developers wanted to mimic Ethereum mainnet environment as much as possible. The gas limit was raised from 4 Million to 25 Million in order to process larger contracts. This devnets main goal was to test BLS submission to the local pool prior to Capella.
WITHDRAWAL DEVNET 5
4 bootnodes were operated instead of 1 to ensure easier peering and to decrease the load burden on a single node.
WITHDRAWAL DEVNET 6
Certain Besu nodes were producing bad blocks
WITHDRAWAL MAINNET SHADOW FORK
Shadow Forking: Utilizes data obtained from testnet/mainnet to test sync assumptions for a network upgrade. So that developers can test features prior to executing the actual upgrade on the mainnet.
- It exposes bugs in clients
- Helps developers test in a more realistic environment
- Boosts the developer's confidence that the implementation functions as anticipated.
WITHDRAWAL MAINNET SHADOW FORK 1
One of the issues faced was that the configuration was not applied correctly on Geth. The Core Developers tested some bad nodes that send bad blocks, and bad network messages. This was done to trick other nodes into the bad chain. These bad nodes try to spam invalid messages/blocks on both Execution and Consensus Layers.
ZHEJIANG TESTNET
Zhejiang was the first Shapella (Shanghai-Capella) testnet. The Ethereum community was invited to test how the Beacon Chain Push Withdrawals process will take place post-upgrade.

Source: https://etherworld.co/2023/02/16/shapella-testing/