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

Beef up pol docs #297

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
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
35 changes: 10 additions & 25 deletions apps/core/content/learn/pol/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,17 @@ A healthier equilibrium can be achieved between projects, validators, and the ch

Proof-of-Liquidity (PoL) involves the participation and influence of all the chain's stakeholders. PoL requires different stakeholders to work in sync to maximize liquidity on the chain, ensuring they receive the greatest benefit.

The following sequence diagram represents the different steps that Proof-of-Liquidity (PoL) undergoes from the perspective of a validator and delegator.
## User Flow

The following sequence diagram represents the different steps that Proof-of-Liquidity (PoL) undergoes from the perspective of how Berachain users are able to earn `$BGT` rewards by supplying liquidity.

![Berachain Proof-of-Liquidity Steps](/assets/proof-of-liquidity-steps.png)

1. A _Prospective Validator_ will provide an initial gas token bond (`$BERA`) to secure the network and gain eligibility to produce blocks. All active validators have an equal chance to be selected to propose a block.
2. An _Active Validator_ is chosen at random and proposes a new block.
1. A _Prospective Validator_ stakes an initial bond (`$BERA`) to secure the network and gain eligibility to produce blocks, becoming an _Active Validator_.
2. An _Active Validator_ is chosen at random and proposes a new block. All validators have an equal chance of being chosen.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2. An _Active Validator_ is chosen at random and proposes a new block. All validators have an equal chance of being chosen.
2. An _Active Validator_ is chosen at random to proposes a new block. All validators have an equal chance of being chosen.

3. For proposing a new block, the chain allots the _Active Validator_ with the governance token (`$BGT`) for distribution
4. With the rewarded governance token, the _Active Validator_ distributes to various _Reward Vaults_, decided by the validator in the Berachef contract (A list of addresses and distribution percentages to different Reward Vaults).
5. A _Liquidity Provider_ may perform a liquidity action like depositing a certain token with a BEX pool. Ex: Providing `$HONEY` and `$BERA` to a liquidity pool
6. For providing liquidity, the _Liquidity Provider_ receives a receipt token. Ex: `$HONEY-WBERA`.
7. The _Liquidity Provider_ stakes the receipt token with the _Reward Vault_ making them eligible to receive `$BGT` based on their contribution.
8. The `$BGT` that was distributed to the reward vault is now eligible to be claimed by the _Liquidity Provider_, making them a _BGT Holder_
9. A BGT Holder can now delegate their `$BGT` to an _Active Validator_, making that validator a _Boosted Validator_, and increases the rewards a validator is alloted to distribute when they propose a block

## Aligning Protocols and Validators 🤝

Because validators are given the responsibility of distributing governance tokens to Reward Vaults, when chosen to propose a block, it introduces a new dynamic where rewards are essentially shared with the ecosystem protocols.

Validators will share a stronger relationship with protocols, as their reward weight is determined by the governance tokens delegated to them, creating a symbiotic relationship.

Protocols can also convince Validators to start directing rewards to them by offering _Incentives_ in exchange for the `$BGT` rewards directed to their specific _Reward Vaults_.

## Existing Reward Vault Implementations 🐻

The following are implementations of existing Reward Vaults:

1. [BEX](/learn/dapps/bex) - Specific BEX Pools
2. [Berps](/learn/dapps/berps) - Depositing `$HONEY` into Berps Honey Vault
3. [Bend](/learn/dapps/bend) - Borrow `$HONEY`
4. The _Active Validator_ distributes `$BGT` to its choice of _Reward Vaults_, defined by the validator in a _Cutting Board_ (a list of addresses and distribution percentages to different Reward Vaults).
5. A _Liquidity Provider_ may supply liquidity, such as depositing in a BEX pool. Ex: Providing `$HONEY` and `$BERA` liquidity, for which they receive a receipt token (`$HONEY-WBERA LP`).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
5. A _Liquidity Provider_ may supply liquidity, such as depositing in a BEX pool. Ex: Providing `$HONEY` and `$BERA` liquidity, for which they receive a receipt token (`$HONEY-WBERA LP`).
5. A _Liquidity Provider_ may supply liquidity, such as depositing assets in a BEX pool. Ex: Providing `$HONEY` and `$BERA` liquidity, for which they receive a receipt token (`$HONEY-WBERA LP`).

6. The _Liquidity Provider_ stakes the receipt token with the _Reward Vault_ making them eligible to receive `$BGT` based on their contribution.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
6. The _Liquidity Provider_ stakes the receipt token with the _Reward Vault_ making them eligible to receive `$BGT` based on their contribution.
6. The _Liquidity Provider_ stakes the receipt token with the _Reward Vault_, making them eligible to receive `$BGT` based on their contribution.

7. The `$BGT` that was distributed to the Reward Vault is claimable by the _Liquidity Provider_, making them a _BGT Holder_.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
7. The `$BGT` that was distributed to the Reward Vault is claimable by the _Liquidity Provider_, making them a _BGT Holder_.
7. The `$BGT` that was distributed to the _Reward Vault_ is claimable by the _Liquidity Provider_, making them a _BGT Holder_.

8. A _BGT Holder_ can now delegate their `$BGT` to an _Active Validator_, making that validator a _Boosted Validator_, and increases the `$BGT` a validator distribute when they propose a block.
43 changes: 25 additions & 18 deletions apps/core/content/learn/pol/participants.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,41 @@ The following diagram shows a breakdown of the different participants in the PoL

## Validators ✅

Validators coordinate with one another to reach consensus on the state of the blockchain. In exchange for earning network rewards, validators must put assets at stake and can be penalized for misbehavior. Staking `$BERA` tokens is required for becoming an active validator.
Validators coordinate with one another to reach consensus on the state of the blockchain. In exchange for earning network rewards, validators must stake `$BERA`, which can be penalized for misbehavior.

Validators earn through three primary means:

1. Gas fees and priority fees
2. Collecting incentives provided by protocols for directing `$BGT` rewards to their [Reward Vaults](/learn/pol/rewardvaults)
3. Taking a commission on the total `$BGT` earned from building a block
2. A percentage of `$BGT` block emissions (fixed at the chain level across validators)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2. A percentage of `$BGT` block emissions (fixed at the chain level across validators)
2. A percentage of `$BGT` block emissions that is fixed at the chain level across validators

3. Commission on incentives from [Reward Vaults](/learn/pol/rewardvaults) (configurable by validators)

Point 1 is straightforward, and is the same as in Ethereum PoS. Point 2 is where interesting PoL mechanics come into play.
Points 1 & 2 are straightforward, and are similar to Ethereum PoS. Point 3 is where interesting PoL mechanics come into play.

### Validator Incentives 💎

As discussed in [$BGT](/learn/pol/tokens/bgt), emissions are distributed per block based on the `$BGT` delegation weight of the validator selected to propose the block. Each block's proposing validator has the right to distribute the block's `$BGT` rewards to any Reward Vault(s) they choose, and collect any associated incentives provided by protocols. There is an equal chance for any validator to propose a block.
Emissions are distributed per block based on the [$BGT](/learn/pol/tokens/bgt) delegation weight of the validator proposing that block. That validator has the right to distribute the block's `$BGT` rewards to any Reward Vault(s) they choose, and collect any associated incentives provided by protocols. There is an equal random chance for any validator to propose a block.
Copy link
Collaborator

@codingwithmanny codingwithmanny Sep 26, 2024

Choose a reason for hiding this comment

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

Suggested change
Emissions are distributed per block based on the [$BGT](/learn/pol/tokens/bgt) delegation weight of the validator proposing that block. That validator has the right to distribute the block's `$BGT` rewards to any Reward Vault(s) they choose, and collect any associated incentives provided by protocols. There is an equal random chance for any validator to propose a block.
Emissions are distributed per block based on the [$BGT](/learn/pol/tokens/bgt) delegation weight of the validator proposing that block. The block-proposing validator has the right to distribute the block's `$BGT` rewards to any Reward Vault(s) they choose, and collect any associated incentives provided by protocols. There is an equal random chance for any validator to propose a block.


Validators' `$BGT` delegation weight initially starts at 0, such that validators do not distribute `$BGT` to Reward Vaults when proposing blocks. However, by demonstrating that they are seeking out the most profitable Reward Vaults to direct `$BGT` to, and by passing on a portion of these rewards to `$BGT` delegators, they can attract a greater delegation.
Validators, by demonstrating that they are seeking out the most profitable Reward Vaults to direct `$BGT` to, and by passing on received incentives to their delegators (from which validators take a commission), can attract a greater delegation.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Validators, by demonstrating that they are seeking out the most profitable Reward Vaults to direct `$BGT` to, and by passing on received incentives to their delegators (from which validators take a commission), can attract a greater delegation.
Validators can attract greater delegation by demonstrating that they are seeking out the most profitable Reward Vaults to direct `$BGT` to, and by passing on received incentives to their delegators (from which validators take a commission).


### Ecosystem Alignment ⚖️

Validators in PoL are more than just "validating" the network, they have the opportunity to partner with protocols to promote their liquidity on Berachain. Lastly, they must earn the favor of users (i.e. `$BGT` holders and farmers) in order to effectively distribute `$BGT` rewards to Reward Vaults and earn incentives.
Validators in PoL are more than just "validating" the network, they have the opportunity to partner with protocols to promote their liquidity on Berachain. They must earn the favor of users (i.e. `$BGT` holders and farmers) in order to optimally distribute `$BGT` rewards to Reward Vaults and earn incentives (for both themselves and delegates).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Validators in PoL are more than just "validating" the network, they have the opportunity to partner with protocols to promote their liquidity on Berachain. They must earn the favor of users (i.e. `$BGT` holders and farmers) in order to optimally distribute `$BGT` rewards to Reward Vaults and earn incentives (for both themselves and delegates).
Validators in PoL are more than just "validating" the network; they have the opportunity to partner with protocols to promote their liquidity on Berachain. They must earn the favor of users (i.e. `$BGT` holders and farmers) in order to optimally distribute `$BGT` rewards to Reward Vaults and earn incentives (for both themselves and delegates).


### Validator Value Flow Example

This example examines the value flow from a validator's perspective. All numbers are for illustrative purposes only. In our example, 5% of emissions are given to validators (configured globally at the chain level), and a _Validator A_ takes a 7% commission on incentives (configured at the validator level)

1. _Validator A_ proposes a block, and 1000 `$BGT` is minted
2. _Validator A_ receives 5% of the 1000 `$BGT` (50 `$BGT`), according to the commission elected by the validator
3. _Validator A_ distributes the remainder (950 `$BGT`) to Reward Vaults according to their _Cutting Board_ distribution
4. _Validator A_ receives _incentives_ from protocols for directing `$BGT` to their Reward Vaults (e.g. 10,000 `$HONEY`)
5. _Validator A_ takes a 7% commission on the incentives (e.g. 700 `$HONEY`), and distributes the remainder (e.g. 9,300 `$HONEY`) to their `$BGT` delegators pro-rata
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
5. _Validator A_ takes a 7% commission on the incentives (e.g. 700 `$HONEY`), and distributes the remainder (e.g. 9,300 `$HONEY`) to their `$BGT` delegators pro-rata
5. _Validator A_ takes a 7% commission on the incentives (e.g. 700 `$HONEY`), and distributes the remainder (e.g. 9,300 `$HONEY`) to their `$BGT` delegators pro rata


## `$BGT` Holders & Farmers 🥕

`$BGT` holders play a crucial role in the following:

1. Influencing ecosystem decisions through Governance
1. Influencing ecosystem decisions through [Governance](/learn/governance/)
2. Influencing where Berachain's economic incentives are directed (by delegating to validators)

:::warning
Expand All @@ -38,25 +49,21 @@ Validators in PoL are more than just "validating" the network, they have the opp

### Earning `$BGT` ⬇️

As a farmer seeking to earn `$BGT`, I would look for the most profitable Reward Vaults to farm, given my risk and asset exposure profile. This means that I would look for the Reward Vaults that are receiving the most `$BGT` emissions from validators meeting my criteria. For example, if I only wanted stablecoin exposure, I may elect to earn `$BGT` by providing `$HONEY` liquidity to the Berps protocol.
A farmer seeking to earn `$BGT` may look for the most profitable Reward Vault(s) to farm, considering their risk profile. This could entail seeking Reward Vaults which receive the most `$BGT` emissions and which meet their asset exposure criteria. For example, if I only wanted stablecoin exposure, I may elect to earn `$BGT` by providing `$HONEY` liquidity to [Berps](/learn/dapps/berps).

### Delegating `$BGT` ⬆️

Now that I have `$BGT`, different factors may influence how I choose to delegate it:
After earning `$BGT`, different factors may influence how holders choose to delegate it:

- I may delegate `$BGT` to validators who are directing `$BGT` rewards to the Reward Vaults I am farming (to increase my earning rate).
- I may delegate `$BGT` to validators who maximize reward vault incentive earning, and pass the maximum value back to their delegators.
- Delegating `$BGT` to validators who are directing `$BGT` rewards to Reward Vaults in which they are deposited (to increase their earning rate).
- Delegating `$BGT` to validators who maximize reward vault incentive earning, and pass the maximum value back to their delegators.

## Bera Foundation 🏛️

The Foundation plays a role in operating default dApps (Bex, Bend, Berps) which produce fees that are distributed to `$BGT` holders (such that there is native demand for earning `$BGT`, independent of reward vault incentives).

Liquidity in these default dApps also serve as default Reward Vaults for users to provide liquidity on and earn `$BGT`, until other protocols' Reward Vaults are plugged into PoL through governance.
The Foundation plays a role in operating default dApps (Bex, Bend, Berps) which produce fees that are distributed to `$BGT` holders (such that there is native demand for earning `$BGT`, independent of reward vault incentives). Liquidity in these default dApps also serve as default Reward Vaults for users to provide liquidity on and earn `$BGT`.

## Ecosystem Projects 🧸

PoL represents a novel way for protocols to bootstrap deposits, versus the traditional approach of incentivizing liquidity through liquidity mining. By plugging into PoL, protocols can promote liquidity by incentivizing `$BGT` rewards (from validators) to be directed to their Reward Vaults.
PoL represents a novel way for protocols to bootstrap deposits, versus the traditional approach of incentivizing liquidity through liquidity mining. Protocols can opt to bootstrap deposits by incentivizing validators to direct `$BGT` to their Reward Vaults (for example with that protocol's governance tokens).

All of the chain's participants are aligned in increasing the overall value of the network, since all rewards coalesce around `$BGT`. If the value of `$BGT` incentives go up, projects' tokens (which are provided as incentives on Reward Vaults) may also corresponding increase in value with an increase in deposits.

Lastly, new ecosystem projects will have to become active participants and earn the favor of `$BGT` holders and delegates, in order to have their Reward Vaults be whitelisted into the PoL system.
16 changes: 11 additions & 5 deletions apps/core/content/learn/what-is-proof-of-liquidity.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,22 @@ head:

# What is Proof-of-Liquidity? 🤝

Proof-of-Liquidity (PoL) is a novel consensus mechanism that aligns and increases the security of the chain by increased liquidity deployed on chain.
Proof-of-Liquidity (PoL) is a novel consensus mechanism that uses chain-incentives to simultaneously scale the liquidity and economic security of Berachain.

PoL borrows from the Proof-of-Stake (PoS) concept of securing a chain by providing an initial stake with the native gas token. PoL builds upon PoS by introducing an additional soulbound governance token that both determines the potential reward weight for a staker, through delegation by others, and is rewarded to parties that have provided liquidity to the chain through governed reward vaults.
PoL borrows from the Proof-of-Stake (PoS) concept of securing a chain by providing an initial stake with the native gas token ([BERA](/learn/pol/tokens/bera)). PoL builds upon PoS by introducing an additional soulbound governance ([BGT](/learn/pol/tokens/bgt)) token that both determines the rewards influence of validators (through delegation by users), and which is rewarded to users that have provided liquidity on Berachain (and subsequently staked in "Reward Vaults").
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
PoL borrows from the Proof-of-Stake (PoS) concept of securing a chain by providing an initial stake with the native gas token ([BERA](/learn/pol/tokens/bera)). PoL builds upon PoS by introducing an additional soulbound governance ([BGT](/learn/pol/tokens/bgt)) token that both determines the rewards influence of validators (through delegation by users), and which is rewarded to users that have provided liquidity on Berachain (and subsequently staked in "Reward Vaults").
PoL borrows from the Proof-of-Stake (PoS) concept of securing a chain by providing an initial stake with the native gas token ([$BERA](/learn/pol/tokens/bera)). PoL builds upon PoS by introducing an additional soulbound governance ([$BGT](/learn/pol/tokens/bgt)) token that both determines the rewards influence of validators (through delegation by users) and is rewarded to users that have provided liquidity on Berachain (and subsequently staked in "Reward Vaults").


![Proof-of-Liquidity Flywheel](/assets/proof-of-liquidity-flywheel.png)

This separates token responsibility for gas and security from tokens used to govern chain rewards.

For Berachain, that is the native gas token [`$BERA`](/learn/pol/tokens/bera), and the non-transferrable Berachain Governance Token ([`$BGT`](/learn/pol/tokens/bgt)).
This separates tokens responsible for gas and security ([`BERA`](/learn/pol/tokens/bera)) from tokens used to incentive productive activity and govern the ecosystem ([`BGT`](/learn/pol/tokens/bgt)).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
This separates tokens responsible for gas and security ([`BERA`](/learn/pol/tokens/bera)) from tokens used to incentive productive activity and govern the ecosystem ([`BGT`](/learn/pol/tokens/bgt)).
PoL separates tokens responsible for gas and security ([`$BERA`](/learn/pol/tokens/bera)) from tokens used to incentive productive activity and govern the ecosystem ([`$BGT`](/learn/pol/tokens/bgt)).


The role these various tokens play in comparison to Ethereum's PoS is illustrated below:
![Proof-of-Stake vs Proof-of-Liquidity](/assets/berachain-pos-vs-pol.png)

## Aligning Protocols, Users and Validators 🤝

PoL creates networks of symbiotic relationships where the network's incentives are shared amongst ecosystem stakeholders, which validators play a key role in orchestrating:
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
PoL creates networks of symbiotic relationships where the network's incentives are shared amongst ecosystem stakeholders, which validators play a key role in orchestrating:
PoL creates networks of symbiotic relationships where the network's incentives are shared amongst ecosystem stakeholders, in which validators play a key role in orchestrating:


- Validators partner with everyday Berachain users, as validators' ability to allocate rewards is determined by the `$BGT` delegated to them (obtained exclusively through supplying liquidity to PoL-enabled protocols).
- Protocols offer _Incentives_ to validators, in exchange for directing `$BGT` emissions to their specific _Reward Vaults_, which increases deposits in the protocol.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
- Protocols offer _Incentives_ to validators, in exchange for directing `$BGT` emissions to their specific _Reward Vaults_, which increases deposits in the protocol.
- Protocols offer _Incentives_ to validators in exchange for directing `$BGT` emissions to their specific _Reward Vaults_, which increases deposits in the protocol.


> Read more in [Proof-of-Liquidity Overview](/learn/pol/)