Network
Launch Date
Consensus
Note
Sepolia
Oct 2021
PoW
Like-for-like representation of Ethereum
Görli
Jan 2019
PoA
Proof-of-Authority
Kiln
Mar 2022
PoS
Post-Merge (for ETH2), shadow fork of the mainnet
Kintsugi
Dec 2021
PoS
DEPRECATED, use Kiln; post-Merge (for ETH2)
Ropsten
Nov 2016
PoW
DEPRECATED, use Sepolia; the Merge to happen on Jun 8, 2022
Rinkeby
Apr 2017
PoA
DEPRECATED, use Görli and Görli Faucet
Kovan
Mar 2017
PoA
DEPRECATED, use Sepolia or Görli
List of active and deprecated Ethereum testnets, including Kintsugi.
Features
Optimistic rollup 
ZK-rollup 
Proof
Uses fraud proofs to prove transaction validity. 
Uses validity (zero-knowledge) proofs to prove transaction validity. 
Capital efficiency
Requires waiting through a 1-week delay (dispute period) before withdrawing funds. 
Users can withdraw funds immediately because validity proofs provide incontrovertible evidence of the authenticity of off-chain transactions. 
Data compression
Publishes full transaction data as calldata to Ethereum Mainnet, which increases rollup costs. 
Doesn't need to publish transaction data on Ethereum because ZK-SNARKs and ZK-STARKs already guarantee the accuracy of the rollup state. 
EVM compatibility
Uses a simulation of the Ethereum Virtual Machine (EVM), which allows it to run arbitrary logic and support smart contracts. 
Doesn't widely support EVM computation, although a few EVM-compatible ZK-rollups have appeared. 
Rollup costs
Reduces costs since it publishes minimal data on Ethereum and doesn't have to post proofs for transactions, except in special circumstances. 
Faces higher overhead from costs involved in generating and verifying proofs for every transaction block. ZK proofs require specialized, expensive hardware to create and have high on-chain verification costs. 
Trust assumptions
Doesn't require a trusted setup. 
Requires a trusted setup to work. 
Liveness requirements
Verifiers are needed to keep tabs on the actual rollup state and the one referenced in the state root to detect fraud. 
Users don't need someone to watch the L2 chain to detect fraud. 
Security properties 
Relies on cryptoeconomic incentives to assure users of rollup security. 
Relies on cryptographic guarantees for security. 
Start building
on Alchemy.
Sign up for free
Start building on Optimism.
Sign up for free
Start building on Arbitrum.
Sign up for free
Start building on Ethereum.
Sign up for free
Start building on Polygon.
Sign up for free
Start building on Starknet.
Sign up for free
Start building on Flow.
Sign up for free
kiln faucet
Get free Kiln ETH.
Start building today
Goerli faucet
Get free Goerli ETH.
Start building today
mumbai faucet
Get free Mumbai Matic.
Start building today
rinkeby faucet
Get free Rinkeby
ETH.
Start building today
Start building on Ethereum.
Get started for free
Start building on Ethereum.
Get started for free
Start building on Flow.
Get started for free
Start building on Polygon.
Get started for free
Start building on Starknet.
Get started for free
Start building on Optimism.
Get started for free
Start building on Solana.
Get started for free
Start building on Solana.
Sign up for beta access
Start building on Solana.
Join the waitlist
Arbitrum logo
Start building on Arbitrum.
Get started for free
Ethereum
SHADOW FORK OVERVIEW

What is a shadow fork?

The Importance of Shadow Forks: Why They’re Used and How to Test Applications
Last Updated:
June 24, 2022

What is a shadow fork?

Shadow forks are similar to devnets, but instead of having their own state, they copy the state of another network (devnet or mainnet). 

For example, a shadow fork of the main Ethereum network still accepts all transactions that go to the mainnet. 

This branch could switch to Proof-of-Stake, but it would still keep mainnet transactions and other state/history data. 

After a successful merge on the shadow fork, it moves on to the Proof-of-Stake chain and ignores any Proof-of-Work blocks that were added to the mainnet.

How is a shadow fork different from a normal fork?

Unlike a shadow fork which is intentionally created to test network upgrades with existing state data from the original chain, a normal fork happens when the development community modifies the protocol or is affected by hacks. When a fork occurs, the blockchain splits, making a second (new) blockchain with the same history as the first but a different path.

One example of how upgrades to a blockchain from core developers causes a fork, is the London Hard Fork which introduced EIP-1559 to optimize Ethereum’s transaction fee structure.

Bitcoin and Ethereum are both based on blockchain technology and run on open-source software. They are called "blockchains" because they are made up of blocks of data that can be linked back to the first transaction on the network. 

Because they are open source, their communities are responsible for maintaining and enhancing the source code. As a result, a fork may happen to make a blockchain more secure, to add new features, or to mitigate the effects of a hack, which occurred in 2016  after The DAO hack. 

In 2016 the Ethereum blockchain forked into Ethereum Classic which maintained an accurate ledger that reflected the 3.6 million ETH that was stolen, and Ethereum which forked to reverse the hack.

What is the difference between soft forks and hard forks?

The difference between soft forks and hard forks is that soft forks change the code of an existing blockchain and hard forks divide the blockchain into two distinct blockchains. 

Soft Fork 

A soft fork can be thought of as an update to the software that runs the blockchain. As long as everyone uses it, it will become the new set of rules for the network. 

Soft forks have been used to add new features or functions to Ethereum, usually by changing the codebase and client software. The changes work with blocks that were made before the fork because the end result is a single blockchain.

Hard Fork 

When the code changes so much that the new version can't be used with older blocks, this is called a "hard fork." In this case, the blockchain splits into two parts: 

  1. the old blockchain that follows the old rules
  2. the new blockchain that follows the new rules

This makes a brand-new cryptocurrency and is where many well-known currencies got their start. A hard fork created Bitcoin Cash from the original Bitcoin blockchain, and Ethereum Classic (ETC) was made from Ethereum (ETH).

Why are shadow forks important?

Shadow forks are important tools for web3 developers because it allows them to test their assumptions about the network's upcoming upgrades against the most current conditions of the mainnet’s production environment.

The Kiln test network is the last testnet for developers to test in preparation for The Merge, which changes Ethereum's Execution Layer from Proof-of-Work to Proof-of-Stake. 

Shadow forks are important to show that the Merge will come to fruition without a detrimental transition for existing dApps that run on the network. 

Testnets that have these shadow forks will be the testing grounds to ensure a smooth merge transition occurs, and will help engender trust to node operators and builders. 

How do shadow forks work?

An image showing how a shadow fork is created out of an existing Goerli chain. Source: AllCoreDevs Update #011 

In the picture above, the top row of Goerli blocks shows a node on the canonical (i.e. original) blockchain that doesn't know about the shadow fork. 

The middle row of Goerli blocks represents a node on the shadow-forked chain with a different configuration that tells it to split when it reaches the terminal total difficulty (TTD) or the total mining difficulty that is used as a trigger for clients to stop mining and transition to PoS.
In the last row, there is a picture of a Beacon Chain that was made just for the shadow fork. When the TTD is reached, the nodes in the canonical chain keep making blocks as if nothing had happened and the nodes whose configurations have changed split off go through the Merge. 

Then, the next validator makes the first block for the Beacon Chain after the Merge

Shadow forking is the best way to do this because it lets developers test how well the fork and merge process works without affecting the public testnet or mainnet.

By doing this shadow fork operation over and over again, developers can test the merging transition under different situations.

What are well-known shadow forks?

Two testnets stand out as having some of the most well-known shadow forks: Goerli has gone through three shadow forks, while mainnet has gone through six. The main difference between the two mainnet shadow forks was that all client combinations made it through a shadow fork transfer and stayed in sync. 

This shadow fork also uses the develop/unstable branch for each client. This means that developers no longer need to merge branches. On the mainnet, the deposit contract was used again, but with a different fork ID. 

This implies that on the shadow fork, every mainnet deposit must be processed and marked as invalid. This resource-intensive computation caused some edge conditions for a small number of clients, but the network still worked fine. 

How to shadow fork Ethereum

If you’re interested in forking Ethereum, you can follow Alchemy’s step-by-step guide on how to fork Ethereum mainnet with a free Alchemy account, HardHat, and a command line interface (CLI).

Shadow Forks Are Critical Ethereum Developer Tools

Shadow forks play an important role in the ongoing development and scaling improvements of the Ethereum blockchain. With shadow forks, core Ethereum developers, node providers, and independent stakers can prepare for upcoming network-wide changes so the Ethereum application ecosystem is not interrupted.

SHADOW FORK OVERVIEW

What is a shadow fork?

The Importance of Shadow Forks: Why They’re Used and How to Test Applications

What is a shadow fork?

Shadow forks are similar to devnets, but instead of having their own state, they copy the state of another network (devnet or mainnet). 

For example, a shadow fork of the main Ethereum network still accepts all transactions that go to the mainnet. 

This branch could switch to Proof-of-Stake, but it would still keep mainnet transactions and other state/history data. 

After a successful merge on the shadow fork, it moves on to the Proof-of-Stake chain and ignores any Proof-of-Work blocks that were added to the mainnet.

How is a shadow fork different from a normal fork?

Unlike a shadow fork which is intentionally created to test network upgrades with existing state data from the original chain, a normal fork happens when the development community modifies the protocol or is affected by hacks. When a fork occurs, the blockchain splits, making a second (new) blockchain with the same history as the first but a different path.

One example of how upgrades to a blockchain from core developers causes a fork, is the London Hard Fork which introduced EIP-1559 to optimize Ethereum’s transaction fee structure.

Bitcoin and Ethereum are both based on blockchain technology and run on open-source software. They are called "blockchains" because they are made up of blocks of data that can be linked back to the first transaction on the network. 

Because they are open source, their communities are responsible for maintaining and enhancing the source code. As a result, a fork may happen to make a blockchain more secure, to add new features, or to mitigate the effects of a hack, which occurred in 2016  after The DAO hack. 

In 2016 the Ethereum blockchain forked into Ethereum Classic which maintained an accurate ledger that reflected the 3.6 million ETH that was stolen, and Ethereum which forked to reverse the hack.

What is the difference between soft forks and hard forks?

The difference between soft forks and hard forks is that soft forks change the code of an existing blockchain and hard forks divide the blockchain into two distinct blockchains. 

Soft Fork 

A soft fork can be thought of as an update to the software that runs the blockchain. As long as everyone uses it, it will become the new set of rules for the network. 

Soft forks have been used to add new features or functions to Ethereum, usually by changing the codebase and client software. The changes work with blocks that were made before the fork because the end result is a single blockchain.

Hard Fork 

When the code changes so much that the new version can't be used with older blocks, this is called a "hard fork." In this case, the blockchain splits into two parts: 

  1. the old blockchain that follows the old rules
  2. the new blockchain that follows the new rules

This makes a brand-new cryptocurrency and is where many well-known currencies got their start. A hard fork created Bitcoin Cash from the original Bitcoin blockchain, and Ethereum Classic (ETC) was made from Ethereum (ETH).

Why are shadow forks important?

Shadow forks are important tools for web3 developers because it allows them to test their assumptions about the network's upcoming upgrades against the most current conditions of the mainnet’s production environment.

The Kiln test network is the last testnet for developers to test in preparation for The Merge, which changes Ethereum's Execution Layer from Proof-of-Work to Proof-of-Stake. 

Shadow forks are important to show that the Merge will come to fruition without a detrimental transition for existing dApps that run on the network. 

Testnets that have these shadow forks will be the testing grounds to ensure a smooth merge transition occurs, and will help engender trust to node operators and builders. 

How do shadow forks work?

An image showing how a shadow fork is created out of an existing Goerli chain. Source: AllCoreDevs Update #011 

In the picture above, the top row of Goerli blocks shows a node on the canonical (i.e. original) blockchain that doesn't know about the shadow fork. 

The middle row of Goerli blocks represents a node on the shadow-forked chain with a different configuration that tells it to split when it reaches the terminal total difficulty (TTD) or the total mining difficulty that is used as a trigger for clients to stop mining and transition to PoS.
In the last row, there is a picture of a Beacon Chain that was made just for the shadow fork. When the TTD is reached, the nodes in the canonical chain keep making blocks as if nothing had happened and the nodes whose configurations have changed split off go through the Merge. 

Then, the next validator makes the first block for the Beacon Chain after the Merge

Shadow forking is the best way to do this because it lets developers test how well the fork and merge process works without affecting the public testnet or mainnet.

By doing this shadow fork operation over and over again, developers can test the merging transition under different situations.

What are well-known shadow forks?

Two testnets stand out as having some of the most well-known shadow forks: Goerli has gone through three shadow forks, while mainnet has gone through six. The main difference between the two mainnet shadow forks was that all client combinations made it through a shadow fork transfer and stayed in sync. 

This shadow fork also uses the develop/unstable branch for each client. This means that developers no longer need to merge branches. On the mainnet, the deposit contract was used again, but with a different fork ID. 

This implies that on the shadow fork, every mainnet deposit must be processed and marked as invalid. This resource-intensive computation caused some edge conditions for a small number of clients, but the network still worked fine. 

How to shadow fork Ethereum

If you’re interested in forking Ethereum, you can follow Alchemy’s step-by-step guide on how to fork Ethereum mainnet with a free Alchemy account, HardHat, and a command line interface (CLI).

Shadow Forks Are Critical Ethereum Developer Tools

Shadow forks play an important role in the ongoing development and scaling improvements of the Ethereum blockchain. With shadow forks, core Ethereum developers, node providers, and independent stakers can prepare for upcoming network-wide changes so the Ethereum application ecosystem is not interrupted.

ALCHEMY SUPERNODE - ETHEREUM NODE API

Scale to any size, without any errors

Alchemy Supernode finally makes it possible to scale blockchain applications without all the headaches. Plus, our legendary support will guide you every step of the way.

Get started for free
Supernode footer
ALCHEMY SUPERNODE - ETHEREUM NODE API

Scale to any size, without any errors

Alchemy Supernode finally makes it possible to scale blockchain applications without all the headaches. Plus, our legendary support will guide you every step of the way.

Get started for free
Supernode footer