IntersectMBO / cardano-ledger

The ledger implementation and specifications of the Cardano blockchain.
Apache License 2.0
256 stars 158 forks source link

Bootstrap period #3451

Closed JaredCorduan closed 4 months ago

JaredCorduan commented 1 year ago

Right after the hardfork into the conway ledger era there will be an interim period with a limited governance while we wait for the community to register with the governance.

See https://github.com/JaredCorduan/CIPs/blob/voltaire-v1/CIP-1694/README.md#bootstrapping-phase

lehins commented 9 months ago

It was decided that bootstrap period will be implemented with an intra era hardfork:

Interim Phase Technical Rollout:

The Chang Hard Fork will enable three initial CIP-1694 governance actions, and enable the representative framework to be established. These actions are the “Info”, “Hard-fork initiation” and “Protocol parameter changes” actions. Ada holders will be able to register and delegate to Delegated Representative (DReps) immediately after the hard fork but, as described in CIP-1694, DRep voting will not be available. This ensures that Ada holders have sufficient time to choose their voting delegations. Stake Pool Operators (SPOs) will be able to vote as described in CIP-1694, with “Hard-fork initiation” and “Protocol parameter changes” actions also ratified by the Constitutional Committee (CC). Ada holders will be able to withdraw their staking rewards as usual.

A subsequent hard fork, ratified by the CC and SPOs shortly after the Chang Hard Fork, will enable the four remaining CIP-1694 governance actions: “treasury withdrawals”, “motion of no-confidence”, “new constitutional committee and/or threshold and/or terms”, and “update to the constitution or proposal policy”. At this point, DRep voting will be enabled and rewards can only be withdrawn if the Ada holder has delegated their vote (including to the automated Abstain/No Confidence DReps). Guardrails will apply to some of the actions.

lehins commented 6 months ago

We potentially need to allow changing governance policy during the bootstrap phase. So, allowing submitting NewConstitution, which changes the script hash, but not the anchor

lehins commented 5 months ago

Potentially allow DReps to vote on InfoAction during the bootstrap phase. Confirm with @disassembler if that is still desired when implementing the bootstrap feature.

teodanciu commented 5 months ago

I'm rephrasing the above, in order to be more explicit.

During the bootstrap period (which means: while the protocol version is 9) ,

  1. For proposing: Only the following types of proposals will be allowed:

    • ParameterChange
    • HardForkInitiation
    • Info
    1. For voting: The following will be allowed:
      • DRep votes on INFO
      • SPO votes on:
        • Parameter Change
        • HardForkInitiation
        • Info
      • CC votes on:
        • Parameter Change
        • HardForkInitiation
        • Info

Any other combination will result in a predicate failure mentioning that the action is not allowed during bootstrap.

Within these restrictions, voting will work in the same way as it will after bootstrap - so in some cases this will fail with DisallowedVoters predicate failure, for example if an SPO votes on non-security related Parameter change. But it will fail in the same way as after the bootstrap period)