feat: enhance OptimumP2P documentation - #17
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
|
||
| The data flow diagram illustrates how OptimumP2P integrates with blockchain infrastructure to provide enhanced data propagation. The system operates through three main components: the Validator Node, the Optimum Service, and the Networks layer. | ||
|
|
||
| At the **Validator Node** level, the Optimum Agent interfaces directly with the blockchain client through IPC (Inter-Process Communication). Transaction data flows from the blockchain client to the Optimum Agent, which serves as the bridge between the blockchain infrastructure and the OptimumP2P network. |
|
|
||
| At the **Validator Node** level, the Optimum Agent interfaces directly with the blockchain client through IPC (Inter-Process Communication). Transaction data flows from the blockchain client to the Optimum Agent, which serves as the bridge between the blockchain infrastructure and the OptimumP2P network. | ||
|
|
||
| The **Optimum Service** acts as the central processing unit where the core RLNC encoding and network coordination takes place. When transaction data arrives from the Optimum Agent, the service applies Random Linear Network Coding to create redundant, encoded shards that can be efficiently propagated across the network. |
|
|
||
| ## Security Model | ||
|
|
||
| OptimumP2P implements a comprehensive security model to protect against various attack vectors. The system uses Boneh-Lynn-Shacham (BLS) signatures to provide authentication and non-repudiation for all network communications. Cryptographic hashing ensures data integrity throughout the network, while distributed key management with on-chain registration and verification provides secure identity management. |
| OptimumP2P addresses these limitations through RLNC, a technique that enables optimal data propagation in distributed networks. Instead of forwarding entire messages, nodes transmit smaller, coded pieces (shards) of the original data. | ||
|
|
||
| <div class="theme-aware-image"> | ||
| <img src="/static/img/P2P_data_flow_light.png" alt="OptimumP2P Data Flow" class="light-mode-only"> | ||
| <img src="/static/img/P2P_data_flow_dark.png" alt="OptimumP2P Data Flow" class="dark-mode-only"> | ||
| </div> |
|
|
||
| The data flow diagram illustrates how OptimumP2P integrates with blockchain infrastructure to provide enhanced data propagation. The system operates through three main components: the Validator Node, the Optimum Service, and the Networks layer. | ||
| The data flow involves three main components: | ||
| 1. **Validator Node Integration**: OptimumP2P interfaces directly with a blockchain client to access data, such as newly produced blocks or transactions. |
|
|
||
| * High latency: Peers must receive full messages before forwarding. | ||
| * Bandwidth waste: Peers may receive multiple redundant copies of the same message. | ||
| OptimumP2P is implemented as a P2P node that can run either the traditional [GossipSub](https://github.com/libp2p/specs/tree/master/pubsub/gossipsub) protocol or the enhanced OptimumP2P protocol with RLNC. The node maintains: |
There was a problem hiding this comment.
right now, because of the sidecar we have added that has given the option to run either of the algorithms (gossipsub or optimump2p)
|
|
||
| ## RLNC and OptimumP2P | ||
| * **[libp2p](https://docs.libp2p.io/) Host**: The underlying network layer for peer connections | ||
| * **Protocol Selection**: Can run [GossipSub](https://github.com/libp2p/specs/tree/master/pubsub/gossipsub), OptimumP2P, or both protocols simultaneously |
There was a problem hiding this comment.
no protocol selection, it's a sidecar feature, which is a temporary
| 1. **Message Preparation**: The original message is prepared for coding by adding length prefixes and padding if necessary | ||
| 2. **RLNC Encoding**: The message is divided into `k` fragments and encoded using RLNC into multiple shards using configurable parameters: | ||
| * `ShredFactor`: Controls how the data is fragmented | ||
| * `PublisherShardMultiplier`: Determines how many shards to create initially |
There was a problem hiding this comment.
Add a section about the parameters and cite here as a ref.
| ## Beyond Just Validators: Ecosystem-Wide Benefits | ||
|
|
||
| OptimumP2P serves as a foundational, general-purpose data propagation protocol with benefits extending across various blockchain use cases. | ||
|
|
||
|  | ||
|
|
||
| The diagram above shows an example sidecar integration pattern where OptimumP2P runs alongside existing consensus layer clients. This allows validators to benefit from enhanced data propagation without modifying their core consensus software. |
There was a problem hiding this comment.
Let's not use it here; it may create confusion
| * Improves experience for multiplayer, onchain games and social dApps | ||
| * Reduces costs of redundant relay infra through efficient data spreading | ||
|
|
||
| ## Security Model |
There was a problem hiding this comment.
Discuss with @kishori82 about discussing or mentioning RUGBY protocol here
| * **GRAFT/PRUNE**: Manages mesh topology similar to [GossipSub](https://github.com/libp2p/specs/tree/master/pubsub/gossipsub) | ||
|
|
||
| ## Beyond Just Validators: Ecosystem-Wide Benefits | ||
| ## Configuration Parameters |
There was a problem hiding this comment.
We can improve it more; let's add it as an issue and address it later with hackathon docs.
|
|
||
| These parameters can be adjusted based on network conditions, bandwidth constraints, and latency requirements to optimize OptimumP2P performance for specific use cases. | ||
|
|
||
| ## Beyond Just Validators: Ecosystem-Wide Benefits |
There was a problem hiding this comment.
Beyond Just Validators looks confusing, let's not use it, let's add it as one 1of the use cases.
hpsing
left a comment
There was a problem hiding this comment.
couple of comments else LGTM! good job 🥇 . get a final review from @kishori82
No description provided.