Difference between revisions of "Service Nervous System (SNS)"
Lara.schmid (talk | contribs) (move some of the original page to new wiki and update content) |
Lara.schmid (talk | contribs) |
||
Line 21: | Line 21: | ||
=== SNS launch process === | === SNS launch process === | ||
− | SNS canisters are [https://wiki.internetcomputer.org/wiki/How_to_get_a_DAO_on_the_IC | + | SNS canisters are [https://wiki.internetcomputer.org/wiki/How_to_get_a_DAO_on_the_IC maintained and blessed by the IC community]. In more detail, the blessed SNS versions and upgrade paths are stored on an NNS canister called the ''SNS wasm modules canister''. |
− | |||
Currently, and SNS is launched in two steps: | Currently, and SNS is launched in two steps: | ||
First, the SNS canisters are created and their initial parameters are set by a manual call to the NNS canister called SNS-W (SNS wasm modules canister). The dapp’s control is then handed over to the SNS canisters, which are in a pre-decentralization-sale state with limited capabilities. In this state, the developer neurons exist and they can upgrade the dapp canisters through the SNS already. | First, the SNS canisters are created and their initial parameters are set by a manual call to the NNS canister called SNS-W (SNS wasm modules canister). The dapp’s control is then handed over to the SNS canisters, which are in a pre-decentralization-sale state with limited capabilities. In this state, the developer neurons exist and they can upgrade the dapp canisters through the SNS already. |
Revision as of 09:46, 2 March 2023
Similarly to how the Network Nervous System (NNS) is the open tokenized DAO that controls the Internet Computer blockchain (IC), service nervous systems (SNSs) are algorithmic DAOs that allow developers to hand over control of their dapp to decentralized, token-based governance systems. This means, each dapp that would like to be under decentralized control will have a separate SNS.
Developers can now hand over their Web3 service to an SNS there are also other alternatives of how developers can get a DAO. The community can buy governance tokens to take ownership and control through the SNS DAO and shape the dapp’s future.
SNS canisters
The SNS consists of a governance canister, a ledger canister with archive canisters and an index canister, a root canister, and a decentralization sale canister that is explained in the next section.
The ledger canister implements the ICRC-1 standard and contains SNS tokens, which are unique tokens for each SNS. It stores which accounts own how many SNS tokens and the history of transactions between the principals. The archive canisters stores the history of the ledger transactions and the index canister allows one to find all the transactions associated with an account.
The governance canister enables decentralized decision making. It stores proposals that are suggestions on how to evolve the dapp that the SNS governs and neurons that define who the governance participants are. Neurons facilitate stake-based voting as they contain staked SNS tokens. Everyone can become a government participant by staking SNS tokens in a neuron.
The root canister is responsible for upgrading the other SNS canisters and the dapp canisters that the SNS controls.
SNS lifecycle
SNS launch process
SNS canisters are maintained and blessed by the IC community. In more detail, the blessed SNS versions and upgrade paths are stored on an NNS canister called the SNS wasm modules canister. Currently, and SNS is launched in two steps: First, the SNS canisters are created and their initial parameters are set by a manual call to the NNS canister called SNS-W (SNS wasm modules canister). The dapp’s control is then handed over to the SNS canisters, which are in a pre-decentralization-sale state with limited capabilities. In this state, the developer neurons exist and they can upgrade the dapp canisters through the SNS already. Second, an NNS proposal is submitted. If the proposal is adopted, a decentralization sale will be started for the SNS (see next). When voting on this proposal, the NNS voters can verify the parameters in the already existing SNS canisters as well as the sale parameters that are set in the proposal. If the proposal is rejected, the SNS launch fails and the dapp is handed back to the developers. To ensure that malicious parties cannot simply perform the first step and fill the SNS subnet with non-approved SNS canisters, SNS-W contains a list of allowed principals that are allowed to install an SNS. A principal can be added to this list by NNS proposal, which will allow the principal to install exactly one SNS. After this one call, SNS-W automatically removes the principal from the list again, so this can only be done once.
SNS decentralization sale
A crucial part of launching an SNS is how it can be decentralized. That is, the newly created tokens must be distributed to a large community to ensure proper decentralization of voting power. There are of course many ways to do so. The first SNS version provides one simple way to achieve this: a developer can hand over their dapp to the ICP and ask it to start a decentralization sale for the newly created SNS. In the decentralization sale, a fixed number of newly created SNS tokens are given away. The sale collects ICP tokens and, in the end of the sale, the conversion rate is computed as the number of ICP collected by the number of sold SNS tokens. After a successful decentralization sale, SNS tokens are thus owned by a large community and therefore the SNS governance control is decentralized. Moreover, the ICP that were collected in the decentralization sale provide initial funding for the SNS project.
If you are looking to decentralize a dapp, you can find more information in the developer documentation. If you want to participate, you can find more information on the SNS website.
SNS DAO
There are some important maintenance tasks that have to be performed by an SNS community, such as deciding and voting on when an SNS should be upgraded to a new blessed version, adjusting the SNS parameters when needed, and making sure that the SNS canisters do not run out of cycles. There is more information about how to participate in an SNS DAO and more technical details of how to contribute to managing an SNS DAO as a community member.