Blockchain

Usando BlockChain para transferir ficheros: Caso práctico

21/11/18 3 min. de lectura

Las diversas plataformas de BlockChain se están abriendo paso cada vez más fuerte. Por ahora las hay públicas o privadas. En los medios solo se escucha BitCoin, que simplemente es una plataforma de BlockChain para la transferencia de ésta moneda digital.

Hay otras redes más genéricas para otro tipo de transferencia o intercambio como Ethereum o Hyperledger.

blockchain file transfer
Redes Hyperledger y Ethereum para transferencias BlockChain

Por ejemplo, pueden existir plataformas privadas entre hospitales para intercambiar datos de pacientes, de modo que podríamos acudir a cualquier centro médico y encontrarían nuestro historial clínico.


BitCoin es simplemente una plataforma de BlockChain para la transferencia de ésta moneda digital.

BlockChain es infinitamente escalable así que podría hacerse en un país, en un continente o al máximo nivel que imaginemos. Este ejemplo se puede llevar a universidades, para la transferencia de datos de alumnos, o entre sociedades bancarias para la publicación de número de tarjetas robadas, o para transferencia de ficheros públicos.

Vamos a desarrollar paso a paso una red de transferencia de ficheros:

Vamos a utilizar BlockChain Ethereum en modo privado, DocStamp e IPFS y utilizaremos PGP para su encriptado.

  • BlockChain Ethereum en modo privado
  • DocStamp
  • InterPlanetary File System (IPFS)
  • Pretty Good Privacy (PGP)

¿Qué es DocStamp?

DocStamp que es una aplicación de verificación de firma y sello de ficheros, que funcionará como un servicio de notaría.

¿Qué es IPFS?

IPFS (InterPlanetary File System) es una red peer to peer pública donde se indexa el hash del fichero, y se guarda físicamente ese fichero. Para que nos hagamos una idea: como un BitTorrent.

¿Qué es PGP?

PGP (Pretty Good Privacy), es un programa que utilizaremos para encriptar. Este programa utiliza criptografía de clave pública para proteger la información distribuida por Internet.

Ahora sí, empecemos:

En las siguientes ilustraciones se muestra la arquitectura en AWS (Amazon Web Services) y la arquitectura a nivel funcional. Para explicarlas en detalle, he preparado un ejemplo con dos personas que realizan una transferencia de ficheros.

Así sería la arquitectura en AWS (Amazon Web Services):

amazon web services

A nivel funcional:

blockchain transfer using ethereum, ipfs, docstamp and pgp
  1. Mario (el usuario que va a compartir el fichero) registra el documento y lo firma en DocStamp. Mario informa a Lucía (usuario destinatario) del hash del fichero y de la clave pública del DocStamp.
  2. En el bloque de BlockChain se guarda:
    • Hash del fichero
    • Nombre del fichero
    • Usuario que lo ha registrado en el DocStamp, en nuestro caso, Mario
  3. Mario ingresa el documento en el front-end web del IPFS ya encriptado (PGP) con la llave pública de Lucia
  4. Se envía el fichero a la red de IPFS y se guarda en el BlockChain. Así se certifica el documento:
    • Hash del fichero
    • Persona que registra el fichero en el IPFS. Si un usuario quiere recuperar el fichero va a necesitar:
      • Hash del fichero en IPFS
      • Llave privada de la encriptación
  5. Lucía, nuestra destinataria del fichero, solo tiene que dirigirse al front-end web del IPFS con el hash del fichero y descargarlo
  6. Al descargarse el fichero le pedirá la llave privada para desencriptarlo
  7. Para verificar quién y cuándo lo ha firmado en el BlockChain, irá al DocStamp con el fichero y la key pública del fichero en DocStamp.
  8. La consulta devuelve que está registrado en el BlockChain correctamente, dando la seguridad de que no ha sido modificado en el IPFS.

¿Qué te parece?

Esta es una solución que nos puede servir para dar una mayor seguridad y transparencia a la hora de compartir documentos. Incluso documentación para organismos oficiales o entidades bancarias, en que el que envía un fichero es quien dice y no ha sido modificado, con lo que se abre nuevos caminos al tratamiento de documentación de los ciudadanos.

javier salo

Javier Saló

Santander Global Tech

 

Otros posts