Do U C Centralisation? 👀 IC Decentralisation (in Progress...) + ICP Giveaway!

If you came for the giveaway, you’re in luck, but you’ll need to read to the end. You won’t know where to start otherwise :wink:

Context

Last year DFINITY switched from a grant-wise governance decentralisation incentives model that was directed at an early mover (CodeGov :fire:). The switch was to a funding model that instead invited the NNS to vote to ‘onboard’ a handful of elected NNS proposal reviewers. Ones who could convince the NNS that they are diligent, skilled and reliable. This was referred to as Grants for Voting Neurons.

This resulted in CodeGov, @WaterNeuron, @zenithcode and a couple of other elected reviewers getting heavily involved in reviewing technical proposals and posting detailed reviews, as well as providing reliable neurons to follow. CodeGov had already been doing this sort of thing for a long time :+1:. Diligent governance activity has taken a significant leap forward, with numerous more participants!

We’re now approaching the end of the 6 month period over which this initial solution (and the associated election results) are in effect.

What Next?

This is yet to be determined and open to debate. Which is why I’d like to stimulate discussion amongst the community with this thread.

One of the main aims of the Grants for Voting Neurons initiative was to result in the following →

The Long-term Solution? :point_up:

By facilitating neurons to establish a substantial following beforehand (during the Grants for Voting Neurons initiative), it would have opened the door to a scenario where reviewers could be funded directly by the NNS, by a mechanism where followees could be allocated a very, very small portion of the rewards of each of their followers (a trivial amount for each follower, but a non-trivial cumulative amount in total for the followee). The implicit incentive for followers is that their stake in ICP is kept safe by delegating their governance power to numerous decentralised voters who are diligent, skilled and reliable (for a very, very small fee). Voting neurons provide a service after all.

The Challenges? :dart:

What Works Well?

While the Grants for Voting Neurons initiative hasn’t yet done much to change the distribution of followers on the whole (in all but a few cases), it’s certainly done a brilliant job of attracting diligent reviewers who put the work in! There are plenty of examples of bad proposals that have been detected by these reviews, and rejected accordingly. The IC needs this to thrive.

Electing reviewers via NNS proposal allowed every ICP staker in the ecosystem to have a say. It produced competition (the minority of candidates were elected). It prompted new tools to be built to aid the reviewal process, and some reviews were posted in the lead up to the elections without extrinsic incentivisation, other than to provide a demonstration for the electorate.

Parallels with Node Provider Renumeration

The IC is a brilliant demonstration of decentralised infrastructure - but how is that organised? Node providers are onboarded by NNS proposals and a reviewal process. A lot of work goes into tracking that node providers are doing a good job, and rewarding them accordingly. That’s not currently the case for voters, largely because there’s usually no such thing as a correct vote. Nevertheless, network security depends just as much on diligent voters as on reliable node providers.

Onboarding node providers comes down to a vote, and the quality of the node provider is taken into account in context (e.g. where are the node locations, and do they sit well with current needs). A parallel can be drawn between onboarding node providers and electing reviewers (ones who can convince the NNS that they are reliable, skilled and diligent).

A Solution to Explore

Special thanks to @wpb and @Accumulating.icp for igniting this conversation in the context of the Grants for Voting Neurons :point_up:

NNS-elected reviewers are currently transferred grant funds monthly, directly from DFINITY. The NNS elections utilised the protocol. There’s little reason that the renumeration model could not also be controlled by the NNS. This would close the loop on the governance decentralisation problem once and for all, and offer a means for the IC to truly decentralise sustainably and responsibly.

I believe there could be numerous ways of implementing this sort of thing, some that would require little to no deviation from the current inflation model (minimal added complexity). It could even be combined with the original ‘long-term solution’ idea mentioned above (as one option), such that the renumeration funds do not require any additional minting. I think the exact implementation details could be a separate discussion, perhaps on another thread.

Assuming there’s agreement that there is a problem that requires a solution, I think the question to ask is, does the community think this is a solution worth exploring? If so, some concrete details could be drawn up and taken to a motion.

What Does the Community Think?

  • YES - Worth Exploring
  • NO - Not Worth Exploring
  • 
 - I Just Came for the Giveaway :sweat_smile:
0 voters

Whether you agree or disagree, please show your support by upvoting this post, so that more people can see it and get involved in the discussion. Please post your thoughts and ideas to advance this discussion. Instructions are below if you just came for the giveaway.

ICP Giveaway ♟ ❀
Click here for instructions 🧐
Then expand this 👀
This requires another click 😐
Stop clicking buttons! đŸ€Ș
Review before you vote on NNS proposals, and get involved đŸ™‚â€â†•ïž
The right incentives are coming đŸ€©

You just need to reach. Get to know the IC. Specialise in a topic. Put yourself out there
 it’s go time! :rocket:

7 Likes

I definitely agree this is worth exploring. It’s extremely important to advancing decentralization at the protocol level. Technical proposal reviews are real work and there is no reason for anyone to do it unless they are able to receive remuneration at a level that attracts the right skills. It can definitely be argued that different proposal topics require different skills, so it’s ok for remuneration of each topic to be different. It’s also important that the number of people and teams that are participating in technical proposal reviews is sufficiently high. There should be many eyes on the changes that are occurring. All it takes is one person to find something that is off and then the others skilled in that type of proposal review can verify if they agree. It becomes a team effort with the common goal of protecting the IC and advancing decentralization.

The folks who have the opportunity to review these technical proposals also gain a much deeper understanding of the topics they are reviewing. We all benefit when people throughout the community have an incentive to become intimately familiar with the codebase behind the IC or to become experts on the topology for subnets. We need these remuneration incentives if we truly want to achieve decentralization long term and the remuneration model really should be funded through the NNS, not through DFINITY. So I would definitely agree with you suggestion @Lorimer that there is a problem that requires a solution and that developing an NNS based remuneration model for voting neurons is worth exploring. Thank you for formally raising the question for deliberation.

Tagging folks on the CodeGov team for visibility to this thread.
@ZackDS @Zane @hpeebles @ilbert @cyberowl @timk11 @LaCosta @Cris.MntYetti @NathanosDev

6 Likes

I agree with the need, the issue is how. :sweat_smile:

Thank you for compiling the key takeaways you have felt from the grant of voting neurons experiment.

@lara will still desing and propose, but to me personally think the role → election model is the best one, would be surprised if a better one is discovered. That is already the way it’s working with Node Providers.

To be honest, the node provider was “hardcoded” into the protocol, and if we continue to do that, it will only “worsen” the problem, making it more complex to maintain and scale. See “tight coupling components” in computer science.

A more modular approach would be for this logic to be on core/protocol canisters (like ckETH, ckBTC, SNS wasm, 
). And inside it the complexity of what are different role types, how they are elected / evaluated and consecutively paid.

At the protocol level it should just have the concept of a “decentralization fee” that could be 1% of the Voting Rewards that are spread by an array of canisters in a proportion agreed by the NNS. Namely the NNS decides the budget to each type of role.

Then inside each “role type canister” specific logic can exist that can weekly evolve and be reviewed and approved by the NNS, same as ckETH, ckBTC, SNS, etc. also are.

Inside the “role type canister” you can have this high-level logic:

  • a role is standardized, by being very clear on what success is, what requirements / criteria will be valued, and also, examples of situations that could lead for the resource to be removed / delisted.
  • there is a process for setting how many vacancies and for how much budget.
  • then those vacancies are filled continously or periodically (with individual proposals that get accepted / compared).
  • then payment is released (on a timer), unless a proposal was approved otherwise (like halting the payment to a certain resource or an outright delisting).

Think a framework like this would allow to easily grow in complexity but still keep code / maintenance domain specific and therefore scalable.

We could start with “code/node reviewers” role, but soon after expand to “SNS reviewers”, “motion/tokenomics reviewers”, etc. But later on even parts of Dfinity could be decentralized, like entire teams under this model, roles of “nodes maintenance and contributions”, “motoko language”, “rust language”, “dev grants”, etc.

This is complex, but the IC was born for this kind of complex, evolving, clear, automated, kind of distributed/modular governance :+1:

Hope this helps a bit as a contribution to the design. Looking forward for next chapters :smiley:

3 Likes

Hi all and thanks for the suggestions,
I totally agree with both the fact that we want to work towards a built-in solution for incentivizing good reviews and that we should look at “elections” as one possible solution to this problem.

I know that a lot of people mentioned the forwarding of rewards to followees as an option, but I agree that we should consider broader and/or alternative options too and considering a sort of election is definitively on my list.
We plan to think again more holistically about this, organize the ideas, and share them down the line, but it might still take a few weeks until we get there.

4 Likes

Interestingly, if this were implemented :point_up: D-QUORUM followees would be entitled to these rewards. The followees are based on NNS election results - so maybe these two ideas can co-exist,

  1. NNS reviewer elections, and
  2. 1%-reward-cascades

This thread started by highlighting potential downsides with follower-based reward cascades. But if both solutions can co-exist maybe they can mitigate each other’s downsides and strengthen the overall governance incentivisation solution :thinking: