Cómo funciona y se protege una blockchain. Eh… ¿cómo funcionaba la minería?
¿Qué es una blockchain, cómo se protege y cuál es exactamente el papel de la minería? En este vídeo didáctico de 2022 (en francés), grabado poco después del fin de la minería de Ethereum, volvemos a lo básico: principios de una blockchain, hash, nonce, encadenamiento de los bloques, dificultad, pools de minería y ataque del 51 %. Está pensado tanto para principiantes como para mineros que quieren afianzar sus conocimientos, con algunas simplificaciones para que sea accesible.
¿Qué es una blockchain?
Una blockchain, o cadena de bloques, es ante todo una herramienta que permite almacenar información y transmitirla: una especie de base de datos, comparable a un gran libro de registro en el que se anotan informaciones que ya no pueden falsificarse. Hay varios tipos:
- Pública o privada: en una blockchain pública, cualquiera puede participar y enviar transacciones. Es el caso de Bitcoin, Ethereum o Ripple, y de la mayoría de las criptomonedas. Las blockchains privadas se reservan más bien a usos B2B, como Hyperledger Fabric o las desarrolladas en JP Morgan;
- Permissionless o permissioned: una blockchain permissionless permite actuar de forma anónima, sin conocer la identidad de los participantes. Es la que usamos en minería. En una blockchain permissioned, los participantes deben estar identificados;
- Centralizada o descentralizada: una blockchain descentralizada no tiene nodo central. Se basa en una red entre pares en la que cada nodo completo (full node) tiene una copia íntegra de la blockchain y participa en la red.
El recorrido de una transacción
Tomemos un wallet A que envía bitcoins a un wallet B. La transacción se difunde en la red y luego se agrupa con otras en un bloque. Ese bloque se transmite a los nodos de la red, que lo validan mediante técnicas criptográficas, principalmente la prueba de trabajo (proof of work). Una vez validado, el bloque se añade a la cadena y el wallet B recibe los fondos. Tres principios lo hacen posible: una base de datos distribuida, un protocolo de consenso para validar las transacciones y la inmutabilidad de las transacciones pasadas.
El hash y el nonce
El hash es el núcleo de la seguridad. En Bitcoin, el algoritmo utilizado es SHA-256: sean cuales sean los datos de entrada, la función hash produce un resultado, el hash, una larga cadena de caracteres. Los mismos datos dan siempre el mismo hash, pero el más mínimo cambio, por ejemplo en el importe de una transacción, da un hash completamente distinto: cualquier falsificación se detecta de inmediato.
El nonce es un número que solo puede utilizarse una vez en criptografía. Es el núcleo de la prueba de trabajo: funciona en combinación con el hash y evita la manipulación de la información del bloque. Minar consiste en probar un enorme número de valores de nonce hasta obtener un hash válido, es decir, que cumpla la dificultad fijada por la red.
Bloques encadenados: por qué no se puede reescribir el pasado
Un bloque contiene su número, los datos de las transacciones, el nonce, su hash y el hash del bloque anterior. Este último elemento es el que crea la cadena: si alguien modifica el contenido del bloque 1, su hash cambia, el bloque 2, que contenía el hash antiguo, deja de ser válido, y así sucesivamente con todos los bloques siguientes. Para modificar una transacción pasada habría que volver a minar todos los bloques posteriores, un trabajo de cálculo enorme.
Para profundizar: Bitcoin, Ethereum y muchas criptomonedas organizan internamente sus transacciones en un árbol de Merkle.
La dificultad y los pools de minería
La dificultad se ajusta automáticamente para que el tiempo entre dos bloques se mantenga estable: si llegan más mineros y los bloques se encuentran demasiado rápido, la dificultad aumenta. De forma simplificada, la dificultad corresponde a la potencia de cálculo de la red multiplicada por el tiempo de bloque objetivo. Ejemplo en Ethereum Classic en el momento de la grabación: un hashrate de red de unos 143 TH/s, es decir, 0,143 PH/s, y un bloque cada 13 segundos aproximadamente dan una dificultad cercana a la indicada, unos 1,88 PH. Este mecanismo es esencial: tras el Merge de Ethereum, Ergo tuvo serios problemas porque su dificultad de minería no conseguía actualizarse correctamente.
En un pool de minería, una parte llamada stratum organiza el reparto del trabajo: envía a cada minero una parte de la prueba de trabajo, con su propia dificultad. Los mineros devuelven sus soluciones (los shares) y el pool, conectado a la blockchain, difunde el bloque en la red cuando se encuentra.
El ataque del 51 % y los forks
Para imponer una versión modificada de la blockchain, un atacante necesita controlar más del 50 % de la potencia de cálculo de la red. Por eso las nuevas criptomonedas de prueba de trabajo son vulnerables en sus inicios, sobre todo en el momento de la grabación: con el fin de la minería de Ethereum, había tanta potencia de cálculo disponible que grandes mineros podían inundar una criptomoneda concreta, superar el 50 % del hashrate y llevar a cabo un ataque del 51 %.
También puede ocurrir que una blockchain se divida temporalmente: es lo que se llama un fork. Dos caminos separados coexisten durante un tiempo y después la red acaba convergiendo en una sola cadena.
Los smart contracts, sus principios y su implementación podrían ser el tema de un próximo vídeo: dinos en los comentarios si te interesa.
Para elegir adónde enviar tu potencia de cálculo, lee nuestro artículo Cómo elegir tu pool de minería y encuentra todos nuestros vídeos en nuestra página de tutoriales. ¿Quieres contribuir a proteger la red de Bitcoin? Descubre nuestros mineros de Bitcoin.

