Skip to content

Commit

Permalink
docs: network upgrade (#1711)
Browse files Browse the repository at this point in the history
  • Loading branch information
jcstein authored Sep 16, 2024
1 parent 243c716 commit c148e81
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ function sidebarHome() {
],
},
{ text: "SystemD", link: "/nodes/systemd" },
{ text: "Hardfork process", link: "/nodes/hardfork-process" },
{ text: "Network upgrade process", link: "/nodes/network-upgrade-process" },
],
},
],
Expand Down
6 changes: 3 additions & 3 deletions nodes/arabica-devnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ it is a useful way to keep testing the latest changes in the software.

Developers can still deploy on Mocha testnet their sovereign rollups if they
chose to do so, it just will always lag behind Arabica devnet until Mocha
undergoes Hardfork Upgrades in coordination with Validators.
undergoes network upgrades upgrades in coordination with validators.

## Network details

Expand Down Expand Up @@ -182,5 +182,5 @@ There are multiple explorers you can use for Arabica:
Join our [Telegram announcement channel](https://t.me/+smSFIA7XXLU4MjJh)
for network upgrades.

See the [Hardfork process page](./hardfork-process.md) to learn more
about specific upgrades like the [Lemongrass hardfork](./hardfork-process.md#lemongrass-hardfork).
See the [network upgrade process page](./network-upgrade-process.md) to learn more
about specific upgrades like the [Lemongrass network upgrade](./network-upgrade-process.md#lemongrass-network-upgrade).
38 changes: 20 additions & 18 deletions nodes/hardfork-process.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,46 @@
---
description: Overview of the Celestia hardfork process.
description: Overview of the Celestia network upgrade process.
---

# Celestia hardfork process
# Celestia network upgrade process

Blockchain networks often times need to upgrade with new features
which require coordination work among the validators prior to activating
the upgrades.

This process is called a hardfork or a network upgrade. In those events,
the Celestia Labs team will be coordinating with the validators on
what they need to do in order to be ready for an upcoming hardfork.
This process is called a network upgrade, which can be breaking or non-breaking.
During planned network upgrades, the Celestia Labs team will coordinate
with the validators to prepare for the upcoming network upgrade.

Hardforks are not backward-compatible with older versions of the network
Breaking network upgrades are not backward-compatible with older versions of the network
software which is why it is important that validators upgrade their software
to continue validating on the network after the network upgrades.

Non-breaking network upgrades are backward-compatible and require less coordination.

## General process

The general process can be broken down into several components:

- Hardfork specifications and features (defined by description of features
- Network upgrade specifications and features (defined by description of features
and code implementation of those features).
- Binary used to add those features (a new binary release with those features
will be provided by Celestia team in order for validators to upgrade
their nodes to the new binary).
- A block number for when the network upgrades (even if validators upgrade
their binary to be hardfork ready, the network upgrade does not happen right
away, but some short time in the future at a specific block number).
- Testing of the features (happens on testnets first prior to activating on
mainnet in order to ensure the network can upgrade securely).
- Binary used to add those features. A new binary release with those features
will be provided by Celestia Labs team in order for validators to upgrade
their nodes to the new binary.
- A block number for when the breaking network upgrade. Even if validators upgrade
their binary to be network upgrade ready, the network upgrade does not happen right
away, but some short time in the future at a specific block number.
- Testing of the features, which happens on testnets first prior to activating on
mainnet in order to ensure the network can upgrade securely.

The two testnets where hardforks are deployed are:
The two testnets where network upgrades are deployed are:

- [Arabica devnet](./arabica-devnet.md)
- [Mocha testnet](./mocha-testnet.md)

### Lemongrass hardfork
### Lemongrass network upgrades

The Lemongrass hardfork is the first consensus layer breaking change since Celestia's Mainnet Beta genesis block. The Lemongrass hardfork includes all of the CIPs listed in [CIP-17](https://github.com/celestiaorg/CIPs/blob/main/cips/cip-17.md). The Lemongrass hardfork will be executed on Arabica, then Mocha, then Mainnet Beta. The hardfork will take place at an "upgrade height" that will be coordinated offline on a per-network basis. The upgrade heights will be announced in advance (see [Network upgrades](./participate#network-upgrades)) to give node operators time to download and start a compatible binary prior to the upgrade height.
The Lemongrass network upgrades is the first consensus layer breaking change since Celestia's Mainnet Beta genesis block. The Lemongrass network upgrades includes all of the CIPs listed in [CIP-17](https://github.com/celestiaorg/CIPs/blob/main/cips/cip-17.md). The Lemongrass network upgrades will be executed on Arabica, then Mocha, then Mainnet Beta. The network upgrades will take place at an "upgrade height" that will be coordinated offline on a per-network basis. The upgrade heights will be announced in advance (see [network upgrades channels](./participate#network-upgrades)) to give node operators time to download and start a compatible binary prior to the upgrade height.

- If you are a consensus node or validator operator: you will need to download and run a celestia-app binary >= v2.0.0 prior to the `--v2-upgrade-height` to remain on the canonical chain. You do not need to use a tool like [cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor) to upgrade the binary at the upgrade height.
- If you are a DA node operator, you will need to download and run a compatible celestia-node binary >= v0.16.0-rc0 prior to the upgrade height.
Expand Down
4 changes: 2 additions & 2 deletions nodes/mainnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -339,5 +339,5 @@ There are a few ways to stay informed about network upgrades on Mainnet Beta:
- Telegram [announcement channel](https://t.me/+smSFIA7XXLU4MjJh)
- Discord [Mainnet Beta announcements](https://discord.com/channels/638338779505229824/1169237690114388039)

See the [Hardfork process page](./hardfork-process.md) to learn more
about specific upgrades like the [Lemongrass hardfork](./hardfork-process.md#lemongrass-hardfork).
See the [network upgrade process page](./network-upgrade-process.md) to learn more
about specific upgrades like the [Lemongrass network upgrade](./network-upgrade-process.md#lemongrass-network-upgrade).
4 changes: 2 additions & 2 deletions nodes/mocha-testnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,5 +266,5 @@ There are a few ways to stay informed about network upgrades on Mocha testnet:
- Telegram [announcement channel](https://t.me/+smSFIA7XXLU4MjJh)
- Discord [Mocha announcements](https://discord.com/channels/638338779505229824/979037494735691816)

See the [Hardfork process page](./hardfork-process.md) to learn more
about specific upgrades like the [Lemongrass hardfork](./hardfork-process.md#lemongrass-hardfork).
See the [network upgrade process page](./network-upgrade-process.md) to learn more
about specific upgrades like the [Lemongrass network upgrade](./network-upgrade-process.md#lemongrass-network-upgrade).
8 changes: 4 additions & 4 deletions nodes/participate.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ validators to participate.
[Mocha testnet](./mocha-testnet.md) is a testnet focused on enabling validators
to test out their infrastructure by running nodes connected to the network. Developers
can also deploy sovereign rollups on Mocha, it just will always be behind Arabica
as Mocha upgrades are slower given they need to be done via hardforks in coordination
with the validator community on Mocha.
as Mocha upgrades are slower given they need to be done via breaking network upgrades
in coordination with the validator community on Mocha.

### Compatible software versions for Mocha testnet

Expand All @@ -60,5 +60,5 @@ There are a few ways to stay informed about network upgrades:
- Discord [Mainnet Beta announcements](https://discord.com/channels/638338779505229824/1169237690114388039)
- Discord [Mocha announcements](https://discord.com/channels/638338779505229824/979037494735691816)

See the [Hardfork process page](./hardfork-process.md) to learn more
about specific upgrades like the [Lemongrass hardfork](./hardfork-process.md#lemongrass-hardfork).
See the [network upgrade process page](./network-upgrade-process.md) to learn more
about specific upgrades like the [Lemongrass network upgrade](./network-upgrade-process.md#lemongrass-network-upgrade).

0 comments on commit c148e81

Please sign in to comment.