Ideas para una web distribuida

This commit is contained in:
Cat /dev/Nulo 2022-01-18 15:33:12 -03:00
parent cd386b6809
commit f0ef995109
2 changed files with 31 additions and 0 deletions

13
BitTorrent.md Normal file
View file

@ -0,0 +1,13 @@
## Ideas
### Magnets/torrents reproducibles
Muchas veces pasa que se generan distintos torrents para los mismos archivos. Esto hace que la _swarm_ de peers sea distinta, causando una distribución ineficiente que hace a la red más lenta innecesariamente.
Para evitar esto, se podría hacer un estándar para generar torrents reproducibles inspirado en el [software reproducible](https://reproducible-builds.org/).
Esto se puede hacer únicamente en archivos grandes (¿>1MB?) para evitar tener muchos torrents distintos para un torrent con muchos archivos chicos como un sitio web ([[Ideas para una web distribuida]]).
Esto lo haría el programa que cree el torrent. Cuando detecta un archivo grande, lo hace un torrent separado y crea un "hipervinculo" en el torrent madre para que sepa donde está el archivo.
Esta sería una extensión incompatible con los clientes actuales ya que no descargarían automáticamente el archivo. Aunque... podría armarse el torrent separado pero también agregar el archivo al torrent madre. Lx peer que soporta esta extensión puede detectar el hipervínculo y descargarlo de ahí. A partir de eso hasta podría detectar cuando otrx peer le pide el archivo del torrent madre y servirle el del torrent separado, haciendo un uso eficiente de disco y beneficiando también a peers desactualizados.

View file

@ -0,0 +1,18 @@
## IPFS
En su estado actual, tiene serios problemas técnicos que impiden su uso para el día a día, especialmente para hosts pequeños (ej, [Sutty](https://sutty.coop.ar) o este mismo sitio).
- Es lento y muchas veces no encuentra a lxs peers.
- Esto es aún peor con IPNS (básicamente DNS pero distribuido con llaves) ya que necesita conseguir N confirmaciones de distintos peers para asegurarse que tiene la versión actualizada y no una vieja.
- El daemon (go-ipfs) usa mucha CPU y (según leí, no lo medí) mucho tráfico de red.
- Leí que las distintas implementaciones ({go,js}-ipfs) todavía no interoperan.
- El desarrollo está financiado por organizaciones que creen en los criptopatacones (Filecoin y otras cosas como Ethereum/Web3/NFTs).
## [[BitTorrent]]
- El protocolo funciona pero quizás sea un poco lento para una web.
- Ver [[BitTorrent]] para ver ideas de como mejorarlo en general.
### Implementaciones
- Recuerdo que [ZeroNet](https://zeronet.io) usa BitTorrent para distribuir sitios.