Selection Stage
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.
Revision Stage
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
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.