Primera cita con IPFS

En la era digital actual, almacenar y compartir datos se ha convertido en un aspecto crucial de nuestras vidas. Con la creciente cantidad de datos que se generan cada día, las soluciones tradicionales de almacenamiento en la nube luchan por mantenerse al día con la demanda de un almacenamiento de datos eficiente y seguro. Aquí es donde entra en juego InterPlanetary File System (IPFS), que ofrece una solución de almacenamiento distribuida y descentralizada para la web moderna.

ipfs 1

¿Qué es IPFS?

IPFS permite a los usuarios almacenar y acceder a contenido sin depender de un servidor centralizado. En cambio, los archivos se distribuyen a través de una red de nodos, lo que los hace más resistentes a la censura y mejora la velocidad general y la disponibilidad del contenido. Cuando un usuario carga un archivo en IPFS, se divide en partes más pequeñas llamadas bloques, que luego se distribuyen por la red. A cada bloque se le asigna un hash criptográfico único, que sirve como identificador.

Ventajas de usar IPFS

Existen varias ventajas al utilizar IPFS sobre los servicios de alojamiento centralizados tradicionales:

  1. Descentralización : IPFS permite una web descentralizada, donde los archivos se almacenan y sirven mediante una red de nodos en lugar de depender de un único servidor centralizado. Esto lo hace más resistente a la censura y mejora la disponibilidad del contenido.
  2. Seguridad : IPFS utiliza cifrado para proteger el contenido almacenado en su red, lo que lo hace más seguro que los servicios de alojamiento tradicionales. Además, IPFS proporciona direccionamiento de contenido inmutable, lo que garantiza la integridad y autenticidad del contenido.
  3. Eficiencia : IPFS está diseñado para ser más eficiente y escalable que los servicios de alojamiento tradicionales, con la capacidad de distribuir archivos grandes a través de una red de nodos. Esto mejora la entrega de contenido y reduce la carga en cualquier nodo en particular .
  4. Rentabilidad : IPFS puede ser una alternativa rentable a los servicios de alojamiento tradicionales, ya que está diseñado para ser más eficiente y escalable, lo que reduce la necesidad de una infraestructura costosa.
  5. Interoperabilidad : IPFS está diseñado para ser interoperable con otros protocolos web, lo que facilita la integración en aplicaciones y plataformas web existentes.

Disponibilidad e integridad de los archivos cargados en IPFS

Cuando agrega contenido a IPFS, no se almacena automáticamente en todos los nodos de la red. En cambio, los nodos de la red sólo pueden almacenar contenido temporalmente y descartarlo cuando ya no sea necesario. Esto se hace para garantizar que la red funcione de manera eficiente y evitar que los nodos se sobrecarguen con contenido innecesario.

Sin embargo, puede haber situaciones en las que desee asegurarse de que un contenido en particular esté siempre disponible en la red IPFS, incluso si no se accede a él con frecuencia. Aquí es donde entra en juego la fijación. Al fijar contenido, le estás indicando a la red que mantenga una copia de ese contenido disponible en tu nodo local, asegurando que permanezca disponible incluso si otros nodos de la red lo descartan.

Vottun tiene su propio nodo IPFS, lo que garantiza que todos sus archivos estén anclados a nuestro nodo cuando utiliza nuestras API. Esto significa que incluso si un archivo no se solicita durante un largo período de tiempo, seguirá siendo accesible cuando se solicite.

Caso de uso de IPFS y NFT

Un NFT se compone de la representación gráfica del activo almacenado en IPFS y del token en sí almacenado en la cadena de bloques. 

El activo digital, como una imagen o un vídeo, que se almacena en IPFS. Este activo está representado por un hash criptográfico único que sirve como dirección en la red IPFS. Cuando alguien compra un NFT que representa este activo, recibe una referencia a este hash en los metadatos del NFT, junto con otra información como el título y la descripción del activo.

Un NFT es el token en sí, que se crea y gestiona en una cadena de bloques como Ethereum. El token está representado por un identificador único, o ID de token, que está asociado con la propiedad y transferencia del activo digital. La identificación del token generalmente se almacena en un contrato inteligente en la cadena de bloques, junto con los metadatos que describen el activo.

Cuando alguien compra un NFT, esencialmente está comprando la propiedad del token, lo que le da derecho a transferir o vender el token a otra persona. El token sirve como certificado digital de propiedad del activo digital subyacente almacenado en IPFS. Dado que el token se gestiona en una cadena de bloques, la propiedad del NFT se puede rastrear y verificar de forma transparente y segura.

Las dos partes de una NFT trabajan juntas para crear un activo digital único y valioso que se puede comprar, vender y comercializar de forma descentralizada y transparente. El activo digital se almacena en IPFS, mientras que la propiedad y transferencia del activo se rastrea y verifica en la cadena de bloques a través del token NFT. Esto permite a los creadores y coleccionistas monetizar e intercambiar activos digitales de una manera nueva e innovadora.

Almacenamiento de metadatos NFT y seguimiento de la propiedad en Blockchain con el estándar ERC721.

Cuando se crea una NFT, el contrato inteligente almacena sus metadatos, que incluyen información como el nombre y la descripción del activo, así como el hash IPFS que apunta a la representación gráfica del activo almacenado en IPFS. Los metadatos se almacenan dentro o fuera de la cadena, según la implementación, y normalmente se puede acceder a ellos a través de una función pública en el contrato inteligente.

El estándar ERC721 define un conjunto de eventos que el contrato inteligente puede emitir cuando se crean, transfieren o destruyen NFT. Estos eventos se pueden utilizar para rastrear la propiedad y el movimiento de NFT en la cadena de bloques.

A continuación se muestra un ejemplo del esquema de metadatos para un NFT ERC721:

Introducción a IPFS con Vottun

Pero, ¿cómo se suben archivos a IPFS? Aquí es donde entra en juego la API de Vottun . La API de Vottun proporciona una interfaz simple y fácil de usar para cargar archivos a IPFS. Al utilizar la API de Vottun , puede aprovechar los beneficios de IPFS sin tener que preocuparse por los detalles técnicos.

Desde la API de Vottun tenemos 3 formas de interactuar con ipfs .

1 – Sube un solo archivo:

Punto final: https://ipfsapi-v2.vottun.tech/ipfs/v2/file/upload

Su tipo de contenido debe ser multiparte/form-data e incluirá dos campos:

         nombre de archivo : un nombre para el archivo

         archivo : el archivo en sí

La llamada completa lanzada desde curl:

y de NodeJS:

Respuesta:

2 – Sube un zip con varios archivos

Punto final: https://ipfsapi-v2.vottun.tech/ipfs/v2/upload/zip

Su tipo de contenido debe ser multiparte/formulario e incluirá un campo:

            archivo : el archivo en sí

La llamada completa lanzada desde curl:

y de NodeJS:

Respuesta:

3 – Subir metadatos

Punto final: https://ipfsapi-v2.vottun.tech/ipfs/v2/file/metadata

Su tipo de contenido debe ser aplicación/ json e incluirá los datos:

y de NodeJS:

Respuesta:

Conclusiones

En este artículo aprendemos:

  • IPFS es un protocolo descentralizado para almacenar y compartir archivos que ofrece varias ventajas sobre los servicios de alojamiento centralizados tradicionales. Su uso de redes distribuidas lo hace más resistente a la censura y mejora la disponibilidad del contenido, mientras que su direccionamiento de contenido inmutable garantiza la integridad y autenticidad del contenido.
  • Qué es IPFS
  • ¿Por qué utilizar ipfs en lugar de otro servicio ?
  • Disponibilidad e integridad de los archivos cargados en ipfs.
  • Puntos finales disponibles para interactuar con ipfs desde Vottun API

En próximos artículos profundizaremos en las API de Vottun y diferentes estándares como los NFT de alquiler (ERC4907).