Mastering Bitcoin
4. ¿Cómo funciona Bitcoin? » Minando Transacciones en Bloques
Página 22 de 98
Minando Transacciones en Bloques
Una transacción transmitida a través de la red no es verificada hasta que forma parte del libro contable distribuido global, la cadena de bloques. Cada 10 minutos de media, los mineros generan un nuevo bloque que contiene todas las transacciones desde el último bloque. Las nuevas transacciones fluyen constantemente en la red desde los monederos de usuarios y otras aplicaciones. Cuando son vistas por los nodos de la red, se añaden a un conjunto temporal de transacciones no verificadas que es mantenido por cada nodo. Una vez los mineros crean un nuevo bloque, añaden las transacciones no verificadas desde esta agrupación a un nuevo bloque y luego intentan resolver un problema muy complejo (también conocido como prueba de trabajo) para probar la validez del nuevo bloque. El proceso de minado se explica en detalle en el apartado con respecto a la minería.
Las transacciones se añaden al nuevo bloque, priorizadas por las de mayor comisión y algunos otros criterios. Cada minero empieza el proceso de minar un nuevo bloque de transacciones tan pronto como recibe el bloque anterior desde la red, sabiendo que que ha perdido la anterior ronda de competición. Inmediatamente crea un nuevo bloque, y lo rellena con transacciones y la huella digital del anterior bloque, y empieza calculando la prueba de trabajo del nuevo bloque. Cada minero incluye una transacción especial en su bloque, una que paga a su propia dirección bitcoin una recompensa de bitcoins recién creados (actualmente 25 BTC por bloque). Si encuentra una solución que haga ese bloque válido, «gana» esa recompensa porque su bloque exitoso es añadido a la cadena de bloques y la transacción de recompensa se convierte en gastable. Jing, que participa en la agrupación de minado, ha configurado su software para crear nuevos bloques que asignen la recompensa a la dirección de la agrupación. Desde ahí, una parte de la recompensa se distribuye a Jing y otros mineros en proporción a la cantidad de trabajo con que hayan contribuido en la última ronda.
La transacción de Alice fue recogida por la red e incluida en la agrupación de transacciones no verificadas. Debido a que tenía suficientes comisiones, fue incluida en un nuevo bloque generado por la agrupación minera de Jing. Aproximadamente cinco minutos después de que la transacción fuera transmitida por el monedero de Alice, el minero ASIC de Jing encontró la solución para el bloque y lo publicó como bloque #277316 en la red bitcoin, conteniendo otras 419 transacciones más. El minero ASIC de Jing publicó el nuevo bloque en la red bitcoin, donde otros mineros lo validaron y empezaron de nuevo la carrera por generar el siguiente bloque.
Puede ver el bloque que incluye la transacción de Alice
Unos minutos más tarde, un nuevo bloque, #277317, es minado por otro minero. Debido a que este nuevo bloque está basado en el bloque previo (#277316) que contiene la transacción de Alice, añade aún más computación sobre ese bloque, y por tanto fortalece la confianza en esas transacciones. El bloque que contiene la transacción de Alice se cuenta como una «confirmación» de esa transacción.
Cada bloque minado sobre el que contiene la transacción es una confirmación adicional. Cuando los bloques se apilan unos encima de otros, se vuelve exponencialmente más difícil deshacer la transacción, con lo que se hace más y más confiable por la red.
En el diagrama en Transacción de Alice incluida en el bloque #277316 podemos ver el bloque #277316, que contiene la transacción de Alice. Bajo ella hay 277.316 bloques (incluyendo el bloque #0), unido uno a otro en una cadena de bloques (blockchain) todo el camino atrás hasta el bloque #0, conocido como bloque génesis. Con el tiempo, a medida que la «altura» en los bloques aumenta, también lo hace la dificultad de cómputo para cada bloque y la cadena en su conjunto. Los bloques minados después del que contiene la transacción de Alice actúan como mayor garantía, a medida que acumulan más computación en una cadena más y más larga. Por convención, cualquier bloque con más de seis confirmaciones se considera irrevocable, porque se requiere una inmensa cantidad de cálculo computacional para invalidar y recalcular seis bloques. Examinaremos ese proceso de minado y la manera en que genera confianza en más detalle en el capítulo 10.

Figura 9. Transacción de Alice incluida en el bloque #277316.