celo-proposals
celo-proposals copied to clipboard
Resolution for inconsistency between onchain proposalID and CGP numbers
On the Celo Governance Call 6, we discussed this problem.
Requirements
- alignment across off-chain forums and on-chain content (no proposalID YYY pointing to CGP XXX)
- actionable and clear comms for voters and approvers
- memorable and easily referenced proposal labels
Solution space
-
Use content-derived hashes and leverage already implemented hotfix hash derivation
-
Allow proposalIDs to be parameterized by the proposer and prevent collisions with changes to Governance contract, potentially exposing the ability to reserve specific identifiers for future use
Benefits of approach 1
- leveraging existing tooling and minimal dev work
- environment agnostic proposal content: proposalIDs don't need to match across alfajores, baklava, and mainnet
- avoids namespace collisions and social coordination problems
Benefits of approach 2
- maintaining already entrenched proposalID reference (used across SDK/CLI etc.)
- more configurable onchain representation
- does not require well-defined governance proposal contents to be labelled: reserved proposal identifier doesn't have to change if the contents do
My preference is approach 1 for the aforementioned reasons and the fun benefit of using hashes for more memorable labels like colors, emojis, or foods in the spirit of celo's existing namespaces. Curious to hear others' thoughts.
an Option 3 could be to just abstract on-chain IDs away from users. I.e. dashboards and CLI would only ever display the CGP number from the linked description URL.
CLI would only ever display the CGP number from the linked description URL @nambrot
we would need a mapping from CGP => proposalID for the CLI to handle this which is what I thought we wanted to avoid