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

CIP-1694 | Introduce governance action fee instead of deposit #543

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
68 changes: 51 additions & 17 deletions CIP-1694/README.md
Expand Up @@ -476,9 +476,8 @@ After this phase, although rewards will continue to be earned for block delegati
DReps arguably need to be compensated for their work. Research on incentive models is still ongoing,
and we do not wish to hold up implementation of this CIP while this is resolved.

Our interim proposal is therefore to escrow Lovelace from the existing Cardano treasury until this
extremely important decision can be agreed on by the community, through the on-chain governance
mechanism that is being constructed.
Our interim proposal is to leave this decision up to the users of the system by introducing an "optional tax" on governance action as a fee with a configurable minimum.
This leaves the door open to introduce DReps incentives through social constructs and off-chain protocols.

Alternatively, DReps could pay themselves through instances of the "Treasury withdrawal" governance action.
Such an action would be auditable on-chain, and should reflect an off-chain agreement between DReps and delegators.
Expand Down Expand Up @@ -509,20 +508,36 @@ for example, a motion of no confidence is enacted.
| 6. Treasury Withdrawals | Movements from the treasury, sub-categorized into small, medium or large withdrawals (based on the amount of Lovelace to be withdrawn). The thresholds for treasury withdrawals are discussed below. |
| 7. Info | An action that has no effect on-chain, other than an on-chain record. |

**Any Ada holder** can submit a governance action to the chain.
They must provide a deposit of `govDeposit` Lovelace, which will be returned when the action is finalized
(whether it is **ratified**, has been **dropped**, or has **expired**).
The deposit amount will be added to the _deposit pot_, similar to stake key deposits.
It will also be counted towards the stake of the reward address it will be paid back to, to not reduce the submitter's voting power to vote on their own (and competing) actions.

Note that a motion of no-confidence is an extreme measure that enables Ada holders to revoke the power
that has been granted to the current constitutional committee.
Any outstanding governance actions, including ones that the committee has ratified or ones that would be enacted this epoch,
will be dropped if the motion is enacted.
> **Note**
> motion of no-confidence is an extreme measure that enables Ada holders to revoke the power
> that has been granted to the current constitutional committee.
> Any outstanding governance actions, including ones that the committee has ratified or ones that would be enacted this epoch,
> will be dropped if the motion is enacted.

> **Note**
> A **single** governance action might contain **multiple** protocol parameter updates. Many parameters are inter-connected and might require moving in lockstep.

#### Fee

**Any Ada holder** can submit a governance action to the chain.
Transactions that carry governance actions must satisfy a **minimum fee** to be valid.
The minimum fee is parameterized by a new protocol parameter `minGovernanceFee`.

When a governance action is ratified, or when it expires,
Copy link
Collaborator

Choose a reason for hiding this comment

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

What happens to fee if a governance action dropped (due to a motion of no confidence for example)?

any governance fee surplus is distributed amongst DReps **that took part in the vote**, regardless of their vote.
Copy link
Collaborator

@Ryun1 Ryun1 Jul 4, 2023

Choose a reason for hiding this comment

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

Suggested change
any governance fee surplus is distributed amongst DReps **that took part in the vote**, regardless of their vote.
any governance fee surplus is distributed amongst registered DReps **that took part in the vote**, regardless of their vote.

Change wording to avoid confusion with pre-defined DReps?

Copy link
Contributor

Choose a reason for hiding this comment

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

Using ''registered'' DRep could possibly conflict with the changes proposed by #545 about DRep registration if merged.
Suggestion: Maybe ''active DReps'' instead ?

The distribution is done proportionnally to the DRep stake distribution, rounded down to the nearest Lovelace.
Any remainder Lovelace is sent to the treasury.
Copy link
Collaborator

Choose a reason for hiding this comment

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

What happens to the fee if the governance action receives no votes? - I assume it all goes to the treasury?


For the fee distribution, we consider the stake distribution at the moment of the ratification (or expiry, depending on the case).

For example, if a governance action is given `F` fees,
`minGovernanceFee` is sent to the treasury and `F - minGovernanceFee` is split amongst active DReps.

> **Warning**
>
> This is a **fee**, not a deposit. Funds allocated as fees are effectively
> spent and do not count as active stake for the duration of the vote.

#### Ratification

Governance actions are **ratified** through on-chain voting actions.
Expand Down Expand Up @@ -731,7 +746,7 @@ The **governance group** consists of all the new protocol parameters that are in
* governance voting thresholds ($P_1$, $P_{2a}$, $P_{2b}$, $P_3$, $P_4$, $P_{5a}$, $P_{5b}$, $P_{5c}$, $P_6$, $P_7$, $Q_1$, $Q_{2b}$, $Q_4$)
* constitutional committee term limits
* governance action expiration
* governance action deposit (`govDeposit`)
Copy link
Collaborator

@Ryun1 Ryun1 Jul 4, 2023

Choose a reason for hiding this comment

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

Are governance action deposits being removed? because they are still referenced many times in this proposal (example, example, example)

Copy link
Member Author

Choose a reason for hiding this comment

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

Nice catch, thanks. Yes, in this proposal, fees supersedes the deposit.

Copy link
Contributor

@Hornan7 Hornan7 Jul 14, 2023

Choose a reason for hiding this comment

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

I love this governance fee new protocol parameter idea. May I suggest to keep the govDeposit with the minGovernanceFee which would be small at first and both ajustable through governance actions (protocol params change). So you get the best of both worlds.

  • A small minGovernanceFee shared amongs the DReps, so you keep the incentives of submitting goverance actions.
    and
  • A bigger govDeposit to mitigate the governance actions load.

Also a small fix suggestion on Rational links:
image

* governance action minimum fee (`minGovernanceFee`)
* DRep deposit amount (`drepDeposit`)
* DRep activity period (`drepActivity`)
* minimal constitutional committee size
Expand Down Expand Up @@ -784,8 +799,7 @@ In particular, the following will be tracked:

* the governance action ID
* the epoch that the action expires
* the deposit amount
* the rewards address that will receive the deposit when it is returned
* the fee amount
* the total 'Yes'/'No'/'Abstain' votes of the constitutional committee for this action
* the total 'Yes'/'No'/'Abstain' votes of the DReps for this action
* the total 'Yes'/'No'/'Abstain' votes of the SPOs for this action
Expand Down Expand Up @@ -971,7 +985,7 @@ as a ledger state query.

Since governance actions are available for anyone to submit, we need some mechanism to prevent those
individuals responsible for voting from becoming overwhelmed with a flood of proposals.
A large deposit is one such mechanism, but this comes at the unfortunate cost of being a barrier
A large-enough deposit or fee is one such mechanism, but this comes at the unfortunate cost of being a barrier
for some people to submit an action.
Note, however, that crowd-sourcing with a Plutus script is always an option to gather the deposit.

Expand All @@ -980,6 +994,26 @@ time, and instead depend on off-chain socialization to guide voters' attention t
In this scenario, the constitutional committee might choose to only consider proposals which have
already garnered enough votes from the DReps.

### Governance action fee

By introducing an optional fee on each governance action, we push the question of the DRep incentives down to the users of the system.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why cannot a deposit and fee both exist at once? why is a fee approach favoured over the deposit?

Through the various discussions that happened both online and offline, it's been clear that the topic of DRep incentives is a polarizing one.
Hence, there's hardly no good answer to this problem that can be formulated without a governance framework already in place.

Introducing a fee on transactions not only provides some spam prevention, but it also creates a fee market for governance action.
That market both depends on how DReps evaluates their time, and how Ada holders are willing to promote governance actions.
Fee can be adjustable based on the work required by the action, or they can be agreed upon via off-chain protocols.

Having the fee allocated proportionnally to DReps stake prevents opportunistic attacks where a malicious actors would register at the
last minute in hope to collect fees on an action.
Being proportional to the stake also means that it isn't a pre-condition for participation. Even small DReps can participate, though at a lower expense.
Similarly it doesn't preclude actions to be submitted without any surplus fee for there might be actions supported by a large part of the network
and not needing any incentive.

We still define a `minGovernanceFee` in case we want to ensure that there exist a minimum fee that is agreed upon at a network-level, if
only to cover for the resource cost of keeping track of a governance action in the ledger.
Being a protocol parameter means that it can be adjusted and nullified as needed.

### No AVST

An earlier draft of this CIP included the notion of an "active voting stake threshold", or AVST.
Expand Down