[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSoC 23] distributed substitutes, cost of storage
From: |
Attila Lendvai |
Subject: |
Re: [GSoC 23] distributed substitutes, cost of storage |
Date: |
Tue, 04 Apr 2023 10:53:48 +0000 |
> > it's another question whether this mirroring should be enabled by default
> > in the clients. probably it shouldn't,
>
>
> It probably should -- if things aren't mirrored, then it's not p2p; you
> would lose the main performance benefit of p2p systems.
>
> More cynically, some p2p systems (e.g. GNUnet) have mechanisms to
> disincentive freeloaders -- clients that aren't being peers will get
> worse downloading speed.
any successful p2p solution must have an incentive system that makes attacks
expensive (freeloading, DoS'ing, censorship, etc). arguably, the most important
difference between the various solutions is what this incentive system looks
like.
from a bird's eye view perspective, there are two fundamental architectures of
p2p storage networks (that i know of):
1) ipfs-like, or torrent-like, where the nodes register/publish what
they have in their local store, and other nodes may request it
from them
2) swarm-like, where the nodes are responsible for storing whatever
content "is" in their "neighborhood". (block hashes and node ids
are in the same domain, so there's a distance metric between a
block and a node). put another way: Swarm stores not only the
metadata in the DHT, but also the data itself.
in 1) there's no need to pay for, and to upload content into the network. a
node just registers as a source for whatever content it has locally, and then
serves the incoming requests.
but if you have content that you want to make available in 2) then you need to
make sure that this content gets to a set of distant nodes that will store it.
this is very different from 1) from a game theoretic perspective, and can't be
done without some form of payments/accounting.
in 1) it's simpler for a node to share: just give away your storage and
bandwidth to the network.
in 2) it's more complicated, because if your node is requesting other nodes to
do stuff, then you're spending a more complex set of resources than just your
bandwidth, potentially including some crypto coin payments if the balance goes
way off.
but both cases are fundamentally the same: users are spending their resources,
and i wouldn't expect that installing a linux distro will start spending my
network bandwidth, or any other resource than my machine's local resources.
but this of course can change, too: maybe a future Guix release can advertise
with big red letters on the download page that installing it will use your
network bandwidth to serve other guix nodes, unless it is turned off. and then
all is well WRT informed consent.
--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Historically, the most terrible things - war, genocide, and slavery - have
resulted not from disobedience, but from obedience.”
— Howard Zinn (1922–2010)
- Re: [GSoC 23] distributed substitutes, cost of storage,
Attila Lendvai <=