Shimmer Governance
The Shimmer community, supported by the IOTA Foundation, has developed a Governance system for Shimmer.
The Fundamentals of Shimmer Governance
1. Open discussions in the Shimmer Discord Fostered by a group of community members that regularly discuss and meet publicly to progress and develop Governance systems and tools for the Shimmer Community. You can participate in this activity in The #Governance-Discussions channels (make sure to activate the Governance role in the IOTA/Shimmer Discord) and participate in the weekly meetings every Thursday at 3 pm CET. Every Community member is welcome and invited to join this important work.
2. The official IOTA/Shimmer Governance forum- Here is the place for specific discussions about proposals. It is the first stage of reaching community consensus on proposed changes through soft consensus polling in the forum.
3. Fully utilized decentralized and immutable On-Chain Governance voting functionality integrated into the Firefly Shimmer Wallet and the Hornet Nodes. This allows every SMR Token holder to make decisions in the SMR network based on proposals passed through the forum's governance process. Voting is a protocol feature of L1, so no Smart Contracts are needed for this type of voting.
Governance processes in SMR are defined in the Shimmer Governance Framework. This framework has been developed by the Community Governance working group in many months of discussions and is the foundational building block of how Governance in SMR works. It mainly defines:
- Who are the stakeholders and their roles in Governance processes.
- Where do proposal discussions take place, how do they need to be structured, which rules to follow and how do they move through the three staged Governance processes to come to a final and binding decision.
- What is the scope of Governance in the SMR network.
- How and when do Polls and Votes take place, and which rules apply to those decisions.
Summary of the Shimmer Governance processes
The 3 Phases of Governance
Phase 1
This is an open discussion phase in the Governance forum. Forum members can submit proposals, and the community can discuss it and request changes and additions. If it finds enough support in Phase 1 signaled through likes or votes on the proposal, it can move to the next phase.
Phase 2
In this Phase, the "Temperature check", the proposal in the forum has reached its final form. It follows a specific template that requests to lay out reasonings and exact implementation specifications for the proposed change. During a one-week forum-poll, the active forum members can decide if the proposal should move to the final phase where it will be presented to the Community of SMR Token Holders in an On-Chain Governance vote.
Phase 3
The Proposal will be uploaded to nodes in the network and displayed in the Shimmer Firefly Wallet, and Token holders can vote with SMR tokens to accept or decline the proposal.
The SMR On-Chain voting functionality
This feature consists of 2 components:
The Hornet - INX participation Plugin
- This feature can be activated as a plugin in every Hornet Shimmer node and enables node operators to participate in the decentralized counting and verification of on-chain Governance votes.
- Node operators can add proposals that are due for an on-chain vote through an easy interface by uploading the unique proposal ID to their node.
- Counting of votes is based on a time-based accumulation. Each milestone (every 5 seconds) that a node finds a vote on a UTXO Output, the SMR tokens sitting on that output and the vote statement (proposal ID, question, and answer) are registered by the nodes and added to the count for that output in an internal database. This leads to a time-based growth of casted votes, meaning the longer a voter participates with SMR tokens in a vote, the more votes are counted for the voter.
- Node operators are always able to access this counting data and verify the correct counting of votes by comparing their count to other node operators counts.
The Firefly Governance function
- The Shimmer Firefly Wallet includes a Governance Dashboard. In this Dashboard, all On-Chain Voting activities are managed, and users can:
- Participate in ongoing votes on official proposals that followed the Governance process laid out in the Shimmer Governance Framework
- Register custom proposals that may be initiated by individual projects and communities but do not fall under the official Governance process and vote on these custom proposals.
Voting in Firefly Shimmer works like this:
- For every Wallet of a Firefly profile, the user can define how many Shimmer tokens should participate in Governance decisions. This amount of tokens creates Voting Power.
- To use this Voting Power, Firefly moves those tokens to a new output and locks them to participate in Governance votes. So the tokens cannot be used to be spent on different things unless the user unlocks them again by decreasing the voting power, which frees those tokens.
- Once the Firefly Wallet recognizes that a new proposal is present in the nodes it is connected to, it displays this proposal in the Governance Dashboard
- A Proposal passes through four different phases:
- Announcement: The proposal has been uploaded to the node, and Firefly has seen the proposal. The voter is not yet able to participate in voting because voting starts in the future
- Voting open: The user can cast a vote on the proposal. Votes are now only registered, but counting votes has yet to start. In this phase, voters are free to change their vote without directly influencing the following count of their votes.
- Counting: Now all participating Nodes are actively counting and accumulating votes on this proposal. The longer a user keeps its tokens actively voting on this proposal. The more votes will be counted for the user. Users can change their voting power and opinions during the counting phase. Still, this change only influences the future count from the time of the change and does not influence the already counted votes of a user on this proposal.
- Ended: The Proposal counting is over, and the final vote result is displayed.
- A Proposal passes through four different phases:
A detailed technical description of this voting funftionality can be found in the Governance - tech section of the Wiki.
A detailed description on how to participate in Governance votes can be found in the Firefly Shimmer Governance Guide
Shimmer Governance Ressources
- IOTA/Shimmer Governance Forum where all official proposals are discussed.
- Shimmer Governance Guide A short introduction how to use the Governance forum and how to create proposals.
- Firefly Handbook A short definition and explainer of the Firefly Governance functions
- YouTube Playlist with recording of all Governance meetings.
- Meeting minutes of all governance meetings collected on a community-driven website.
- Shimmer Governance Twitter account of the Governance working group.
- Shimmer Governance Github Repo for the Shimmer Governance system.
- INX Participation Github Repo for the INX Participation Node Plugin that counts the votes.
- Community Governance Github Repo for the initial IOTA Governance system and first vote.
- IOTA Treasury Website developed for the first Governance vote in our Communities history, which explains the core features of the voting system.