Lifecycle of a Governance proposal
As we as a community and a project move forward into a new era of token utility, smart contracts, and possibilities, I hope we can start to define our processes to enable community participation and decision making in IOTA, Shimmer, and the upcoming Assembly network. In my opinion, we need such structures and processes to find common ground on governance and establish an efficient method for everyone to propose changes to the project’s current state.
I have spent the last 12 months mainly researching governance and DAO models of dozens of projects in the DLT space. Some have established good models. Others have dramatically failed. Some have created an environment that welcomes participation and makes it easy to access. Others have created “governance monsters” without practical use for their communities. I want to start introducing my ideas based on the finding and observations of other projects and propose guidelines and structures that I believe will allow us to make effective governance decisions in the future.
This proposal aims to define a structure of what community governance proposals in the Shimmer network should look like. Giving everyone the option to propose ideas and every stakeholder in the network to participate in the decision-making process is the primary goal of this proposal.
Learning from other projects that have implemented community-driven governance processes in different stages and with different outcomes and successes is essential. I believe that a staged process of defining an idea around changes, giving the community a chance to suggest changes and additions to the concept, the ability to signal support, and finally reaching consensus via voting is crucial, in my opinion. Governance should not be rushed, but it should also not slow down or hinder needed changes in a protocol.
Some parts of this post rely on things that may change in the future, especially around the voting functionalities and metrics defined here. We must design a process that allows adjustments on the way if we see that certain aspects do not play out as intended. The beauty of the upcoming Shimmer network is that we as a community can also try out these things around governance before we would implement similar systems in the IOTA protocol.
I also do not intend to use this governance process to implement technical changes in IOTA’s core protocols or frameworks. For this, the research and engineering Team of the IOTA Foundation has implemented the TIP Proccess to suggest changes on a technical level.
My post and this process is aimed to be implemented in the Shimmer network first. Later, we can then use our learnings to develop the governance structures around Assembly and IOTA.
Please see this all as suggestions, ready to be adjusted. I welcome everyone to work together on this process.
So following the idea laid out further below, I tag this post as a phase - 1
discussion, which will hopefully receive some good input and evolve into the final structure we aim to use for our governance process.
Proposal Process
This forum here should serve as the main host of our governance process and be used to move a proposal through Discussion phase - 1
and Temperature check phase - 2
to a potential implementation Voting phase - 3
, finally conducted with on-Tangle votes based token ownership. Leveraging the functionalities of the already developed Firefly Governance feature used in the upcoming Build vs. Burn vote.
For a governance proposal to be accepted and implemented, it must successfully pass through these three phases:
Phase 1 - Discussion
Initiates the start of a proposal’s lifecycle. Anyone should be able to step forward and propose a change. Getting feedback on an idea, adapting it, and including input from others is the primary goal of a phase - 1
post. The outcome of this process should be a defined and specified proposal ready to be put up for a community vote.
Requirements:
-
Discussion post created in the governance forum under the respective category tagged with
phase - 1
- Proposal Duration: open-ended
- Adding a polling option is not a requirement in this initial phase
- There is no formal requirement for proposals to pass from
phase - 1
tophase - 2
. However, if aphase - 1
proposal discussion fails to pick up momentum from the community, it is unlikely to become a successful proposal. The initiator may use this phase to gather interested followers and define details and comments to help the proposal inphase - 2
gain the required majority in polling conducted inphase - 2
of the proposal lifecycle.
Phase 2 - Temperature check
A solid and specified proposal has been developed, considering suggestions that have been raised in phase - 1
. The initiator feels confident that it includes everything needed to be implemented in the project. A successful poll conducted by the members of the governance forum signals support and confidence that the community will accept it in an upcoming public vote in phase - 3
.
Requirements:
-
Governance Proposal post created in the governance forum under the respective category and tagged with
phase - 2
. The proposal contains a Poll including the option “Make no changes” - The proposal uses the provided
proposal template
for governance proposals (see below). The proposal template requires all submissions to speak to relevant fields, such as a Simple Summary, Abstract, Motivation, Specification, and Implementation. - Duration: 7 days
- For proposals to successfully pass from
phase - 2
tophase - 3
, a relative majority of votes must be reached for one option on the forum poll. If the relative majority of votes on the forum poll indicates the result, “Make no changes”, the proposal will not pass to Phase 3.
Phase 3 - Voting
The final decision if a change shall be made is conducted in a Sybill protected and transparent vote. Currently, the only feasible option supported by the IOTA protocol is a vote based on token holdings (1000 IOTA tokens = one vote). This method can be adjusted in the future by governance decisions, should other secure voting methods be developed and implemented in the protocol. The current process created for the Build vs. Burn vote has already some functionalities implemented to protect the vote from the influence of short time speculators by using a time-based build-up of voting weight.
In this phase, all needed on-chain preparations must be in place before a phase - 3
proposal gets published. This includes explicitly creating a participation event
by the initiators to be implemented into nodes making the vote possible. This is based on the specifications designed for the Treasury vote. The event needs to be merged into the respective Github branch reserved for participation events before Phase 3 can start so that node operators can implement it from there.
Requirements:
-
Governance Proposal post created, tagged with
phase - 3
. - The post contains the exact text that received the majority of votes in the proposal poll conducted in
phase - 2
. It also directly links the “on-tangle” vote execution. This execution might be directly performed via a deep link, opening a voter’s Firefly Wallet, or it may lead to a web interface that provides the voting functionality. - (If used) A respective voting proposal is created in a voting application (web interface). The proposal in the application contains a direct link to the
phase - 3
proposal in the Governance forum. - A
participation event
created in Github (repo to be defined) containing the exactly defined binary for the vote following the specifications defined in the Treasury vote process - The vote options must contain the option “Make no changes”
- Duration: The created
participation event
used in the vote must contain a three daysannouncement period
to include the new event by the node operators, a maximum seven dayspre-vote period
to conduct the vote, and a 7 - 14 dayscounting period
(variable choice by the proposal creator) - For proposals to pass the vote successfully, there must be a result with a relative majority of votes counted, accompanied by reaching a yes-voting quorum of a minimum of 5% of maximum possible votes (based on the circulating supply of the used asset & defined counting period).
If the relative vote majority achieved in the vote indicates the result, “Make no changes", the proposal will not be accepted and considered closed.
Governance proposals require a Forum admin to check if the requirements are met to move them through the different phases and publish a post under phase - 2
and phase - 3
tags.
Governance post template
This is a suggested template for proposals in the governance forum. It would be required for proposals in phase - 2
and phase - 3
of the process. The purpose is mainly to provide a unified structure so that proposals follow a defined form.
Simple Summary
- If you can’t explain it simply, you don’t understand it well enough. Provide a simplified and layman-accessible explanation of the suggested change
Abstract
- A short (~200 word) description of the issue being addressed.
Motivation
- The motivation is critical for proposals that want to allocate funding or change the Governance process. The admins may reject proposals without sufficient motivation outright.
Specification
- The specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow for it to be reasoned about by the community.
Rationale
- The rationale clarifies the specification by describing what motivated the design and why the proposer made particular design decisions. It can describe alternate procedures that were considered and related work. The rationale may also provide evidence of consensus within the community and discuss significant objections or concerns raised during the discussion.
Implementation
- The section should include or describe any dependencies of the implementation and potential timelines. What is needed to consider the process finalized and implemented?
- Needs to contain links to the respective resources for the on-chain vote, specifically a link to the
participation event
in Github (only required inphase - 3
proposals)
Proposal vote link
- Direct link to the vote execution via a deep link or link to the web interface for vote execution (only required in
phase - 3
proposals)
The way forward:
I hope we can start working together here on this process. I would collect suggestions from the comments and adjust this post where it seems reasonable over the following days. Once we think the process is well designed, I’ll create a phase - 2
post and open it up for a community poll.
Thanks everyone for reading and I hope to hear some good comments on that topic here.