Saltar al contenido principal

IOTA Storage

IOTA Storage es una red de almacenamiento descentralizado de archivos grandes (blobs) construida sobre IOTA Rebased. La coordinan contratos Move en IOTA: registran y cobran los blobs, llevan la cuenta de los nodos de almacenamiento y de su stake, y certifican que cada blob está disponible. Los datos están en los nodos de almacenamiento, repartidos entre ellos con códigos de borrado. Encima de la red hay un aggregator y un publisher (HTTP), y Sites: sitios web estáticos guardados en la red y accesibles con IOTA Names.

Solo en testnet

IOTA Storage funciona solo en la testnet de IOTA: 4 nodos de almacenamiento operados por el proyecto, 100 shards, épocas de 1 día y precios de prueba. La red puede volver a desplegarse y los datos pueden perderse. Todo lo que se guarda en la red es público.

Por qué​

IOTA Rebased tiene contratos inteligentes en Move y objetos, pero no una red donde guardar archivos grandes como imágenes, vídeos, conjuntos de datos o sitios web enteros. IOTA Storage añade esa capa, para que baste con una wallet de IOTA para guardar datos:

  • Todo en IOTA. El almacenamiento se paga en IOTA y los nodos hacen stake en IOTA. No interviene ningún otro token ni ninguna otra cadena.
  • Los blobs son tuyos. Cada blob guardado tiene un objeto Blob en tu wallet. Lo renuevas, lo transfieres o lo borras con transacciones normales de IOTA.
  • Verificado en la cadena. Un blob se certifica en IOTA con la firma BLS agregada de nodos que suman un quórum de shards. El contrato comprueba la firma y el quórum.
  • Resistente. Cualquier blob se reconstruye con más o menos un tercio de los shards, así que los datos aguantan aunque se caigan nodos de almacenamiento.
  • Una tesorería del proyecto. Una parte de lo que se paga por el almacenamiento va a una tesorería del proyecto.

Qué se puede hacer hoy​

  • Guardar archivos como blobs, pagando en IOTA desde tu wallet, y renovarlos, transferirlos o borrarlos.
  • Leer cualquier blob por HTTP con el aggregator público, https://aggregator.iotastorage.com.
  • Publicar sitios web estáticos (Sites), servidos en https://<ID del sitio en base36>.iotastorage.com/ o en https://<nombre>.iotastorage.com/ con un nombre de IOTA Names.

Hay dos maneras de usar la red:

  • La app, en app.iotastorage.com, con una wallet de IOTA en el navegador. Ver Primeros pasos.
  • Las herramientas de referencia: una línea de comandos en Node.js para los sitios (sitio.mjs, ver CLI de sitios) y un cliente en JavaScript. Están en el repositorio del proyecto, que todavía no es público.

Arquitectura​

usuario (wallet IOTA) nodos de almacenamiento
│ 1. codifica en local: slivers + metadatos + blob ID
│ 2. reserve_space + register_blob, paga en IOTA ─────▶ · BlobRegistered → aceptan datos
│ 3. metadatos y slivers de sus shards a cada nodo ───▶ · comprueban metadatos ↔ blob ID
│ 4. confirmaciones firmadas con BLS ◀───────────────── · firman (época, blob ID)
│ 5. certify_blob: firma agregada + bitmap ─▶ IOTA verifica quórum (2f+1 shards) y firma
│ 6. leer: slivers primarios de ≥ n−2f shards ◀──────── · sirven slivers
▼ decodifica y comprueba el blob ID
IOTA ── almacen: System (comité BLS, precios), Staking (stake en IOTA, épocas), Blob, Treasury
· el Blob es del usuario: extend (renovar), transferir, borrar
aggregator (HTTP, lee de los nodos) · publisher (HTTP, sube y paga por quien no habla con los nodos)
encima: Sites (objeto Site en IOTA → portal → aggregator)
  1. El cliente codifica el archivo en local en slivers y calcula su blob ID, sin conectarse a la red.
  2. Registra el blob en IOTA (reserve_space y register_blob) y paga en IOTA en la misma transacción.
  3. Envía los metadatos y los slivers de cada shard al nodo de almacenamiento que tiene ese shard.
  4. Cada nodo comprueba los metadatos frente al blob ID y devuelve una confirmación firmada con BLS.
  5. Con las confirmaciones de nodos que suman un quórum de shards, el cliente llama a certify_blob. El contrato verifica la firma agregada. Desde ese momento, el blob está disponible.
  6. Para leer, un cliente (o el aggregator) baja suficientes slivers primarios, los decodifica y comprueba que el resultado tiene el blob ID esperado.

Direcciones públicas​

URLQué es
https://aggregator.iotastorage.com/v1/…Aggregator: lee blobs por HTTP. Público.
https://publisher.iotastorage.com/v1/…Publisher: guarda blobs por HTTP. Pide un token; lo usa el proyecto.
https://nodo-1.iotastorage.com … nodo-4Nodos de almacenamiento.
https://<ID del sitio en base36>.iotastorage.com/Portal de sitios.
https://<nombre>.iotastorage.com/Portal de sitios por IOTA Names (<nombre>.iota).
https://app.iotastorage.comLa app.
Aviso

IOTA Storage es un proyecto independiente, sin relación con la IOTA Foundation, que no lo respalda.