TL;DR
We propose to
- Introduce proposal topics in the SNS and have vote-following based on topics.
- Have a fixed set of proposal topics to cover both built-in proposals as well as custom proposals.
- Define some topics as critical, which makes all proposals in that topic critical.
We are looking for feedback to the overall design (not yet the precise choices of topics).
Background
Those familiar with how SNS proposals currently work may want to skip this section.
The SNS is a framework that allows dapps to be put under DAO control. The SNS DAO functionality is maintained and changes are approved by the NNS. Nevertheless individual SNS DAOs can customize their DAO, for example by choosing settings that define tokenomics and voting parameters.
Built-in and custom proposals
There are two kinds of proposals:
- Built-in proposals (also native proposals) are proposals that are built into the SNS framework and available in every SNS. This includes proposals to update the SNS DAO itself or the parameters of the SNS.
- Custom proposals (also called generic proposals) are proposals that allow an SNS DAO community to flexibly define what kinds of decisions the DAO can make. To do so, the SNS community can register (and later deregister) custom proposals. Depending on the governed dapp, a DAO might need proposals to moderate parts of the dapp or to make very specific business decisions, such as which users are rewarded in which way.
Critical proposals
Some of the proposals are critical. In contrast to non-critical proposals, critical proposals require a larger voting threshold and a longer voting period. They also have different rules for following (see next).
Currently, only a number of fixed built-in proposals are critical.
Vote following (aka liquid democracy)
Since voters might not have time and knowledge to vote directly on all proposals, they can delegate their vote and “follow” other neurons.
Following can be set per proposal type.
For non-critical proposals, one can also use the “catch-all” - this specifies a fallback following option for proposal types that don’t have any explicit following set.
Problem statement
There are two main challenges with the current design.
- Setting following on SNSs is currently cumbersome. A user can either set following for each individual proposal type, which is very fine grained as some SNSs have 100 different proposal types, or they can set the catch-all which is very coarse grained.
- Only built-in proposals can be critical. Some SNS DAOs expressed the need to make some custom proposals critical as the associated decisions are substantial.
Proposed design
On a high level we propose the following to address these issues.
- Similar to the NNS, facilitate following based on proposal topics that bundle multiple proposals of a similar kind.
- Built-in and custom proposals can be in the same topic.
- Topics can be critical, which means all proposals assigned to the topic are critical.
Detailed design
The more detailed design must define which of these concepts are defined as part of the SNS framework, and thus the same for all SNSs, and which of them are customizable and defined by each SNS DAO. We propose the following.
- The SNS framework defines a set of built-in proposals
- The SNS framework defines a fixed set of proposal topics
- Each built-in proposal is assigned to a single topic
- Each SNS DAO defines and registers custom proposals
- Each SNS DAO defines for each custom proposal to which topic it belongs
- Custom and built-in proposals can be in the same topic
- The SNS framework defines which topics are critical
- All proposals assigned to a critical topic are critical
Examples
To make the design more tangible, let’s look at two possible example topics. We describe for each topic what it is about, and which built-in and custom proposals could fall in the topic. Note that the latter would be up to each SNS community.
- Topic Treasury & asset management: Proposals to move assets that are DAO-owned, including tokens in the treasury, in liquidity pools, or in DAO-owned neurons.
- Built-in proposals
- Transfer SNS treasury funds
- Mint SNS tokens
- Possible custom proposals: Staking and managing DAO-owned NNS neurons or neurons in other SNSs (WaterNeuron), manage treasuries such as ckBTC, ckUSD etc.
- Criticality: Critical.
- Built-in proposals
- Topic Dapp management: Proposals to manage the governed dapp canisters, including dapp upgrades via built-in or custom logic and updates to frontend assets.
- Built-in proposals
- Upgrade SNS controlled canister
- Manage dapp canister settings
- Possible custom proposals: Custom upgrades, reinstalls, frontend asset management (asset canister), management such as backup, monitor, setting timers.
- Built-in proposals
Out of scope
Note that the design does not change the definition of the “catch-all” following. We propose to keep the current rules that this is a fallback only to non-critical proposals with no other following choice. We don’t exclude rethinking this concept, but propose to do so in a separate discussion.
Considered Alternatives
- Alternative: We could require that each topic either contains built-in or custom proposals but never proposals of both kinds.
Why the current design was preferred: From a community point of view similar themes can be covered in built-in and custom proposals. As illustrated by the example, upgrades of the dapp can be done by the built-in proposal to upgrade a SNS-controlled dapp canister or require custom code implemented in custom proposals, for example if a lot of canisters are involved. From the user’s point of view it makes sense to trust the same people to verify the associated changes and code as the same knowledge and skill is required, even if the code path taken “in the DAO” may be different. - Alternative: Rather than taking fixed proposal topics, allow each SNS to create custom topics.
Why the current design was preferred:- Many SNSs have similar concepts but might call them differently - having a fixed set of topics helps making the similarities visible.
- Having the same topics in all SNSs helps users understand new SNS DAOs.
- Users can build expertise for certain topics and then become established experts that can be followed on these topics in different SNS DAOs. This may make it more attractive for users to invest in building this expertise.
- Alternative: Rather than using topics, like in the NNS, where every proposal type is associated with one proposal topic, one could have tags and each proposal could have multiple tags. This would allow expressing that a given proposal is associated with different concerns (e.g. it changes the tokenomics but also the voting rules or similar).
Why the current design was preferred:- Reusing a concept that is already established in the NNS has the advantage that this is already familiar to users and experts who can be followed.
- It is unclear how following would work on a per-tag basis. If a proposal can have multiple tags and following is set per tag, it is unclear what kind of following would be applied for a proposal that has multiple tags where the following rules do not match.
Next steps
We are looking for feedback for the design, including what is defined in the SNS framework and what is customizable. The proposed topics should for now be taken as an example. If the community agrees with this approach, we propose to discuss the concrete proposal topics that are distinguished in a next step.
We know that SNS topics are one of the most requested features and are looking forward to your feedback!