Blockchain en 5 minutos. Parte 2: Consenso

Samuel M.H.
5 min readMar 6, 2018

--

En el artículo anterior, “Blockchain en 5 minutos. Parte 1: Introducción”, vimos el concepto de cadena de bloques. En el ejemplo, se hace una analogía entre periódico semanal y bloque. Esto implica que existe una única autoridad central que emite bloques, la editorial de “El Periódico”, de la que todo el mundo recibe los bloques y de la que se “fía”.

Coherencia

Digo que se “fía” porque para aceptar un bloque, la ciudadanía tiene que comprobar que:

  1. El hash que aparece en la edición actual coincide con el que se calcula de la publicación anterior.
  2. Lo escrito en el bloque actual no contradice el histórico.

A esto se le llama coherencia.

En otro contexto, por ejemplo un libro de cuentas, la coherencia impide que se cree dinero de la nada o que desaparezca, es decir, el dinero total en circulación permanece constante.

Por tanto, se puede definir la coherencia como el mecanismo que controla que la información contenida en un nuevo bloque no viole las reglas preestablecidas del juego. De esta forma, cada nuevo bloque que sea coherente será aceptado, propagado por la red, y pasará formar parte de la cadena de bloques. Los que no sean coherentes, serán descartados.

Consenso

Una de las características de las redes que usan blockchain es que son descentralizadas o P2P (entre iguales). Si uno o varios nodos se desconectan, la red tiene que poder seguir operando con normalidad. Y hasta aquí nos ha servido el ejemplo del periódico. En un escenario más realista “cualquiera” tiene que poder emitir bloques.

“Cualquiera” va entrecomillado porque también puede representar a un participante con intenciones maliciosas. Si cualquiera puede emitir bloques, se pueden producir bifurcaciones en la cadena al haber varios bloques sucesores candidatos. Esto implica la posibilidad de que haya dos históricos coherentes en su propia línea pero no entre sí. ¿Cuál usar, cuál es el bueno? Como ejemplo, en un libro de cuentas alguien puede gastar su dinero de formas diferentes, una por cada bifurcación.

Prueba de trabajo

Y aquí es donde aparece Bitcoin, cuya descripción técnica recomiendo leer encarecidamente por ser bastante accesible y clarificadora.

Bitcoin surgió en el 2009 como un sistema descentralizado (P2P, sin bancos ni intermediarios) de divisa electrónica. Lo disruptivo de su tecnología fue que definió un mecanismo de autoridad distribuida con firmas de tiempo que impedía el doble gasto. En conceptos más sencillos: minimiza las bifurcaciones en la cadena de bloques. ¿Cómo?

Definió un concepto denominado prueba de trabajo. ¿Te acuerdas de lo que era un hash? Pues la prueba de trabajo consiste en unas letras (o bytes) que se le añaden a la información que contiene un bloque determinado para que su hash empiece por un número acordado de ceros. El encontrar esa combinación es un problema que sólo se puede resolver probando a lo bruto, no existe formula que lo solvente de forma fácil. Por si fuera poco, cada cero de más, incrementa la dificultad de forma exponencial.

Incremento de la complejidad de la prueba de trabajo a lo largo del tiempo.

La nueva casuística determina que para añadir un bloque a la cadena hay que resolver un problema matemático difícil. Este proceso también se conoce como minar, y es costoso porque hay que dedicarle recursos de computación. ¿Qué sentido tiene?

  • Limitar la cantidad de bloques que se generan por unidad de tiempo. Si se han generado muchos bloques en la última hora, se puede aumentar el número de ceros de los siguientes hashes a encontrar y por consiguiente habrá menos al ser un problema exponencialmente más difícil.
  • Ante una bifurcación de la cadena, los nodos de la red aceptan siempre la variante más compleja, que no tiene por qué ser la más larga. Esto es porque al ser más compleja, más poder de computación ha sido dedicado a generarla y por consiguiente menor es la probabilidad de que haya sido generada por algún ente maligno.
  • Al que mina un bloque, se le recompensa por su esfuerzo. ¡Con bitcoins!

Para que un atacante pudiera gastar su dinero y luego machacar esa transacción con una bifurcación en la cadena, tendría que tener al menos el 51% del poder de computación o mucha mucha suerte (para encontrar rápidamente la prueba de trabajo). Algo inviable por dos razones:

  1. Si tiene el 51% de poder de computación, ganará más como minero a la larga. Además de que ante un ataque, la confianza en la criptodivisa caería y por consiguiente su cotización.
  2. Si tiene mucha mucha suerte, no durará para siempre y su cadena candidata será rápidamente sobrepasada por otra más compleja. Al descartarse su cadena candidata, todo el esfuerzo invertido habrá sido en vano y habrá perdido la recompensa de esos bloques minados.

Sea como sea, le interesa colaborar.

Prueba de X

La prueba de trabajo tiene un problema. Cuanta más gente está involucrada en la red, más se complica la prueba y más recursos hay que dedicar para encontrar la solución. Esto implica un derroche energético a todas luces inasumible.

En naranja, los países que gastan menos electricidad que el minado de Bitcoin a nivel mundial (Nov-2017)

Como solución, se han propuesto otras alternativas a la prueba de trabajo.

  • Prueba de trabajo intensa en memoria. Cambia el problema matemático . En lugar de tener que realizar muchos cálculos, es limitante es la memoria necesaria para resolverlo. Por ejemplo tema de grafos.
  • Prueba de participación. El derecho de minar el siguiente bloque viene determinado por el “interés” demostrado por el minero. EJ: la cantidad de divisa que posee puede hacer más sencilla su prueba de trabajo.
  • Prueba de quemado. El minero paga para minar el siguiente bloque. Esa cantidad se pierde (quemar dinero) y solo tiene sentido cuando la cadena de bloques representa algún activo del mundo real, ya que si no se tendría una moneda deflacionaria.
  • Prueba de autoridad. Solo algunos nodos, identificados como validadores, pueden añadir bloques. La confianza está distribuida, no es necesario minar, y solo tiene sentido en redes privadas.
  • Prueba de importancia. La importancia de un nodo está determinada por cuánta divisa tiene y las transacciones que ha hecho a lo largo del tiempo.

A pesar de todas estas estrategias, Bitcoin sigue siendo el rey de las criptodivisas aun con su prueba de trabajo ecológicamente negativa. Un libro de cuentas virtual sustentado por una miríada de entes interconectados, condenados a competir entre sí (equilibrio de Nash) por incluir su bloque en un registro que a día de hoy representa riqueza. Como ingeniero me hace cuestionarme si es una solución óptima (al igual que sucedía con las primeras locomotoras de vapor). De lo que no tengo duda es de que ambos funcionan.

¿Te interesa blockchain?¿Quieres saber si puedes hacer algún dinerillo con las criptomonedas? No te pierdas el próximo artículo de mi compañero Enrique OteroBlockchain en 5 minutos. Parte 3: Criptomonedas”.

--

--