From c20347d3753312f3b2d7b8e938543054ab26779e Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 5 May 2025 18:05:53 +0200 Subject: [PATCH 01/11] smooth pectra docs wip --- docs/smooth/deep-dive-into-smooth/consolidations.md | 1 + docs/smooth/deep-dive-into-smooth/rewards.md | 4 ++++ sidebars.js | 5 +++++ 3 files changed, 10 insertions(+) create mode 100644 docs/smooth/deep-dive-into-smooth/consolidations.md diff --git a/docs/smooth/deep-dive-into-smooth/consolidations.md b/docs/smooth/deep-dive-into-smooth/consolidations.md new file mode 100644 index 000000000..62b7e0a0b --- /dev/null +++ b/docs/smooth/deep-dive-into-smooth/consolidations.md @@ -0,0 +1 @@ +wip \ No newline at end of file diff --git a/docs/smooth/deep-dive-into-smooth/rewards.md b/docs/smooth/deep-dive-into-smooth/rewards.md index 933400b4b..e2c8ece00 100644 --- a/docs/smooth/deep-dive-into-smooth/rewards.md +++ b/docs/smooth/deep-dive-into-smooth/rewards.md @@ -15,6 +15,10 @@ There are 2 main sources of rewards in Smooth: When a validator has an active subscription to the pool (`Active` or `YellowCard` state) it is eligible for rewards, meaning that it will receive a given share of each reward that is sent to the pool. Validators in `RedCard` are considered subscribed, but don't earn rewards until they become active again. +:::info +Since the Pectra Fork on May 7, 2025 (10:05:11 UTC), validators can stake up to 2,048 ETH. The more ETH a validator stakes, the more frequently they are expected to be selected to propose blocks. In Smooth, this directly affects how rewards are distributed: for example, a validator staking 64 ETH will earn twice as much as one staking 32 ETH. This applies to all types of rewards, including donations. +::: + Smooth's distributes rewards to the validators as `Pending Rewards`. These are rewards that are not _consolidated_ yet, meaning that they belong to the validator but they can not be claimed yet, until a valid block proposal is sent to [Smooth](https://smooth.dappnode.io/) by that validator. Later on, when a validator sends a valid block proposal to [Smooth](https://smooth.dappnode.io/), all its `Pending Rewards` are transformed into `Accumulated Rewards`. These rewards are consolidated and can be claimed by the validator. diff --git a/sidebars.js b/sidebars.js index 59399c7b6..0723a8ad9 100644 --- a/sidebars.js +++ b/sidebars.js @@ -657,6 +657,11 @@ const sidebars = { label: "Avoid proposing Vanilla Blocks", id: "smooth/deep-dive-into-smooth/vanilla-blocks", }, + { + type: "doc", + label: "Validator Consolidations In Smooth", + id: "smooth/deep-dive-into-smooth/consolidations", + }, ], }, { From 32dfc3c90cfa2e74ce904fc621e4588a43910afa Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 5 May 2025 19:45:15 +0200 Subject: [PATCH 02/11] consolidations wip --- .../deep-dive-into-smooth/consolidations.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/smooth/deep-dive-into-smooth/consolidations.md b/docs/smooth/deep-dive-into-smooth/consolidations.md index 62b7e0a0b..b7def4416 100644 --- a/docs/smooth/deep-dive-into-smooth/consolidations.md +++ b/docs/smooth/deep-dive-into-smooth/consolidations.md @@ -1 +1,18 @@ -wip \ No newline at end of file +# Consolidations + +Since the [Pectra](https://ethereum.org/en/history/#pectra) update on May 7, 2025, validators can stake up to 2048 ETH. Instead of having to manage multiple 32 ETH validators, users can now choose to stake an arbitrary amount of ETH in a single validator. + +To make a validator able to stake more than 32 ETH, users will have to **Upgrade the validator's withdrawal credentials**: From 0x01 to 0x02. + +It is also possible to **Consolidate** multiple 32 ETH validators into a single validator with a higher stake. This requires an extra step: a **consolidation**. + +In a consolidation, two validators are merged into a single one. The "source" validator will exit the chain, transferring its stake to the "target" validator. + +Both these steps can be done through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. + +## How consolidations affects Smooth + +Since the "source" validator will exit the chain, it will not be able to propose blocks anymore and therefore convert its smooth's pending rewards into accumulated rewards. Effectively losing them. + +To avoid this, Smooth will automatically detect when a validator is the "source" of a consolidation. Upon doing so, it will transfer all the "pending rewards" from the source validator to the target validator. This way, the user will not lose any pending rewards during the consolidation process. + From 40117ae36eca56ce1b82963f166de583d9e14532 Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 5 May 2025 19:55:46 +0200 Subject: [PATCH 03/11] pectra smooth changes --- docs/smooth/deep-dive-into-smooth/consolidations.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/smooth/deep-dive-into-smooth/consolidations.md b/docs/smooth/deep-dive-into-smooth/consolidations.md index b7def4416..9107dbd42 100644 --- a/docs/smooth/deep-dive-into-smooth/consolidations.md +++ b/docs/smooth/deep-dive-into-smooth/consolidations.md @@ -14,5 +14,14 @@ Both these steps can be done through the [Staking Launchpad](https://launchpad.e Since the "source" validator will exit the chain, it will not be able to propose blocks anymore and therefore convert its smooth's pending rewards into accumulated rewards. Effectively losing them. -To avoid this, Smooth will automatically detect when a validator is the "source" of a consolidation. Upon doing so, it will transfer all the "pending rewards" from the source validator to the target validator. This way, the user will not lose any pending rewards during the consolidation process. +To avoid this, Smooth will automatically detect when a validator is the "source" of a consolidation. Upon doing so, it will transfer all the "pending rewards" from the source validator to the target validator. This way, the user will not lose any pending rewards during the consolidation process. Smooth will also remove the source validator from the pool. +## As a Smooth user, what do I need to do? + +We recommend you to upgrade your validator's withdrawal credentials to 0x02 & make the consolidation through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. You will not need to do anything else, Smooth will take care of the rest. + +A consolidation will take up to a few days to be completed. Once your "source" validator is exited from the chain, Smooth will make the transfer of pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. + +:::danger +DO NOT manually unsubscribe any validator before signing the consolidation. Unsubscribing a validator will remove its pending rewards and Smooth will not be able to transfer them to the target validator. +::: \ No newline at end of file From 10dfd84bec8c8d678533696e996917c9312fcfc3 Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 5 May 2025 20:26:38 +0200 Subject: [PATCH 04/11] improvements --- docs/smooth/deep-dive-into-smooth/consolidations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/smooth/deep-dive-into-smooth/consolidations.md b/docs/smooth/deep-dive-into-smooth/consolidations.md index 9107dbd42..6ca901bc4 100644 --- a/docs/smooth/deep-dive-into-smooth/consolidations.md +++ b/docs/smooth/deep-dive-into-smooth/consolidations.md @@ -10,7 +10,7 @@ In a consolidation, two validators are merged into a single one. The "source" va Both these steps can be done through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. -## How consolidations affects Smooth +## How Smooth manages consolidations Since the "source" validator will exit the chain, it will not be able to propose blocks anymore and therefore convert its smooth's pending rewards into accumulated rewards. Effectively losing them. @@ -18,9 +18,9 @@ To avoid this, Smooth will automatically detect when a validator is the "source" ## As a Smooth user, what do I need to do? -We recommend you to upgrade your validator's withdrawal credentials to 0x02 & make the consolidation through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. You will not need to do anything else, Smooth will take care of the rest. +We recommend upgrading your validator’s withdrawal credentials to 0x02 and perform the consolidation through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. You will not need to do anything else, Smooth will take care of everything else. -A consolidation will take up to a few days to be completed. Once your "source" validator is exited from the chain, Smooth will make the transfer of pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. +A consolidation may take a few days to complete. Only once your "source" validator exits the chain, Smooth will transfer the pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. :::danger DO NOT manually unsubscribe any validator before signing the consolidation. Unsubscribing a validator will remove its pending rewards and Smooth will not be able to transfer them to the target validator. From 4123bc4004eb52a996c87edc1704cd5cd5caf67c Mon Sep 17 00:00:00 2001 From: Marc Date: Tue, 6 May 2025 09:49:58 +0200 Subject: [PATCH 05/11] smooth pectra wip --- .../deep-dive-into-smooth/consolidations.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/smooth/deep-dive-into-smooth/consolidations.md b/docs/smooth/deep-dive-into-smooth/consolidations.md index 6ca901bc4..7f5245ceb 100644 --- a/docs/smooth/deep-dive-into-smooth/consolidations.md +++ b/docs/smooth/deep-dive-into-smooth/consolidations.md @@ -4,24 +4,24 @@ Since the [Pectra](https://ethereum.org/en/history/#pectra) update on May 7, 202 To make a validator able to stake more than 32 ETH, users will have to **Upgrade the validator's withdrawal credentials**: From 0x01 to 0x02. -It is also possible to **Consolidate** multiple 32 ETH validators into a single validator with a higher stake. This requires an extra step: a **consolidation**. - -In a consolidation, two validators are merged into a single one. The "source" validator will exit the chain, transferring its stake to the "target" validator. +It is also possible to **Consolidate** multiple 32 ETH validators into a single validator with a higher stake. This requires an extra step: a **consolidation**. In a consolidation, two validators are merged into a single one. The _"source"_ validator will exit the chain, transferring its stake to the _"target"_ validator. Both these steps can be done through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. ## How Smooth manages consolidations -Since the "source" validator will exit the chain, it will not be able to propose blocks anymore and therefore convert its smooth's pending rewards into accumulated rewards. Effectively losing them. +Since the _source_ validator will exit the chain, it will not be able to propose blocks anymore and therefore convert its Smooth's _pending rewards_ into _accumulated rewards_. Effectively losing them. -To avoid this, Smooth will automatically detect when a validator is the "source" of a consolidation. Upon doing so, it will transfer all the "pending rewards" from the source validator to the target validator. This way, the user will not lose any pending rewards during the consolidation process. Smooth will also remove the source validator from the pool. +To avoid this, Smooth will automatically detect when a validator is the source of a consolidation. Upon doing so, it will transfer all the _pending rewards_ from the source validator to the target validator. This way, no pending rewards will be lost during the consolidation process. Smooth will also remove the source validator from the pool. ## As a Smooth user, what do I need to do? -We recommend upgrading your validator’s withdrawal credentials to 0x02 and perform the consolidation through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. You will not need to do anything else, Smooth will take care of everything else. +Consolidation is not required—Smooth will continue to work normally even if you don’t consolidate your validators. + +However, if you want to consolidate any of your validators, we recommend upgrading your validator’s withdrawal credentials to 0x02 and performing the consolidation through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. You will not need to do anything else; Smooth will take care of the rest. -A consolidation may take a few days to complete. Only once your "source" validator exits the chain, Smooth will transfer the pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. +A consolidation may take a few days to complete. Once your source validator exits the chain, Smooth will transfer the pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. :::danger -DO NOT manually unsubscribe any validator before signing the consolidation. Unsubscribing a validator will remove its pending rewards and Smooth will not be able to transfer them to the target validator. +DO NOT manually unsubscribe any validator before consolidating it. Manually unsubscribing a validator will remove its pending rewards and Smooth will not be able to transfer them to the target validator. ::: \ No newline at end of file From 80cb696f9475c23db6b95977647bbec43dcf8090 Mon Sep 17 00:00:00 2001 From: Marc Date: Tue, 6 May 2025 10:00:32 +0200 Subject: [PATCH 06/11] danger msg up --- docs/smooth/deep-dive-into-smooth/consolidations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/smooth/deep-dive-into-smooth/consolidations.md b/docs/smooth/deep-dive-into-smooth/consolidations.md index 7f5245ceb..552945b5b 100644 --- a/docs/smooth/deep-dive-into-smooth/consolidations.md +++ b/docs/smooth/deep-dive-into-smooth/consolidations.md @@ -20,8 +20,8 @@ Consolidation is not required—Smooth will continue to work normally even if yo However, if you want to consolidate any of your validators, we recommend upgrading your validator’s withdrawal credentials to 0x02 and performing the consolidation through the [Staking Launchpad](https://launchpad.ethereum.org/en/) interface. You will not need to do anything else; Smooth will take care of the rest. -A consolidation may take a few days to complete. Once your source validator exits the chain, Smooth will transfer the pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. - :::danger DO NOT manually unsubscribe any validator before consolidating it. Manually unsubscribing a validator will remove its pending rewards and Smooth will not be able to transfer them to the target validator. -::: \ No newline at end of file +::: + +A consolidation may take a few days to complete. Once your source validator exits the chain, Smooth will transfer the pending rewards to the target validator. We recommend checking [Smooth's dashboard](https://smooth.dappnode.io/dashboard) to see if the transfer was successful. \ No newline at end of file From 37a023479f993b9f15dcc03c8cd26bf62beb3d64 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 7 May 2025 09:46:24 +0200 Subject: [PATCH 07/11] rewards share --- docs/smooth/deep-dive-into-smooth/rewards.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/smooth/deep-dive-into-smooth/rewards.md b/docs/smooth/deep-dive-into-smooth/rewards.md index e2c8ece00..764bf6e91 100644 --- a/docs/smooth/deep-dive-into-smooth/rewards.md +++ b/docs/smooth/deep-dive-into-smooth/rewards.md @@ -15,6 +15,15 @@ There are 2 main sources of rewards in Smooth: When a validator has an active subscription to the pool (`Active` or `YellowCard` state) it is eligible for rewards, meaning that it will receive a given share of each reward that is sent to the pool. Validators in `RedCard` are considered subscribed, but don't earn rewards until they become active again. +$$ +\text{Validator Share} = \frac{\text{Validator Effective Balance}}{\text{Total Effective Balance}} \times \text{Total Rewards to Distribute} +$$ + +Where: +- **Validator Effective Balance**: The staked amount of ETH of the validator. +- **Total Effective Balance**: The sum of all the effective balances of all validators in the pool. +- **Rewards to Distribute**: The amount of rewards that entered the pool. Normally, these come from block proposals or donations. + :::info Since the Pectra Fork on May 7, 2025 (10:05:11 UTC), validators can stake up to 2,048 ETH. The more ETH a validator stakes, the more frequently they are expected to be selected to propose blocks. In Smooth, this directly affects how rewards are distributed: for example, a validator staking 64 ETH will earn twice as much as one staking 32 ETH. This applies to all types of rewards, including donations. ::: From 1e5cf8d4e4cec01eeb1c428a58d9295f4ae77a7a Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 7 May 2025 09:50:19 +0200 Subject: [PATCH 08/11] simplify formula --- docs/smooth/deep-dive-into-smooth/rewards.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/smooth/deep-dive-into-smooth/rewards.md b/docs/smooth/deep-dive-into-smooth/rewards.md index 764bf6e91..fa60a530f 100644 --- a/docs/smooth/deep-dive-into-smooth/rewards.md +++ b/docs/smooth/deep-dive-into-smooth/rewards.md @@ -15,9 +15,7 @@ There are 2 main sources of rewards in Smooth: When a validator has an active subscription to the pool (`Active` or `YellowCard` state) it is eligible for rewards, meaning that it will receive a given share of each reward that is sent to the pool. Validators in `RedCard` are considered subscribed, but don't earn rewards until they become active again. -$$ -\text{Validator Share} = \frac{\text{Validator Effective Balance}}{\text{Total Effective Balance}} \times \text{Total Rewards to Distribute} -$$ +**Validator Share = (Validator Effective Balance / Total Effective Balance) × Total Rewards to Distribute** Where: - **Validator Effective Balance**: The staked amount of ETH of the validator. From 274e06722e74615ca6142c3fa49832c170326d90 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 7 May 2025 09:56:21 +0200 Subject: [PATCH 09/11] center --- docs/smooth/deep-dive-into-smooth/rewards.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/smooth/deep-dive-into-smooth/rewards.md b/docs/smooth/deep-dive-into-smooth/rewards.md index fa60a530f..428d81048 100644 --- a/docs/smooth/deep-dive-into-smooth/rewards.md +++ b/docs/smooth/deep-dive-into-smooth/rewards.md @@ -15,7 +15,9 @@ There are 2 main sources of rewards in Smooth: When a validator has an active subscription to the pool (`Active` or `YellowCard` state) it is eligible for rewards, meaning that it will receive a given share of each reward that is sent to the pool. Validators in `RedCard` are considered subscribed, but don't earn rewards until they become active again. -**Validator Share = (Validator Effective Balance / Total Effective Balance) × Total Rewards to Distribute** +
+Validator Share = (Validator Effective Balance / Total Effective Balance) × Total Rewards to Distribute +
Where: - **Validator Effective Balance**: The staked amount of ETH of the validator. From 3b50cb69f7af8ae6b6a2fe89b698eadf24c7bbbf Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 7 May 2025 10:00:07 +0200 Subject: [PATCH 10/11] typo --- docs/smooth/deep-dive-into-smooth/rewards.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/smooth/deep-dive-into-smooth/rewards.md b/docs/smooth/deep-dive-into-smooth/rewards.md index 428d81048..99b77a82a 100644 --- a/docs/smooth/deep-dive-into-smooth/rewards.md +++ b/docs/smooth/deep-dive-into-smooth/rewards.md @@ -16,7 +16,7 @@ There are 2 main sources of rewards in Smooth: When a validator has an active subscription to the pool (`Active` or `YellowCard` state) it is eligible for rewards, meaning that it will receive a given share of each reward that is sent to the pool. Validators in `RedCard` are considered subscribed, but don't earn rewards until they become active again.
-Validator Share = (Validator Effective Balance / Total Effective Balance) × Total Rewards to Distribute +Validator Share = (Validator Effective Balance / Total Effective Balance) × Rewards to Distribute
Where: From 0dd4febef43a9dcd21c861bb22c0c7586a4babe8 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 7 May 2025 10:03:29 +0200 Subject: [PATCH 11/11] eligible validators change --- docs/smooth/deep-dive-into-smooth/rewards.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/smooth/deep-dive-into-smooth/rewards.md b/docs/smooth/deep-dive-into-smooth/rewards.md index 99b77a82a..8fa5e44a3 100644 --- a/docs/smooth/deep-dive-into-smooth/rewards.md +++ b/docs/smooth/deep-dive-into-smooth/rewards.md @@ -21,7 +21,7 @@ Validator Share = (Validator Effective Balance / Total Effective Balance) × Rew Where: - **Validator Effective Balance**: The staked amount of ETH of the validator. -- **Total Effective Balance**: The sum of all the effective balances of all validators in the pool. +- **Total Effective Balance**: The sum of all the effective balances of eligible validators in the pool (in `Active` or `YellowCard` state). - **Rewards to Distribute**: The amount of rewards that entered the pool. Normally, these come from block proposals or donations. :::info