Hi everyone!
This is a heads up for upcoming SNS projects.
TLDR
https://dashboard.internetcomputer.org/proposal/131056 adds a new constraint for SNS init configurations, namely:
max_participants * neuron_basket_construction_parameters_count
<= 100_000
where
max_participants = max_direct_participation_icp_e8s / min_participant_icp_e8s
Details
Due to memory limits, the SNS Governance canister is able to create a finite number of SNS neurons. To guarantee that this limit cannot be reached while SNS neuron baskets are being created after a successful swap, we introduced the above constraint, which would be checked at the CreateServiceNervousSystem proposal validation time.
This constraint prevents the worst-case scenario in which there is an overwhelming number of small participants that flood the system. However, it also has the downside that min_participant_icp_e8s
cannot be a small value anymore if max_direct_participation_icp_e8s
is big enough. Note that having low minimum participation amounts makes swaps more accessible and does not necessarily imply that it will be flooded.
For example, a swap with a maximum direct participation of 300,000 ICP and a basket of 5 neurons for participants would need to have a minimum participation of at least 15 ICP to pass validation.
Ways of mitigating larger minimum ICP participation requirements
If you intend to propose the launch of an SNS with small minimum ICP participation amounts after the limitations take place, you can change the configuration to account for the new limits. You can
- Lower the number of neurons in the basket given to swap participants (the minimum allowed value is 2).
- Lower the maximum direct participation.
For example, a swap with a maximum direct participation of 300,000 ICP and a basket of 3 neurons for participants would need to have a minimum participation of at least 9 ICP to pass validation.
Next steps
These changes have been made to address security concerns, however we understand that forcing a larger minimum participation is not the ideal solution. The NNS team plans to design and implement a more flexible mechanism that would still be secure, and then loosen or remove the constraint described above. Follow this thread for more details in the near future.