p2panda / aquadoggo

Node for the p2panda network handling validation, storage, aggregation and replication
GNU Affero General Public License v3.0
69 stars 5 forks source link

Support private net with pre-shared key #635

Closed sandreae closed 1 month ago

sandreae commented 1 month ago

Implement private network secured via a pre-shared key using libp2p [pnet](https://github.com/libp2p/rust-libp2p/tree/master/transports/pnet]. When in "private net" mode a node will only accept connections with peers after verifying they know the same pre-shared key. pnet itself is a transport through which a connection is (in libp2p terms) "upgraded".

It is only possible to run a private net when using TLC as the base transport (QUIC not supported) and so if a pre-shared key is provided the node is forced into using TLC regardless of other configurations.

📋 Checklist