docs: more braindumping

This commit is contained in:
decentral1se 2023-05-30 16:27:28 +02:00
parent 20f96c04af
commit 7eaa3217a6
Signed by: decentral1se
GPG Key ID: 03789458B3D0C410
1 changed files with 25 additions and 16 deletions

View File

@ -2,7 +2,8 @@
> Experiments in libp2p connectivity
Custom [`libp2p`](https://libp2p.io/)-based Go binaries for testing p2p connectivity in the following scenarios:
Custom [`libp2p`](https://libp2p.io/)-based Go binaries for testing p2p
connectivity in the following scenarios:
* Public ipv4 to public ipv4
* Public to private (behind NAT) and viceversa
@ -11,29 +12,37 @@ Custom [`libp2p`](https://libp2p.io/)-based Go binaries for testing p2p connecti
## Assumptions
I am exploring the possibility of creating a network which offers some of the
nice things that [SSB](https://www.scuttlebutt.nz/) does. Peers are friends and
have some offline connection or out-of-band ways of connecting to each other
first.
I am exploring the possibility of creating network conditions which resemble
those of the [scuttleverse](https://www.scuttlebutt.nz/). Peers are offline
friends and have some out-of-band method of connecting to each other first. So,
for example, I don't want to make use of a public DHT by default.
So, I never want to make use of a public DHT (privacy issues). Therefore, I
assume that end-users will share their connection details out-of-band (e.g.
Signal chat).
To facilitate holepunching and avoid public IPFS relays or DHT, I want to use a
private self-hosted relay. No standard bootstrapping nodes should be required,
everything is "in house" (like a "pub" or "room" in SSB).
To facilitate holepunching and avoid public relays, I use a private self-hosted
relay. No bootstrapping nodes are required, everything is "in house" (like a
"pub" or "room" in SSB).
Furthermore, I make explicit use of
I make explicit use of
[Noise](https://docs.libp2p.io/concepts/secure-comm/noise/) for encryption
because I control the peer implementation on both sides (guaranteed to be
available).
Sometimes, it might be handy to make use of public IPFS relays or DHT, so I
will leave this as an optional approach. The important point is that this will
not be the default.
Local-first connections should also work.
Since `libp2p` was built within the context of a global connectivity mindset, I
am exploring whether the feature set works for peer connectivity between a
small group of friends.
## Goals
* Simple and well documented example programs
* Show possiblities for using overlay networks from the start
Simple and well documented example programs.
Show possiblities for using overlay networks from the start.
## Links
Big shout-out to the writers of this [wonderful tutorial](https://curriculum.pl-launchpad.io/curriculum/libp2p/objectives/).
Big shout-out to the writers of this [wonderful
tutorial](https://curriculum.pl-launchpad.io/curriculum/libp2p/objectives/).