docs: more braindumping
This commit is contained in:
parent
20f96c04af
commit
7eaa3217a6
41
README.md
41
README.md
|
@ -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/).
|
||||
|
|
Loading…
Reference in New Issue