Articles

Idea: Decentralized archive.org with physical kiosks (EN/ES)

January 25, 2022

ES | EN

Spanish

Voy a planear un proyecto, un archive.org pero descentralizado y con estaciones físicas para poder archivar documentos más fácilmente. Sé que muy probablemente muera la idea, o que no la podré hacer hasta que cumpla los 70 años, pero nunca está mal planearlo.

El concepto base es el siguiente: hay un sistema estilo el torrent de archive.org, donde pese a estar todo guardado en un servidor central (para hacer backups de los backups), también se puede obtener por torrent (como el sistema que tiene archive.org, donde el servidor de backup tiene un sistema para estar constantemente haciendo seeding del torrent usando los datos del servidor central).

Lo ideal sería que fueran entidades independientes quiénes llevarán a cabo esto, así que evidentemente, todo esto será de código abierto y muy fácil de iniciar una instancia que cree un mirror por torrent. Este mirror puede ser total o parcial (ya que obligar que sea total no es especialmente escalable).

En caso de que el mirror fuera únicamente parcial, se tendrían en especial consideración aquellos torrents que no tuvieran ya uno o varios “seedings” constantes por parte de entidades independientes.


Además del uso de torrents, también habría otros sistemas como IPFS y similares:

  • La idea es que todo esté guardado independientemente por todos

Cualquiera podrá crear una instancia central que haga backup del servidor “"central”" (o cualquier mirror de esta naturaleza) y anunciarse como uno nuevo: estos mirrors deberán seguir ciertos requisitos para poder ser anunciados públicamente, pero todos estos serán automáticos, ninguna entidad central tendrá que revisarlos!

La idea de esto es que si por cualquier razón los servidores “"centrales”" acabarán destruidos, además de la descentralización individual, también habría una red de servidores centrales que puedan proveer backups.

Puede que te hayas dado cuenta de que todo hasta este punto es simplemente unos cuantos mirrors fáciles de hacer y algo de torrenting básico, pero va más allá!


Todo este sistema estará habilitado por defecto! Tanto en la versión web como en, evidentemente, el resto de medios descentralizados!

Cualquier cliente de este pseudo- archive.org se conectará via IPFS, torrent o cualquier otro método soportado! De tal manera que la preferencia no será central ➡ descentralizado, sino que será la reversa.

Siempre vas a obtener todo de fuentes independientes, preferiblemente individuales con cierta reputación seeding, uno de los core values será que cualquier mirror central es la última opción, y si es la única opción, el usuario final deberá ser informado de ello.

Debo mirar bien esta parte,

(efectivamente, se puede hacer torrent desde web, pero necesita utilizar WebRTC, por tanto no es compatible con los torrents normales, esto abre la puerta a que un posible cliente standalone de torrent diseñado específicamente para este pseudo- archive.org también haga que el ordenador en cuestión haga de puente entre los torrents normales y los webtorrents.)

[ORIGINAL]
pero creo que se podría hacer mediante un service worker que simplemente entrando en
la web una vez se puedan guardar algunos datos usando alguno de los sistemas anteriores. El único problema es que
esto necesitaría probablemente modificar algunos protocolos para poder llevarlo a cabo de esta manera, pero eso es
lo de menos.

Una vez vista la parte de descentralización, vayamos al siguiente punto: facilitación de copias.


Hay mucha gente que tiene cosas como CDs, DVDs, VHS… a los cuáles ya no pueden acceder porque no tienen ningún dispositivo para reproducirlos, y las empresas que ofrecen servicios para recuperarlos y pasarlos a un formato moderno normalmente no son precisamente baratas y accesibles para todo el mundo.

Por ello, podría haber quioscos distribuidos por todo el mundo que puedan obtener la información de estos dispositivos gratuitamente y pasarla a un pendrive o mandarla por correo o como sea, con unas condiciones:

  1. Debe ser contenido de dominio público o, si eres el propietario de este, cedas todos los derechos al dominio público
  2. Debes aceptar que se distribuya por este pseudo- archive.org (no sería necesario pedir permiso explícito porque es de dominio público y da da da, pero está bien dejarlo claro)

Evidentemente, antes de que nada se suba a esta red, puedes tanto seleccionar solo algunas partes como seleccionar únicamente algunos archivos: el objetivo no es subir todo lo que se pueda a la fuerza, sino subir todo lo que el usuario quiera.

Este sistema permite que los datos de la gente estén completamente descentralizados, que puedan obtener esas fotos en cualquier momento, y (el objetivo inicial), poder archivar la mayor cantidad de información posible.

Es posible que a estas alturas te preguntes si merece la pena archivar tanta información: gran parte de ella entonces serían fotos de personas aleatorias y cosas así. Eso no es un problema a priori, ya que nunca sabes si esas fotos pueden ser de alguien que en el futuro sea conocido por x o y, pueda servir para una investigación policial, etc.

Cierta parte de la información será “irrelevante”? Sin duda, pero el objetivo de esto es precisamente guardar todo lo posible “porsia”, y si no es útil, ha merecido la pena intentarlo. Además de esto, por la naturaleza de los sistemas de distribución, si hay mucha información irrelevante y vieja, los únicos que la guardarán serán los mirrors centrales, por tanto se acabarían eliminando tras x años.

Puede que lo ideal fuera conservarlo todo, pero no es especialmente escalable y acabaría con personas haciendo seeding y demás de información irrelevante, además de echar para atrás a posibles mirrors centrales voluntarios.

Volviendo al quiosco, otra alternativa sería que la persona pudiera pasar la información sin problema y sin compartirla (salvo que quisiera), pero que se necesitaran x contribuciones relevantes.

Cuál es el problema de esto? Que para poder llevarlo a cabo se necesitaría un sistema para ver:

  • Cuáles son las contribuciones de la persona
  • Si sus contribuciones son relevantes

Esto se puede hacer de dos maneras, una simple y una compleja:

  • Simple. Sistema centralizado de cuentas. El problema es que eso es precisamente lo que queremos evitar, por tanto descartado.
  • Compleja. Blockchain. Vamos a hablar de esta opción.

En la opción del uso de blockchain, cada usuario estaría reflejado en esta junto con todas sus contribuciones en esta, y tendrá las siguientes cualidades:

  1. Cuando quieres añadir un documento, subes el documento (con su respectiva firma) y entonces subes el SHA512 de este junto con la clave pública para poder confirmar la identidad.
  2. Los demás peers, verificarán si esta firma es válida y entonces decidirán si es o no legítimo.

Habría que investigar mucho esta opción y ver cómo implementarlo, lo que he comentado es un ligero resumen de lo que se me ocurre que podría hacerse, pero realmente esto sería considerablemente más complejo, en especial:

  • Implementación (sorprendente)
  • Velocidad (que sea ligero, barato y responsable medioambientalmente)
  • Simplificado (para que cualquiera pueda llevarlo a cabo en los propios quioscos)

Muchas gracias por atender a mi TED Talk, y seguiré pensando esta idea y añadiré más artículos con updates (si es que llega a haberlas)

English

Work in progress…

⚠ This article is written in a micro-blog structure and isn’t adapted to the blog format

Taken from my Twitter Account