Using the IC

Introduction to the Service Nervous System (SNS)

Learn more about the Service Nervous System that helps developers to launch token-based governance systems for their decentralized applications

IC Academy » Network Nervous System » Introduction to the Service Nervous System (SNS)

Introducing the Service Nervous System (SNS)

Understanding what the SNS is and how it is used for dApp-based governance

The Service Nervous System (SNS) has been introduced to the Internet Computer ecosystem to empower dApp developers and entrepreneurs to introduce tokenized, decentralized governance systems for applications.

What is the difference between the NNS and an SNS?

Let’s have a look at the main difference between the NNS and an SNS:

  • Network Nervous System (NNS): the governance system of the Internet Computer ecosystem
  • Service Nervous System (SNS): Developers can implement an SNS in their dApps to create token-based governance systems

Similar to the Network Nervous System (NNS), an SNS is a tokenized governance system that will allow the users of an associated application to control the project in an open, permissionless, and fully decentralized manner.

With the help of an SNS, the users of the associated dApp can actively participate in the governance of the service, for example by submitting and voting on proposals. If the majority of the governance participants of a dApp are in favor of a given proposal, it will be automatically executed by the SNS of the associated dApp.

Contrary to the NNS which controls the entire Internet Computer ecosystem, an SNS only controls a single dApp.

The SNS of a dApp will provide dApp developers with the tools to establish decentralized governance structures within the ecosystem. In doing so, entrepreneurs and developers can empower their communities to autonomously participate in controlling the operations, management, and evolution of the associated dApp.

Chris Dixon

Andreessen Horowitz

“Imagine, for example, building a social network like Twitter whose logic and data aren’t controlled by a company, but by a program whose code runs autonomously and verifiably. Its ownership and control could even be tokenized and distributed to its users and developers.”

The SNS of a dApp facilitates its tokenization in a novel way and allows to innovate new governance forms by building on top of the SNS code.

Advantages of the SNS

Attracting resources

With the help of implementing an SNS, dApps running on the Internet Computer can attract resources, enabling the dApp to scale, develop features, and power the dApp with a sufficient amount of cycles. An SNS’s tokenized governance system can also enable entrepreneurs and developers to attract new users to their dApps and to utilize network effects, allowing the service to extend its reach.

Developers that adopt an SNS to implement a governance system in their ecosystem provide anyone the opportunity to acquire the dApp’s native SNS governance token and to participate in its decentralized governance. The SNS governance tokens of a dApp could be exchanged for cycles but also to fund the development or expansion of the service. An SNS can also be used to distribute the dApp’s native SNS tokens to early participants and users to drive growth and to let them participate in the success of the service.

Aligning interests

In the case of the Internet Computer’s NNS, ecosystem members need to stake their ICP tokens in a neuron to participate in governance. Similarly, voting in the governance of a given dApp is possible by staking the dApp’s SNS tokens by locking them in a neuron. This allows dApps to stabilize their governance and to incentivize their users to act in the ecosystem’s best long-term interest.

Decentralized controlling mechanisms

With the help of an SNS and the open governance model it provides, users can ensure that the dApp’s services are not being removed, stopped, or censored by centralized authorities. It also ensures that the code of the dApp cannot be updated in a way that is undesirable to its ecosystem participants.

An SNS can be utilized to prevent a single, centralized authority to control the associated dApp.

Permissionless governance

By locking the dApp’s native SNS tokens in a neuron, community members of a dApp can actively participate in the process of shaping the future of the service through actively submitting proposals and by voting on governance proposals. As such, the ecosystem of a dApp is given a tool to articulate wishes or feedback via proposals and to open these up for voting by the community.

The permissionless governance system provided by an SNS helps all the stakeholders of a dApp – ranging from its developers, community members, users, and investors – to collectively decide which features to implement and what proposals to reject.

Differentiating between the NNS and the SNS

The purpose of the Network Nervous System (NNS) is to control the Internet Computer via permissionless governance.

While there is only one NNS, there can be an unlimited number of Service Network Systems (SNSs).

Every dApp and service running on the Internet Computer can launch an SNS to introduce permissionless governance to its ecosystem. Developers can utilize the NNS to create an SNS out-of-the-box and to seamlessly distribute the dApp’s native SNS governance tokens. There is no special developer-side effort required for creating and updating an SNS that governs their dApps.

All SNSs and the associated tokens of each SNS are extensions of the Internet Computer’s NNS.

As a result, the NNS and all SNSs have a shared implementation, providing a de facto standard and ensuring that code changes or upgrades are approved through governance votes of the Internet Computer community.

A key difference between the NNS and the SNS is that SNS canisters burn cycles while NNS canisters do not.

SNS contents

An SNS is structured similarly to the NNS and includes both a ledger and a governance canister. The SNS’s utility token accounts, as well as transactions, are stored in the ledger canister. Voting neurons consisting of staked tokens and proposals are stored in the governance canister.

While a dApp’s SNS is upgraded by the NNS, there are some parameters of an SNS that can be changed through governance. This includes changes to the voting period of proposals as well as the governance fees, etc.

Initializing an SNS

The process of initializing an SNS for a given dApp is seamless and does not involve a special effort from developers:

The process of assigning an SNS to a dApp looks as follows:

Once step #3 is successfully fulfilled, the developers no longer have control over the dApp. Instead, the SNS is now in full control and can be governed by the dApp’s SNS governance token holders.

The dApp is fully controlled by its neuron holders who manage the dApp’s native governance system once governance tokens are successfully distributed. Going forward, all proposals are accepted or rejected based on community votes.

SNS Sample Distribution

The NNS will initially distribute 1 billion governance tokens to the SNS of a given dApp. A sample distribution could look as follows:

  • dApp developers: 25% of the tokens
  • SNS-controlled account: 35% of the supply, can be used via SNS proposals
  • Public distribution: 40%, distribution via open, permissionless auction

Sample distribution

SNS Tokens

Using the NNS dApp

Understand what the Network Nervous System (NNS) is and how it works

More about the NNS

What are Neurons?

Learn more about the neurons of the Network Nervous System and what purpose they serve

More about Neurons