This document describes the first release of Pi Node and the initial plan for Testnet, which may not be up to date. Since the purpose of building Pi’s initial Testnet is to test and refine Pi’s blockchain, the plan may further change as more data is generated by the Testnet to guide the next steps ahead. The description below does not refer to Pi Mainnet Nodes, which are currently under a Mainnet firewall during the ongoing Enclosed Network period of Mainnet. In the upcoming Open Network period, the Mainnet firewall will be removed, allowing the broader Pi Community to run their own Pi Mainnet Nodes. Learn more here.
Nodes are the fourth role in the Pi ecosystem and run on laptops and desktops instead of mobile phones. Similar to other blockchains, Pi Nodes will be responsible for validating transactions on a distributed ledger and resolving the challenges in maintaining a distributed currency by having all nodes come to a “consensus” on the order of new transactions that are being recorded.
Unlike nodes that use proof of work such as Bitcoin or Ethereum, Pi Node uses a different consensus algorithm based on the Stellar Consensus Protocol (SCP). In SCP, nodes form trusted groups (quorum slices) and only agree to transactions that those trusted nodes agree to. The security circles (See Pi FAQ: What are security circles?) from Pi mobile miners aggregate into a global trust graph that enables Pi Nodes to form quorum slices to determine who can and cannot validate transactions on the shared ledger.
Unlike most other crypto projects, the Pi Node will continue to follow the philosophy of user-centric design. Instead of requiring deep technical knowledge to set up a node, everyday people will be able to do that by installing a desktop application on their computers. Through this computer application, Pioneers can switch the node software on/off to make their devices available/unavailable for serving as a node.
Pi will continue to adhere to the methodology of progressive decentralization as it develops its Testnet. During the initial Testnet, Pi’s blockchain component of the node software will have a centralized layer in order to achieve faster iterations of scenario stress testing and adaptations of the consensus algorithm to accommodate the needs of Pi Network and its global community (See Section – Testnet Roadmap). This initial version of the node is the first step toward building the Pi Testnet and eventually the fully decentralized mainnet.
This version of the node includes two interfaces: the node interface and the desktop Pi App interface. Depending on the levels of participation defined in the section below, Pioneers can use the two interfaces accordingly. Every mobile user can download the node software to their computer and use its desktop Pi App interface because it’s a similar interface to the mobile app and will allow people to check their Pi balance, watch media content and use the Pi chats on their personal computer. Every Pioneer can also apply to be a Node through the node interface and install the blockchain component there. There will initially be a Selection Stage (See Section – Testnet Roadmap) for the Core Team to calibrate node selection criteria based on the device reliability and connectivity. When a node is selected by the Core Team, they’ll need to pass KYC to proceed to serve as a node on Testnet. See more details in the section below: Selection Process for Nodes and SuperNodes.
Levels of Node Participation
There are currently three levels of participation for Pioneers to use the Pi Node software on their computers.
Computer App refers to only using the desktop Pi App interface of the node software. It enables Pioneers who want to interact with the Pi app from their computers, so it has similar functionalities to the mobile app. For example, many Pioneers have previously expressed that they want to be able to chat on Pi through their computers rather than phones. Hence, we designed the desktop Pi App interface on Pi Node software and combined this interface with the node software. Also, in the future, as more functionalities are added to the Pi App, e.g. Apps Platform and the various apps on the platform, some of them might be easier to access through the desktop interface than the mobile application.
Node means that Pioneers access the node interface, finish installing necessary technical preparations based on instructions, and switch on/off the node interface to make their computer available to run the blockchain component after being selected to be a Node. Although they don’t participate in the consensus, they verify the validity of the blockchain and submit transactions to get recorded on the blockchain. In the future when Pi’s blockchains expand to more than securing a ledger, Nodes will expand to include computers opting in to contribute to collective hardware resources of the network, such as computation, storage, and bandwidth.
SuperNodes are the backbone of Pi’s Blockchain. They are responsible for reaching a consensus based on the algorithm to write the right transaction on the Pi ledger, in addition to all the responsibilities that a node performs. They’re also responsible for making sure other SuperNodes and Nodes get the latest state of the blockchain. SuperNodes also utilize the node interface and are initially selected by the Core Team. They need to be connected to the network 24/7 and have a reliable internet connection.
See the table below for a summary of the three levels of participation in Pi Node software, and the hardware and software requirements for computers at each level of participation.
More precisely defined Hardware and Software for Pi’s Nodes will require additional data from the initial Testnet of nodes in the Selection Stage defined below in the Testnet Roadmap on how the node performs on a variety of hardware and software configurations.
When installing the Node on Windows, the Microsoft Defender SmartScreen may display a warning when a new app downloaded from the internet is installed suddenly by many people. This will likely be the case for Pi Node due to our large user base. As more Pioneers accept to install Pi Node software, Microsoft defender will stop showing this warning.
Selection Process for Nodes and SuperNodes
To apply to serve as a Node or SuperNode on Pi’s Testnet:
- Download and install the Pi Node software on your computer
- Fill in the Pi Node application inside Pi Node software
- Install technical packages based on instructions from the node interface and keep the software running as much as you are comfortable with (It can be running in the background.)
- The Core team will then select Nodes and SuperNodes based on criteria defined in the next section.
Selected Node and SuperNode applicants will be informed through the node interface on a rolling basis over the next 3 months. The number of Pioneers selected will be determined by the number of applicants that meet the selection criteria listed in the following section.
Selection Criteria for Nodes and SuperNodes
After an initial screening period, Nodes and SuperNodes will be selected based on the following criteria. While both will be assessed on similar criteria, the threshold for Nodes will be lower than SuperNodes.
- Uptime (i.e., Online 24/7)
- Good internet connection (fast and stable)
- (initially) ability to open ports on local router
- Adequate processor and memory (check table for recommendations)
- Previous contributions to the Pi community
- Security circles
Based on your node reliability and trust score in Pi Network, you will be invited to KYC. Applicants who complete KYC will be enrolled to serve as a SuperNode and Node in Pi’s Testnet.
During the initial Testnet period, the primary goal is to stress test the network’s consensus algorithm. While not all Pioneers will have the hardware, software, and network reliability to participate in the initial Testnet, Pi always aims to be as inclusive as possible. All Pioneers will continue to be able to participate via Pi’s mobile application. Furthermore, over time, we also aim to make the Node role more accessible by developing additional ways that Pioneers can contribute to the network.
Testnet will be composed of three stages.
The Core Team will run the consensus algorithm with Pioneers who have applied to become Nodes and successfully completed installing all necessary packages for the blockchain component on their computer. These tests will enable us to understand the requirements for individual Nodes (e.g., hardware, duration online, bandwidth, stability of connection etc.) needed to achieve a reliable and secure network. While our hope is to include as many Pioneers as possible when defining the Node requirements, the availability and reliability of individual nodes in the network affect the safety and liveness of the network. Hence, we need to balance the two aspects above by testing in the Selection Stage and properly define the thresholds for Nodes and SuperNodes.
The Revision Stage will comprise an iterative process of two activities: scenario testing and consensus algorithm revision. Scenario testing refers to stress testing the consensus algorithm, its scalability, and configurations given different scenarios. The data produced from the scenario tests then will provide guidance as to where and how we should revise and adapt the consensus algorithm to ensure safety, improve liveness, and to achieve scalability.
This fast, iterative process is important for making improvements on the consensus algorithm to meet the needs of Pi Network. Thus during this phase, the blockchain component of this Node version contains a centralized layer that will allow the Core Team to quickly assign simulated data of the network graph and configurations to different Nodes, to more efficiently test a wide range of scenarios and states of the network. For example, instead of only relying on the current data from security circles to test the consensus algorithm, which is only one scenario, this feature enables the Core Team to create hundreds or even thousands of scenarios of quorums by assigning simulated security circles to different nodes in the network. Interesting scenarios also include: What happens if half of the network gets isolated? What happens when a percentage of nodes in the network suddenly drops out or enters the network? This centralized layer will be removed in the mainnet after it serves its testing purpose.
In turn, the data generated from these tests can feed the revision of the consensus algorithm. Pi will face unique challenges as it adapts and scales the Stellar Consensus Protocol to meet the needs of Pi’s blockchain (e.g., a large number of participants, highly distributed, personal computer as nodes, incorporation of trust graph generated from mobile miners etc.) The revision stage will allow the network to test things like scaling messaging and the voting process of the network while maintaining safety and liveness. The activity of revising consensus algorithms entails data analysis and research to innovate solutions tailored to Pi Network’s needs.
Live Testnet will be the stage when different types of nodes actively perform the responsibilities defined in the tables above (See Section Levels of Node Participation). Nodes will be able to submit testing transactions that get recorded on the distributed ledger by nodes through the consensus algorithm. The purpose is still to test the performance of the network, but with real data from security circles generated by mobile miners and real activities of participants of the network. It also contains an iterative process of testing, data analysis, debugging, revising and innovating to achieve safety and tackle liveness and scalability.
What Is The Relationship Between The Pi Node Software And The Pi Network Mobile Application?
Nodes and mobile apps are not mutually exclusive but complementary to each other. You will log into the Node software through your Mobile app account, which means both desktop and mobile apps are pointing to the same Pi account. As Pi policy, one person will only be allowed to have one Pi account, and as of now, one account should run only one node. Mobile mining can only be started from the mobile app, while the desktop Pi App interface of the node will allow you to check balances, chat and watch any media content on the homescreen. Whether an account has a node or not does not affect any functionality in the mobile app.
What Impact Will The Node Have On My Device? Will It Drain My CPU And Battery?
If you do not turn on the Node or SuperNode part, then the impact is minimal, very little CPU, memory or network traffic should be consumed, making it accessible to everyone. Turning on the Node or SuperNode functionality will be using CPU, memory, hard drive and network resources. Over the course of Testnet, we will be collecting data to more clearly determine the impact of running the Nodes on specific devices.
Will There Be A Reward For Running A Pi Node?
One of the goals of Pi’s Testnet is to determine what, if any, rewards there should be for running a Node. While we collect the relevant data needed to determine the most appropriate incentive mechanism, there will be no mining rewards for Testnet Nodes.
Is Pi Node Software Open Source?
The blockchain component of the Node will be open sourced. We are in the process of tidying up the github repository so that we can proceed with the open sourcing. We aim to maintain a list of open issues directly on the github repository, which community members will be able to contribute to, if they like. Stay tuned.