Skip to content
Open
Changes from 3 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
244 changes: 244 additions & 0 deletions CIP-????/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
---
CIP: XXXX
Title: Compensatory Ledger Mechanism (CLM)
Category: Metadata
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:

### **1. 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?


### **2. 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

### **3. Low Governance Participation / Quorum Instability**
Without compensation, new and smaller actors lack incentives to engage, harming governance quality.

### **4. 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.


### **5. 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

### 1. 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.


---

### 2. 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.

---

### 3. Compensation Pot Creation

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

```
TotalCompensation =
govDeposit × (ccCompensationRate + drepCompensationRate + spoCompensationRate)
```

Split into:

```
CC_Pool = govDeposit × ccCompensationRate
DRep_Pool = govDeposit × drepCompensationRate
SPO_Pool = govDeposit × spoCompensationRate
```

The remainder is refund-eligible for the proposer if the action passes.

---

### 4. Distribution Rules

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

Only voting CC members are compensated.

```
Payout_CC = CC_Pool / numberOfVotingCCMembers
```

Non-voting CC members receive 0.

---

#### **4.2 DRep Compensation (Hybrid Model)**

##### 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
```

---

#### **4.3 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
```

---

### 5. Deposit Finality

The compensation portion of the deposit:

- **is always consumed**, regardless of proposal outcome
- **is never refundable to the proposer**

This internalizes governance processing costs.

---

## 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.

### **1. 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

---

### **2. 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.

---

### **3. 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

---

### **4. 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**.