aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNulo <git@nulo.in>2022-01-18 15:33:12 -0300
committerNulo <git@nulo.in>2022-01-20 12:22:46 -0300
commit9f5d36c94ea83bcd66fba75e1c23a5d131129fdf (patch)
tree813dc5ab068d1a65e2757d756047f075b9c2ae78
parent02603026e8e59d1f2081fd91b27c517d449822fe (diff)
Ideas para una web distribuida
-rw-r--r--BitTorrent.md13
-rw-r--r--Ideas para una web distribuida.md18
2 files changed, 31 insertions, 0 deletions
diff --git a/BitTorrent.md b/BitTorrent.md
new file mode 100644
index 0000000..f04360c
--- /dev/null
+++ b/BitTorrent.md
@@ -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.
diff --git a/Ideas para una web distribuida.md b/Ideas para una web distribuida.md
new file mode 100644
index 0000000..389041c
--- /dev/null
+++ b/Ideas para una web distribuida.md
@@ -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.