Skip to content
Open
Show file tree
Hide file tree
Changes from 14 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
311 changes: 311 additions & 0 deletions CIP-????/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,311 @@
---
CIP: XXXX
Title: Compensatory Ledger Mechanism
Category: Ledger
Status: Proposed
Authors:
- Thomas Lindseth <[email protected]>
Implementors: []
Discussions:
- https://github.com/cardano-foundation/CIPs/pull/1117
Created: 2025-11-29
License: CC-BY-4.0
---

## Abstract

This CIP introduces the **Compensatory Ledger Mechanism (CLM)**—a deterministic, protocol-level compensation system for governance actors participating in Cardano governance actions. A portion of each governance action’s deposit is automatically distributed to Constitutional Committee (CC) members, Delegated Representatives (DReps), and Stake Pool Operators (SPOs) who cast a valid vote.

This mechanism requires **no smart contracts**, **no Treasury withdrawals**, and **no manual triggers**, operating fully within Cardano’s ledger rules in a manner analogous to staking rewards. It creates an incentive-aligned, sustainable, and decentralized compensation model that reflects the real cost of governance participation.

---
Copy link
Collaborator

Choose a reason for hiding this comment

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

please also consider addressing the points from CPS-20 Governance Stakeholder Incentivization


## Motivation: why is this CIP necessary?

Cardano’s decentralized governance framework requires persistent engagement from CC members, DReps, and SPOs. These actors must analyze governance actions, evaluate technical and economic implications, and cast informed votes. This work incurs ongoing time, expertise, and operational costs. Without a reliable compensation model, several risks emerge:

### Governance Fatigue
Uncompensated governance labor leads to declining participation over time.
Copy link
Collaborator

Choose a reason for hiding this comment

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

have we seen this?
do we have numbers on this?


### Centralization Risks
Only large, well-funded entities can consistently afford to participate, reducing diversity and representation.

Copy link
Collaborator

@Ryun1 Ryun1 Dec 9, 2025

Choose a reason for hiding this comment

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

from CIPs call, another potential benefit for the proposed design

  • no reliance from volunteering

### Low Governance Participation / Quorum Instability
Copy link
Collaborator

Choose a reason for hiding this comment

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

Probably roll this one into Centralization Risks

Without compensation, new and smaller actors lack incentives to engage, harming governance quality.

### Misaligned Incentives
Proposers incur no cost commensurate with the burden placed on reviewers and voters.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Proposers do incur the opportunity cost of lost staking rewards

Copy link
Author

Choose a reason for hiding this comment

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

True, but is that considered cost? They are not paying for it. They incur potential losses, not cost.


### Need for a Deterministic, Automated Mechanism
Any off-chain or trust-based compensation scheme introduces friction and reduces security.
Copy link
Collaborator

Choose a reason for hiding this comment

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

maybe worth discussing a smart contract based solution

Copy link
Author

Choose a reason for hiding this comment

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

Agreed. If a smart contract solution can do the same with less changes to the ledger I am all for it.


The CLM addresses these issues by:
- Making governance participation economically feasible
- Ensuring compensation flows only to active participants
- Funding compensation from proposer deposits, aligning costs with governance load
- Executing payments entirely through the ledger for maximum reliability

---

## Specification

### New Protocol Parameters

The following fields are added to `PParams`:

| Parameter | Type | Description |
|----------|------|-------------|
| `ccCompensationRate` | UnitInterval | Portion of `govDeposit` allocated to CC. |
| `drepCompensationRate` | UnitInterval | Portion allocated to DReps. |
| `spoCompensationRate` | UnitInterval | Portion allocated to SPOs. |
| `drepWeightFactor` | UnitInterval | Fraction of DRep pool distributed stake-weighted. |
| `spoWeightFactor` | UnitInterval | Fraction of SPO pool distributed active-stake-weighted. |

**Constraint:**
`ccCompensationRate + drepCompensationRate + spoCompensationRate ≤ MAX_COMP_RATE`
where `MAX_COMP_RATE` is hard-coded (e.g., 0.25).
Copy link
Collaborator

Choose a reason for hiding this comment

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

probably not good to hard-code
best to have everything as an adjustable protocol parameter

Copy link
Contributor

@Cerkoryn Cerkoryn Dec 9, 2025

Choose a reason for hiding this comment

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

I might even argue that we could do without MAX_COMP_RATE altogether.

In theory we could have 100% of govActionDeposit be usable for compensation and then lower it a bunch. Right now giving up 6 epochs worth of staking rewards on 100k ADA costs about ~200 ADA. If we instead had govActionDeposit at something like 1000 ADA, we could make governance more accessible, compensate governance actors fairly, AND mitigate spam proposals all at the same time.

Those are just hypothetical numbers and we definitely should make incremental changes instead of all at once. But the idea is that with this CIP it would all be a simple matter of just fine-tuning a few parameters.

Copy link
Author

Choose a reason for hiding this comment

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

The intent of this was to eliminate the possibility of overcharging.
I am all for fair compensation, but I don't want being an SPO, a DREP or a CC member to potentially become a "get rich quick" scheme. So to protect that I intruduced a max cap.
This could obviously be a variable parameter, and the 25% was just put in as an example that made somewhat sense when I was playing around with the parameters in various scenarios.


---

### Ledger Additions
The ledger should maintain two new optional mappings:

- `drepRewardAccounts : Map DRepID (Maybe RewardAddress)`
- `ccRewardAccounts : Map CCHotCredential (Maybe RewardAddress)`

### DRep Registration Extension
DRep registration certificates should include:
- a DRep ID
- a deposit
- an optional anchor
- **an optional reward address**

Processing rule:
- If present → `drepRewardAccounts[drepID] = Just rewardAddress`
- If absent → `drepRewardAccounts[drepID] = Nothing`

### CC Hot Key Registration Extension
A CC hot key registration certificate should include:
- the cold credential
- the hot credential
- **an optional reward address**

Processing rule:
- If present → `ccRewardAccounts[hotCred] = Just rewardAddress`
- If absent → `ccRewardAccounts[hotCred] = Nothing`

### Compensation Trigger



Upon finalization of any governance action requiring a deposit—whether it **passes**, **fails**, or **expires**—the ledger automatically:

1. Finalizes deposit accounting
2. Creates the compensation pools
3. Distributes funds to voting governance actors

This occurs atomically during governance-action completion.

---

## Compensation Eligibility Based on Relevant Governance Actor Groups

For each governance action type, the protocol specifies which governance actor groups are **relevant** to the ratification of that action. Only these *relevant* groups contribute to the tally for that action, and only these groups may generate compensation under the CLM.

Governance actor groups that are **non-relevant** for a given governance action type may cast votes, but their votes do **not** affect the tally and they do **not** receive compensation. Their associated portion of the compensation rate is **not consumed**.

Let `RelevantActors` be the set of governance actor groups relevant for the governance action type. Define:

```
EffectiveRate(group) =
compensationRate(group), if group ∈ RelevantActors
0, otherwise
```

Only these `EffectiveRate` values are used for compensation pot creation.

### Refund Behavior

Any portion of the governance deposit corresponding to compensation rates for **non-relevant** governance actor groups:

* is **not added** to any compensation pool,
* is **not consumed**, and
* remains part of the **refundable deposit** that may be returned to the proposer when the governance action finalizes.

Thus:

```
TotalCompensation = govDeposit × Σ(EffectiveRate(group))

RefundableDeposit = govDeposit − TotalCompensation
```

---

### Compensation Pot Creation

Let `govDeposit` be the required deposit for the governance action.

```
TotalCompensation =
govDeposit × Σ(EffectiveRate(group))
```

Split into:

```
CC_Pool = govDeposit × EffectiveRate(CC)
DRep_Pool = govDeposit × EffectiveRate(DRep)
SPO_Pool = govDeposit × EffectiveRate(SPO)
```

The remainder is refund-eligible for the proposer when the action expires.

---

### Distribution Rules

#### Compensation to Constitutional Committee (Equal Share)

Only voting CC members are compensated.

```
Payout_CC = CC_Pool / numberOfVotingCCMembers
```

Non-voting CC members receive 0.

---

#### DRep Compensation (Hybrid Model)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there consideration of the IOR proposed DRep compensation scheme?

Copy link
Author

Choose a reason for hiding this comment

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

I have barely read that one. So not it has not been considered.


##### Equal-Share Portion
```
EqualShareAmount = DRep_Pool × (1 − drepWeightFactor)
Payout_Equal_DRep = EqualShareAmount / numberOfVotingDReps
```

##### Stake-Weighted Portion
Based on governance stake represented by voting DReps:

```
WeightedAmount = DRep_Pool × drepWeightFactor
Payout_Weighted_DRep =
WeightedAmount × (stakeRepresentedByDRep / totalStakeOfVotingDReps)
```

##### Total DRep Payout
```
Payout_DRep = Payout_Equal_DRep + Payout_Weighted_DRep
```

---

#### SPO Compensation (Hybrid Model)

##### Equal-Share Portion
```
EqualShareAmount = SPO_Pool × (1 − spoWeightFactor)
Payout_Equal_SPO = EqualShareAmount / numberOfVotingSPOs
```

##### Stake-Weighted Portion
Weighted by **block-producing active stake.

```
WeightedAmount = SPO_Pool × spoWeightFactor
Payout_Weighted_SPO =
WeightedAmount × (activeStakeOfSPO / totalActiveStakeOfVotingSPOs)
```

##### Total SPO Payout

Payout_SPO = Payout_Equal_SPO + Payout_Weighted_SPO

### Eligibility
To receive CLM compensation, a governance actor must:
- cast a valid vote on the governance action, and
- have a registered reward address:
- DReps: `drepRewardAccounts[drepID] = Just addr`
- CC members: `ccRewardAccounts[hotCred] = Just addr`
- SPOs: existing staking reward account

Actors without a reward address remain part of vote weighting but receive no payout.

---

### Deposit Finality

The compensation portion of the deposit corresponding to EffectiveRate(group) values greater than zero is consumed. Any portion corresponding to groups with EffectiveRate(group) = 0 (i.e., non-relevant governance actor groups) is not consumed and remains refundable.

---

## Rationale: how does this CIP achieve its goals?
Copy link
Collaborator

Choose a reason for hiding this comment

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

worth discussing that a mechanism like this would greatly increase the cost to proposers, could this have knock-on negative effects?

Copy link
Author

Choose a reason for hiding this comment

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

In the short run, maybe. In the long run, I believe that eventually we will hit a sweet spot where the govActionDeposit parameter could be lowered to a point where the governance actors are pleased with the compensation they recieve as well as the proposers are OK to pay this amount.
A bonus to this solution is that it will make proposers think twice about what they submit as there is an actual cost attached to it. This would allow for lowering the govActionDeposit while still keeping spam to a minimum.


Copy link
Collaborator

Choose a reason for hiding this comment

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

From @Cerkoryn

With this CIP it solves the compensation issue for all three branches by adding an actual monetary cost to GA deposits. This could give us the flexibility to dial back govActionDeposit gradually and allow more of the deposit to go toward paying the governance actors that are required to do work BECAUSE of said GA

Copy link
Contributor

Choose a reason for hiding this comment

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

To take it a bit further, I think this is the only compensation mechanism I've seen that is inherently scalable AND sustainable.

Since compensation comes from the proposers (instead of the treasury or reserve), we don't really have to worry about draining either of those things faster. And since proposers pay per proposal, governance actors will inherently earn more if there are more proposals (more work to do) and visa versa.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure I agree. A small governance deposit (e.g., 1000 ADA) seems unlikely to cover the cost of dReps and CC member time considering the deposit will be split across all representatives. If it costs 10,000-100,000 ADA to cover everyone's time, now you have a significant barrier to proposing anything - even things Cardano desperately needs. Some people are likely only comfortable proposing things today because it is just a deposit. Weren't several proposal deposits crowdfunded? Would that crowdfunding have succeeded if the deposit was confiscated to pay representatives? I'm not so sure...


Right now we are all paying 20% into the Cardano treasury every transaction. I would honestly rather just take 0.1-0.2% of that and split it among the representatives each epoch. (I'm guessing on what meaningful proportions would be.)

Copy link
Author

Choose a reason for hiding this comment

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

I like the idea of the treasury paying for compensation, but correct me if I am wrong, does not every withdrawal from the treasury currently require approval through a governace action?

Copy link
Contributor

Choose a reason for hiding this comment

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

The way I'm thinking about it, it would not go through the treasury. Staking rewards don't go through the treasury; they are automatically calculated and distributed at each epoch boundary. We could do something similar for representative compensation. So each epoch boundary: 19.8% would go to the treasury and 0.2% would be distributed to representatives automatically.

### Ledger-Native Implementation Ensures Maximum Reliability
All compensation logic is implemented inside ledger rules.
This guarantees:

- Deterministic execution
- No dependency on smart contracts
- No treasury governance or manual intervention
- A trust model equivalent to ADA staking rewards

---

### Incentive Alignment Through Hybrid Distribution
The hybrid model balances:

- **Equal-share rewards** → compensate time, labor, and research
- **Stake-weighted rewards** → reflect responsibility and influence

This prevents domination by large actors while recognizing the security contribution of higher-stake entities.

---

### Fair Cost Attribution via Proposer Deposits
Because proposer deposits fund compensation:

- Governance costs are paid by those creating that cost
- Spam proposals are discouraged
- The Treasury is untouched
- The system remains self-sustaining

---

### Promotes Broad Participation and Decentralization
By providing guaranteed compensation:

- Smaller actors can sustainably participate
- Governance remains diverse and representative
- Participation rates and quorum stability increase

---

## Path to Active

### Acceptance Criteria

This CIP becomes **Active** when:

* [ ] All new protocol parameters are implemented in the ledger.
* [ ] Distribution logic executes correctly on testnet.
* [ ] A governance action on mainnet distributes compensation correctly.
* [ ] Sufficient community and technical review confirms correctness and consensus.

---

### Implementation Plan

* **Community Discussion & Review**
* **Ledger Engineering Review**
* **Implementation**
* **Testnet Deployment**
* **Hard Fork Activation**
* **Post-Deployment Monitoring**

---

## Copyright

This CIP is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode).
Loading