Skip to content

Commit 19cd88d

Browse files
authored
Stake/withdraw docs + other modifications (#89)
* prettier and trailing spaces * Updated data and wording * Updated structure * Removed secure signer and uppdated when puffer launched * Updated info and references to season 2 * Removed secure signer from glossary * removed all references to secure signer, updated wording and fixed links * Updated images and removed unused ones * Documented stake proccess * Documented withdrawal process * Applied changes based on PR comments * Updated validator ticket info * Revert "Updated validator ticket info" This reverts commit c6b1ac4. * Added WETH staking to the docs
1 parent 135854f commit 19cd88d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+672
-693
lines changed

docs/burst-threshold.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ slug: /protocol/burst-threshold
77
The Burst Threshold is Puffer's commitment to Ethereum's Ethos.
88
:::
99

10-
1110
### Burst Threshold
1211

13-
Puffer is [committed to self-capping](https://x.com/puffer_finance/status/1697817894900711700?s=20) its validator marketshare to 22% of Ethereum’s validator set, which we refer to as the protocol's *Burst Threshold*. Instead of abruptly pausing staking and NoOp registration once the burst threshold is reached, Puffer introduces a mechanism to organically reduce staker demand as the protocol reaches the threshold.
12+
Puffer is [committed to self-capping](https://x.com/puffer_finance/status/1697817894900711700?s=20) its validator marketshare to 22% of Ethereum’s validator set, which we refer to as the protocol's _Burst Threshold_. Instead of abruptly pausing staking and NoOp registration once the burst threshold is reached, Puffer introduces a mechanism to organically reduce staker demand as the protocol reaches the threshold.
1413

15-
As the protocol reaches 22%, the number of mintable validator tickets will be reduced such that it can only sustain existing validators but not new ones.
14+
As the protocol reaches 22%, the number of mintable validator tickets will be reduced such that it can only sustain existing validators but not new ones.
1615

17-
This pledge is critical to ensure that the Puffer protocol never breaches the [dangerous consensus threshold of 33%](https://x.com/dannyryan/status/1688644951230267392?s=46&t=bsdBaPIHlTHEWDDdVUJW4g), which threatens the stability of Ethereum. We firmly believe that the burst threshold must be included from day one rather than after the protocol is profitable.
16+
This pledge is critical to ensure that the Puffer protocol never breaches the [dangerous consensus threshold of 33%](https://x.com/dannyryan/status/1688644951230267392?s=46&t=bsdBaPIHlTHEWDDdVUJW4g), which threatens the stability of Ethereum. We firmly believe that the burst threshold must be included from day one rather than after the protocol is profitable.

docs/campaigns-season-2.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@ Season 2 represents a major evolution in our reward distribution mechanism, with
1515

1616
Season 2 transitions Puffer Points to on-chain incentives, leveraging CARROT as the token that powers our ecosystem. CARROT tokens are distributed weekly to protocol participants based on vePUFFER votes. The token is designed to enhance transparency, fairness, and efficiency in rewards allocation.
1717

18+
When claiming the CARROT rewards, users will receive them as mtwCARROT that will be locked for 30 days before being able to unwrap them.
19+
1820
### Empowering Decentralized Governance
1921

2022
Season 2 enables $PUFFER holders to lock their tokens to receive vePUFFER, granting voting power in the governance process. vePUFFER holders decide how CARROT incentives are allocated, creating a community-driven ecosystem that reflects the collective will of the community.
2123

2224
### Permissionless Proposals
2325

2426
Protocol projects, liquidity providers, and contributors can now submit proposals to participate in Puffer’s incentive campaigns. With incentive gauges, projects can compete for CARROT allocations, further decentralizing and diversifying Puffer’s ecosystem.
25-
26-
## Stay tuned!
27-
28-
More information will follow soon.

docs/deployed-contracts.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,27 @@ title: Contract Addresses
33
slug: /deployments/deployed-contracts
44
---
55

6-
76
# Contract Addresses and Docs
7+
88
## Puffer Protocol Contracts
9+
910
Puffer's smart contracts are located in two repos:
11+
1012
### [PufferFinance/pufETH](https://github.com/PufferFinance/pufETH)
13+
1114
> This repo contains the `PufferVault` contract which is where the protocol's assets (ETH, wETH, stETH) are held and the `pufETH` LRT is minted.
1215
1316
> Visit the [technical documentation](https://github.com/PufferFinance/pufETH/tree/main/docs) for more information.
1417
1518
### [PufferFinance/PufferPool](https://github.com/PufferFinance/PufferPool)
19+
1620
> This repo contains the core contracts for Puffer's protocol. The core functionality is to:
21+
1722
- allow for users to permissionlessly run Ethereum validators
1823
- interface with EigenLayer's contracts to enable native restaking and delegation
1924

2025
> Visit the [technical documentation](https://github.com/PufferFinance/PufferPool/tree/master/docs) for more information.
2126
2227
## Deployment Addresses
23-
Please check [Deployments and Access Control](https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments) Github repository for the definitive addresses of all deployed contracts on mainnet and Holesky and the associated ABIs.
28+
29+
Please check [Deployments and Access Control](https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments) Github repository for the definitive addresses of all deployed contracts on all chains.

docs/ejection-scenarios.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Node operators can initiate a controlled exit through their validator client whe
3030
:::
3131

3232
The process involves:
33+
3334
- Generating exit message
3435
- Signing with validator keys
3536
- Broadcasting to the network
@@ -42,6 +43,7 @@ Serious protocol violations result in immediate ejection and possible slashing p
4243
:::
4344

4445
Common violations include:
46+
4547
- Double signing blocks
4648
- Proposing multiple blocks for the same slot
4749
- Attesting to conflicting blocks
@@ -50,6 +52,7 @@ Common violations include:
5052
### 4. Guardian-Initiated Ejection
5153

5254
Puffer Guardians may trigger ejection under these circumstances:
55+
5356
- Consistent failure to meet performance metrics
5457
- Detection of malicious behavior
5558
- Violation of protocol rules or terms of service
@@ -85,12 +88,13 @@ Puffer Guardians may trigger ejection under these circumstances:
8588
## Prevention Best Practices
8689

8790
:::tip Best Practices
91+
8892
1. Regular system maintenance and updates
8993
2. Continuous monitoring of validator performance
9094
3. Proper security measures implementation
9195
4. Maintaining stable network connectivity
9296
5. Following all protocol guidelines
93-
:::
97+
:::
9498

9599
## Additional Resources
96100

docs/faq.md

Lines changed: 13 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ slug: /reference/faq
66
### 🐙 What is Puffer's Mission?
77

88
> Puffer's mission is to define a new industry standard for secure validator operations, with the primary objective of preserving the decentralization of Ethereum.
9-
9+
>
1010
> Through our anti-slashing technology, we are reducing the risk of correlated slashing events across Ethereum while simultaneously promoting decentralization by lowering the barrier to entry for at-home validators and allowing for a more diverse node operator set.
11-
12-
> However, reducing barriers to entry is one thing, but creating a more profitable platform for validators is crucial and is why Puffer has been pioneering in native restaking.
13-
11+
>
12+
> However, reducing barriers to entry is one thing, but creating a more profitable platform for validators is crucial and is why Puffer has been pioneering in native restaking.
13+
>
1414
> Ultimately, through Puffer's protocol, we hope to extend Ethereum's decentralization runway while its roadmap is being implemented.
1515
1616
### 🐡 Explain ETH Liquid staking to me like I'm five?
@@ -30,10 +30,10 @@ slug: /reference/faq
3030
> Although decentralized liquid staking sounds great in theory, the market will always favor centralized services in practice. This is because centralized staking providers can attract more liquidity by offering stakers higher yields than their decentralized competitors.
3131
>
3232
> This dilemma results from centralized services running a small and permissioned node operator set that allows them to scale much faster and operate more cost-effectively. For example, a node operator with 1024 ETH can operate 32x more validators than a node operator with 32 ETH when solo staking while paying the same hardware costs.
33-
33+
>
3434
> In the context of liquid staking, centralized protocols with permissioned validators do not require their operators to put down collateral. Rather, they rely on reputation to ensure they behave honestly. In practice, some operators run tens of thousands of validators each. For a decentralized liquid staking protocol, running this many validators requires operators to have tens of thousands of ETH.
3535
>
36-
> Puffer's goal is to break this cycle by empowering decentralized validators with higher rewards while lowering their barrier to entry.
36+
> Puffer's goal is to break this cycle by empowering decentralized validators with higher rewards while lowering their barrier to entry.
3737
3838
### 🦈 How does Puffer help address some of these pain points?
3939

@@ -43,54 +43,24 @@ slug: /reference/faq
4343
>
4444
> Over the coming months, we will be providing more information on our plans for generating additional yield for Puffer node operators.
4545
46-
### 🦑 How does Puffer protect validators from being slashed?
47-
48-
> Secure-Signer is an open-source public good built by the Puffer team to increase decentralization across Ethereum while protecting validators from being slashed.
49-
>
50-
> As an independent implementation of Consensys' Web3Signer remote-signing tool, Secure-Signer moves key management and signing logic out of the consensus client and into a secure enclave.
51-
>
52-
> Validator keys are generated and stored within SGX's encrypted enclave memory.
53-
>
54-
> If a compromised host or consensus client bug attempts to sign a slashable message, Secure-Signer's isolated SGX environment won't produce a signature, providing a strict security enhancement that prevents the validator from committing a slashable offense.
55-
5646
### 🧜‍♀️ How much ETH do I need to run a Puffer node?
5747

58-
> As preserving decentralization is our top priority, the minimum collateral requirement will start at 2 ETH for Puffer node operators. This lowers the barrier to entry for solo stakers, allowing for a robust and scalable permissionless node operator set. If the validator is using Puffer's anti-slasher, they can reduce this collateral requirement to 1 ETH.
48+
> As preserving decentralization is our top priority, the minimum collateral requirement will start at 2 ETH for Puffer node operators. This lowers the barrier to entry for solo stakers, allowing for a robust and scalable permissionless node operator set.
5949
60-
### 🐢 When will Puffer launch?
50+
### 🐢 When did Puffer launch?
6151

62-
> Puffer is coming soon™️!
63-
64-
### 🦞 Who runs Secure-Signer?
65-
66-
> Nodes run Secure-Signer alongside their consensus client. Nodes could be anyone with compatible hardware and at least 1 ETH.
52+
> Puffer deployed on mainnet on 31st January 2024.
6753
6854
### 🦐 Can I get slashed if I go offline?
6955

7056
> No, inactivity is not considered a slashable offense. Refer to [Slashing on Ethereum PoS](slash.md).
7157
7258
### 🪼 How many validators have been slashed? Should we even care about slashable offenses?
7359

74-
> At the time of writing, there have been [262 slashing events](https://beaconcha.in/validators/slashings). While this number may seem low, slashing poses an existential threat to all Ethereum validators and LST holders.
75-
60+
> At the time of writing, there have been [472 slashing events](https://beaconcha.in/validators/slashings). While this number may seem low, slashing poses an existential threat to all Ethereum validators and LST holders.
61+
>
7662
> For example, assume there is a bug in one of the five consensus clients that causes a slashing rule to be broken (for simplicity, assume each consensus client is used by 20% of the validators). The anti-correlation penalty causes the slashing amount to increase as the number of offenders increases, in this case to $1 + 3*20\%*32 = 20.2$ ETH. Unfortunately, 20% of the validators using this consensus client would face a 20.2 ETH slashing penalty. This would wipe out years of staking revenue for the nodes and LST holders.
7763
78-
> Fortunately, if this were to happen, the Secure-Signer nodes on Puffer would be protected!
79-
80-
### 🐳 How are validator keys being managed in your system?
81-
82-
> The node generates and stores all validator keys in the [Secure-Signer enclave](secure-signer.md#where-is-it-run).
83-
84-
### 🐠 Wasn't SGX hacked before? Why would you use it?
85-
86-
> Since breaking SGX is of great interest in academia, there is a back-and-forth between white hat hackers finding exploits and Intel patches.
87-
88-
> It is essential that Puffer relies on SGX as a **strict security enhancement**. Honest nodes are completely protected against all slashable offenses. However, should a nefarious node manage to break SGX, all that they would learn is knowledge of their validator private key. Knowledge of one's validator private key is the status quo for _all_ existing staking operations and does not provide the node with any way to steal from the protocol.
89-
90-
### 🐊 Why don't other permissionless pools reduce their bond requirement to 1 ETH?
91-
92-
> Reducing the bond requirement [increases node and staker risk](slash.md#liquid-staking-protocol-considerations) which Puffer mitigates through [Secure-Signer](secure-signer.md#what-is-it) and [Guardian support](./guardians.md). Also as the bond requirement decreases, the threat of "rug-pooling" increases, which Puffer's [Validator Tickets](/protocol/validator-tickets#why--noop-incentives) address.
93-
94-
### 🪸 How hard is it to get access to SGX?
64+
### 🐊 Why don't other permissionless pools reduce their bond requirement to 2 ETH?
9565

96-
> Running Secure-Signer doesn't require anything expensive or technical, like purchasing and running an ASIC. Instead, Secure-Signer is software that runs on compatible Intel CPUs that support SGX. Many cloud providers (e.g., Microsoft Azure) readily supply SGX-enabled servers for cheap that are compatible with Secure-Signer. Additionally, Intel SGX-enabled XEON servers with the specs to run a validator can be purchased to be run at home. Community members have even had [success running Secure-Signer on Intel NUCs](https://mirror.xyz/ladislaus.eth/joTqwZ1sBLxlJayV4pIYxCkwl4RWheM_xipU_OCp9MM)!
66+
> Reducing the bond requirement [increases node and staker risk](slash.md#liquid-staking-protocol-considerations) which Puffer mitigates through [Guardian support](./guardians.md). Also as the bond requirement decreases, the threat of "rug-pooling" increases, which Puffer's [Validator Tickets](/protocol/validator-tickets#why--noop-incentives) address.

docs/glossary.md

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,80 +4,102 @@ slug: /reference/glossary
44
---
55

66
### Glossary
7+
78
### `Eigenlayer`
9+
810
An Ethereum-based protocol that enables restaking
911

1012
### `AVS`
13+
1114
Actively Validated Service ~ the term for a service on Eigenlayer
1215

1316
### `Restaking`
17+
1418
Where people reuse collateral to operate ≥ 1 AVS. If this collateral is beacon chain ETH, they are a called a `native restaker`
1519

1620
### `LSP`
21+
1722
Liquid Staking Protocol
1823

1924
### `nLRP`
25+
2026
Native Liquid Restaking Protocol. The Puffer protocol offers native ETH liquid restaking on Eigenlayer
2127

2228
### `pufETH`
29+
2330
The yield bearing token that represents staked ETH in Puffer’s LSP
2431

2532
### `Stakers`
33+
2634
The users who “stake” ETH to the vault to receive pufETH
2735

2836
### `NoOps`
37+
2938
The Puffer nodes that operate an Ethereum validator (and optionally additional AVSs)
3039

3140
### `Guardians`
41+
3242
A committee of Ethereum aligned community members and organizations to assist the protocol as it matures
3343

3444
### `Enclave`
45+
3546
A secure-computing environment capable of running Puffer’s anti-slashing technology
3647

3748
### `Burst Threshold`
49+
3850
Code in our smart contracts that self-caps the vault at 22% marketshare
3951

4052
### `Beacon Chain`
53+
4154
The main component of the Ethereum blockchain responsible for Proof of Stake consensus
4255

4356
### `Beacon Chain Deposit Contract`
57+
4458
The smart contract to which a NoOp must deposit 32 ETH to initiate running a validator node
4559

4660
### `VEM`
61+
4762
Voluntary Exit Message ~ a validator-signed message that will exit the signer when broadcasted to the beacon chain
4863

4964
### `Withdrawal Credentials`
65+
5066
A validator parameter that sets where their consensus rewards and full withdrawal eth are sent. For 0x01 (post-Shapella) withdrawals, the credentials are formatted as `0x01000000000000` ++ `20 byte ethereum address`
5167

5268
### `Consensus Rewards`
69+
5370
AKA partial withdrawals or skimmed rewards. These rewards are generated by Ethereum validators performing their PoS duties
5471

5572
### `Execution Rewards`
73+
5674
The rewards earned by a validator when proposing a block. The rewards are composed of priority fees and MEV: Maximal Extractable Value". This refers to the maximum value that can be extracted from block production in excess of the standard block reward and gas fees by including, excluding, and changing the order of transactions in a block. [source](https://ethereum.org/en/developers/docs/mev/)
5775

5876
### `Full Withdrawal`
77+
5978
The validator’s entire balance that is withdrawn from the beacon chain to the Ethereum address set by the withdrawal credentials
6079

6180
### `Slashing`
81+
6282
Slashing may refer to a loss of funds triggered by either of the following:
63-
1. Misbehavior of validator nodes, such as signing two different blocks for the same beacon slot (AKA double-signing). See [secure-signer](../technology/secure-signer) for more info on this kind of slashing
83+
84+
1. Misbehavior of validator nodes, such as signing two different blocks for the same beacon slot (AKA double-signing).
6485
2. A Restaking Operator (ReOp) not fulfilling obligations defined by an AVS
6586

6687
### `Validator Ticket`
67-
An ERC20 token. Each Validator Ticket allows operating a validator on the Puffer Protocol for one day.
6888

89+
An ERC20 token. Each Validator Ticket allows operating a validator on the Puffer Protocol for one day.
6990

7091
### `Bond`
92+
7193
An amount of pufETH a NoOp must lend to the protocol during the time of running their validator node. They may lose some or all of this bond if they misbehave or are slashed. NoOps may retrieve this bond after proving they have exited their validator node from the beacon chain
7294

7395
### `Puffer Module`
96+
7497
A contract that defines a set of AVSs which NoOps opting into the module will delegate their ETH funds to running. These NoOps will receive corresponding rewards in return by participating in this Puffer Module
7598

7699
### `Restaking Operator`
77-
AKA ReOp: A NoOp that is delegated funds to operate an AVS on behalf of other NoOps, as part of a Puffer Module
78100

79-
### `Secure Signer`
80-
A software developed by Puffer that helps prevent validators from being slashed. It utilizes Trusted Execution Environments (TEEs) such as Intel SGX
101+
AKA ReOp: A NoOp that is delegated funds to operate an AVS on behalf of other NoOps, as part of a Puffer Module
81102

82103
### `Proof of Rewards`
104+
83105
This refers to the process by which NoOps prove and receive the rewards generated as a result of running their validator node

0 commit comments

Comments
 (0)