How it works now:
WTN neurons vote on mirrored NNS proposals. The SNS voting mechanism is used to determine how WaterNeuron’s neurons will vote in the NNS. In the event of someone acquiring 50%+ of the voting power, the other half becomes worthless and can no longer affect the outcome of the WTN ICP neurons in the NNS. It has the potential (if that hasn’t happened already) to become a dangerous attack vector on the NNS.
How it should work:
WTN neurons vote for themselves, not as a group, and their votes propagate correctly to the NNS. Meaning if 70% of WTN neurons VP voted on a proposal, and one of the voting neurons held 10%, that neuron’s vote should cause the staked ICP in Waterneuron to vote with 14.28% of its total voting power, no matter how the other neurons voted.
Technical:
While it’s impossible for one neuron to cast different votes, it is possible to split Water Neuron ICP neurons into 100 or 1000 smaller equal neurons. It is also possible for a neuron holder to self-identify in a dapp and create the connection between their WTN neuron and their intentions. A WTN neuron holder can then declare which ICP neuron it wants to follow. A canister governed by WTN can hold the map between WTN neurons and ICP neurons and continuously check how ICP neurons voted to cast WTN neuron votes. That canister can be set to require critical proposals to be upgraded. Once the voting system is in place, it will take 67% of WTN neurons to vote yes to change it.
In our scenario, a WTN neuron voting with 10% vp will cause 14 out of the 100, or 142 out of 1000 neurons, to vote on NNS proposals. This will remove the need for mirrored proposals.
Yes, I was hoodwinked into buying some WTN under the guise of “decentralisation”.
I noticed that when I was making proposals to remove the obviously dodgy, defunct Node Providers that should have never been there in the first place, the WTN neuron voted against me… with 49.8% straight away.
This is a wolf in sheeps clothing. I say go ahead and make a successor to the WaterNeuron project. It will be interesting who moves over and who doesn’t.
Hey @infu, this proposal is completely reasonable and I support such a change. The current voting mechanism is simpler but probably needs to be improved.
We could divide the 2 neurons into smaller ones, let’s say 100 of each. Now there are two consequences:
For withdrawals, it becomes trickier to serve requests as we would need to build the amount requested from a pool of neurons and not just split whatever amount we need.
What happens if only 50% of WTN votes yes on a mirrored proposal, what should we vote with the rest of the neurons? There is no way to vote something neutral like “abstain”, there is probably a good reason for that.
To make such a change we would need to find a way to keep it simple to avoid introducing any bugs, as managing a fleet of neurons can be tricky.
We already talked about that, tracking following (direct + indirect) is tricky and not even done at the NNS level. We now have monitoring of the vp of WTN members.
They wont be voting on mirrored proposals anymore, but a smart contract governed by WTN will decide how votes get propagated. It should vote with all neurons at the end. Lets say a followed ICP neuron votes and 10% wtn neurons are following it. 10% of the small WTN neurons vote immediately. The remaining vp that didn’t vote gets distributed and votes before the end of the NNS proposal. Yes it’s not easy to do, but it is doable.
One first step could be to start with the 8y neuron as it’s not concerned by withdrawals and holds most of the voting power. We could split it in 10 smaller neurons and get the ball rolling with this change.
Actually the small neurons don’t need to be equal sizes. The algo can pick neurons which sum up to what’s needed when voting. This could eliminate the need to split 100neurons when someone is withdrawing
Yes, the voting system isn’t working well. You put a bunch of ICPs into it and when it matters the most your ICP under some circumstances instead of voting for you, votes against you.
It is ironic for me to see someone who conducted a 51% attack on the first sns dao to be complaining about decentralization.
Since your administrative node removal proposal the wtn team themselves have removed their following of code gov to create a better decentralized voting system. It seems your concern had been addressed.
I mean the solution I agreed with was splitting up WTN into many neurons like Anvil suggested so that people could actually have their proportional voting power.
Why would making a competitor be an issue? Is there something magical and special about Waterneuron I should know about?
The majority of the NNS vote that is triggered today by WaterNeuron doesn’t actually come from the stake of the 6 mo and 8 yr neurons that are controlled by the WaterNeuron protocol. It comes from the people in the NNS who have chosen to follow the WaterNeuron NNS neuron. Hence, this change would have little impact.
It seems overly complicated to split these neurons into smaller units. DFINITY has already created a vote relay neuron and a lot of WTN voting power is now following it. Other known neurons could have implemented a vote relay mechanism a long time ago, but nobody did it except CodeGov. Adam owns his own voting power, so if he didn’t want his vote triggered by someone else, no matter who he was following, then he should have been responsible enough to manage his own voting. The vote relay app created by CodeGov is open source and anyone can fork the repo and set up their own canister like Dfinity did. Not only can you set up your own canister, you can set up your own vote relay pair so your WTN neuron vote is relayed from any NNS neuron that you choose. Nothing is stopping anyone from creating their own vote relay app either. Stop blaming others and start blaming yourself Adam. Accept responsibility for your own vote.
Competition is good. Drives markets better than being a monopoly.
I’m just tired of this attack on the project for them rejecting one of your proposals for removing nodes that were outdated.
I’d rather see you searching for solutions to the problem with the project your invested in vs trying to “kill” it and the community that believes in it.
Guy’s why do you make it always about me? I was just supporting what I thought was a better design for the WaterNeuron voting power. The 2 million ICP that casts a vote according to the insider 51% cartel.