TL;DR
- An intermediate solution for incentivising voting neurons, while the long-term NNS-based solution is implemented
- 2 grants for 4 of the most important proposal topics
- Candidates can apply by presenting themselves here
- The community will select who will get the grants
- Grants are disbursed to the selected recipients once a month as long as they provide monthly evidence for their work
Context & Motivation
As shared in this forum post, to increase governance participation and decentralization in the NNS, we propose to introduce periodic confirmation and incentives for actively voting neurons.
While the final solution for incentivising voting neurons should be independent of any centralized party and built into the NNS, the implementation of such a solution will still take a bit of time. As an intermediate solution, we propose to start with grants that are provided by DFINITY and given to voting neurons elected by the community.
This intermediate short-term solution has the following advantages.
- The funded neurons have the resources to already
- establish a voting process
- become experts for a proposal topic
- establish ways to convince potential followers that they do good work, for example by sharing how they verify and vote on proposals
- The NNS community
- learns more about what is needed to incentivise voting neurons
- establishes a culture of what is expected from a “good voting neuron”
- gets to know new voting neurons that can be followed already now or taken into account when periodic confirmation is introduced
- Users who submit proposals, e.g., DFINITY,
- learn how to better explain and present the proposals’ content by getting more feedback
The goal is that the grants would last roughly long enough for the long-term solution to be implemented, so that (most of) the funded neurons can move to the long-term solution for incentivising voting neurons when it is available.
Grants - high level
DFINITY will provide 2 grants for each of the following 4 proposal topics that are most critical for the ICP’s security (8 grants in total).
- Protocol Canister Management (as introduced with this design)
- IC OS Version Election
- Participant Management & Node Admin (we combine two topics here but refer both of them when we say “a topic to vote on” in the following)
- Subnet management
Candidates can apply in this forum thread if they consider themselves as experts for a particular proposal topic from the above list. For each proposal topic, the community selects 2 candidates. The selected candidates receive their grants monthly in ICP, where the amount depends on the effort required for the chosen proposal topic. Candidates receive monthly grants for up to six months, provided they submit the required verification evidence each month. The grants are disbursed only upon the successful submission of evidence for the prior month.
In the following we describe each of those steps in more detail.
Effort / grants
Based on estimates established with the engineering teams we propose the following reward structure:
- Protocol Canister Management
- Effort: ~ 15h / week
- Grant: $5000 / month
- IC OS Version Election
- Effort: ~15h / week
- Grant: $7500 / month
- Participant Management & Node Admin
- Effort: ~ 2h / week
- Grant: $750 / month
- Subnet management
- Effort: ~ 2h / week
- Grant: $750 / month
Team grant: If you are a large team (e.g., 5+), and you have enough redundancy to be able to commit having at least 3 reviewers per proposal, you can apply for a team grant. If you do this and get selected for the grant, you receive $10K / month for protocol canister management, $15K / month for IC OS version election, $1.5K / month for participant management & node admin, and $1.5K / month for subnet management.
What to do to get the grants
As a selected candidate, you are required to do the following to receive your grants.
-
Register in the tool “Submittable” where you will send your monthly reports
-
Share the neuron ID of the voting neuron
-
With this neuron, vote on at least 90% of the chosen topic
-
For each proposal and vote, share on the forum evidence that you verified the proposal by the following steps. If you are a large team that applied for a team grant, at least 3 reviewers should show that they performed the following steps individually:
-
Providing a summary of the proposal
-
Providing a reason why you voted to adopt or reject
-
Provide evidence that you verified the proposal, which includes the following
-
For Protocol Canister Management proposals
- (1) Verify the build hash, (2) Look at most commits on a high level, considering the API changes (especially breaking changes), code quality, typical source of vulnerabilities, (3) Do an in-depth review of some commits as time permits
-
For IC OS Version Election proposals
- (1) Verify the build hash, (2) Do an in-depth review of as many commits as time permits
-
For Participant management & Node Admin proposals
- Add or remove node providers (topic participant management): look at least at (1) a proper forum introduction by the new NP (2) self-declaration and Identity documents are uploaded on the wiki (3) hashes of the self-declaration and identity document match the hashes in the proposal (4) if a new region or community, a check in the public chamber of commerce register (if chamber of commerce number is provided)
- Add or remove Data Centers (topic participant management): look at least at (1) who submitted the proposal (normally only a new NP) (2) an Internet search whether this is a legitimate data center.
- Update node config (topic node admin): in such a proposal, a node provider sets the number of nodes and the node_type (Gen1, Gen2). Check these against the originally approved node allowance (whether that allowance was approved, and whether it matches the IC Target topology using the github tooling)
- Add node operator (topic node admin): this proposal sets the allowance for a particular node provider in a specific data center. (1) Check if it matches the IC Target topology using the github tooling. For example, currently such proposals should be rejected as the target topology has been reached. (2) Check whether the node provider-id and data center-id match with the previously submitted proposals (the add node provider proposal, and the add data center proposal)
- Remove nodes from the network (topic node admin): this is a proposal to remove (unhealthy) nodes from the network. Check whether the nodes are indeed unassigned and not in a particular subnet.
-
For Subnet management proposals
- For node replacement proposals: check whether the nodes are replaced because they are dead/unhealthy or replaced for other good reasons.
- For other proposals of this topic: check whether the reasoning in the proposal makes sense wrt which proposals need to be adopted in which order.
-
If you do not have enough information to make the above checks, report this in your summary of the proposal in the forum.
-
-
-
To get the monthly grant, submit a form with a link to the forum where you presented your work
Application process
You can apply for a grant for one or multiple topics from the list above.
To do so, present yourself in this forum discussion until Friday, July 31st.
You might want to include the following information about yourself. Overall, you should try to convince the community that you have the knowledge and resources to do the above tasks.
- Your name
- What topic(s) you apply for
- Whether you apply for a “team grant”
- Presentation of who you are (e.g., links to LinkedIn, other socials)
- The size of your team
- Relevant experience (overall, in web3, on ICP)
- Technical knowledge (can include links to projects, e.g., on github)
- Why you want to be a voting neuron
- Why you need the grants to do so
- Why you are acting in the long-term interest of ICP
- Why you are interested in the topics you apply for
- Why you remain a voting neuron in the long term, even after the grant is over
- Whether you have some voting principles
Decision process
From the applications, the community will select 2 candidates for each proposal topic that will receive the grants.
To do so,
- a NNS motion proposal is submitted for each candidate and topic for which the candidate applied
- for each proposal, the result is computed as the number of YES minus the number of no votes (#YES-#NO)
- for each topic, the 2 candidates with the highest results get the grants
If there are too many applications for motion proposals to be practical, there might be a first round of election via another tool.
DFINITY plans to vote for candidates who convincingly show in their application that they are able to do the required verification tasks.
We are looking forward to many applications and to this next step towards a more active NNS DAO!