Community wallet governance protocol

Governance protocol

Zen
3 min readOct 29, 2022

Abstract

This is an updated version of the community wallet governance protocol after the changes voted on by the community.

References:

Oracle parameters and decision criteria

  • All oracles must reach 51% consensus to take a decision.
  • Oracles must be created as polls (no majority threshold).
  • Oracles created for funding decisions must have at least 100 votes. Oracles changing the governance protocol must have at least 200 votes.
  • Oracle Prize Pools are set to 100 iDNA (or 2% of the voting deposit).
  • Oracles are network-wide (unless funds are not available).
  • All oracles start at least a week before validation ceremonies and end 2 hours after the validation start time (15:30 UTC currently). If an epoch lasts less than a week, an oracle may start at any time but must have a voting period of at least one week.
  • Oracle's counting period is set to 3 days (12960 blocks).
  • The owner fee parameter is set to 0%.
  • If possible predefined smart contracts are to be used to deliver funding. For example oracle lock, refundable oracle lock.

Delegate selection process

  • Community delegate status is for 3 months.
  • Community delegates are a group of 5 people.
  • They are chosen lottocratically out of a pool of applicants who have to be in the top 500 active community members at discord/telegram/reddit/twitter.
  • Each community delegate is paid 100 iDNA from the community wallet as appreciation for their service. (Not every epoch!)
  • Application takes place at Idena discord publicly and only humans can participate.
  • To be eligible for application, applicants need to receive 3 human thumbs up (in the form of a reaction to their application message).

Random selection process

1. Define a list of candidates (list of addresses).

2. Sort the list alphabetically in ascending order.

3. Choose a future block number that is at least 1000 blocks away.

4. Once it is available, use the first 3 bytes of the chosen block’s hash to determine a winning candidate: these 3 bytes represent a number that is the first winner’s number in the list defined above; since this number is bigger than the list of candidates when we have counted to the end of the list, we begin to count again from top to bottom.

5. Wait for another 4 blocks and repeat the procedure each time to determine the remaining delegates.

6. Any collision is solved by multiplying the block’s first 3 bytes by 2, 3, 4… etc. until the collision is solved.

Note: Only 5 blocks are used for the election, collisions are solved by multiplying the bytes of the same blocks that caused the collisions.

Multisig wallet

  • 3 out of 5 keys can approve spending coins from the multisig wallet.
  • All transactions must be legitimized by oracles, meant to set up oracles, reward community delegates, or transfer funds to the next round of delegates.

Proposal/request collecting and oracle creating

  • Anyone can create a proposal (lacking on-chain publishing and communication platforms, we accept proposals via medium/twitter/telegram/discord/reddit for the time being).
  • Every proposal must be vouched for by supporters: We use upvoting with ‘thumbs up’ and downvoting with ‘thumbs down’ in a discord channel. Once a proposal has at least 8 more thumbs up than thumbs down, it is eligible to be posted as an oracle vote.
  • If there are more proposals than available funds in one epoch, an oracle with a voting duration of three days decides which to process first.
  • Community delegates are supposed to create transparency in all funding processes and decisions.
  • Community delegates may create an oracle vote (51% majority) to solve unexpected problems not covered by the Governance Protocol.
  • Community delegates collect all funding proposals on all social channels and post them in a dedicated discord channel (as long as no better solution is available).

Community funds requesters need to submit a one-pager, to make their proposal eligible:

  • What is your proposal/request about?
  • Why should the network care about that idea?
  • How much funding do you need?
  • How and where will you provide evidence/results of your project?
  • Which address is to be funded?
  • What are the desired start and finish dates of the project?
  • Additional info/ressources?
  • Pseudonymous contact?

Governance protocol changes

For the protocol to be changed/abolished, an oracle with at least 200 votes has to reach a 51% majority.

--

--