Blockchain, la tecnología de la cadena de bloques, contratos inteligentes y Ethereum. 

Recientemente la tecnología de la cadena de bloques está despertando mucho interés desde distintos sectores, no sólo por la capacidad implícita de ser un gran libro púbico de contabilidad de transacciones inmutable, sino porque permite encapsular código y software conocido como «contratos inteligentes».  Algunos años atrás fue noticia mundial el cierre del mercado negro en línea SilkRoad por parte del FBI al comprobarse que era utilizado para la compra y venta de armas, drogas, información robada y herramientas de cracking, entre otros elementos del mundo ilegal.   La moneda utilizada para el intercambio era el bitcoin, la moneda virtual basada en la criptografía y blockchain para lograr su naturaleza descentralizada e independiente de cualquier entidad central o institución financiera.

Blockchain, finTechs, insurtech parecen ser de esas palabras de moda que surgen cada cierto tiempo en las redes sociales y blogs especializados con bastante fuerza y que provocan múltiples análisis y comentarios por parte de distintos actores del mundo de la tecnología.  Ciertamente más allá de ser palabras de moda son probablemente el origen de la próxima disrupción que la innovación en tecnología causará no solo en el sector financiero y de negocios sino en múltiples industrias. El potencial de esta tecnología radica  no solo en una reducción de tiempos y costos para empresas tradicionalmente lentas sino que abre las puertas para penetrar nuevos segmentos de clientes con una mejora en la calidad, la experiencia y la confianza.  En esta entrada  dividida en dos partes vamos a revisar los conceptos relacionados con las cadenas de bloques, como se implementa una blockchain en Ethereum y como construir un contrato inteligente.   Bitcoin es una moneda digital que implementa blockchain, por lo que se usará para explicar el funcionamiento.

¿Qué es la blockchain?

Blockchain, o la tecnología de bloque en cadena es una estructura de datos que almacena los datos ordenados por tiempo en una lista creciente, como si fuese un libro de contabilidad. La estructura de datos de la cadena de bloques se mantiene utilizando una red de computadores bajo un sistema distribuido peer-to-peer sin ningún computador «maestro» central.  Cada bloque en la cadena contiene transacciones que representan un cambio de estado en la base de datos como puede ser; la transferencia de fondos de una cuenta a otra, la verificación de una identidad, la emisión de un certificado o contrato financiero, entre otros. Las transacciones son verificadas por múltiples nodos de la red y finalmente son almacenadas en nuevos bloques en la cadena de bloques. Cada bloque contiene un hash firmado de los contenidos del bloque precedente, por lo que es imposible que el contenido de un bloque pueda ser manipulado. 

 

Cualquier nodo de la red Bitcoin puede poner varias transacciones no verificadas en un bloque y enviarlo al resto de la red como el siguiente bloque propuesto en la cadena. El problema es que el bloque propuesto debe incluir una «prueba de trabajo», que es la solución a un problema matemático computacionalmente muy costoso que implica funciones criptográficas. Así se crean los nuevos bitcoin, esto es la minería bitcoin. La cadena de bloques contiene una serie de transferencias de valor de una dirección a otra. Una dirección identifica de forma exclusiva una cuenta (o un usuario) en el sistema y es de hecho, una clave pública emparejada con una clave privada que pertenece sólo al usuario que creó la cuenta. El monto no puede ser transferido de una cuenta a otra sin una firma digital que requiere la clave privada de la cuenta de origen.

Además de asegurar la lista de transacciones criptográficamente, las cadenas de bloques también proporcionan un consenso distribuido del estado de la base de datos. Se asegura que las transferencias ocurren solo una vez o ninguna en absoluto, dando a los desarrolladores de aplicaciones y usuarios en general la certeza de que, una vez almacenado o unida a la cadena, sus datos son inmutables y totalmente confiables.  El nodo que se encuentra una solución al problema designa al siguiente bloque en la cadena y la pública, donde se verifica por otros en la red. El nodo ganador es recompensado por esta «prueba de trabajo» con bitcoins. La minería sólo premia a quienes tengan el hardware más rápido y especializado y crea una lucha “armamentística» entre los mineros que tienen mejor hardware para mantener un ritmo constante en la cosecha de divisas.   La dificultad de la minería va creciendo con el tiempo a medida que se minan más bitcoins.

 

Ethereum y contratos inteligentes

Es una plataforma descentralizada basada en la tecnología blockchain creada en diciembre de 2013 por Vitalik Buterin que permite la ejecución de contratos inteligentes mediante programas informáticos desarrollados en lenguajes tales como solidity.

 Un contrato inteligente es una pieza de software que asegura, hace cumplir y ejecuta acuerdos entre personas y empresas. La ejecución de este programa implica la interacción con activos reales. Es decir cuando se cumple una condición previamente programada, el contrato inteligente ejecuta la cláusula contractual correspondiente. Este modelo reduce los costos de transacción asociados a la contratación y gestión de los activos o elementos objetos del contrato. Por ejemplo una transferencia de valor digital mediante un mecanismo que no implique confianza (ejemplo:bitcoins) permite pensar en nuevas aplicaciones tales como, la contratación de productos financieros o de seguros, los depósitos en garantía, las operaciones de trading, de préstamos en crowdfunding  o la gestión de derivados.

 Ethereum tiene una moneda llamada éter. El éter es minado por los nodos que verifican las transacciones antes de almacenarse en la cadena de bloques confirmados por consenso compartido.

Fin parte 1.