Pi Node update & future plans
Welcome to the first Pi convention! The past few days we asked Pioneers to come up with unique names to call our convention through a Pi Topic. And we received 186,173 suggestions. The community upvoted and downvoted about half a million times. As a result of this process, a very interesting name bubbled up. The name COiNVENTION. Coinvention resembles co-invention which means we are inventing Pi all together, but it also resembles coin-vention and convention. So, we decided to go with it.
Name Credit~: There were 471 Pioneers who wrote COiNVENTION as their suggestion using different capitalizations and combinations of additional words. The first person to type “Pi coinvention” was @QasisPi (at 2020-10-08 16:36:45), and the first person to use the exact capitalization we selected was @Saraskins (at 2020-10-09 11:07:57 UTC) and this Pioneer’s entry got the most upvotes amongst all alternatives.
Below you can see the summary of this session, in text.
Enjoy the Pi Coinvention!
1. Summary until now
We’ve recently released Node v0.3.4, and we are now on version v0.3.6. Unlike previous versions, these latest versions can run the Pi blockchain for selected candidates.
Over the past few months, we’ve been developing this version of the Node that allows Pioneers to run the blockchain through a user-friendly interface. It took quite some time to release this version to all Pioneers because in addition to its development, we also had about 10 iterations of test releases with moderators and voluntary testers before a community release. The purpose of the long test iterations was to discover and fix as many bugs as possible that may be exposed by different devices and operating systems and to save frustration from most Pioneers in a community release. Due to the nature of compatibility issues with diverse devices and operating systems, we still expect some reports of issues when running this version, but hopefully they’re much reduced, thanks to the test release iterations. This version also includes more data about the status of the blockchain container in the Node Interface for Pioneers to troubleshoot.
We’ve invited over a hundred node candidates and will be gradually inviting node candidates to start running the blockchain to follow the Testnet. All candidates can upgrade to this latest version v0.3.6. However, the new functionality of turning on and viewing the blockchain will be rolled out gradually to different candidates for technical reasons.Don’t be discouraged if you have not seen the new feature because we are still enrolling more candidates. The goal is to enable all Node candidates to be able to turn on the blockchain container to follow the testnet blockchain as it evolves.
Significance of v0.3.4 and beyond
Pi Node v0.3.4 will only allow viewing of the Pi Testnet, but it is significant because it is the first time that Pi Node software runs the blockchain on a larger scale, and it initiates the second stage of the Testnet Roadmap - Revision Stage that comprises an iterative process of two activities: scenario testing and consensus algorithm revision. Building on this version, the Core Team can quickly assign simulated data of the network graph and configurations to different Nodes, to more efficiently stress test a wide range of scenarios and states of the network. The data generated from these tests will then feed the revision process of the consensus algorithm. The Revision Stage will presumably be a rather long period during which multiple node versions will be released because it involves not only engineering time but also research breakthroughs. As the consensus algorithm gets improved through simulated data, the Core Team will be able to add more abilities to Nodes and Supernodes than just viewing the testnet, such as validating transactions and participating in the consensus algorithm, progressing towards the third stage - Live Testnet.
2. Next steps in building the Node (Q4 2020)
In Q4 2020, we will continue to build on top of v0.3.6 and aim to achieve more test functionalities of the Testnet. First of all, we want to enable the Testnet to allow Supernodes to run the blockchain and participate in the consensus. This means that we will be building out the functionalities for Supernodes, e.g. submitting, writing and validating transactions on the blockchain. We will also set up the centralized layer in the Testnet to allow assigning simulated data, running the Revision Stage experiments and stress-testing scenarios, as described in the Testnet Roadmap. Along with the need to run experiments, we need to build real-time network health data collection mechanisms. For example, in order to determine if an experiment is successful or not, we need to know the effects on the network health from any specific experiment setups. Once Supernodes functionalities are in place, we will select and invite more Supernodes in Q4 to participate in the consensus of the Testnet based on the node statistics that we have been collecting. Subsequently, more Nodes will also be selected to follow these SuperNodes in the network. Hence, a distributed Testnet will be formed then. In Q4, if time allows, we also hope to build Testnet testing infrastructure, for example, block explorer, faucets of transaction requests, and test wallets, to complete a testing environment convenient for individual Nodes to follow. In 2021, as more SuperNodes and Nodes are added to the network, we will need to test, experiment and address any issues arising from scalability, together with any work necessary for the Revision Stage for the consensus algorithm.
3. Why is Pi Node important?
In this session we will talk about the importance of Nodes and SuperNodes to every Pioneer and some examples of additional roles Nodes can play on the Pi Network.
Not only is the Pi Node the cornerstone of the Pi Blockchain, but it also contributes to ecosystem building and economic applications.For example, in addition to securing the ledger, SuperNodes can also technically support applications of Decentralized Finance (DeFi) such as the tokenization of real world assets and real estate.
But why is the node software important even in non-blockchain sense, and how do Pi Nodes and blockchain matter to Pioneers who neither serve as SuperNodes nor Nodes?
Our original vision for the Pi Node software was never just limited to operating and supporting the blockchain that secures a ledger of transactions, which is certainly the core and base layer of the decentralization of Pi Network. The benefits of building a user-friendly node software is having extensibility of the functionalities of Node and a large group of people who can contribute to the applications of the Node software. We want to share a bit more about the long-term strategy of the Node software beyond securing the ledger.
Currently we have over 200K Pioneers who downloaded and installed the Pi Node software, and there are over 60K nodes active every day, out of which 40K appear to be actively managed, for example, updating to the latest version. A portion of these Nodes will become Supernodes, depending on the selection process based on the hardware, operating systems, network performance, etc. What is the Core Team’s plan for the people running the Pi Node software who are not necessarily Supernodes or Nodes responsible for maintaining the ledger? Actually, we have great expectations for them and are open to any suggestions that build on top of our thoughts.
First of all, the Desktop Pi App serves as a redundant interface for the mobile Interface. Not only does this provide desktop or laptop accessibility to the mobile application functionalities, e.g. chats, mining status, future uses of apps on Pi Platform, but also it serves as one important step to decentralization in regard to the centralized points of mobile app stores. App stores have been one point of centralization in Pi Network’s ecosystem. Given the controversy about cryptocurrencies, app stores are particularly strict in reviewing apps related to cryptocurrencies. We experienced their centralized control over the past 2 years of development of Pi Network (e.g. our mobile applications had to go through very rigorous review cycles to get approved or stay live), and we saw other legitimate apps getting completely delisted from the stores for various reasons sometimes. We hope this will never happen to Pi, but shall the app stores decide to remove our app from their stores for any reasons, the Node software will be our backup to still maintain the functionalities, the community and the organization of the network. By having our node software that contains the Pi app component, we de-risk the possibility of any potential failure in centralized apps stores.
Apart from maintaining and securing Pi’s blockchain, nodes can also allow individuals to share computing resources and get fairly compensated for it. Such resources include: processing power, disk space, and network bandwidth.These are not our immediate plans but are all possibilities that may come further down the line. Let’s look at use cases for each:
*** Disk space: Think of it as a decentralized encrypted Dropbox that allows people to get compensated for securely storing files. In its implementation, it can be similar to BitTorrent in the notion that files will be stored in a decentralized network of nodes, while at the same time staking mechanisms can make sure all files stored on the Pi Network are fully licenced (e.g. if a file is found to be infringing some rights, the file’s uploader loses their stake / rent on the file). To put this in perspective, the Core Team pays thousands of dollars every month to Amazon AWS for storing the Pi node’s source files so that pioneers can download them. In the same manner, other websites and apps do the same. Instead of these websites paying Amazon, they could be paying that cost to pioneers using Pi, thus creating a passive income opportunity to Pi Node operators.
*** Network bandwidth. This use case is also known as Content Delivery Networks (CDN), and it is how the Internet is able to scale. For example, the Pi app (like any app or website) (i) contains graphics (images, videos, etc) and (ii) needs to ask the server individualized questions (e.g. what’s my balance). While the individualized questions must reach a Pi database to be answered, the vast majority of the graphics are the same for all members and can be answered by a decentralized server near that person. So, for example, when a pioneer in Paris opens her app, the Pi logo comes to her from a server in Paris operated by our CDN partner, while her balance comes from Pi’s database in San Francisco. This process helps speed up the application tremendously because the majority of the data can be delivered fast from a nearby datacenter and doesn’t need to travel long distances over the Pacific Ocean. All major apps and websites on the internet use CDNs to deliver their content. Once again to put it in perspective, Pi spends thousands of dollars a month to our CDN providers. But for Pi Network with a distributed node network, there should be no need for such an intermediary when there are tens of thousands of Pioneer nodes in every corner of the world. There is probably a pioneer closer to you than any of the CDN’s servers. What if Pi Nodes could utilize their unused network bandwidth to function as a decentralized CDN? If we were able to create such a CDN marketplace for pioneers, they could be receiving additional passive income for operating their Nodes.
*** Processing power**. Every computer has one or more processors (CPUs) and those CPUs are mostly unused during the day and completely unused during the night. Think of your processor more like your car: it is mostly sitting in your parking lot waiting for you to use it when you need it. At the same time there are a lot of companies paying large monthly fees renting servers from cloud providers such as Amazon AWS. Potentially Pi Network could match companies with Pioneers who are interested in renting out their unused CPU time? According to our Pi Node stats, every day there over 380,000 CPU cores operated by Pi Nodes, and they were unused 69% of the time on average.
The good thing about sharing computer resources is that everyone could potentially participate in sharing them even on a part time basis.
Moreover, due to the way we structured the Pi Node Software technically these functionalities can be implemented as Docker Containers on top of our Node software, and therefore the development of such modules doesn’t necessarily have to come from the Core Team.
We recommend taking these ideas as food for thought, adding your own creative ideas on top of them and joining the Core Team in building the future together!