Skip to content

Commit

Permalink
full introduction/ checked
Browse files Browse the repository at this point in the history
  • Loading branch information
LaraAS committed Aug 2, 2023
1 parent 95b53e1 commit 904cbb8
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ When an SNS is created, SNS-W is involved and responsible for deploying the late
the SNS canister.
When the SNS should be updated, this happens by an NNS proposal that adds a new version of the
SNS canisters to SNS-W.
Each SNS community can then simply decide to adopt these new, approved versions in their SNS instance.
Each SNS community can then simply decide - by SNS proposal - to adopt these new, approved versions in their SNS instance.

### Customizability
Individual SNSs can nevertheless be customized by choosing parameters,
Expand All @@ -50,21 +50,16 @@ The SNS consists of the following canisters:
* The decentralization swap canister.

### SNS governance canisters
The **governance canister** defines who can participate in governance decisions and
automatically triggers the execution of these decisions.
The **governance canister** defines who can participate in governance decisions and automatically triggers the execution of these decisions.
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.
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.
Anyone can be a participant in governance by staking SNS tokens in a neuron.
When a proposal is adopted, the governance system automatically triggers the execution of
the proposal in the form calling a defined method. In most cases, these decisions are therefore
executed full on chain.
When a proposal is adopted, the governance system automatically and autonomously triggers the execution of the proposal in the form calling a defined method. In most cases, these decisions are therefore executed fully on chain.

### SNS ledger canister with archive and index
The **ledger canister** implements the
[ICRC-1 standard](https://github.com/dfinity/ICRC-1)
and contains a unique token that is different for each SNS. We call this _kind_ of tokens
**SNS tokens**.
and contains a unique token that is different for each SNS. We call this _kind_ of tokens **SNS tokens**.
In each SNS, this SNS's ledger stores which accounts own how many SNS tokens and
the history of transactions between them.
To keep the full ledger history even though a canister has limited
Expand All @@ -80,10 +75,8 @@ and the dapp canisters that the SNS governs.

### SNS (decentralization) swap canister
The **decentralization swap canister**, or swap canister for short, is the main canister involved
in the SNS launch. Users can provide ICP tokens to the swap and, if the swap is successful,
they get staked SNS tokens (in SNS neurons) in return.
in the SNS launch. Users can provide ICP tokens to the swap and, if the swap is successful, they get staked SNS tokens (in SNS neurons) in return.
Hence, the ICP and the SNS tokens are "swapped".
This facilitates that 1) the SNS can collect initial funding and
2) the distribution of neurons and thus of voting power to many different participants, which makes
the governance decentralized.
2) the distribution of neurons and thus of voting power to many different participants, which makes the governance decentralized.

Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@ proper decentralization of the voting power. There are of course many ways to do
The SNS provides one simple way to achieve this: a developer can hand over their dapp
to the NNS and ask it to create an SNS and start a decentralization swap for it.
The decentralization swap collects ICP from participants and distributes the voting
power of the SNS among participants by swaping the ICP for (staked) SNS tokens.
power of the SNS among participants by swapping the ICP for (staked) SNS tokens.

We next explain this key concept, the decentralization swap, in more detail and refer to
[this section](../launching/launch-summary.md) for the detailed, technical steps involved
in an SNS launch.
[this section](../launching/launch-summary.md) for the detailed, technical stages of an SNS launch.

## Decentralization swap

Expand All @@ -33,8 +32,7 @@ In more detail, it is controlled by the NNS root canister.

* At the swap's end the collected ICP are “swapped” for the SNS tokens; the
participants get staked SNS tokens in the form of SNS neurons and the SNS gets the
collected ICP in an SNS controlled treasury. Each swap participant will receive their portion of the pool of SNS
tokens, pro-rated by their share of the overall number of ICP contributed.
collected ICP in an SNS controlled treasury. Each swap participant will receive their portion of the pool of SNS tokens, pro-rated by their share of the overall number of ICP contributed.
For example, if the swap canister initially held 1000 SNS tokens and 500 ICP tokens
were collected during the decentralization swap, then the exchange rate would be 2:1
and each participant would get 2 SNS tokens for each ICP token they contributed.
Expand Down

0 comments on commit 904cbb8

Please sign in to comment.