Fleek Network Update: Current Status & 2024 Preview
2023 was a year of milestones and achievements for the early iterations of Fleek Network and now, in 2024, the momentum continues with the current work on the internal testnet Phase {2}, the upcoming Phase {3} testnets this quarter, and the remaining Phases leading up to mainnet later this year. This progress reflects the dedication and efforts of the core development team, improving and building upon the foundation laid in 2023.
The standout highlights of 2023 were the successful completion of the first two testnet phases, demonstrating the early-stage performance and capabilities of the network. A special thanks to the node operators and community members, whose involvement was critical to these successful phases. You can view the recap and performance results from the first two public testnets here, Phase {0} and Phase {1}.
Currently, the core development team is gearing up for the launch of Phase {3A}, anticipated for release at the end of January, followed by Phase {3B} in the later portion of Q1 ‘24. More details on the release of Phase {3A}, as well as how to participate, will be published the week of January 15th– keep reading for a quick preview of both upcoming Phase {3} releases.
Since the conclusion of Phase {1} in October, the core development team has been focused on executing the milestones included in Phase {2}, the current internal testnet phase:
TLDR;
- Phase {2} of Fleek Network focused on internal enhancements, addressing issues and bugs that surfaced in Phase {1} and preparing for future public phases through further optimizations.
- Key developments include improvements to the Broadcasting System, Service Executor/Host, Consensus, Metrics, Blockstore, Reputation, Connection Pool, Indexer, RPC, and Signer.
- Phase {3A}, launching in late January, will introduce Decentralized IPFS Pinning + CDN as a developer-centric service, shifting focus to previews of practical Fleek Network charged applications and use cases.
- Phase {3B}, targeted for March 2024, will expand functionalities by introducing decentralized serverless/edge functions, the first SGX-powered capabilities, and the initial DA layer integrations.
Fleek Network Phase {2}– Current State & Key Developments
After completing Phase 1, the core development team immediately rolled into the start of Phase 2, an internal phase essential for the network’s continued development. During this time, an internal testnet operated by Fleek Network’s core team and a select few third-party providers was established. The inclusion of the third parties was just to bring more diverse hardware into the testing environment, enabling the team to explore a variety of edge cases and improve the network's stability and performance to better prepare for the next public testnet phases.
his Phase {2} was much less visible to the community than the previous phases, but it was crucial for ensuring all of the bugs and improvements that surfaced in Phase {1} were addressed before the next public phase. This includes, and is not limited to, improvements to internal processes running within each node in the Network:
Broadcasting System
The Broadcasting System in Phase {2} focused on enhancing the message gossip protocol, an essential system for disseminating order information from consensus to all network nodes. This protocol plays a crucial role in spreading information to other nodes in the network, ensuring timely and accurate order transmission:
- Now, if a node misses a message it has an efficient way of asking what it missed and retrieving it from its closest peers only. This reduces a lot of traffic and improves how fast a node rebounds from the unhappy path of the code.
Service Executor/Host
A key development in Phase {2} was the improvement of the Service Executor/Host. This component is vital for the communication between services and the core protocol of the network:
- In this phase, required bindings were added from the core processes to the services
- A notable achievement was the demonstration of a working JavaScript service through Deno bindings
Consensus
Significant improvements were made to the consensus system, especially for edge nodes that are not part of the Narwhal committee. The system was upgraded to enable these nodes to receive the total order of the chain more efficiently:
- A new system was developed where edge nodes build a local chain and commit to it as soon as they have confirmation from a majority of the committee. Stay tuned for a blog post diving into specifics on how this works.
- Additional enhancements included DDoS protections, initial transaction validation on validators before sending to the rest of the consensus, transaction deduplication, and an improved checkpoint system for new nodes joining the network.
- The addition of OptIn/OptOut transactions now allows staked nodes greater flexibility, enabling them to safely go offline and come back online without affecting their reputation.
Metrics
The metrics system saw significant improvements, allowing for more detailed and reusable process analysis. This has enabled the network's ability to pull specific metrics, allowing for more granular performance analysis.
Blockstore
A major milestone was the writing of the design spec for required changes to support directory support. This development paves the way for the network to support UnixFS and similar directory encodings.
Reputation
An uptime measurement system was introduced for nodes, with other nodes reporting on this metric:
- This system ensures that a staked node is actively online for the epochs they have opted into.
- A node that is reported offline by a majority of its peers will automatically be opted out for at least the next epoch until it opts back in, also affecting its reputation score.
Connection Pool
The Connection Pool underwent significant enhancements to improve the performance and stability of node connections within the network:
- Feedback from the last testnet highlighted several areas for improvement, leading to a focused effort on enhancing the efficiency and reliability of this process.
- These improvements are particularly important for maintaining a stable network, as the Connection Pool manages connections between nodes.
Indexer (Formerly DHT)
This phase also marked the completion of a pretty crucial development– the transition from Distributed Hash Table (DHT) to using the network's own blockchain state for content lookups. This shift leverages the speed of Narwhal Bullshark and the small size of CIDs to greatly enhance performance:
- This change ensures all nodes have a consistent and up-to-date view of content locations across the network, eliminating discrepancies and potential inefficiencies inherent in the previous system.
- By utilizing the blockchain state, the Indexer achieves faster and more reliable content discovery, streamlining the process of locating and accessing content on the network.
RPC
The RPC server was completely rewritten for improved efficiency and maintainability. This overhaul was inspired by the code quality and maintainability of the Rpc server in the Reth codebase:
- The new RPC server fully supports the Ethereum RPC spec, in addition to Fleek Network’s own specifications. This compatibility will allow for integration with existing wallets and tools in the blockchain ecosystem, facilitating easier access and broader usability.
- The revamp of the RPC server represents a significant step forward in the network's ability to handle requests and interactions, both within the network and with external applications and services.
Signer
The Signer, responsible for managing private keys and signing consensus messages, received crucial updates. These improvements targeted efficiency and the resolution of specific issues identified during the last testnet phase:
- The focus on improving the Signer reflects Fleek Network's commitment to security and reliability, ensuring that messages and transactions within the network are authenticated and processed with high integrity.
- By addressing these edge cases and enhancing overall efficiency, the Signer plays a vital role in maintaining the network's trustworthiness and operational smoothness.
Looking Ahead – Phase 3A and 3B Preview
Around the end of January we will see the launch of Phase {3A}, introducing Decentralized IPFS Pinning + CDN as the first externally usable service for developers. This phase represents a shift from the more node-focused previous phases to now demonstrating the network's real-world applications and use cases. Phase {3A} will begin highlighting the practical uses of Fleek Network, moving beyond performance benchmarking to showcase its capabilities to developers and the broader public. Participants won’t be able to spin up a node during this phase, but instead begin building with a preliminary version of Decentralized IPFS pinning. More information on how to participate in Phase {3A} will be shared the week of January 15th.
Scheduled for March 2024, Phase {3B} is set to bring new functionalities to Fleek Network, including decentralized serverless/edge functions, the first SGX-powered capabilities, and the initial DA layer integrations. This phase will also involve the full onboarding and testing of the node reputation and slashing mechanisms. As a precursor to the mainnet launch, Phase {3B} will provide a comprehensive test environment featuring most of the network's capabilities. Research for integrating SGX chips into node specifications for private compute capabilities is also in progress, with more details to be shared in a research article in the coming weeks.
An overview of both of these phases and details on the phases beyond was published in the last Roadmap & Milestones update available here.