Actualidad | Artículos | 22 JUN 2017

Certificaciones perpetuas en Blockchain

Blockchain es una nueva forma de tecnología de la información que podría tener varias aplicaciones futuras importantes.
blockchain-portada
Raúl De la Fuente Lopes y Daniel Martínez García

 

Ya nos hemos dado cuenta de cómo la economía colaborativa está cambiando la forma de relacionamos. La sociedad tiende a relacionarse de una manera mucho más práctica y descentralizada, lo que provoca que vayan surgiendo nuevos servicios y sobre todo eliminando intermediarios en servicios ya existentes.

Blockchain funciona como si de un libro contable digital se tratase, pero escrito y verificado de manera colaborativa por miles de usuarios y que sirve para saber quién tiene qué. La red Blockchain de Bitcoin simboliza mucho más que simplemente una criptomoneda, ya que representa una red pública como recurso global y abierto que transporta valor con certeza y confianza. Por todo ello, nos encontramos ante el mayor servicio de la economía colaborativa, muy por encima de los gigantescos Blablacar, AirBnB o incluso Uber.

Sin lugar a dudas Blockchain es una tecnología disruptiva con un sinfín de aplicaciones más allá del sector financiero, como pudieran ser en el IoT, la inteligencia artificial, robots autónomos, realidad virtual y aumentada, etc. Así que ha llegado el momento de replantearse todo tal y como lo estamos haciendo ahora, considerando que tal vez el negocio pudiera no estar estructurado correctamente para este “pensamiento Blockchain”. Las grandes organizaciones ya sabedoras del potencial de esta tecnología han invertido en el desarrollo de Blockchains privadas a través de coaliciones como R3 o Hyperledger, y por este motivo algunos proveedores de servicio cloud como IBM y Microsoft ya llevan tiempo ofreciendo interesantes soluciones Blockchain-As-A-Service, aún a riesgo de disipar la esencia del concepto descentralizado de Blockchain.

 

Continuidad en el mundo Digital

Uno de los usos identificados más extendidos es el de crear smart contracts a través de Blockchain, donde las partes acuerdan unos términos que se traducen a código programable, y cuando ciertas condiciones se cumplen, ese programa se encargará de ejecutar lo acordado compartiéndose entre los miembros de la red y controlando lo que es añadido. Ethereum en este caso es una de las redes Blockchain más populares, disponiendo de un sistema para elaborarlos de manera nativa. También tenemos redes más recientes como Tendermint la cual es una nueva aproximación que utiliza un sistema más flexible y agnóstico al lenguaje de programación.

Hace años, cuando llegaron los SMS, muchos se preguntaban la necesidad si ya se podía llamar por teléfono. El triunfo de los SMS se debió no sólo al precio, sino también a lo que aportaba en dicho momento. En resumidas cuentas, Blockchain no deja de ser una base de datos distribuida, pero rompiendo con las características propias de las bases de datos tradicionales:

  • Cualquiera puede añadir y leer información
  • Pero nadie puede borrar información
  • Y nadie es el propietario de la información

Estás características son muy especiales porque pueden aportar continuidad en el mundo digital. Esto quiere decir que podemos certificar el camino que se ha ido recorriendo para un cierto proceso del mundo real como pudiera ser certificados de calidad, de localización, etc. Imaginemos por ejemplo la vida de una persona, en la cual entre otras cosas, podría ir adquiriendo ciertos conocimientos a través de distinta formación. Almacenar los diplomas que acrediten dichos conocimientos es un proceso ineficiente ya que suelen terminar perdiéndose o deteriorándose; otros mecanismos más modernos aportan referencias web pero que son monopolizadas por los proveedores que emiten esa formación. A continuación, se expone cómo se podría aportar esta continuidad sobre una plataforma basada en la red Blockchain de Bitcoin, siendo capaz de emitir/verificar certificaciones digitales fiables, y como no se pueden borrar persistirán para siempre. En este caso serían los siguientes certificados:

En este ejemplo, se expedirán dos diplomas certificando que “Raúl de la Fuente” y “Daniel Martínez” han aprovechado satisfactoriamente una reciente formación. Este sistema permite, sin necesidad de intermediarios, confirmar atributos relevantes que previamente se hayan definido compartir. En este caso, la aplicación está basada en la tecnología desarrollada en MIT Media Lab blockcerts.org en la que ALTRAN ha colaborado con algunas aportaciones donde el funcionamiento a grandes rasgos es el siguiente:

1. Se crean los certificados usando “cert-tools”. Para ello se establece una plantilla (create-certificate-template) con la información común a todos los certificados.

2. A continuación se instancia un batch de certificados (instantiate-certificate-batch) complementándose con cierta información básica como el nombre del destinatario, el nombre del emisor, fecha de emisión, etc. con lo que ya dispondremos de los certificados sin firmar.

3. Después, mediante “cert-signer” firmaremos los certificados con una clave privada para así verificar que nadie ha alterado el contenido del certificado y garantizar la integridad.

4. Finalmente ya estamos preparados para emitir el certificado usando “cert-issuer”.

Al igual que a la hora de emitir el certificado, y debido a las características de Bitcoin, se podría verificar la presente transacción de dos maneras diferentes:

  • Instalarse un nodo completo de Bitcoin Core en un ordenador y comprobar el bloque que contiene la transacción. Para ello hay que descargarse la Blockchain que actualmente ronda los 100GB. Una vez descargada se permite saber con certeza que todas las reglas del protocolo Bitcoin están siendo seguidas, por ejemplo, que no se gastan Bitcoins no pertenecientes al dueño, que no se utilizaron monedas dos veces, etc. Este tipo de nodos completos dotan de un nivel de privacidad y confidencialidad mayor. El hecho de descargar la Blockhain completa también sirve para incrementar la seguridad, previniendo ciertos tipos de ataques.
  • Usar nodos terceros a través de sus API’s, de esta manera se podría comprobar la transacción que contiene los certificados aquí:

 

En este caso, se puede observar que los certificados han sido registrados en el bloque 442402 y que la red ha confirmado 707 veces la transacción en el momento que se tomó la captura; considerándose confiable a partir de 6 veces, pero esto depende del cliente y la red que se esté usando. Además, cada Bitcoin es divisible en 100 millones de unidades, siendo cada una de ellas identificables y programables. En este caso, cada certificado tiene un coste de 0.0000275 Bitcoins ya que al tratarse de transacciones demasiado pequeñas nos encontramos con el límite que ofrece la red. Este límite también es conocido como “Bitcoin dust” y trata de evitar saturar la red con demasiadas microtransacciones. Además, es muy importante destacar de nuevo que todas las transacciones son irreversibles.

A partir de este momento, cualquier persona podría sin tener que depender del emisor, comprobar que un certificado no ha sido alterado, que fue expedido por una institución particular y expedida a un usuario en concreto. En este caso, los diplomas no se almacenan literalmente en Blockchain, sino que las transacciones registradas proporcionan la información que incluyen resúmenes para poder verificar los archivos que se almacenan de forma segura en ubicaciones fuera de Blockchain. En este caso se puede verificar un certificado manualmente ya que se ha utilizado el campo OP_RETURN, propio de la red Bitcoin, para anotar el hash del batch de certificados, o mediante “cert-viewer” creando un servidor como este que dispondrá de un botón para su validación vía web.

Conclusiones

Blockchain es una nueva forma de tecnología de la información que podría tener varias aplicaciones futuras importantes. Al fin y al cabo un token de una red Blockchain puede significar casi cualquier cosa, desde un diploma o energía solar hasta almacenamiento o cómputo. De esta manera, se podrían crear plataformas para acuerdos entre recursos digitales propios, creando así un supercomputador distribuido y descentralizado, y evitando de esta manera depender de proveedores cloud que son las que en realidad poseen el control sobre toda la estructura y su contenido. Los modelos centralizados tradicionales muy probablemente no estén preparados para soportar la gran cantidad de información que se estima que vamos a generar en los próximos años. Esta sociedad requerirá de la capacidad de asignar recursos de forma rápida y eficiente, y aunque aún existen problemas de escabilidad que solucionar, parece que la forma de realizar todas estas transacciones pudiera ser Blockchain. Algunas personas ya lo llaman el "Internet del valor", pero absolutamente todo el mundo está de acuerdo en que es la mejor manera de dar continuidad al mundo real competitivo en una sociedad digital colaborativa.

Agradecemos a Raúl Fernández por las creativas imagenes que alegran este artículo (portada y centro).

Marlon Molina

Raúl De la Fuente Lopes

Business Analytics Architect  en Altran Tessella y responsable de proyectos de Inteligencia Artificial en Altran Innova. Sus campos de interés son: Big data, Inteligencia Artificial, Blockchain, open source y la neurociencia.  Madrid, España.

 

Daniel Martínez Gracía

Master en Big Data y estudiante de Grado en Informática por la UNED. Big Data Developer en Altran Tessella. Sus campos de interés son: Big Data, machine learning, criptomonedas y la programación en entornos distribuidos. Madrid, España.

 

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información