Background and Goal
The Internet Computer Protocol (ICP) operates on a network of independently owned and globally distributed node machines. A registry tracks specific characteristics for each node, including the node provider, data center, data center provider, and the country location. These characteristics are vital as they enable the ICP to achieve governance-approved decentralization targets, which are essential for the network’s security.
The data for each node, provided by the node providers themselves, is recorded when they join the network. This information undergoes a vetting process by the community during the onboarding of new node providers. To support the network’s growth and the continued reliability of node data, it is recommended to enhance the auditing of this self-declared information. The proposed enhancement of the auditing process should occur not only at the initial stage of node provider onboarding but also on a continuous basis thereafter.
In this forum post, we would like to share an initial collection of ideas for enhancing the auditing process. We invite the community, especially the node providers, to share their feedback and insights.
Potential auditing measures
The following strategies to enhance the auditing of node data have been identified for further discussion:
- Node provider identity verification
- Contractual transparency
- Algorithmic monitoring of geographic location
- On-site audits
We will elaborate on each of these strategies in the following sections. It is important to note, that these measures, while improving the system, do not guarantee 100% accuracy of node data. Rather, collectively they raise the bar to make the node data more reliable.
Node provider identity verification
Node providers play a crucial role by hosting and running the network’s infrastructure. To maintain transparency and accountability, their identities are made public. This allows the community to assess potential providers during the onboarding process and ensures providers can be held accountable for malicious actions.
For the first generation of node providers, the DFINITY Foundation conducted identity verification checks on node providers through a third-party service, a step deemed necessary for the network’s initial setup. As the network transitioned to onboarding the second generation of node providers, the process evolved. Node providers now submit their identities through a self-declaration form. However, a precise standardized protocol detailing what specific information suffices for thorough identity verification is not yet available.
Hence it is suggested to standardize this process in more detail. Below are key considerations we propose for creating a more robust framework. This is not an exhaustive process yet but rather a foundation for developing one:
-
Distinguishing between entities: Individuals and companies present unique challenges in identity documentation. It is essential to differentiate not just between individuals and companies but potentially also among various types of companies, each capable of providing different forms of identity proof.
-
Verification scope: For individuals, the process should collect enough data to uniquely identify a person. This includes their name, date of birth, address, and passport number. For companies, the verification should confirm the company’s legal existence, its physical address, and the authenticity of its representatives’ authority.
-
Handling of sensitive information: To ensure privacy, sensitive information such as dates of birth, addresses, and passport numbers should be stored in an encrypted format, for example, using vetKeys once available. Access to this encrypted data should be strictly controlled and only decrypted following a Network Nervous System (NNS) vote.
-
Decentralizing verification: Future identity checks should avoid reliance on a single verification provider. Furthermore, to ensure integrity, the identity verification confirmation report should be issued directly by the identity verification provider to the Internet Computer community.
Contractual transparency
Node providers, when deploying machines in data centers, engage in contractual agreements with both data center providers and Internet service providers (ISPs). To enhance transparency within the network, it is recommended that node providers either publicly disclose these contracts or provide a confirmation of the contract’s existence and its duration. Recognizing that certain details within these contracts may be sensitive and confidential, it would be acceptable to redact such information before making the documents available to the community.
This approach aims to bolster transparency by affirming the existence of contractual relationships between node providers, data center providers, and ISPs. Additionally, it allows community members to verify that the indicated data center providers and ISPs exist and appear trustworthy.
Algorithmic monitoring of geographic location
This method aims to validate the geographic locations of nodes after they have been onboarded, and hence helps to verify that the Internet Computer meets its geographic decentralization targets.
It is suggested to employ two primary techniques: analyzing IPv6 addresses and measuring round-trip times.
- IPv6 address analysis: This technique uses IPv6 addresses to estimate a node’s geographic location. However, it’s important to acknowledge that this method has limitations. The use of VPNs can mask the true location of a node by altering its perceived IP address, which may lead to inaccurate location estimates.
- Round-trip time measurement: To complement IPv6 address analysis, the measurement of round-trip times provides an additional layer of verification. This method assesses the time it takes for a signal to travel to the node and back, offering insights into the node’s physical proximity based on the delay observed.
Please note that the ICP boundary nodes already ping all nodes every 10 seconds, though this data is not stored or made publicly available yet. While the implementation of round-trip time checks can trigger alerts and facilitate discussions, it should not be interpreted as definitive proof of a discrepancy.
The roll-out of such a monitoring could be done in phases. In the first phase, metrics on round-trip times could be provided by the boundary nodes to the community. Although these nodes are presently operated by DFINITY, it is planned to decentralize them in the future. In a second phase, one could develop a monitoring toolkit or integrate the measurement of round-trip times directly into the protocol to automate the monitoring.
On-site audits
The core concept of on-site audits involves dispatching individuals to physically verify the presence of node machines at the declared data centers. This measure would help to verify that the Internet Computer meets its geographic and data center decentralization targets.
These auditors, in collaboration with the node provider, would inspect the data center to ensure that the machines correspond to those registered in the ICP registry. This would require a protocol to conduct this verification, for example using latency check via the local network.
While this method offers the most robust form of verification for the physical location of node machines, it also comes with logistical challenges and costs.
Several points require further discussion:
- Implementing mechanisms to ensure the integrity and reliability of the auditors.
- Determining which subnets to target for these audits. It might be practical to focus primarily on highly critical subnets, such as the NNS or Fiduciary subnets, given the high resource demands of on-site audits.
Consequences of Incorrect Node Provider Data
If the community identifies inaccuracies in the data provided by node providers, the following actions could be taken to maintain the integrity and trustworthiness of the network:
- For New Nodes: Proposals for onboarding new nodes found to have incorrect data may be rejected.
- For Existing Nodes: In the case of nodes that are already part of the network, discovering incorrect data could lead to punitive measures triggered by a proposal. These may include slashing rewards and initiating a proposal to offboard the nodes from the network.