Introduction
During this quarter, several discussions have taken place in the forum on network security and decentralization. Valid concerns regarding node provider governance and the subnet allocation scheme have been raised. As indicated earlier, we have taken the action to review how to best capture these connections and consider them in subnet allocations, taking into account the constructive feedback received in the current discussion. This forms the scope of this forum post. Additional considerations for enhancing network decentralization will be shared separately.
Suggested Enhancements
Identity Verification
Background: At ICP genesis, DFINITY conducted a KYC process for Generation 1 node providers, requiring identity verification. For Generation 2 node providers, the process shifted to a self-declaration model where node providers provided identity documents. This raised security concerns, e.g., because such documents can be manipulated relatively easily. Discussions about enhancing identity verification were held in the forum, but progress was slow, for example due to privacy concerns.
Goal: Establish a robust identity verification process for node providers that defines clear protocols for both initial identity verification and the frequency of subsequent re-verifications.
Suggested Measures:
- Engage several recognized third-party KYC service providers, selected by the NNS, for verifying the legal existence of node providers. The KYC service will issue certifications that node providers can use during both onboarding and periodic re-verification processes. All node providers, existing and new ones, would be in scope of this process.
- To address privacy concerns, personal and corporate KYC data (e.g. passport information) would be securely stored at the KYC providers.
- Enhance the on-chain node provider records by incorporating a field that indicates when the last KYC has been completed, and include a link to the corresponding certification.
Assessment of Independence
Background: Node providers as listed in the NNS registry can be connectedāfor example, an individual might also be the owner of a company acting as a node provider. There can be legitimate reasons for such arrangements, like certain data centers only accepting companies as clients or tax considerations. However, information about such connections is currently not captured or used in the protocol. Further, there is no systematic process for assessing the independence of node providers.
Goal: Ensure that linked node providers are treated as a single entity in subnet allocations, or confirm the genuine independence of node providers. This includes not sharing ultimate beneficial owners or being otherwise closely linked in ways that could undermine the networkās decentralization.
Suggested Measures:
- Establish a clear policy defining what constitutes independence among node providers, including specific examples; see this thread for related discussions. Here we should try leveraging existing compliance frameworks like Financial Action Task Force (FATF) to simplify the establishment of the policy and the execution of the assessment. Suggested example criteria are listed below.
- Require all node providers to disclose their linkages to other node providers in their self-declaration, according to the agreed-upon criteria.
- Use several recognized third-party services to verify the independence of node providers, ensuring no overlapping ownership or control exists. If you see viable alternatives to using these services (reducing the overall effort), please share your ideas.
- Implement a process for periodic monitoring of the independence status of node providers.
- The initial assessment cost could be covered by the NNS, while the cost of subsequent re-verifications could be covered by the node providers as a business expense.
Example Criteria: The FATF provides guidelines that can be adapted to define independence among node providers:
- Ownership Percentage: A person is considered a beneficial owner if they own more than 25% of an entity.
- Control Through Management Positions: Individuals in key management positions (e.g., CEO, CFO) that give them control over the entity, even without significant ownership, can be considered beneficial owners.
- Control via Voting Rights: Having voting rights that allow significant influence over business decisions, irrespective of actual share ownership, indicates control.
- Control via Family Ties: Direct family relationships where family members may exert control or influence over an entity. Examples of direct family ties are relationships between spouses, parents and children, and siblings.
- Control via Legal Arrangements: Ownership or influence exerted through trusts, intermediaries, or other legal arrangements that confer control or substantial influence, even if the named owner of shares or rights is another party.
For forming clusters, it is suggested to apply the principle of transitivity: If node A is connected to node B, and node B is connected to node C, then node A should also be considered connected to node C.
Enhance the Algorithmic Subnet Allocation
Background: The NNS utilizes two distinct tools to manage and enhance node decentralization:
- Node Target Topology Tool: This tool is designed to set detailed decentralization targets for subnets and determine an optimal node assignment that satisfies these targets.
- Decentralized Reliability Engineering (DRE) Tooling for Node Subnet Assignments: The DRE tooling is used for the actual submission of NNS proposals that assign nodes to subnets.
Currently, neither tool incorporates data regarding the connections between node providers. Furthermore, the two tools have the following differences:
- Local vs Global: The DRE tool takes a local approach (changing one node for another), and approvals are reviewed based on the outcome of such changes. One could do multiple swaps in a row to get to an optimal state, but the DRE tool and review process considers only 1-1 changes so far.
- Difference in metrics: The node topology is concerned with minimising the number of new nodes in order to meet the decentralisation targets. The DRE tool measures the impact on Nakamoto coefficients of a particular change. Even if two setups (e.g., Subnet Setup A and B) meet the same topological requirements, they may differ in their Nakamoto coefficients, influencing the toolās preference for one setup over another.
- Additional node data: The DRE tool takes additional data into account, e.g., whether a node is currently healthy.
Goals: Use the enhanced data on node provider connections in the algorithmic allocation of nodes to subnets. Align the DRE tooling for subnet assignments with the target topology.
Suggested measures:
- Data Capturing
- Define and implement appropriate data structures within the NNS to accurately record the connections between node providers.
- Specifically, introduce an additional field named āclusterā or similar which enables the aggregation of individual node providers into clusters, representing groups of connected providers.
- Unified Tooling:
- Develop a unified tool that combines target topology modeling with node subnet assignment. This tool should be open-source, though not necessarily on-chain.
- Initially, allow the tool to source certain data, such as node provider connections, from external sources. Over time, transition to sourcing all information directly from the NNS.
- Ensure the tool provides sufficient detail to enable independent verification of subnet assignment proposals by reviewers.
Next steps
We kindly invite the community to provide feedback on the proposals outlined above, recognizing that there are details yet to be determined, such as the choice of compliance framework for the assessment of independence. We suggest evaluating the process by applying it to publicly available node provider data.
Additionally, we plan to discuss these suggestions during the upcoming node provider working group meeting on Monday, March 24. Once we have reached a conclusion, we intend to formalize it through a motion proposal.
Please note that several aspects of the plan can be implemented concurrently. For instance, we can begin by enhancing the allocation tooling to incorporate known connections between node providers. In parallel, we can initiate work to improve the data structures on-chain.