Long Term R&D: Dapp governance (SNS) (proposal)

Hi all, happy to post the 1-pager. Looking forward to your feedback and questions!

Community Proposal: 3-year Plan Dapp Governance

## Objective

With this project, we plan to provide building blocks that allow dapp developers to operate decentralized and open governance systems and integrate them with their dapps.
Concretely, we plan to deliver such building blocks in multiple stages, such that the community can make use of intermediate deliverables while the systems can continuously be evolved and improved.

## Background & Why this is important

Currently, most dapps that are realized as canister smart contracts on the Internet Computer blockchain are either controlled by some developers or have no controller at all. Both situations are undesirable. In the case where a dapp is controlled by a centralized group of developers, users of the dapp must trust these developers not to stop the service or to upgrade the canister code with some undesirable behavior. In the case where the canister has no controller, it cannot be upgraded at all, even though this might be necessary, for example to fix security bugs or to add new features.

This problem can be solved by assigning an open governance system to a dapp, where anyone can participate. The open governance can then autonomously control the upgrades and changes of the dapp.

Apart from decentralization, another concern for dapp developers is tokenization. Tokenization enables the introduction of new incentive systems and use cases that have the potential to set apart dapps from traditional applications.
Tokenizing a dapp allows, for instance, that anyone in the world can purchase tokens and thereby contribute to initial funding for the dapp. Moreover, tokens can be paid to early adopters and active users, which will help attract users.

The full potential of these advantages can be unlocked by a tokenized open governance system, where tokens can be locked to participate in voting. Anyone with locked tokens, including the users that were rewarded with tokens, can submit and vote on governance proposals for the dapp. By participating in governance, developers, users, and other investors can collectively decide what new features should be implemented. As their tokens are locked, they will be incentivized to vote taking into consideration the future value of the tokens and the dapp.

Finally, projects could have access to even more funding by allowing the ICP utility tokens that are locked in Network Nervous System (NNS) neurons to be invested in the above mentioned open governance systems.

## Topics under this project

This project contains topics such as tokenization, open governance, dapp upgrades, and tokenomics.

## Key milestones

While the longer term milestones are still subject to research and community feedback (e.g., what is needed in 1 year), we see the following concrete milestones in the next few months:

  • The implementation of a ledger canister,
  • the implementation of an open governance canister,
  • support for operating the above canisters, such as upgrading and releasing them, and
  • frontend integration for these canisters.

Moreover, these are some possible medium term milestones, that have to be concretized based on the outputs of the first projects and community feedback:

  • An out of the box implementation of a tokenized, open governance system, called the Service Nervous System (SNS). Possible goals include the ability for a decentralized initial token distribution and a process for automated upgrades.
  • The realization of community funds in the NNS and their integration with SNSs such that locked ICP utility tokens can be invested in SNSs.

## Discussion leads

@lara @dralves @jwiegley

## Why the DFINITY Foundation should make this a long-running R&D project

Apart from the above mentioned motivation for this effort, some of the main reasons for making this a long-term R&D project are:

  • The project addresses a need from the community, as multiple dapp developers expressed interest in a solution for open governance.
  • Since tokenization allows dapps to set up new incentives systems, this effort may attract new developers to the Internet Computer, which is beneficial for the whole platform.

## Skills / Expertise necessary to accomplish this

  • Governance, tokens, financial integration: expertise in these areas will be key to develop the necessary canisters and how they interact with each other
  • Security: tokens & governance systems are highly security critical. Therefore, the expertise from security experts will be needed to prevent potential security issues.
  • Community / growth: the experience in interacting with the community will help in ensuring that we build and prioritize those open governance features that are important for the developers on the Internet Computer.

## Design & Research challenges

To deliver the above features we need to resolve several design and research challenges, including the following:

  1. Providing modularity and parametrization of the governance systems that can be integrated with the needs of different dapps, while also providing a concrete implementation that can be used immediately.
  2. Designing a release and upgrade process that enables users of open governance systems to verify which code the ledger, governance and other critical canisters are running so that they can trust these systems and invest in them. One main challenge will be to provide a verification path that is as usable as possible so that users that do not have a technical background can also gain this trust.
  3. Designing a release and upgrade process that is usable and possibly can be provided “as a service”.
  4. Understanding the economic implications arising from different ways of combining the ledger and governance canister.
  5. Designing the support for a decentralized initial token distribution.
  6. Understanding the economic and security implications of enabling the investment of stacked ICP utility tokens in SNS systems, such as ensuring that an SNSs cannot misuse the invested tokens and thereby negatively impact the value of the ICP utility tokens.
  7. Enable additional possibilities for funding and investments in open governance systems. For example, ensure the availability of decentralized exchanges and their integration with the SNSs and other ledger canisters.
  8. Understand how the open governance systems can be improved with insights from other projects, such as new tokenomics and other support for DeFi.
  9. Allow the open governance systems to interoperate with external inputs, such as exchange rates.
  10. Enable open governance systems to interoperate with and make use of new IC features such as the ETH and Bitcoin integrations.
  11. Further evolve the open governance systems’ functionality to adapt to the dapp users’ needs that will become clearer when the first open governance systems are used.

## Examples where community can integrate into project

The purpose of this project is to provide open governance canisters that can be integrated with a variety of dapps.

## What we are asking the community

Now:

  • Ask question & vote accept or reject on the NNS Motion proposal describing this project

During the course of the project:

  • Review proposals at different design stages, ask questions, give feedback

  • Provide input regarding what features and tools are needed to enable tokenized open governance services for the different dapps

6 Likes