Burn, Dissolve, Transfer SNS Neurons

Hello,

At ICX, we are implementing a DAO with the “rage quit” feature. This feature allows members to quit the DAO with their share of the ICP treasury if they disagree with a proposal (by burning ICX tokens). This is something we have had in mind for a long time and has become especially interesting since the withdrawal incident. These kinds of DAOs are pretty famous and well-regarded in Ethereum.

To do that, it would be quite useful to implement a couple of primitives such as:

  • Allow the transfer of SNS neurons from the NNS dapp.
  • Either dissolve or burn neurons via SNS governance proposals.

We would like to know if it’s possible to implement these features or if there already exists a way to do them. This way, we don’t need to use a process like the one in idGeek (transfer II, detach neurons, etc).

Thanks!

EDIT: Actually, I think it is enough to be able to dissolve a list of neurons from SNS governance proposals for our use case. @bjoernek

Hi @Seers ,
Let me ask a few clarification questions first…

to quit the DAO with their share of the ICP treasury if they disagree with a proposal

How would someone’s share of the ICP treasury be established? By their share of the voting power compared to the overall voting power?

  • Allow the transfer of SNS neurons from the NNS dapp.

What exactly do you mean here? That the NNS dapp offers an option to transfer an SNS neuron to someone else?

  • Either dissolve or burn neurons via SNS governance proposals.

Does this always require a proposal or could this even be automated (i.e., if a user decides to leave then the neuron is burned automatically)?
In either case, I wonder if this could be implemented by a DAO-owned canister. If a proposal is needed, one could maybe use generic proposals ?

If you would like to discuss some design ideas in a bit more detail, do you know about the SNS office hours? The next one will take place in 2 weeks and you can find more info here.

Have a gerat day!

2 Likes

Thanks @lara for the quick response.

How would someone’s share of the ICP treasury be established? By their share of the voting power compared to the overall voting power?

I think the fairest way is to reverse the operation that constructed the treasury (as much as possible). We would divide the treasury by the number of tokens in circulation, excluding developer tokens, and without taking into account VP.

What exactly do you mean here? That the NNS dapp offers an option to transfer an SNS neuron to someone else?

Yes, exactly. For instance, a user can deposit their ICX neuron into one of our canisters, we can burn it (or dissolve and then burn the unlocked tokens), and they will receive ICP in return.

However, as far as I know, we can’t transfer a neuron from the NNS dapp, and we can’t dissolve or burn neurons. Otherwise, I guess idgeek wouldn’t need to transfer the II and then detach the neuron.

If you would like to discuss some design ideas in a bit more detail, do you know about the SNS office hours?

Happy to jump in on the next one if needed.

By the way, I think the transfer of SNS neurons from the NNS dapp only needs frontend implementation, so it should be pretty easy to implement. @lara