Welcome back to another Fleek Network Bi-Weekly Update– where the community can come to get up to speed with the team’s development progress.
Since the last update, the team continues to make progress across key milestones, as demonstrated by the broad range of completed work and open pull requests that you’ll see below. To add, one significant milestone mentioned in previous Fleek Network updates, the reverse proxy migration, has also been completed!
Read on for more details on the proxy upgrade and other milestones the team is working on:
Completed Work: Epoch Management, UFDP, Reverse Proxy
The team is developing the logic for managing the committee and epoch resets. The consensus layer with this application layer triggers various business logic and state updates specific to the Fleek Network content delivery application. Business logic could be the tallying up of request data to determine payment and reward amounts for example.
In this area, we’ve made an improvement to use Unix sockets instead of networking for the node to interact with the EVM process. Genesis file generation process was cleaned up a bit but there is streamlining that needs to be done in the future on this front. Future work in this area is to use prost for the server, the database layer for EVM, and eventually the checkpointing system.
UFDP (Ursa Fair Delivery Protocol)
As mentioned in previous updates, UFDP (Ursa Fair Delivery Protocol) will serve as the Proof-of-Delivery (PoD) mechanism for Fleek Network. This algorithm ensures the delivery of content to clients, verifies that the client has received it, and rewards nodes for serving the content. UFDP will be used for verifiable streams and content-addressable services.
Over the past few weeks, the initial iteration of UFDP has been completed, with integration and benchmarking coming next.
The client and server is now using Blake3 for the stream verification and we still need to do delivery acknowledgment to complete the flow. Furthermore, we are working on generalizing this layer to support different edge use cases.
As mentioned above, The Fleek Network team has successfully replaced the previous NGINX proxy implementation with a native reverse proxy they’ve dubbed
Ursa-proxy. Ursa-proxy is designed to better fit the network's specific needs, offering optimized performance, security, and control:
- Terminates SSL
- Protects the underlying node
Continued Work: Benchmarking and Open PRs
Benchmarking performance of the network is an ongoing task, with current focus on testing E2E, QUIC, UFDP, and other components’ performance!
Open Pull Requests
The team has several open pull requests, including feat/application-contracts, chore/parameter-control, and refactor/uds-consensus-application-communication (unix sockets for ABCI), which have seen commits from both last week and this week.
Another open pull request, feat/pod, has a sub-branch feat/websocket-e2e-benchmark. Work on this sub-branch in the last week included cleanups, handling reading partial frames, asyncread, and websocket UFDP benchmark. Two weeks ago, the team focused on quinn and s2n-quic benchmarks, code cleanup, QUIC tests feature flag, documentation, generating certificates, and TCP/TLS benchmark.
Additionally, the draft pull request feat/pod is nearing completion, with sub-branches pod/crypto and pod/client-server-blake3-integration. Work on pod/crypto included the development of a crypto engine, ed25519, and traits refactor two weeks ago, and delivery ack generation last week.
For pod/client-server-blake3-integration, the team focused on init, returning a single buffer after read_buffer, and refactoring hash last week. This week, they have already worked on safe send for inc ver, e2e tests, and updating the HTTP hyper comparison bench.
That's all for this update, but be sure to check back in approximately two weeks for another progress report! Expect to see an updated roadmap soon, with more information about the release rollout.
See you in ~2 weeks 👋