Network Layer (next gen) for Complete Connectivity - this represents a revolution in network connectivity! #713
Labels
design
Requires design
enhancement
New feature or request
r&d:polykey:core activity 4
End to End Networking behind Consumer NAT Devices
This is a high-level issue, a large epic with multiple branches.
Requirements of this design
Additional context
Specification
Network Identity and Membership
This is needed to separate mainnet, testnet and private networks, possibly allowing PK to connect to multiple networks simultaneously but forming segregation on every command. It's probably easier to just make PK connect to only a single network.
We also need to figure out the exact role and relationship between the certificate identity chain, and the sigchain claim chain.
Decentralized Signalling and Relaying Algorithm Design
The initial design is in #365. However it has not been applied to relaying yet, nor has it been empirically tested.
Relaying ultimately has to be done through network encapsulation. We have to make use of our RPC to pass through binary blocks from one node to another. This will need to make use of our RAW mode in our RPC for efficiency reasons. We may need to test the performance of this though, because QUIC does actually have a datagram mode, I'm not sure if this is relevant here.
And DOS prevention in #556.
Network Simulation/Visualisation
Involves the usage of Orchestrator and Pulumi.
Chaosnet
It will be important to create autonomous looped Polykey agents to be able to simulate a dirty and chaotic network to see how robust our mechanisms are.
NodeGraph Garbage Collection
The NodeGraph since #537 is capable of multi-host addressing. However GC of the NodeGraph has been neglected, and I believe fast manipulation of this node graph will need to be dealt with.
Discovery Performance and Efficiency
MDNS and related algorithms suffer from some in-efficiencies.
QUIC Performance
MatrixAI/js-quic#54
IPv4 and IPv6 Conformance
#669
Sub-Issues & Sub-PRs created
The text was updated successfully, but these errors were encountered: