probe-lab / roadmap Goto Github PK
View Code? Open in Web Editor NEWActivities and roadmap for ProbeLab
Activities and roadmap for ProbeLab
ETA: 2023-02-19
Create a service that emulates the ElasticSearch API that Lotus uses to publish traces and write traces to the probelab postgres database
ETA: 2023-02-19
eta: 2022-12-05
description: This Milestone focuses on the Replication Factor (k), the Re-Publish and Expiration Intervals in IPFS. More details can be found here: @Provider Record Liveness and here. The (pending) spec PR is here and the new values identified for the Re-Publish and Expiration Intervals are here and here, respectively.
ETA: 2023-09-30
Description: Firm up the current Composable DHT design into a precise specification to be shared and discussed with community.
Children:
ETA: 2023-05-30
Description: Adding privacy guarantees to libp2p has been a long-standing request by the community. During the last couple of months we have been working to do the background research, define the spec and do the implementation of the most elegant solution. The approach we’re following is based on Double-Hashing of requests to the IPFS DHT, which addresses Reader Privacy (and not Writer Privacy at this point). The design and implementation are already underway (in Q4 2022). This Milestone will be complete when the solution is integrated in the IPFS network, subject to negotiation and approval from the IPFS Stewards team. You can find more information in this Notion page: Double Hashing for Privacy.
children:
eta: 2023Q2
description: This Milestone focuses on the performance evaluation of the Double Hash DHT implementation. We want to make sure that any potential overhead (Time-to-First-Provider-Record (TTFPR), CPU, network load etc.) is acceptable before rolling out the DHT upgrade.
ETA: 2022-12-31
Description: Hydras were deployed in the IPFS network at a time when the network was much more unstable and before the Content Routing v0.5 upgrade. It has not been investigated whether and to which extent Hydras, which also incur a substantial monetary cost, are still useful today and what performance improvement they’re providing. With this milestone we aim to quantify the performance improvement brought by Hydras and have a solid justification and recommendation for whether Hydras are needed in the IPFS network. More details can be found in this Notion page: Hydras: Reliability and Effectiveness
ETA: 2023-11-30
Description: Tracking issue for the design, specification and implementation of Reprovide Sweep, as per the docs and discussions here:
Children:
This is the tentative roadmap with which the ProbeLab team will be fundraising for H1 of 2024. A fourth item might be added, subject to sponsorship and effort needed.
Effort Estimate: 3 dev months
Summary: Investigate the protocol design choices of the InterPlanetary Name System and identify space for performance improvement. We will investigate whether the InterPlanetary Name System is as fast as can be and ideate towards an IPNS-v2 design.
Description: We hypothesize that some design choices of IPNS are slowing down performance (e.g., quorum size). We also expect that alternative, smart designs, such as Optimistic Provide, which is now integrated into kubo can improve IPNS performance significantly. We will develop tools and orchestrate the right infrastructure to investigate those alternative directions and propose improvements as needed.
Tasks for this milestone include:
Outcomes: Report, Continuous Performance Measurement at https://probelab.io/ and Spec Draft (not implementation) for IPNS-v2
Impact: IPNS is very central in the operation of IPFS, but also critical for other platforms and ecosystems, such as ENS. It is the sole enabler protocol for a decentralised Web and Naming infrastructure. IPFS will only be able to host the next billion websites if IPNS operates efficiently.
Effort Estimate: 4 dev months
Summary: Verify that Gossipsub performs according to its spec when it comes to transporting messages in the Filecoin and Ethereum blockchains.
Description: Gossipsub’s design is complex and based on a score function in order to maintain connections to well-behaving peers and disconnect from peers that look malicious. We will investigate the stability (or instability) that this score function provides to the network, i.e., how often do nodes alter their peerings). We will also investigate the scalability of the protocol when a large number of topics is required, such as the situation expected for Ethereum Danksharding developments.
Tasks for this milestone include:
Outcomes: Report and Continuous Performance Measurement at: https://probelab.io/
Impact: Gossipsub is critical for the performance of blockchains such as Filecoin and Ethereum. Malfunctioning of the protocol is likely to cost millions of dollars. A thorough investigation on its performance and operating principles will increase confidence of thousands of applications and businesses.
Effort Estimate: 2 dev months
Summary: We will quantify what are the bandwidth requirements for an idle node when participating in networks such as IPFS, Polkadot, Ethereum and Filecoin. We will identify improvement directions in case of excess bandwidth consumption.
Description: We will investigate if libp2p is operating according to expectations on several different networks and across different implementations. We will identify the potential sources of overhead in those different networks and propose improvements, as and where needed.
Tasks for this milestone include:
Outcomes: Report and (if applicable) Continuous Performance Measurement at: https://probelab.io/
Impact: libp2p is the core building block of several billion dollar networks. It is responsible for starting, maintaining and terminating connections to millions of nodes on a daily basis. Efficient operation of libp2p’s core properties, e.g., in terms of overhead can save significant amounts of bandwidth and expedite performance of peer connections.
eta: 2023-03-30
description: This Milestone focuses on various impactful DHT improvement, as requested and described in this Notion page: DHT Response Times
children:
eta: 2022Q4
description: AAP (ex Ansible Tower) replace the flaky Circle CI playbooks. Bring a robust and stable process for deploying our changes fully. AAP’s RBAC feature enables developers to deploy custom Kubo or ipfs-cluster builds to select servers as self-service.
ETA: 2023-01-31
eta: 2023Q2
description: This Milestone focuses on implementing the Double Hash DHT, as a fork of go-libp2p-kad-dht. We need to commit to the Double Hash DHT Spec before the implementation is finalized. This Milestone also contains Protocol Testing of the implementation, to make sure that it exactly matches the Spec. WIP implementation by ChainSafe.
ETA: 2023-06-30
Description: Gossipsub is the protocol that transfers blocks and messages in the Filecoin blockchain. It includes a number of smart features to achieve low propagation latency without overloading the network and the nodes, but also some security-related mechanisms to detect and automatically mitigate attacks. We currently have very little (if any!) visibility into the performance of Gossipsub. This Milestone aims to find: how fast are blocks propagating in the Filecoin blockchain, if there is virtual fragmentation (or unfair advantage) of some Storage Providers due to their geographic location, how resilient is the network against attacks, are there duplicate messages travelling in the network and overloading links and peers.
Children:
ETA: 2023-02-24
Updates on Notion page
ETA: 2022-12-31
eta: 2023-01-31
Children:
eta: 2023-02-28
description: As a first step we want to have Nebula running and reporting results at https://stats.ipfs.network/ in a more convenient manner than is done today.
Children:
ETA: 2023-10-30
Description: Finalise the design of the the Reprovide Sweep based on the design doc.
eta: 2023-02-28
description: Thunderdome is developed so that it automatically runs comparisons of release candidates with previous versions to uncover potential regressions.
See Notion page for more information and task tracking.
eta: 2023-09-30
description: The initial version of the Continuous Measurement Infrastructure developed earlier to have the Nebula crawler running continuously will be enhanced to include more features and services:
When the above services are integrated, the Milestone will be complete with a periodic newsletter to include a summary of the IPFS network’s health and statistics.
eta: 2022-11-30
description: This Milestone focuses on one of these parameters, namely, the Bitswap Provider Delay. The Milestone aims to answer the question of whether it’s worth asking immediately connected peers for CIDs (and waiting for 1s) before defaulting to the DHT. In other words, we aim to quantify the Bitswap Discovery Success Rate. More details can be found in this Notion page: Effectiveness of Bitswap Discovery Process
eta: 2023Q3
description: This Milestone focuses on the Migration associated with the network upgrade to the Double Hash DHT. First we need to define a migration strategy and timeline. Then, we need to reach out to the community to advertise that we will perform a DHT network upgrade, and notify them if they must take action. After we are satisfied with the performance of the Double Hash DHT implementation, we need to make changes to kubo to make sure that it publishes and looks content up in both the old and the new DHTs. The changes to kubo must be tested e.g using a small test network. This milestone will be considered as complete once the Double Hash DHT is live.
ETA: 2023-01-31
ETA: 2023-09-30
Description: Prepare the way for the Composable DHT by refactoring the current DHT implementation to make it easier to extend and by firming up the Composable DHT specification.
Children:
eta: 2023Q1
description: This Milestone focuses on getting the Double Hash DHT Spec public and approved by the community. We will finalize the implementation once we have committed to the spec, and made sure it won't change. PR: ipfs/specs#373
ETA: 2023-11-30
Description: Reprovide Sweep is implemented, tested and ready to go into a release.
eta: 2023-03-30
description: We develop Thunderdome to bring it to a stage where anyone can define and run an experiment by themselves. More details can be found in this GH issue. The Milestone includes documentation, blogposts, guides and HOWTOs on how us and others within and outside PL can use it for their own experiments.
See Notion page for more information and task tracking.
ETA: 2023-09-30
Description: Refactor the current Go DHT implementation to make it easier to maintain, more reliiable and provides a solid foundation for future extension and the Composable DHT.
Deliverable: a working but unoptimised DHT that can be used in Kubo without error. Performance and resource consumption should be no more than 10% (?) worse than current DHT implementation, with the expectation that better results will come with optimization.
Motivation:
Children:
ETA: 2023-12-20
Description: Implementation of the Composable DHT is complete and tested, as per the specification in: #31
ETA: 2023-02-28
ETA: 2024-01-30
Description: All the required plumbing and extra testing is done so that the Composable DHT goes out to a kubo release.
ETA: 2023-04-30
Description: The libp2p team has shipped a new module to deal with NAT Hole Punching. Our team has taken up the task of measuring the success of the new module by building the corresponding infrastructure and recruiting clients to measure hole punches. This Milestone covers both the development of the infrastructure, but also the analysis of results. If refinement of the module itself and a new measurement campaign is needed, then that will constitute a new Milestone further down the line. More information can be found in this Notion page: NAT Hole-punching Success Rate.
ETA: 2023-02-24
Description: The Provide process in the IPFS network is painfully slow, regularly in the order of tens of seconds and sometimes in the order of hundreds of seconds. Our new design decreases this time by an order of magnitude and as a first step we plan to ship Optimistic Provide in an experimental kubo release. We plan to roll this out firstly as an experimental release to stress-test it in the network and then in the main release. This work is being carried out together with the IPFS Stewards team. You can find more information and results in this Notion page: Optimistic Provide.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.