Urko Larrañaga Piedra Head of Blockchain

¿Cómo consigue Blockchain transacciones inquebrantables?

La tecnología Blockchain se construye a partir de una serie de algoritmos y tecnologías existentes que nos garantizan que la información que registramos sea inquebrantable. A continuación, explicamos en detalle el funcionamiento de esta tecnología a partir de los principales pilares tecnológicos que la componen.

Cadena de bloques

En nuestra primera entrada del blog explicábamos cómo la tecnología por cadena de bloques permite tener una red distribuida en la que tenemos una base de datos descentralizada. En esta red, cada participante tiene una copia de la información, la cual forma parte de una cadena de bloques.

Los bloques son los elementos en los que se almacenan los registros. Gracias a la cadena, se garantiza un orden cronológico, ya que, un nuevo bloque requiere conocer el identificador del bloque anterior para poder determinar el suyo.

Criptografía

Cada registro de Blockchain es un dato firmado por un usuario. La información se rubrica con la clave privada de la persona, y a partir de una clave pública, se podrá verificar y conocer el autor del registro.

Por otra parte, cabe destacar que los identificadores de los bloques se generan aplicando algoritmos de hash al contenido de los bloques, incluyendo además dentro del mismo, el identificador del bloque anterior. Es por ello que, cualquier modificación de la información de un bloque conllevará que su identificador cambie también y la cadena se rompa.

Consenso

Cada bloque que se crea y que se añade a la cadena, lo hace con el consentimiento de todos los participantes (nodos) de la red, es decir, se alcanza un consenso entre la mayoría de nodos del sistema sobre qué información almacenar y en qué orden. De esta manera, se consigue que todos los participantes conozcan el nuevo bloque de la cadena, además de todos los anteriores y la información que contienen.

Las redes P2P, al igual que otros sistemas distribuidos, tienen que resolver un problema informático muy difícil: la resolución de conflictos. Si llegan dos datos incompatibles al mismo tiempo, el sistema debe tener reglas para determinar cuál se considera válido. Esta nueva tecnología da una solución al problema del consenso en los sistemas distribuidos a través del conjunto de algoritmos y arquitecturas que ofrece. En futuros artículos se ahondará sobre este tema.

Smart Contract

En esta parte, se define la lógica de negocio que se ejecutará en nuestra cadena de bloques. Los Smart Contracts son código desarrollado que recoge las funcionalidades que queremos implementar. Todos los participantes que forman una misma red Blockchain, tendrán el mismo Smart Contract. De esta manera, independientemente de dónde se ejecute una operación, el resultado de la misma siempre será idéntico.

Los Smart Contract nos ofrecen la posibilidad de adecuar esta nueva tecnología a nuestras necesidades. En las siguientes entradas abordaremos distintos entornos en los que se utiliza o se podría utilizar la tecnología de la cadena de bloques y cómo sería el desarrollo de su correspondiente Smart Contract.