Qué es la tecnología Blockchain

En este tutorial vamos a ver qué es la tecnología Blockchain, cuál es su base fundamental y cómo se denominan los procesos que en ella ocurren.

Blockchain es una base de datos

Blockchain es una base de datos distribuida descentralizada de registros inmutables. En ella las transacciones están protegidas por algoritmos criptográficos y un algoritmo de consenso mantiene el estado de la red.

En otras palabras, Blockchain es una cadena de bloques que contiene información.

Cómo funciona Blockchain

Supón que quieres realizar una transacción por un importe de 5 BTC. Esta transacción se transmite en forma de mensaje digital.

Este mensaje digital tiene una firma única. Al igual que tu firma proporciona la prueba de propiedad de un documento, la firma digital proporciona la prueba de que la transacción es genuina.

Al final, la transacción generada se transmite a la red donde se propaga punto a punto, peer to peer.

Verificación independiente de transacciones

Cuando realizas transacciones, cada nodo de Blockchain recibe la operación y debe verificarla. Esta acción garantiza que solo las transacciones válidas se propagarán en todo el sistema, mientras que las transacciones no válidas se eliminan en el primer nodo que las reciba. Cada nodo confirma las transacciones bajo una larga agenda de criterios.

Agregar transacciones verificadas

Las transacciones verificadas son agregadas a nuevos bloques por nodos mineros. Estos combinan cálculo computacional a través de un algoritmo conocido como PoW o Prueba de trabajo.

A medida que se reciben nuevas transacciones y antes de propagarlas, cada nodo crea un conjunto de transacciones válidas aún por confirmar.

Cuando una transacción alcanzan nodos se recopila, valida y transmite del mismo modo que lo hacen el resto de nodos.

La principal diferencia entre estos nodos y los nodos mineros radica en que estos últimos son los que agregarán las transacciones validadas a un bloque candidato.

Un nodo de minería mantiene una copia local de la cadena de bloques. Se trata de una lista de todos los bloques creados desde el inicio del sistema Bitcoin en 2009.

Después de recopilar todas las transacciones en un bloque es necesario construir el encabezado del bloque. Ahora es cuando comienza la fase más importante.

El encabezado del bloque

Para construir el encabezado de bloque el nodo de minería debe completar seis campos, como sigue:

  • El primer campo en el bloque es la versión de protocolo.
  • Le sigue el hash del bloque anterior en la Blockchain. Este asegura que todos los bloques formen una secuencia ininterrumpida, es decir, una cadena de bloques.
  • El siguiente campo es la raíz de Merkle, un hash raíz de todas las transacciones en el bloque. Esta es también una parte clave de la seguridad de Blockchain Bitcoin. De hecho, garantiza que las transacciones no se puedan modificar una vez formen parte de un bloque.
  • A continuación se muestra un timestamp, una marca de tiempo del bloque, seguida de los bits de valor de dificultad para minarlo.
  • Finalmente, el nonce; un valor arbitrario que se incrementa en cada intento de hash para proporcionar un nuevo valor de hash.

La parte más complicada de la minería es encontrar una fuente hardware que pueda extraer el bloque. Se necesita una capacidad de computación muy superior a la que se suele tener en ordenadores normales.

Una vez has completado el encabezado da comienzo el proceso de minería del bloque.

Minería del bloque

El objetivo es encontrar un valor para el nonce que dé como resultado un hash de encabezado que sea menor que el objetivo de dificultad.

El nodo de minería tiene que probar miles de millones de valores de nonce antes de encontrar uno que satisfaga el objetivo. Para ello es necesario un hardware con gran capacidad de computación capaz de resolver la PoW, prueba de trabajo, que haga que el bloque sea válido.

Resolviendo el protocolo

Supón que hay varias plataformas de hardware de minería, cada una ejecutando el algoritmo SHA256. Este algoritmo es utilizado en la Blockchain Bitcoin para garantizar la integridad de la información almacenada en un bloque.

El nodo de minería transmite el encabezado de bloque a su hardware de minería, que comienza a probar miles de millones de nonces por segundo.

Casi 11 minutos después de comenzar el proceso de minado uno de los ordenadores encuentra una solución y la envía de vuelta al nodo de minería. Este lo retransmite al resto de nodos los cuales lo reciben, validan y propagan el nuevo bloque en la Blockchain.

Ensamble de bloques en Blockchain

Una vez que un nodo haya validado un nuevo bloque intentará ensamblar una cadena conectando el bloque a la cadena de bloques existente. Cuando la red verifica el bloque se convierte en parte de la cadena de bloques.

Por haber resuelto con éxito el cálculo del bloque el minero recibe una recompensa. Generalmente es una cantidad de criptomoneda fija. En el caso de Blockchain Bitcoin la recompensa se traduce en bitcoins.

¿Qué sucede cuando se resuelve más de un bloque al mismo tiempo?

El consenso adoptado por todos los nodos es continuar la cadena de bloques más larga. Así de simple y, a la vez, así de complicado.

El ensamblaje de la cadena de bloques se realiza uniendo los bloques anteriores y los nuevos recién resueltos. Pero no todos los nodos reciben los bloques en el mismo orden, por lo que mientras algunos están resolviendo otros ya han resuelto el objetivo de dificultad.

Dado el momento en que hay dos bloques iguales resueltos, el consenso adoptado establece que cuando se resuelva el siguiente bloque y se añada a la cadena, esta será la cadena que prevalecerá.

La cadena de bloques más larga prevalece y se descarta el bloque que, aunque válido, no ha prosperado dado que su lugar de incorporación está en una cadena de longitud inferior a la cadena del bloque ganador.

Blockchain se estabiliza de forma muy rápida en estos procesos y cada nodo se muestra de acuerdo con el estado actual del libro mayor de registros.

Recuerda: la regla general es cambiar a la cadena de bloques más larga.

¿Qué sucede si alguien intenta modificar alguna transacción o registro en el sistema? o ¿Qué pasa si alguien intenta hackear el sistema?

Una vez que se resuelve un bloque se genera un output o hash criptográfico. Este se convierte en el identificador de ese bloque que, a su vez, se enlaza con el siguiente bloque creando la cadena.

Por lo tanto, la cadena de bloques está asegurada por un algoritmo criptográfico robusto y extremadamente seguro. No hay forma de alterar ningún registro.

Si algún intruso intenta alterar alguna transacción en cualquier bloque, el hash del bloque cambia y, en consecuencia, el hash de todos los bloques anteriores cambiará. Los nodos no adoptarían el consenso y, por lo tanto, el fraude se podría detectar fácilmente.

Conclusión

El propósito de este tutorial era descubrir la tecnología Blockchain, sus componentes y procesos. Ahora ya tienes un conocimiento básico del funcionamiento de la cedena de bloques.

Si tienes dudas a cerca de la tecnología Blockchain y el funcionamiento de la cadena de bloques ¡Pregúntame! en hola@descubreblockchain.com