El consenso es parte fundamental del funcionamiento de la tecnología blockchain y las criptomonedas. Ello se debe a que es el pilar que garantiza la seguridad de la cadena de bloques, ya que controla el hecho de que todos los que participen en la red acepten de forma unánime la información que dicha cadena contiene.

Uno de los principios más importantes en la naturaleza de las criptomonedas es el consenso. El consenso o ‘consensus’ no es más que la aceptación por todos los miembros de la red blockchain de que la información que hay en la misma. De esta forma, todos en la red aceptan que la información no tiene manipulaciones ni datos erróneos o duplicados.

En una red de tipo blockchain la información se agrupa en bloques y éstos son validados mediante el minado. Por tanto, lo primero que debemos tener en cuenta es que el consenso es el sistema de sincronización entre todos los nodos de la red. Mediante esta sincronización todos los ordenadores que forman parte de la red pueden estar seguros de que la información es correcta y no existen manipulaciones.

Antes esta situación surge la siguiente cuestión:

¿Cómo nos aseguramos que estamos de acuerdo con la validación del bloque?

La respuesta es: mediante un acuerdo entre los nodos de la red. Esto permite una especie de ‘auditoría’ que impide que alguien pueda mandar información manipulada a la blockchain.

Consenso en criptomonedas: Caso Bitcoin

Para evitar que se añadan bloques erróneos en la cadena de bloques, cada uno de esos bloques necesita una revisión y una confirmación. Este proceso sucede en todas las blockchain y la primera en implementarlo fue el Bitcoin. Mediante el sistema de consenso en Bitcoin se establece si el bloque incluye información correcta y, por tanto, si puede ser añadido a la blockchain o no.

Uno de los requisitos que nos garantizan que el proceso de validación sea óptimo es que todos los nodos acepten los datos de  para confirmar la integridad de los datos. Esto incluso, en el caso de que algunos nodos sean fallidos o bien no sean confiables.

Los mineros son imprescindibles para que las transacciones sean incluidas en un bloque. Sin embargo, son los nodos de la red los que trabajan en la realización de la validación de la información incluida en dicho bloque. Por ese motivo es importante que haya el mayor número de nodos completos en la red Bitcoin. Si desear ejecutar un nodo completo de la red Bitcoin, desde la web oficial tienen un excelente tutorial que puedes seguir.

Adicionalmente, con el sistema de consenso de bitcoin nos aseguramos que ninguna entidad pueda manipular o controlar toda la red.

Cuando no se alcanza el consenso según las normas que nodos y mineros establecen para incluir y validar la información dentro de una cadena o blockchain, se dan situaciones que llevan a realizar bifurcaciones en la cadena, ya sean duras (hard fork) o suaves (soft fork)

Cabe destacar que cada moneda tiene su propia red de nodos y algunas pueden tener protocolos más exhaustivos para evitar ataques a la cadena de bloques.

Lo más importante es que el consenso evita lo que se conoce como doble gasto.

¿Cuánto sabes, criptonauta?

¿La blockchain es posible sin la aplicación de un sistema de consenso?

¡FALSO!

El consenso es parte fundamental de la blockchain debido a su organización descentralizada. Si las partes que forman una red blockchain no se ejecutan dentro de un sistema o protocolo que genere concepto entre las distintas partes, la red caería en caos y carecería de cualquier utilidad.

Consenso para protegernos del doble gasto en criptomonedas

Ahora bien imaginemos que una persona hace uso de unas criptomonedas determinadas (por ejemplo realiza una transacción de compra) y después de hacerlo decide revertir la operación manipulando la información del bloque donde figuren la/s transacción/es anteriores. En este caso, suponiendo que logre eliminar la información del bloque donde han quedado registradas sus transacciones, podría volver a gastar las monedas de nuevo. Esto es en esencia el doble gasto.

Adicionalmente, el consenso lo que hace es recompensar e incentivar a los que mantienen viva la blockchain en funcionamiento 24 horas al día 7 días a la semana. Al hacer este reparto entre los que colaboran en mantener la red, se obtiene un beneficio y esto incentiva a seguir trabajando en la integridad de la red.