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.