Using Randomly Assigned Neurons to Filter for Non-Actionable Proposals ***VOID***


Using Randomly Assigned Neurons to Review Proposals

High level Summary:

  1. A proposal is submitted to the NNS.
  2. Randomly chosen neurons are assigned to check if the proposal meets minimum community standards.
  3. Neurons are selected based on voting power weight class.
  4. A 2/3rds threshold must be met for the proposal to be deemed valid based on established standards. 24 hours are given to vote
  5. If a 2/3rds majority is not achieved a second round starts where inactive neurons are replaced with trusted neurons that are known to be active.
  6. If the majority decides the proposal is invalid, the proposal is removed.
  7. If a majority cannot be achieved the proposal is removed
  8. If the majority decides the proposal is valid, the proposal is suspended for 3 days and a forum post is created for further deliberation.
  9. After 3 days of deliberation the proposal is unlocked for voting.
  10. Those who participated in the proposal review will be given a reward multiplier attached to the neuron that participated for a set amount of time, like a month.
  11. During the month that the reward multiplier is in effect those neurons have a lower percentage of being chosen again. If they are chosen again they do not receive extra rewards. Rewards are capped.

Key mechanisms:

1. Standards for proposals:

First a clear standard or guide must be defined so all participants are aware of their goals when filtering out proposals.

Those standards can include: 1) clear description of the objective of the proposal and what actions are being requested, 2) clear description of the problem being solved, 3) timeline and link to deliberation of proposal before it was submitted to the NNS, 4) no advertising or solicitation for personal or organization gain, 5)…potentially other criteria TBD.

Diego put together that he considers best practice for motion proposals.

2. Rewards for participation -

Time based voting reward multiplier:

Rewards are a time based bonus multiplier added to the neurons reward formula. Maybe an extra 1.00 multiplier added to voting rewards for the next month or so.

While a neuron is receiving this reward multiplier it has a much lower probability of being selected again.

Rewards are capped and cannot be accumulated.

Example: if I am selected to participate in a proposal review layer. Once I vote and the proposal either passes or is removed, I begin receiving the reward bonus. The reward bonus is not malleable, if a neuron is split or merged it will remove the reward bonus further incentivizing keeping neurons static. For that month your neuron will have a lower probability of being chosen again (you do not get more rewards if chosen). This incentivizes the user to vote on all other upcoming proposals to take advantage of their time bonus.

Time locked voting rewards ensure individuals are further dissuaded from spamming proposals to game the system. It also ensures there is equal opportunity for everyone in the NNS to gain a chance at collecting proposal review rewards.

3. Supermajority Threshold Trigger: (core mechanism)

Voting power is not used at this stage, neurons should not have more sway then other neurons on what constitutes a valid proposal.

Standards should be baseline for all neurons.

A 2/3rds vote majority threshold. After a 24 hour period if there are neurons that did not vote, those neurons are replaced by “known active” neurons. Another 24 hours is given or until the supermajority threshold is achieved.

“known active” neurons are neurons that have been known to frequently participate in NNS proposal reviews and are given first priority when replacing an inactive neuron.

Indefinite: If the proposal is indefinite (a majority cannot be achieved) it is removed (rework and try again)

Non valid: if the proposal is not valid ( majority vote against it) it is removed (rework and try again)

Valid: if the neuron is valid (majority vote for it) it immediately fires a forum post for discussion and the proposal is locked but viewable in the NNS.

4. Forum Post for Deliberation:

If the proposal is valid, it triggers a forum post where proposals can be deliberated with two way communication between proposal lead and the community.

A 2 to 3 day time period should be set before the proposal unlocks into the NNS


The aim was to create a simple as possible proposal action potential which is adaptable, can scale as the ICP population increases without causing extra taxation on the system, provides fairness among all holders, and can at its very basic filter proposals for spam/quality assurance.

Key Features


Takes advantage of the current NNS using existing neurons in the network to create a different pattern for reviewing. As the network grows more proposals will be submitted and also more neurons will be staked, meaning more voting groups can be created autonomously. It scales proportionally to size.

Simplicity and modularity

The Proposal review stage can be extended or reduced as we see fit and it can have as many layers as we see fit as well. We can attach and detach features from it as we see fit due to its simple core mechanism.

Future proofing
The proposal was made with People parties in mind, meaning when people parties are eventually developed. This system will meld perfectly with the people’s parties concept. People parties would also help further simplify this workflow and remove a lot of the need to provide behavior catching solutions. The neuron bracketing system could be removed entirely or it could be further improved upon. Time locking neurons could also be removed entirely creating further randomization and decentralization.

Split neuron solution/random neuron selection process


Random selection of neurons becomes an issue due to the mechanism which allows neurons to split into much smaller neurons with a minimum amount of 1 ICP per neuron. A neuron with 1 million ICP can split itself 1 million times. In theory a group of large neurons could collectively compile a 51% attack and heavily sway randomized proposal reviews or fixed rewards.

Unfortunately we cannot fully resolve this issue until people parties are developed, all we can do is attempt to mitigate system gaming behaviors until people parties become active.


Dividing neurons by voting power weight classes

By subdividing neurons into brackets based on voting power weight classes we can determine how much representation each weight class receives and how many seats are allocated to each class. Although this is not the most decentralized way to go about this it ensures equal representation among groups and further incentivizes keeping neurons static.

Example: 5 seats are allocated to neurons with 0 to 100 voting power, 4 seats are allocated to neurons with 100 to 200 voting power, 3 seats to neurons with 300 to 400 voting power, and so on and so on. Since a limited amount of seats are based on the amount of neurons in each group it is more beneficial to keep your neurons as fat as possible. If you split your large neuron there is a higher chance you won’t get selected and if it is selected only a part of your split neuron will be rewarded instead of your full initial fat neuron.

The neuron bracketing system can be removed and replaced when people’s parties become active. (no longer necessary)

Let me know what you think or if you need clarification. Thank you.


Preamble : In my answer, “discriminate” refers to the activity of reviewers.

I love this, a lot. I have thought it a lot for days, and your proposition checks a lot of all the boxes I had thought.

The most important TO ADD : incentivize the randomly elected neurons in order to make them genuinely discriminate between spam or not spam, to prevent the fact they could push a spam to benefit of a better rewarding.

They could get such a better rewarding by :

  • by discriminating AND by voting
  • by earning more rewards by voting rather than discriminating

So we have to find a system where the elected neurons only benefits of rewards for having discriminated.

BUT this reward for discriminating has to be more important than the rewards for voting (otherwise, they will always choose to push for vote, even spams)

On the other hand, a better reward for discriminating would not be enough to make elected neurons to not push a spam to vote : they could push a spam to the NNS if they have a couple of neurons, or to make friends’ neurons take advantage of the situation hoping them to give back to reviewers a quantity of ungenuinely earned rewards by voting on the spam.

So we have to be able to counter review the decisions of elected neurons, to sanction them if they pushed a spam. This sanction does not need to be financially, it can be a political sanction, like a non eligibility to be elected for such a discrimination between spam/not spam for a determinate time.

The problem would be : how to incentivize the counter reviewers to review genuinely without having to need a counter review of the counter review etc…

Or, we could give so much icp to the elected neurons, that they can 't want to push a spam, whatever what he votes, without possibility to also get the rewards for voting. But we would meet again the problem of the double benefiting :

  • reward for discriminating + reward for voting on a pushed spam
  • OR reward for discriminating + other neurons’ rewards for voting

Let us think about it. Anyway, I think randomly elected neurons to pre discriminate the proposals are required, but in such a manner that they would do it genuinely : make the randomly selected neurons to discriminate genuinely, and — if we add some — make the reviewer review genuinely.

Satoshi Nakamoto had to find a solution to the problem of the double spending, we have to find a way to prevent the double benefiting into the DAO with a jury of preselection. BITCOIN is about not basing ourselves on trust, we have to do the same here : avoid double benefit AND incentivize a genuine activity, without having to rely on morality. The DAO who will find such an avoidance of trust to stakers’ good manners and morality will have won

So the question is : how to incentivize the jury to discriminate genuinely between spam and authentic proposals without incentivizing.

On the other hand, we would have to prevent the NNS against a neurons proliferation : people could create a lot of neurons to maximize their opportunity to be elected to take part to such a discrimination between spams and authentic proposals.

According to you, how could we incentivize a genuine discrimination @MrPink13 ?

Once this is added, I think we are done. Thank you for having taken the time to write this.

1 Like

I highly appreciate this detailed response roman. I agree heavily with your statements. I did include some mechanisms to counter spamming baked inside this proposal but im not sure we can fully find a way to counter spamming or automated voting without actual verification of person hood. We can only try to reduce the reinforcement for it.

I do have to sleep for work but i will provide you a detailed breakdown of my counter neuron proliferation mechanism and also mechanisms to counter spamming for rewards tomorrow.


Nice job @MrPink13. Thanks for taking the time to develop this proposal.

As I was reading, I’m wondering if you have already solved the problem of splitting neurons to game the system. If a neuron receives a multiplier incentive for that neuron to participate, then is there a financial benefit for splitting the neuron? Splitting may give you more chances to participate, but doesn’t seem to give you more financial gain.

The downside to using a multiplier is that large neurons get a lot more benefit for participation in this activity than small neurons. Hence, perhaps this does still need people party implementation before it can work.

Also, there are a lot of neuron owners who use hotkeys to control their neurons because they have so many. They create a neuron in the NNS dApp in order to manage Followees and cast votes for all their neurons from one place. Perhaps notification that a specific neuron has been selected to participate should be sent to the principal that has hotkey control of the neuron.


@wpb and @wpb

Alright so to solve both constant spamming and also to solve unequal reward distribution between large neurons and smaller neurons I have thought of two things.

first to tackle neuron proliferation,
as WPB noticed, time locking neurons with the reward multiplier. By time locking neurons for a specific amount of time with a lower probability of being chosen again (if they are chosen they gain no extra rewards). This essentially removes that neuron from the available pool. Meaning that neuron cannot accumulate rewards reducing the incentive to spam or split neurons. Now a large neuron could split itself to try and have a higher chance of being chosen, however, due to randomization they pose the risk of only having 1 of their split neurons be rewarded. This makes it beneficial to keep neurons as large as possible so you get the maximum rewards when chosen.

To try and solve reward distribution.
I suggest we implement a sliding scale for both rewards and for how neurons are selected.

first we break down all available neurons into 4 groups based on voting power. each group will be a range of neurons. Group 1 contains neurons with 0 -100 voting power, Group 2 contains neurons with 100 to 200 voting power, group 3 contains neurons with 200 - 300 voting power, ect

then, we assign each group a number of seats based on the population of the group. example group 1 has 100,00 neurons they get 4 seats, group two has 50,000 neurons they get 3 seats, and so on. Im assuming there are less large neurons then small neurons. We want to make sure that the larger your neuron is the higher chance you have of getting rewards but the lower the rewards are.

When we select neurons to be on the jury we randomly select from the available seats for each group. Remember neurons that already voted have a lower probability to be selected again giving everyone equal chance to gain rewards. Also if neurons are inactive they are replaced by active trusted members of each group. meaning the more you participate the higher the likely hood you can max rewards for the year.

This method can also be applied to reward distribution, where the larger your neuron the less the monthly reward multiplier is to ensure everyone is earning around the same amount of rewards. If the large neurons try to split up to increase their chances of being on selected this will actually hurt them since it will A actually decrease their chances due to limited seats/larger population and be if they are selected they will only receive partial rewards.

The issue that remains is individuals who will automate their voting and never actually manually choose yes or no. I have not found a way to solve this yet. depending on how many individuals try to automate their voting this could be a problem. Maybe a captcha LOL.

another issue I see is neuron burn - If enough proposals are spammed you could essentially lock all neurons with monthly rewards ensuring you get the maximum rewards but im hoping the cost of doing that will dissuade people from trying.

Hope this makes sense.

I like this proposal - several of the points are really enlightening. I especially like how pragmatic the process is and the structure for rewarding reviewers.

Can you say something about ‘trusted neurons’. How do they achieve this status? Can it be revoked? Maybe we could extend the idea of known neurons to incorporate some sense that they are very likely to act in an ethical manner.

What does ‘removed’ mean? If it is not the same as ‘rejecting the motion’ it could also have different financial outcomes. Perhaps a rejected proposal loses 50% of the fee, but a removed proposal loses 100%… As an aside, many socioethical issues are divisive and an all-or-nothing reward cannot capture this.

Despite my enthusiasm for this proposal, which I would probably vote in favour of, I still have the uncomfortable feeling that we are reviewing everything because a bad thing might happen, which feels inefficient and a little paranoid. See my topic on governance inhibition for more detail on why I think this. Additionally, when only a select group can view a proposal before it is voted on, it also feels like we are giving up a part of the decentralisation dream, before it even had a chance to get going. In some ways, the spammers have already won.

1 Like

Hello, i have not really developed a structure or formula for how trusted neurons can be identified and was hoping the community could help fill in the gaps. It could be algorithmic, based on voting behavior. Or it could be by having user reveal their neurons thus achieving trust status. Im not sure at this time.

As for the removed part. This system is intended to review proposals for a specific standard set by the community. For example it must have a clear objective or it must readable. It just has to meet basic requirements to pass. If a proposal does not meet basic requirements that define a proposal it should be removed. The reviewers are not determining if they agree or disagree with the content of the proposal. This a basic spam/quality assurance filter with error catches for unwanted human behaviors.

I agree, over planning and designing for bad actor behavior is not effecient. However, we must try at least some measured effort to deter this behavior. Its like a lock on your bicycle. Its more of a deterrent then a full solution. Your trying to make it so stealing your bike is just not worth the reward. So that the robbers would have to invest more then the actual reward of stealing your bike. However locking your bike in a bank safe is overkill.

As far as i can see people parties are the only real solution at this time. Once they are active this system blends in perfectly with the people party system. And can remain functional with minimal tweaks.

Here is a video I made explaining the concept. I did it quickly so its kind of boring.

Thanks a lot for the effort @MrPink13

1 Like

Here is, IMHO, the solution to my questions @MrPink13 :

Since the reviewers must have to be incorruptible, we can incentivize a genuine review by :

1 - rewarding the randomly assigned neurons with an important amount of ICP (obviously at least higher than the Avg Daily Voting Rewards), to prevent them to be tented by the choice of letting go the spam to the NNS and earning the voting rewards.

2 - set a second and last layer of reviewers : the reviewer of the reviewers. These last ones would judge retrospectively if the proposal was a spam or not, if the first layer of reviewers filtered/not filtered genuinely. If they did not, the second layer tell it, and the insincere reviewers are individually identified as having let pass a spam proposal. Such a reviewer, identified as insincere, would not asked to be reviewer again (in you system well thought) before an certain amount of time. The more such a neuron would be identified as insincere, the more he would not be eligible to be reviewer again. This second and last layer of reviewers would not be rewarded for their review of the reviewers.

Conclusion : In my opinion, the best solution is the crossing of the 2 aspects, because :

  • the higher reward given by the act of reviewing will incentivize average the investors to review genuinely and not be dismissed of being eligible to such rewards
  • it will incentivized the biggest investors who could want to create spam or let pass spam (as reviewers) to not succeed and be, in addition, deprived of eligibility, and by consequence of the rewards he would have earned as future reviewer.

Indeed, even in the case where a huge whale would be a reviewer and would want to let pass a spam proposal for the rewards he would get thanks to the voting to come after, it would stay as a minority, so it would not overwhelm the other average reviewers, and the whale would be retrospectively judged as insincere by the second layer and would not have again the occasion of trying to push a spam.

As you understood, this solution relies on and takes advantage of the Avg Daily Voting Rewards as a minimum (currently 1.30 icp) in association with a progressive catharsis of the biggest bag who could try to multiply the spam or let the spam pass :

The average investors are here the engine and the brake of the reviewing. There will always be such an averagenes (only numbers will change), so we can rely on it.

So to recap, your solution, PLUS this add-on is exhaustively operative. The people parties implementation will be the game changer.

I would love hear @jwiegley’ and @dominicwilliams’s opinion about this.

1 Like

So now we are going round twice, on everything, just to make sure we watch the people who watch the watchers. But who’s going to watch them?

I like the level of detail that has gone in to this idea. It has considered many different situations and has a fairly good response to most of them. I think it is lacking in terms of scalability.

@MrPink13, in his video, showed how the aggregation of reviewers could be assigned, showing how this can be replicated in a fractal manner as the network increases. I would point out “scalable” does not mean a solution that scales (linearly) with the size of the network, but rather one that can handle a growing network, without become increasingly burdensome.

Here, you are suggesting that, for every proposal, there is now a second layer of reviews. From a computational perspective, this is like a multiplication of the amount of work that needs to be done. This factor will also be present in the linearly scaled model, making the first problem worse.

“The bureaucracy is expanding to meet the needs of the expanding bureaucracy” :laughing:

As I explained, a second and LAST layer. There is no need of a third, since they are not paid to make a review of the reviewer : their reward are their future position as layers of the first grade, with the rewards they will get at this moment.

It is very common to have a review of a review : in the society with cops, in education, in science with pair review of a pair review, in meta analysis, in medicine, everywhere basically. So, see a regressus ad infinitum within a layer 2 only is not accurate, since it is common. So much common that the blockchain ecosystem is full of the concept “layer 2”. So, not so strange…

To speak about “twice about everything” just because I speak about a review of a review is exaggerated : you make a passage to the limit, inaccurately since the 2 layers don’t have the same attributes.

But I can understand that computationally, it is hard to set. But the difficulty to set it computationally does not prove that it is not a solution.

Since you look like loving adages, one commonly says “tout ce qui est excessif est insignifiant” : “everything being excessive is meaningless” :laughing:

I think the system you proposed is too complex, a better solution would be to not show other people’s votes on a proposal and only give reward if the reviewer’s choice turns out to be aligned with the majority after the voting period ends.

1 Like

I understand ! Thank you for your feedback ! :pray:

I have not explained myself well, and deserve to be out-adaged for that.

My question - who watches them? - really is about trust. Many of the reviewer-reviews you mention exist also because trust is required. Until now we didn’t have a trustless element on which we could rely, and so I only take these parallels with other industries so far.

The connection I am trying to make is that, now we can build on the foundations of a trustless system, why reintroduce trust (and its baggage) back into every proposal? This is exacerbated every time a new element is added, making it increasingly burdensome.

I agree that we need review, I see that reviews need trust and I think this retrospective assessment of spam is a fantastic idea. It provides a really powerful feedback loop that fits neatly within a smart-contract architecture, as reviews can be kept on their own ledger.

Your answer moves fascinating topics, and I have thought about this a lot lastly (not computationally), and I don’t have an answer yet of course. Sadly. Just as you formulate it, I was wondering above :

I agree with you : we must avoid trust. I don’t want to reintroduce trust, this is why I was promoting “greediness” for the average investor and reviewer as ‘engine’ : greediness of the reviewers of the first layer of review, and greediness TO COME of the second layer of review. But I would love a more formal and computational discrimination.

To find a incentivize to review genuinely without having to base us on the trust is a wonderful topic. Let us find this.

I have an idea for addressing this:

It still has the review concept, and deliberately doesn’t try to say how review should be done. Instead of “default hidden until reviewed”, it works on a “default visible until flagged as problematic” logic.

I can see how the ideas in this topic follow on from the ones described there; the arrival at a review stage could be done following a spam reporting mechanism that is decoupled from governance incentives.

An interesting view, well structured and explained. I think there are 2 different matters to be considered:

  1. SPAM - In a anonymous decentralised coupled with a low proposal barrier creates a nothing at stake problem, which means anyone can abuse the system for a very low cost.
    A peer reviewer system introduces complications and does not really address the fundamental issue as reviewers can also suffer the same spam levels. further more it means they must be active on daily bases, as there is no notification system in place.
    Simply increasing the price per proposal will not stop bigger ICP holders

  2. Quality of proposals - this is a matter of competence and knowledge and difficult to address when anyone can submit proposals. Nor the knowledge level of the proposer or the reviewer can be determined.

For the 2 points above I do not consider a peer review system based on these type of incentives are an effective long term solution for a governance system.

I red your interesting and rigorous proposal. But as you guessed, my concern with your well designed proposal is that eventually, you trust the fact that people can think about the network wellness before how much they get paid. Some are capable of, but the majority will think with a greedy mind (I don’t tell it pejoratively), and we can’t base us on a such passionate state of mind.

You could say “but the wellness of the network will bring big money”. I agree with you, but the majority of investors don’t or can’t think like this, because we have a lot of shorters, some retired people etc.

So i do love your proposal, but one of your statements is, indirectly, that the majority of investors is not greedy. But they are. And they want reward by reward, day by day, or at least week by week. So you understand know why I was pursuing a model where everybody was rewarded enough to not be corrupted.

If this is how it came across, then I wrote it badly. I mean no such thing. Even if the majority of people are greedy, spam reporting can still happen. The reporting does not need a majority to be successful (think whistleblowers).

Despite this being a somewhat one-dimensional view of people, I think you are pretty much correct, which is depressing. However, I would like to let the majority be greedy, while also finding a way for those who care about the network to have an impact.

1 Like