eosnetworkfoundation / product

A workspace for product management primarily for planning purposes
2 stars 3 forks source link

P2P Improvements #2

Open stephenpdeos opened 2 years ago

stephenpdeos commented 2 years ago

P2P Improvements

Problem

Opportunity: What are the needs of our target user groups?

The ultimate goals of P2P is to select and manage the appropriate peers to build the strongest and most robust network.

Node operators on Antelope-based networks (such as EOS, WAX, UX, and Telos), have the following P2P needs:

Improved catch up mode peer selection for available blocks (done in https://github.com/AntelopeIO/leap/pull/1215)

Node operators experience issues where their peer connections do not possess the data they need in order to catch up with the network.

Currently, there is limited visibility into what data peer connections have and no logic in place to select the best peers based on a node's needs to catch up with the network.

Improved controls on peer bandwidth consumption

Node operators need to be able to be able to support the network without experiencing network consumption abuses by peers.

Currently, there are not effective ways to limit bandwidth consumption per peer or any mechanisms in place to automatically rotate peers off once a certain threshold of bandwitdth consumption has taken place.

Ability to label peer connections as internal or external

Node operators may manage internal peer connections differently than external ones due to levels of trust within internal infrastructure.

Currently, there is no way to label internal or external peers or label in other differentiating ways.

Terminal-based UI tool for managing and monitoring P2P

Currently, there is not a user-friendly interface available to manage and monitor P2P. Node operators desire a simplified solution that does not require additional GUI toolkits that may require additional installations.

Ability to blacklist poorly behaving peers

There are known forms of bad peer behavior outside of bandwidth consumption including sending invalid transactions or persistently disconnecting, etc.

Currently, there is limited visibility into bad peer bevavior and ways to manage them based on this criteria.

Improved management of available syncable blocks

Node operators may only wish to serve a recent locus of blocks because of the different ways this data may be managed including blocklog splitting functionality.

Currently, there is no way to set a specific range of blocks to make available to sync from and there is no way to manage this via criteria like storage locations of split logs.

Target audience: Who is the target audience and why?

Our target audience consists of node operators responsible for managing Antelope-based blockchain infrastructure. They are technically proficient individuals who seek reliable, cost-effective, and simplified solutions tailored specifically for Antelope-based networks to enhance their node operations and infrastructure predictability.

Strategic alignment: How does this problem align with our core strategic pillars?

Focused on improving the user experience and infrastructure efficiency for node operators on Antelope-based networks. By addressing their pain points and providing a reliable and cost-effective solution tailored for Antelope, we contribute to the wider adoption and success of the Antelope protocol.

Solution

Solution name: How should we refer to this product opportunity?

P2P Improvements

Success definition: What are the top metrics for the product (up to 5) to define success?

Risks: What risks should be considered? https://www.svpg.com/four-big-risks/

Features/Epics

#### P2P Improvements Issues
- [ ] https://github.com/AntelopeIO/leap/pull/1215
- [ ] https://github.com/AntelopeIO/leap/issues/1292
- [ ] https://github.com/AntelopeIO/leap/issues/1324
- [ ] https://github.com/AntelopeIO/leap/issues/1295
- [ ] https://github.com/AntelopeIO/leap/issues/1293
#### Cusp items for Leap v5.0
- [ ] https://github.com/AntelopeIO/leap/issues/1323
- [ ] https://github.com/AntelopeIO/leap/issues/1128
- [ ] https://github.com/AntelopeIO/leap/issues/1296

Resources

Older docs

Work done already

Open questions

stephenpdeos commented 2 years ago

This initiative is being broken down into several segments. We will release an RFP focused on peer discovery and take on many of the net plugin improvements incrementally.