Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Pectra FAQ #326

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 29 additions & 7 deletions docs/wiki/pectra-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,38 @@ There are 2 ways in which a validator can have `0x02` withdrawal credentials:
The `0x02` withdrawal credential enables you to control the validator exit from your execution layer address as well as allows you to possess maximum effective balances of >32 ETH and <2048ETH. This means you can run one validator and have a single validator with a balance of up to 2048 ETH.

#### **Q:** Can I deposit a validator with `0x02` credentials directly?
Yes, you can deposit a validator with `0x02` credentials directly. This will allow you to have a single validator with a balance of up to 2048 ETH. The `staking-cli` will support the `0x02` withdrawal credentials in the coming months before the Pectra mainnet Ethereum fork.
Yes, you can deposit a validator with `0x02` credentials directly. This will allow you to have a single validator with a balance of up to 2048 ETH.

To try out deposits right now, you can use the [`staking-cli`](https://github.com/eth-educators/ethstaker-deposit-cli) from ethstaker, which already supports `0x02` credentials via the `--compounding` flag. You may also specify deposit amounts higher or lower than 32 ETH via the `--amount` flag.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A little discrepancy here, I would just keep the latter added part

The staking-cli will support the 0x02 withdrawal credentials in the coming months before the Pectra mainnet Ethereum fork.
To try out deposits right now, you can use the staking-cli from ethstaker, which already supports 0x02 credentials via the --compounding flag

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made that part more clear :)
What misses support right now is the official staking deposit tool, which will be added later.

The official [`staking-deposit-cli`](https://github.com/ethereum/staking-deposit-cli) will support the `0x02` withdrawal credentials in the coming months before the Pectra mainnet Ethereum fork.

The generated deposit data files can then be sent to the networks launchpad to do the deposit transactions as usual.
For the testnets, you can use the [`Submit Deposits`](https://dora.mekong.ethpandaops.io/validators/deposits/submit) page in Dora to submit the generated deposits. Support for the official launchpad is coming in the next months too.

#### **Q:** I have a validator with `0x00` credentials, how do I move to `0x02`?
There is no direct way to move from `0x00` to `0x02`. You will need to first move your validator from `0x00` to `0x01` withdrawal credentials with a BLS change operation, then consolidate your validators to `0x02` withdrawal credentials. You can alternatively exit the validator and make a new deposit with `0x02` withdrawal credentials during the deposit.

#### **Q:** I have a validator with `0x01` credentials, how do i move to `0x02`?
You can consolidate your validators to `0x02` withdrawal credentials. This will allow you to have a single validator with a balance of up to 2048 ETH. The `staking-cli` will support the `0x02` withdrawal credentials in the coming months before the Pectra mainnet Ethereum fork.
You can consolidate your validator to `0x02` withdrawal credentials via a self consolidation with both, the source and target pointing to your validator. This will change your withdrawal credentials to `0x02` and allows you to have a single validator with a balance of up to 2048 ETH. For new deposits, the `staking-cli` will support the `0x02` withdrawal credentials in the coming months before the Pectra mainnet Ethereum fork.

#### **Q:** What is MaxEB?
MaxEB or the [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) increases the `MAX_EFFECTIVE_BALANCE` to 2048 ETH while keeping the minimum staking balance at 32 ETH. Before MaxEB, any entity that wanted to contribute a large amount of ETH to consensus had to spin up multiple validators because each was capped at a maximum of 32 ETH. EIP-7251 will allow large stake operators to consolidate their ETH into fewer validators, using the same stake with up to 64 times less individual validators. It also allows solo stakers' ETH to be compounded into their existing validator and contribute to their rewards without having to use the exact validator amount. For example, 35 ETH will be considered the validator's effective balance by the protocol, instead of leaving out 3 ETH ineffective and waiting till 64 ETH for 2 validators. Overall, consolidating validators will allow for fewer attestations in the consensus network and easing the bandwidth usage by nodes.

#### **Q:** How do I consolidate my validator?
Send a transaction to consolidation request address with `source_pubkey != target_pubkey`. Note that both source and target validator must not have `0x00` credential and their exits have not been initiated.
#### **Q:** How do I consolidate my validators?
To consolidate your validators, you first need to ensure that both the source and target validators have either `0x01` or `0x02` credentials assigned.
Validators with withdrawal credentials using the `0x00` prefix or pointing to different execution layer addresses cannot be consolidated.

To consolidate two validators, send a transaction from your withdrawal address to the consolidation system contract, including the public keys of the source and target validators you wish to consolidate.

We expect this functionality to be added to various tools in the coming months.
For testing right now, you can use the [Submit Consolidations](https://dora.mekong.ethpandaops.io/validators/submit_consolidations) page in Dora. Connect with the wallet used as the withdrawal address for your validators, and you should be able to select your validators and craft an appropriate consolidation transaction.

A consolidation where the source and target point to the same validator is called a self-consolidation.
In this situation, the validator will not be exited, and no funds will be moved. It will simply be assigned 0x02 credentials.

#### **Q:** What are the validator requirements for consolidation?
The validators must be active on the beacon chain at the time of consolidation execution. This means they cannot be exiting or pending activation or any other state besides active. Both the source and the target validators must have the same `0x01` withdrawal credentials. If these two conditions are met, then the validator may be consolidated.
The validators must be active on the beacon chain at the time of consolidation execution. This means they cannot be exiting, pending activation, or in any state other than active.
Both the source and target validators must have `0x01` or `0x02` withdrawal credentials pointing to the same withdrawal address. If these two conditions are met, the validators may be consolidated.

#### **Q:** What happens to my original, individual validators?
During a consolidation, there is a source and a target validator. The source validator is completely exited and the balance is then transferred to the target validator. The target validator will have the sum of the balances of the source validator and the target validator and will continue to perform its beacon chain duties without any change.
Expand All @@ -100,10 +116,16 @@ The consolidation request will be deemed invalid and will not be processed. It w
The consolidation will fail as the validators must be active on the beacon chain at the time of consolidation execution.

#### **Q:** How can I partially withdraw some ETH from my `0x02` validator?
You can issue a EL triggered exit to partially withdraw some ETH from the `0x02` validator. Send a transaction to partial withdrawal request address (pending address to be finalized when Electra goes live on mainnet) with `amount` being a positive non-zero Gwei amount.
You can issue a EL triggered partial withdrawal to withdraw some ETH from the `0x02` validator.
Send a transaction to the withdrawal system contract (pending address to be finalized when Electra goes live on mainnet) with your validator `pubkey` and the `amount` (a positive non-zero Gwei amount).
As with consolidations, this transaction must be sent from the withdrawal address set in your validator's withdrawal credentials.

We expect this functionality to be added to various tools in the coming months.
For testing right now, you can use the [Submit Withdrawals](https://dora.mekong.ethpandaops.io/validators/submit_withdrawals) page in Dora. Connect with the wallet that is used as the withdrawal address for your validators, and you should be able to select between your validators and craft an appropriate withdrawal transaction.

#### **Q:** How much ETH can I withdraw from my validator?
You can withdraw the portion above full validator amount, as long as the validator contains >32ETH at the time of completion of the withdrawal. For example, if you currently have 34ETH, and you request a partial withdrawal, a maximum of 2ETH can be be withdrawn.
You can partially withdraw the portion above the full validator amount, as long as the validator contains >32 ETH at the time of withdrawal completion. For example, if you currently have 34 ETH and request a partial withdrawal, a maximum of 2 ETH can be withdrawn.
You may also decide to request a full withdrawal by specifying an amount of `0` in the request. When sending such a full withdrawal request, your validator will be exited, and the full balance withdrawn.

#### **Q:** What happens to the ETH balance if my validator has `0x02` credentials and goes below 32 ETH?
A normally behaved validator will not have its balance dropped below 32ETH even if you initiate a partial withdrawal request. This can only be achieved if validator receives penalty. Nothing will happen except reduced rewards. However if balance drops below 16ETH, the validator will be exited and the balance will be transferred to the execution layer withdrawal address.
Expand Down
4 changes: 3 additions & 1 deletion wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,13 @@ ETHCC
Ethereum
Ethereum's
ethers
Ethervm
ethone
ethone's
ethresear
ethresearch
ethroadmap
ethstaker
ETHW
EVM
evmlab
Expand Down Expand Up @@ -887,4 +889,4 @@ ptsd
Vasa
Zaryab
Afser
Preethi
Preethi
Loading