Fleek Network Phase {0}: Recap, Observations, and Metrics
Wednesday marked the planned shutdown of Fleek Network’s testnet Phase {0}. As outlined in this previous blog post, this phase was a cornerstone in laying the foundation for Fleek Network, focusing on proving the correctness and concept of the network’s core systems.
This very early test phase turned out to be a huge success, at its peak seeing 850 nodes successfully running across the network (with a lot more waiting to be onboarded). And, thanks to feedback from this phase’s node operators, the core devs have collected and started to address optimizations and improvements for the next phase– the details of which will be announced next week.
TLDR:
- Primary focus of this first phase {0} was to establish the network and prove the concept
- This goal was achieved, seeing 850 nodes at peak, most falling within 1-182.4ms latency range and a reputation score of 34 or better (Highest = 40) without any set node requirements (ex. some nodes could have been running on laptops or raspberry pis).
- Improvements for the next phase will prioritize the Broadcaster and Synchronizer improvements, with 60+ other fixes/improvements planned out of this phase.
- More information about the next phase of the testnet, Phase {1}, will be made available on Tuesday, September 19th.
Let’s dive a little deeper into some of the findings from Phase {0}, including planned improvements and performance benchmarks:
Phase 0 Focus: Proof of Concept
During this phase, the primary focus was to set the initial swarm of nodes to establish a network that operated as expected, test the consensus and base reputation/on-chain systems, as well as:
- Identify any gaps, missing, or broken systems that need attention
- Experiment with various committee sizes
- Test network configurations
- Gauge the early performance of protocol-level functionalities
Essentially, the core development team wanted to prove that the network functions as a concept, and collect necessary improvements for this planned downtime period in between phases, both of which were achieved.
With the overwhelming support from the community, the whitelisting process became a little bit chaotic. But, thanks to the chaos and lack of hard node requirements, edge cases were identified and all possible outcomes were tested (i.e. nodes going offline, not meeting requirements, etc.) throughout the phase. So the chaos was actually useful and beneficial.
Collected Performance Metrics
The one-week Phase 0 period saw some great participation from the community, with the vast majority of participants actively participating in feedback and testing. This community participation allowed the core devs to collect key performance benchmarks throughout the period– here's a closer look:
- Latency: The network maintained consistent latency results, with about 85% of interactions falling within the 1-182.4ms range. This consistency was observed throughout the phase, impressively without any set node requirements.
- Reputation Scores: Nodes exhibited varied reputation scores, with the highest being a score of 40 and the lowest at a score of 10. A majority of nodes had a score of around 34 or better.
- Node Count and Geographical Spread: The network saw 850 nodes participating at its peak, with a significant presence in Europe and the US (East and West Coast).
All things considered, these metrics are very promising because phase {0} testnet was purposefully a free-for-all so we could stress test metrics exactly like this in less than ideal conditions. For example, most of the performance degradations were due to things that would not exist in a mainnet setting (not setting any node requirements, having no value at stake, not having a formal node whitelisting process in the absence of staking, etc.). The next testnet phase will be a more realistic environment and provide the community with more accurate data that better showcases the real capabilities and performance of the network.
Priority Improvements
Based on the insights and feedback gathered from node operators during this phase, as well as the tests and measurements conducted, the core devs have identified a few priority areas for improvement before the start of the next phase. One major finding was that the consensus mechanism worked as expected, but the transmission of messages from consensus to non-committee nodes emerged as a bottleneck.
To address this, the primary focus of the downtime will be on improving the network’s Broadcaster and Synchronizer:
- Broadcaster: Gets messages from consensus to nodes not on consensus.
- Synchronizer: How peer nodes sync unsynced nodes.
This should facilitate smoother communication between nodes and avoid a few recurring hiccups experienced during phase {0}. But even further, thanks to reports from node operators, the core devs have identified 60+ improvements they will aim to address during the period the network will be offline. You can see the full list of planned fixes and improvements here.
Phase {1}: Expect Details Next Week
The exact goals and timeline for the next phase are being finalized this week, with a strong focus on integrating the feedback and insights acquired during Phase 0, and adding in a few aspects/functionalities of the edge platform, before kickstarting the next phase.
More information and important dates for Phase {1} will be shared this coming Tuesday, September 19th.
That’s a wrap on Phase {0} of the Fleek Network rollout! Overall, it was a huge success and the community participation during this phase allowed the core devs to collect metrics and incoming improvements key to the success of the next phase.
The Foundation wants to thank all node operators and community members who participated and helped make phase {0} a success. A lot was learned, and it will definitely help accelerate the development of the network.
Stay tuned throughout the next week as more information is made available on the rollout of Phase {1} of the testnet– follow us on X and join the Discord server to be notified as soon as the next application is available.
The Fleek Foundation ⚡