Cómo funciona la blockchain: bloques, mineros y confirmaciones
Aprende, en términos sencillos y precisos, cómo las transacciones se agrupan en bloques, se protegen con prueba de trabajo y se confirman.
Lo que aprenderás
- Qué son una transacción, un bloque y la blockchain
- Qué hacen los mineros y qué significa la prueba de trabajo
- Por qué importan las confirmaciones y cuánto tardan en promedio
- Por qué es muy difícil modificar una transacción confirmada
Explicación
Una transacción es un mensaje que dice "mueve esta cantidad de bitcoin de estas monedas a esta dirección". Se firma con la clave privada del remitente (lección 4). Los nodos comprueban que la firma sea válida y que las monedas no se hayan gastado ya.
Las transacciones válidas pero no confirmadas esperan en una cola llamada mempool (memory pool, "grupo de memoria"). Cada nodo tiene su propia mempool.
Un bloque es un paquete de transacciones más un encabezado. El encabezado contiene una referencia (un "hash") al bloque anterior. Un hash es una huella digital corta de unos datos: si los datos cambian aunque sea un poco, la huella cambia por completo. Como cada bloque apunta al anterior, los bloques forman una cadena: la blockchain (cadena de bloques), un registro público de todas las transacciones de Bitcoin.
Los mineros son participantes que construyen nuevos bloques. Para añadir un bloque, un minero debe encontrar un encabezado cuyo hash esté por debajo de un número objetivo. La única forma es probar una cantidad enorme de intentos. Esto se llama prueba de trabajo (proof of work): el resultado demuestra que se gastó mucho trabajo de cómputo (y electricidad). El minero ganador recibe la recompensa por bloque: bitcoin recién creados más las comisiones de las transacciones del bloque.
La red busca producir un bloque aproximadamente cada 10 minutos en promedio. Cada 2,016 bloques (unas dos semanas), la dificultad se ajusta: si los bloques llegaron demasiado rápido, encontrar uno se vuelve más difícil; si llegaron demasiado lento, más fácil. Aun así, un bloque individual puede llegar después de un minuto o después de una hora.
Una confirmación significa que tu transacción está en un bloque. Cada nuevo bloque encima añade una confirmación más. Para modificar una transacción antigua, un atacante tendría que rehacer la prueba de trabajo de ese bloque y de todos los posteriores, más rápido que el resto de la red. Cuantas más confirmaciones, más difícil resulta. Muchos servicios esperan varias confirmaciones (a menudo unas seis para montos mayores) antes de considerar un pago como definitivo. Consulta cuántas usa tu proveedor.
Ejemplo práctico
Ejemplo hipotético: ¿cuánto podrías esperar y con qué frecuencia gana un minero pequeño?
Supuestos: la red produce exactamente un bloque cada 10 minutos en promedio. Los tiempos reales varían.
- Bloques por día: 24 horas × 60 minutos ÷ 10 minutos = 144 bloques.
- Tiempo por periodo de dificultad: 2,016 bloques × 10 minutos = 20,160 minutos ÷ 60 ÷ 24 = 14 días.
- Espera promedio para 6 confirmaciones después de que tu transacción se incluya por primera vez: unos 6 × 10 minutos = 60 minutos. Si tu comisión es baja, también podrías esperar en la mempool antes de la primera confirmación.
- Un minero hipotético controla el 0.5% del poder total de minería. Bloques esperados por día: 144 × 0.005 = 0.72 bloques. Algunos días no encuentra ninguno y otros días encuentra dos. Por eso los mineros pequeños suelen unirse a pools de minería y compartir las recompensas.
Excluido: los costos de electricidad y de hardware de la minería, y el nivel de las comisiones, que cambia según la demanda.
Error común
Actividad práctica
Supón que los bloques llegan cada 10 minutos en promedio. (a) Un servicio exige 3 confirmaciones. ¿Cuánto dura aproximadamente la espera promedio después de la primera inclusión? (b) ¿Cuántos bloques se producen en una semana? (c) Un minero tiene el 2% del poder total de minería. ¿Cuántos bloques esperaría por semana?
Mostrar solución
(a) El primer bloque da 1 confirmación; se necesitan dos bloques más: unos 2 × 10 = 20 minutos después de la inclusión (o unos 30 minutos desde el momento en que la transmites, si entra en el siguiente bloque).
(b) 144 bloques por día × 7 = 1,008 bloques.
(c) 1,008 × 0.02 = 20.16, es decir, unos 20 bloques por semana, con variación aleatoria.
Limitaciones: los tiempos de bloque son aleatorios; los promedios describen muchos bloques, no el siguiente.
Puntos clave
- Las transacciones se agrupan en bloques que apuntan al bloque anterior y forman la blockchain.
- Los mineros usan la prueba de trabajo para añadir bloques y reciben bitcoin nuevos más comisiones.
- La red apunta a unos 10 minutos por bloque y ajusta la dificultad cada 2,016 bloques.
- Más confirmaciones hacen que un pago sea más difícil de revertir; nadie puede deshacer los pagos confirmados.
Siguiente paso
En la próxima lección aprenderás cómo se emiten los nuevos bitcoin y cómo el halving reduce la emisión.
Autoevaluación
Responde a las preguntas y luego comprueba tus respuestas. Puedes volver a intentarlo tantas veces como quieras.
Autoevaluación automática para tu propio repaso. Tus respuestas se comprueban en tu navegador y no las vemos ni evaluamos. No es un examen ni una titulación.
Tu progreso
«Completada» solo significa que marcaste la lección como terminada. No es una prueba de tu comprensión. El progreso y las notas se guardan solo en este navegador y en este dispositivo, no en una cuenta.