Thanks Lara, I had a deeper dive into the SNS neuron code over the weekend and found this quite interesting. Particularly that the relationship between neurons and principals is modelled simply as a list of permissions (controllers and hotkeys are not strongly modelled), and that neurons with sufficient permissions are actually able to remove their own permissions (as far as I can see).
Assuming the aim for the DFINITY SNS neuron (that @bjoern mentioned he’s going to look at setting up) is for there to be no single controller (one that can override consensus), but instead a decentralised quorum of voters - is the threshold canister actually needed? It looks like it should be possible for an SNS neuron owner to add a bunch of followees, and then once the desired set of followees have been set up, the ‘owner’ of the neuron could remove all of their permissions (thereby leaving the SNS neuron without any principal). This would be a bit like blackholing the neuron.
The downside of the above approach is that the followee configuration could never be updated (even by consensus, as I don’t believe that this can be managed via SNS proposals). A more flexible approach may be to use the NNS-WTN Vote Relay App that @wpb and @hpeebles did a superb job of producing and open-sourcing for the community to use. Once the SNS neuron has been set up to copy the votes of an NNS neuron (which could be a decentralised community neuron, such as ‘Synapse (NEW)’), the SNS neuron could then be blackholed (in a sense) by the original owner of the neuron removing themself (leaving only the hotkeyed canister principal).
Have I misunderstood something, or would the above approaches be feasible? If the above approach is feasible, is there a need for the threshold canister for decentralised SNS neuron control (does it do something extra that I’m not considering)?