Categorías

Hablemos un poco de Criptomonedas y su plataforma Blockchain.

Hablemos un poco de Criptomonedas y su plataforma Blockchain.

Por Guillermo Desimoni

 

Information Technology Director, Aerolíneas Argentinas

 

INTRODUCCIÓN

En la actualidad estamos viendo una transformación notable en la emisión de monedas digitales que está siendo observado con sorpresa por la comunidad mundial. Hasta hace solo 2 años era tomado como algo extravagante, solamente por sectores muy específicos relacionados a la informática y no era levantado por la prensa en general, ni considerado en el mundo financiero.

 

A partir de mayo de 2017 cuando la cotización del Bitcoin comenzó a subir en forma abrupta y acelerada, fruto de los ataques de Ransomware que se hicieron en muchísimas empresas de fama internacional, pero que en realidad fueron una consecuencia de que estas empresas invertían muy poco en seguridad de la información. Luego en junio del 2017 se volvió a acelerar el precio, producto de otro ataque masivo.

 

Según mi punto de vista, pero solo como una opinión más, el bitcoin y su inteligente plataforma de Blockchain, surgió como un acto de rebeldía de un grupo de ex Hackers, que difundieron como que el Bitcoin fue creado por Satoshi Nakamoto el 3 de enero de 2009. Por las características disruptivas de la plataforma Blockchain como rapidez, anonimato, seguridad y carente de fronteras, el BITCOIN fue adoptado no solo por los hackers sino también por el delito internacional.

 

Afortunadamente, esto esta cambiando y el modelo de Blockchain está siendo adoptado por empresas de tecnología de primer nivel, y a ser estudiado por las universidades más prestigiosas. También el público en general, con afición en las apuestas y las emociones fuertes se sumó decididamente a la opción del BITCOIN y las variopintas ofertas de otras criptomonedas.

 

Un poco sobre los conceptos del BITCOIN

 

El Bitcoin es una moneda virtual o digital pura que opera en forma descentralizada sobre una red P2P que usa herramientas sofisticadas de criptografía para controlar y asegurar la propiedad de los activos digitales, su uso y transferencia entre los usuarios.

 

Bitcoin es un conjunto de conceptos y tecnologías de criptografía (Hashing) que conforman un ecosistema de dinero digital que permite hacer transferencia de dinero, protegiendo la privacidad de los usuarios y asegurando la no reutilización de una moneda (Double-Spending).

 

La moneda está implícita en transacciones que mueven valor de un remitente a un destinatario. Los usuarios de Bitcoin poseen claves que les permiten demostrar la propiedad de las transacciones en la red Bitcoin, otorgando acceso a gastar su valor transfiriéndolo a un nuevo destinatario. Estas claves o passwords están normalmente almacenadas en una cartera digital (WALLET) en el computador de cada usuario.

 

Lo que hace novedosa a esta plataforma Blockchain, sobre la que monta el Bitcoin, es el procesamiento descentralizado y colaborativo de la información, en tantos sitios como mineros activos en la red P2P y a eso sumado al esquema de cifrado de la información contenida en bloques que se van acumulando como capas geológicas a través de Hashing y con árboles de Merkle que hacen indestructible la arquitectura de datos a los ojos de los hackers.

 

En realidad, podríamos afirmar sin error a equivocarnos que Blockchain representa un nuevo paradigma de arquitectura orientada al descubrimiento, valuación y transferencia de unidades discretas de valor y el desarrollo de organizaciones distribuidas a través de verificaciones y validaciones de propiedad vía algoritmos de autenticación complejos.

 

Los bitcoins se crean mediante un proceso de minería que se basa en una competencia por encontrar soluciones a un problema de matemático (Proof of work) a la vez que se procesan transacciones de bitcoins. Cada 10 minutos en promedio, algún minero consigue validar las transacciones de los últimos 10 minutos y cifrar el bloque. Al momento de ganar la competencia y tener derecho a cifrar el bloque, también esta autorizado a la emisión de la moneda que está preestablecida en el algoritmo de funcionamiento del protocolo Bitcoin, la cual es agregada como transacción inicial del bloque cifrado conocida como (COINBASE). Adicionalmente, el minero cobra sus comisiones a los usuarios cuyas transacciones residen en ese bloque.

 

Como podrán apreciar en el párrafo anterior, el minero está autorizado para emitir dinero y no un Banco central como estamos acostumbrados en la actualidad, con los cual se conoce a este concepto como “el dinero de la gente” porque no hay ninguna organización nacional o internacional conocida que respalde la operación.  Con lo cual podemos cerrar estos párrafos anteriores con esta idea que “La minería es la invención que hace especial a Bitcoin porque es un mecanismo de seguridad descentralizado que es la base del dinero digital peer-to-peer. La recompensa de las monedas recién acuñadas y las comisiones de transacción es un plan de incentivo que alinea las acciones de los mineros con la seguridad de la red mientras que al mismo tiempo aplica la oferta monetaria.”

 

Conceptos Criptográficos Básicos

 

  • Función de Hash Criptográfica para claves públicas

 

Una función de hash criptográfica (o función resumen) es un algoritmo que toma como entrada unos datos de cualquier longitud  el mensaje) y devuelve una cadena de bits de longitud fija (HASH).

 

Los algoritmos de Hashing de Bitcoin se basan en dos tipos que son SHA256 y RIPEMD160.

 

Las características principales de la función de hash es que sea de una vía, es decir, que sea muy volver hacia atrás desde el hash hacia el mensaje. Por ellos se espera las siguientes ventajas:

 

  • Eficiencia en la computación del cálculo
  • Resistencia a preimagen (volver hacía atrás)
  • Resistencia a colisión (conseguir el mismo hash para dos mensajes distintos)
  • Resistencia a segunda preimagen (dado un mensaje conseguir un segundo mensaje que genere un mismo hash)

 

 

  • Firma Digital

 

Bitcoin usa firma digital basada en criptografía de Clave Pública (pK) para autenticar datos y verificar correctamente quién está autorizado para transferir monedas. También define el uso de criptografía de curva elíptica usando el algoritmo ECDSA.

 

En Bitcoin, una confirmación es la acción consistente en verificar una transacción y en caso de ser valida añadirla al bloque como veremos más adelante. A medida que una transacción va acumulando más y más confirmaciones, es más probable que se considere como válida. Por defecto, es común considerar una transacción como valida cuando ha obtenido seis o más confirmaciones o verificaciones.

 

La verificación de las transacciones se realiza de forma distribuida a lo largo de una red P2P, de forma que todas las transacciones se anuncian de forma pública y todos los participantes deben ponerse de acuerdo en un único historial de transacciones.

 

 

  • Árboles de Merkle

 

Un árbol de Merkle es una construcción en forma de árbol de valores en donde cada nodo interior es el resultado de aplicar una función de HASH sobre el valor de los nodos hijos hasta llegar a un nodo raíz llamado Merkle root del árbol.

 

La funcionalidad de estos algoritmos es la de permitir verificar en forma rápida, eficiente y segura la integridad e inclusión de todos los datos dentro del bloque.

 

 

  • Algoritmo de Hashcash

 

 

El Hashcash es el sistema de prueba de trabajo (Proof of work) que se usa para el cifrado del bloque dentro de la Blockchain.

 

  • Fuerte trabajo computacional del minero que cifra el bloque (fuerza bruta)
  • Los bloques que persisten en la cadena son los que tienen la mayor prueba de dificultad. (coeficiente de dificultad y Nonce). Exige que el minero calcule un hash que contenga 20 bits a cero a la izquierda (Iteración +Fuerza Bruta + cumplimento de condición de dificultad)
  • El receptor puede verificar que esta información es efectivamente válida con un costo computacional insignificante equivalente a un único hash.

 

 

Bloques de la cadena de bloques (Blockchain)

 

Un bloque es un archivo público en el que se guarda en forma permanente e inalterable toda la información (en nuestro caso transacciones monetarias, pero podría usarse esta tecnología para guardar otro tipo de información) que se generan en la red.

 

Cuando una transacción se lanza por parte de un emisor, ésta se distribuye a lo largo de la red esperando ser validada como lo explicamos previamente y ser incluida en un bloque una vez que sea realizada su confirmación de validez.

 

Este bloque validado y aceptado por consenso por todos los participantes, es distribuido, con el objeto de que todos los nodos tengan una copia completa de la cadena.

 

Ya que en la cadena se almacenan todas las transacciones en orden cronológico, cualquier usuario (incluso externo al funcionamiento de la red) puede verificar el flujo de bitcoins desde el bloque génesis (bloque cero de la cadena) hasta el último bloque generado.

 

Es precisamente la utilización de la cadena de bloques que hace que el Double-Spending sea muy difícil de llevar a cabo, ya que es computacionalmente muy difícil regenerar un bloque previamente añadido a la cadena de bloques.

 

Para que atacante tenga éxito en modificar una transacción previa, debe ser capaz de regenerar el bloque que contiene la transacción a reutilizar, así como con todos los bloques posteriores, trabajo que computacionalmente es inviable.

 

Los nodos honestos que trabajan sobre la cadena de bloques y generan nuevos bloques trabajan sobre el último bloque conocido de la cadena de mayor longitud.

 

En la red, la cadena de bloques es el fruto de la competencia de los mineros que lograron realizar el trabajo de cifrado más exigente por cada bloque, con lo cual este trabajo colaborativo, pero al mismo tiempo competitivo nos asegura que la cadena de bloque generado es la que ostenta la mayor dificultad. Extraña paradoja de un ecosistema que compite y colabora al mismo tiempo, pero sin conocimiento de sus miembros. (notable)

 

A partir del momento, en que se genera un nuevo bloque encadenado a uno de los dos previamente generados, los nodos o mineros acuerdan que la cadena más larga es la que formará parte de la cadena de bloques principal. Si dos bloques, por ejemplo, son validos y cumplen las condiciones de exigencia, pero solo uno de ellos debe formar parte de la cadena de bloques principal. Entonces, los otros bloques se descartan y pasan a ser inválidos, haciendo que todas las transacciones incluidas en los mismos deban ser desplazadas a la cola de transacciones pendientes de ser añadidas a nuevos bloques.

 

Esto deja en evidencia el nivel de cooperación y de consenso que debe existir entre los integrantes para que la red trabaje eficientemente y no colapse. Esto es lo permite generar el concepto de “CONFIANZA DESCENTRALIZADA”. Por lo tanto, sin nodos mineros comprometidos y colaborativos, las transacciones de BTC nunca se confirmarían y en definitiva la red colapsaría.

 

Es importante destacar que más allá de lo sublime de la arquitectura de datos que se esconde detrás de Blockchain, también vemos que hay otra idiosincrasia en los participantes porque compiten como en un juego, pero luego reconocen al ganador y colaboran en la distribución y almacenamiento de los bloques en sus nodos, sin contar con acuerdo o contratos expliciticos.  Ni siquiera se conocen porque operan en distintos lugares del mundo.

 

 

Conclusión

 

Desde su creación en 2009 la evolución de la dificultad y del número de hashes a realizar en la Red Bitcoin creció de una forma más que exponencial. Los mineros que se sumaron a esta red crecieron de forma drásticas y se popularizó el termino del minero como el que genera el dinero digital.

 

A modo de ejemplo, los primeros bloques se podían cifrar con unas pocas iteraciones, mientras que actualmente se necesitan hasta 18.000.000.000 veces más hashes para ganar un bloque en una prueba de fuerza y la capacidad de cálculo total en la red ha aumentado en aproximadamente 66.638.000.000 veces.

 

Esto conlleva una inversión importante desde improvisados datacenter en casas de particulares a grandes centros de procesamiento de datos como en Islandia para tal fin.  Con lo cual, es que nos encontramos ante una innovación muy singular, que independientemente de la continuidad o no del Bitcoin como moneda digital privada, nos lleva a la reflexión que esta disruptiva idea del Blockchain ha llegado para quedarse.

 

De hecho, como hemos comentado previamente en este artículo ya hay empresas como Intel, Microsoft, Oracle e instituciones como el Banco Central de Japón que está probando esta tecnología con lo cual el efecto de difusión se está dando a tal punto que en universidades extranjeras se comienza a realizar investigaciones para profundizar su estudio.

 

En mi opinión, la plataforma de Blockchain ha sido una excelente disrupción que pone en crisis muchos modelos centralizados, dado que no era posible pensar hasta hace unos años atrás en un modelo descentralizado como lo ofrece Blockchain. Claramente que tiene limitaciones, pero está en una franca evolución hacía modelos de versiones de Blockchain superadoras como es Ethereum (Versión 2.0 del Blockchain que conocimos.  Pero el tema de la Blockchain de aplicaciones de Ethereum los dejaremos para nuestro próximo artículo.