Cómo funciona Blockchain: explicación paso a paso
Comprender cómo funciona blockchain requiere seguir una transacción desde su inicio hasta su confirmación final. Aunque la tecnología subyacente involucra criptografía sofisticada e ingeniería de sistemas distribuidos, el proceso central es elegante en su simplicidad: las transacciones se crean, se difunden, se verifican, se agrupan en bloques y se registran permanentemente en un libro mayor compartido.
Esta guía recorre cada paso del proceso blockchain usando Bitcoin como ejemplo principal, señalando dónde otras blockchains como Ethereum difieren. Al final, entenderás exactamente qué ocurre desde el momento en que haces clic en "Enviar" hasta que tu transacción se convierte en una parte irreversible de la blockchain.
Paso 1: Creación de la transacción
Toda interacción en blockchain comienza con la creación de una transacción. Cuando decides enviar criptomonedas, el software de tu wallet construye un mensaje de transacción que contiene varias piezas de información.
Entradas y salidas de la transacción
Bitcoin usa un modelo de Unspent Transaction Output (UTXO). Piensa en los UTXO como billetes digitales en tu wallet. Si has recibido 0.5 BTC y 0.3 BTC en dos transacciones separadas, tienes dos UTXO que suman 0.8 BTC. Cuando quieres enviar 0.6 BTC, tu wallet:
- Selecciona UTXO que en conjunto cubran el monto (0.5 + 0.3 = 0.8 BTC).
- Crea una transacción con la dirección del destinatario como una salida (0.6 BTC).
- Crea una salida de cambio de vuelta a tu propia dirección (0.2 BTC menos la comisión de transacción).
- Los UTXO seleccionados pasan a estar "gastados" y las nuevas salidas se convierten en nuevos UTXO.
Ethereum usa un modelo basado en cuentas diferente, más parecido a una cuenta bancaria tradicional. Cada dirección tiene un saldo, y las transacciones simplemente debitan al remitente y acreditan al receptor.
Firma digital
Antes de que una transacción pueda difundirse, debe firmarse con la clave privada del remitente. Aquí es donde la seguridad de tu frase semilla se vuelve crítica: tu clave privada se deriva de tu frase semilla, y cualquiera que la posea puede firmar transacciones en tu nombre.
El proceso de firma funciona así:
- Los datos de la transacción se hashean usando SHA-256 (Bitcoin) o Keccak-256 (Ethereum).
- El hash se firma usando la clave privada del remitente mediante el algoritmo ECDSA.
- La firma digital resultante se adjunta a la transacción.
- Cualquiera puede verificar la firma usando la clave pública del remitente, confirmando que la transacción fue autorizada por el titular de la clave sin necesidad de ver la clave privada.
Este es un principio fundamental: firmar demuestra propiedad. Tu clave privada nunca sale de tu dispositivo durante este proceso. Solo la firma, que no puede usarse para reconstruir la clave privada, se comparte con la red.
Paso 2: Difusión de la transacción
Una vez firmada, la transacción se difunde a la red blockchain. Tu wallet se conecta a uno o más nodos (computadoras que ejecutan el software blockchain) y envía los datos de la transacción.
Propagación peer-to-peer
Las redes blockchain operan con una topología peer-to-peer (P2P). No hay un servidor central. Cuando un nodo recibe tu transacción, realiza validaciones iniciales y, si es válida, la retransmite a sus pares conectados. Esos pares validan y retransmiten de nuevo. En segundos, tu transacción se propaga por toda la red, normalmente llegando a la mayoría de los nodos en 2 a 15 segundos.
El mempool
Tras propagarse, tu transacción entra al mempool (memory pool), un área de espera de transacciones no confirmadas mantenida por cada nodo. El mempool no es un único pool compartido; cada nodo mantiene su propia versión, que puede diferir ligeramente por la latencia de red y las políticas de cada nodo.
Las transacciones en el mempool se ordenan principalmente por fee rate (satoshis por byte en Bitcoin, o gas price en Ethereum). Los mineros y validadores seleccionan primero las transacciones con mayor comisión, ya que eso maximiza sus ingresos. En periodos de alta demanda de red, el mempool puede crecer mucho y las transacciones con comisiones bajas pueden esperar horas o incluso días para confirmarse.
Comisiones de transacción
Las comisiones de transacción cumplen dos objetivos:
- Incentivar a mineros/validadores para incluir tu transacción en un bloque.
- Prevenir spam al hacer costoso inundar la red con transacciones sin sentido.
En Bitcoin, las comisiones se calculan según el tamaño de la transacción en bytes (no por el monto enviado). Una transacción de 10 BTC puede costar la misma comisión que una de 0.001 BTC si ambas tienen el mismo tamaño en bytes.
En Ethereum, las comisiones siguen el modelo EIP-1559 con una base fee (quemada) y una priority tip (pagada al validador). La base fee se ajusta dinámicamente según la congestión de la red.
Paso 3: Validación de la transacción
Antes de que una transacción pueda incluirse en un bloque, los nodos la validan de forma independiente contra las reglas del protocolo. Esta validación es crucial para mantener la integridad de la blockchain.
Comprobaciones de validación
Cada nodo realiza múltiples verificaciones sobre cada transacción que recibe:
- Validez sintáctica: ¿La transacción está correctamente formateada según la especificación del protocolo?
- Verificación de firma: ¿La firma digital coincide con la clave pública del remitente? Esto confirma que la transacción fue autorizada por el titular de la clave privada.
- Verificación de doble gasto: ¿Los UTXO referenciados (Bitcoin) siguen sin gastarse, o la cuenta (Ethereum) tiene saldo suficiente?
- Validación de script: ¿Los scripts de bloqueo y desbloqueo se ejecutan correctamente? (Bitcoin usa un lenguaje de scripting llamado Script para definir condiciones de gasto).
- Comisión adecuada: ¿La transacción incluye una comisión suficiente para cumplir el umbral mínimo de retransmisión del nodo?
- Límites de tamaño: ¿La transacción está dentro de las restricciones de tamaño del protocolo?
Si una transacción falla cualquiera de estas verificaciones, se rechaza y no se retransmite a otros nodos. Esta validación descentralizada es lo que hace que blockchain sea resistente a transacciones fraudulentas: cada nodo verifica de forma independiente cada transacción con el mismo conjunto de reglas.
Paso 4: Construcción del bloque
Los mineros (en sistemas de proof-of-work) o validadores (en sistemas de proof-of-stake) recopilan transacciones validadas del mempool y las ensamblan en un bloque candidato.
Estructura del bloque
Un bloque típico contiene:
Encabezado del bloque:
- Version: La versión del protocolo.
- Previous block hash: El hash SHA-256 del encabezado del bloque anterior. Esto es lo que crea la "cadena" en blockchain.
- Merkle root: Un único hash que resume todas las transacciones del bloque.
- Timestamp: El momento aproximado en que se creó el bloque.
- Difficulty target (PoW): El umbral por debajo del cual debe estar el hash del bloque para que sea válido.
- Nonce (PoW): Un contador que los mineros incrementan mientras buscan un hash válido.
Cuerpo del bloque:
- Transaction count: El número de transacciones incluidas.
- Transaction list: Los datos reales de las transacciones.
- Coinbase transaction: Una transacción especial inicial que crea nuevas monedas como recompensa del bloque y recopila todas las comisiones de transacción. Esta es la única transacción de un bloque que no tiene entradas: crea nueva moneda desde cero, según el calendario de emisión del protocolo.
Selección de transacciones
Los mineros normalmente seleccionan transacciones para maximizar ingresos, priorizando las que tienen mayores fee rates. Sin embargo, también deben respetar el límite de tamaño del bloque (4 MB de block weight en Bitcoin) o el límite de gas del bloque (aproximadamente 30 millones de gas en Ethereum). Esto crea un mercado natural por espacio en bloque: durante alta demanda, los usuarios compiten ofreciendo comisiones más altas.
Algunos mineros pueden tener políticas adicionales, como incluir ciertos tipos de transacciones independientemente de las comisiones o excluir transacciones que interactúan con direcciones sancionadas.
Construcción del árbol de Merkle
El árbol de Merkle se construye hasheando repetidamente pares de hashes de transacciones:
- Cada transacción se hashea individualmente.
- Los hashes adyacentes se emparejan y se hashean juntos.
- Este proceso se repite hacia arriba en el árbol hasta que queda un solo hash: la Merkle root.
La Merkle root proporciona un resumen compacto de todas las transacciones. Si alguna transacción se altera, la Merkle root cambia, revelando de inmediato la manipulación. Esta estructura también habilita Simplified Payment Verification (SPV), donde clientes ligeros pueden verificar la inclusión de transacciones sin descargar bloques completos.
Paso 5: Consenso y producción de bloques
El bloque candidato debe pasar por el mecanismo de consenso de la red para ser aceptado. Aquí es donde las distintas blockchains divergen significativamente.
Proof of Work (Bitcoin)
En proof-of-work, los mineros compiten para encontrar un valor nonce que, al combinarse con los datos del encabezado del bloque y hashearse, produzca un hash por debajo del difficulty target de la red. Esto es esencialmente una búsqueda por fuerza bruta:
- El minero construye el encabezado del bloque con todos los campos requeridos.
- El minero hashea el encabezado usando SHA-256 (aplicado dos veces en Bitcoin).
- Si el hash resultante está por debajo del difficulty target, el bloque es válido.
- Si no, el minero incrementa el nonce y lo intenta de nuevo.
- Este proceso se repite miles de millones de veces por segundo entre todos los mineros.
El difficulty target se ajusta cada 2,016 bloques (aproximadamente dos semanas) para mantener un tiempo promedio de bloque de 10 minutos, sin importar cuánta potencia total de minería haya en la red.
Cuando un minero encuentra un hash válido, ha resuelto el "rompecabezas" y puede difundir su bloque a la red. El primer minero en encontrar una solución válida gana la block reward (actualmente 3.125 BTC después del halving de abril de 2024) más todas las comisiones de transacción del bloque.
Proof of Stake (Ethereum)
Ethereum usa proof of stake, donde los validadores se seleccionan aleatoriamente para proponer bloques según la cantidad de ETH que han hecho stake (bloqueado como garantía). El proceso es fundamentalmente distinto:
- Se selecciona pseudoaleatoriamente un validador para proponer un bloque en cada slot de 12 segundos.
- El proponente crea un bloque y lo difunde.
- Un comité de validadores attests (vota) que el bloque es válido.
- Una vez que se reúnen suficientes attestations, el bloque se considera justificado y eventualmente finalizado.
Proof of stake elimina el cómputo intensivo de hash de proof of work, manteniendo la seguridad mediante incentivos económicos: los validadores arriesgan perder su ETH en stake (slashing) si actúan de forma maliciosa.
Para una comparación más profunda, consulta nuestra guía sobre Mecanismos de consenso.
Paso 6: Propagación del bloque
Una vez que se produce un bloque válido, debe distribuirse por toda la red.
Propagación en red
El minero o validador exitoso difunde el nuevo bloque a sus pares, que validan el bloque y lo retransmiten más adelante. La propagación de bloques suele tardar entre 1 y 10 segundos en alcanzar a la mayoría de la red, según el tamaño del bloque y las condiciones de red.
Compact Block Relay (BIP 152)
Bitcoin usa Compact Block Relay para acelerar la propagación. Dado que la mayoría de nodos ya tienen las transacciones en sus mempools, el bloque nuevo solo necesita transmitir un resumen compacto (IDs cortos de transacción) en lugar de datos completos de transacción. Los nodos pueden reconstruir el bloque completo desde su mempool, reduciendo los requisitos de ancho de banda aproximadamente un 90%.
Bloques huérfanos
Ocasionalmente, dos mineros encuentran bloques válidos casi al mismo tiempo, creando una bifurcación temporal. La red lo resuelve de forma natural: la cadena que recibe primero el siguiente bloque se convierte en la cadena más larga, y el otro bloque se vuelve huérfano (o bloque stale). Las transacciones del bloque huérfano regresan al mempool y normalmente se incluyen en el siguiente bloque de la cadena ganadora.
Paso 7: Validación del bloque y extensión de la cadena
Cuando un nodo recibe un bloque nuevo, valida de forma independiente el bloque completo antes de aceptarlo.
Validación completa
Los nodos verifican:
- Validez del encabezado del bloque: Formato correcto, previous block hash válido, proof of work cumple el difficulty target (o firma válida del validador en PoS).
- Validez de transacciones: Cada transacción del bloque supera las mismas verificaciones descritas en el Paso 3.
- Consistencia de Merkle root: La Merkle root calculada coincide con la del encabezado del bloque.
- Tamaño/peso del bloque: El bloque no supera los límites del protocolo.
- Validez de coinbase: La block reward y la recaudación de comisiones son correctas según las reglas actuales del protocolo.
- Rango de timestamp: El timestamp del bloque está dentro de los límites aceptables.
Si todas las verificaciones pasan, el nodo agrega el bloque a su copia local de la blockchain y actualiza su conjunto UTXO (o state trie en Ethereum). Luego retransmite el bloque a sus pares.
Paso 8: Confirmación de la transacción
Una vez que tu transacción se incluye en un bloque válido, ha recibido su primera confirmación. Cada bloque adicional agregado encima del bloque de tu transacción suma otra confirmación.
Por qué importan múltiples confirmaciones
Una sola confirmación significa que tu transacción está en la blockchain, pero teóricamente el bloque podría quedar huérfano si una cadena competidora lo supera. Cada confirmación adicional hace que la reorganización sea exponencialmente menos probable:
| Confirmaciones | Tiempo de espera en Bitcoin | Nivel de seguridad |
|---|---|---|
| 0 (sin confirmar) | — | Vulnerable a doble gasto |
| 1 | ~10 minutos | Adecuado para montos pequeños |
| 3 | ~30 minutos | Seguridad razonable |
| 6 | ~60 minutos | Estándar para montos significativos |
| 12+ | ~2 horas | Seguridad muy alta |
El estándar comúnmente citado de 6 confirmaciones para Bitcoin significa que la probabilidad de una reorganización exitosa de cadena (y por tanto un doble gasto) es astronómicamente baja: requeriría que un atacante controle más del 50% del hash power de la red y lo mantenga durante más de una hora.
Ethereum ofrece finalidad más rápida. En condiciones normales, una transacción alcanza finalidad (no puede revertirse sin quemar al menos un tercio de todo el ETH en stake) en aproximadamente 12 a 15 minutos.
Tipos de finalidad
- Finalidad probabilística (Bitcoin): Las transacciones se vuelven cada vez más difíciles de revertir con cada confirmación, pero no hay un punto absoluto de irreversibilidad. Seis confirmaciones es el umbral práctico ampliamente aceptado.
- Finalidad económica (Ethereum PoS): Después de la finalización, revertir una transacción requeriría quemar miles de millones de dólares en ETH en stake, algo económicamente irracional para cualquier atacante.
- Finalidad absoluta (algunas cadenas basadas en BFT): Las transacciones son irreversibles inmediatamente tras la confirmación del bloque. Cadenas como redes basadas en Tendermint ofrecen esta propiedad.
El panorama completo: el recorrido de una transacción
Para resumir todo el ciclo de vida:
- Inicias una transferencia desde tu wallet.
- Tu wallet construye la transacción, seleccionando entradas y salidas (UTXO) o especificando el monto de transferencia (modelo de cuenta).
- Tu clave privada firma la transacción, demostrando que la autorizaste.
- La transacción firmada se difunde a la red P2P.
- Los nodos validan la transacción y la agregan a su mempool.
- Un minero/validador selecciona tu transacción del mempool y la incluye en un bloque candidato.
- Se produce el bloque mediante proof of work o proof of stake.
- El nuevo bloque se propaga por toda la red.
- Los nodos validan y aceptan el bloque, extendiendo la cadena.
- Tu transacción gana confirmaciones a medida que se construyen nuevos bloques encima.
Todo este proceso, desde la creación hasta la primera confirmación, tarda aproximadamente 10 minutos para Bitcoin y 12 segundos para Ethereum, aunque tu transacción puede pasar tiempo adicional en el mempool esperando ser seleccionada.
La seguridad de tu transacción comienza con tus claves. Usa el SafeSeed Seed Phrase Generator para crear una frase semilla BIP-39 criptográficamente segura. Cada paso del proceso blockchain, desde firmar transacciones hasta demostrar propiedad, depende de la seguridad de tus claves privadas, que se derivan de tu frase semilla.
Conceptos avanzados
Maleabilidad de transacciones
En las primeras versiones de Bitcoin, era posible modificar el ID de una transacción (txid) sin invalidarla, una propiedad llamada maleabilidad de transacciones. Esto se resolvió en gran medida con la actualización Segregated Witness (SegWit) en 2017, que separa los datos de firma de los datos de transacción, asegurando que el txid no pueda alterarse después de firmar.
Replace-By-Fee (RBF)
Bitcoin soporta Replace-By-Fee, permitiendo que un remitente reenvíe una transacción con una comisión mayor para acelerar la confirmación. La nueva transacción reemplaza a la original en el mempool. Esto es útil cuando la red está congestionada y tu comisión original era demasiado baja. Las wallets que soportan RBF marcan las transacciones como reemplazables, y la versión con mayor comisión toma prioridad.
Agrupación de transacciones
Los exchanges y grandes remitentes suelen agrupar múltiples pagos en una sola transacción con múltiples salidas. Esto es más eficiente en espacio que enviar transacciones individuales, reduciendo las comisiones totales y el uso del espacio en bloque.
Preguntas frecuentes
¿Cuánto tarda una transacción en blockchain?
El tiempo de transacción varía según la blockchain. Bitcoin promedia un bloque cada 10 minutos, pero tu transacción puede esperar en el mempool antes de incluirse. Ethereum produce bloques cada 12 segundos. Soluciones de Capa 2 como Lightning Network pueden liquidar pagos en milisegundos. El tiempo total desde el envío hasta la primera confirmación depende de la congestión de red y de la comisión que pagues.
¿Qué pasa si envío a la dirección equivocada?
Las transacciones en blockchain son irreversibles. Si envías criptomonedas a la dirección equivocada, no hay una autoridad central que pueda revertir la transacción. Si la dirección pertenece a alguien, tendrías que contactarlo directamente y esperar que devuelva los fondos. Si la dirección es inválida o no pertenece a nadie, los fondos se pierden de forma efectiva para siempre. Verifica siempre dos veces las direcciones antes de enviar.
¿Puede fallar una transacción en blockchain?
En Bitcoin, una transacción correctamente construida y firmada eventualmente se confirmará (aunque puede tardar mucho con una comisión muy baja). En Ethereum, las transacciones pueden fallar (revert) si la ejecución del smart contract encuentra un error o se queda sin gas. En ambos casos, la comisión de transacción se consume igualmente. Algunas wallets ofrecen simulación de transacción para predecir si tendrá éxito antes de enviarla.
¿Qué es un hash de transacción (txid)?
Un hash de transacción (txid o transaction ID) es un identificador único asignado a cada transacción. Se genera hasheando los datos de la transacción. Puedes usar el txid para rastrear tu transacción en un explorador de bloques (como mempool.space para Bitcoin o etherscan.io para Ethereum). El txid se asigna tan pronto como se crea la transacción y no cambia una vez confirmada.
¿Por qué fluctúan las comisiones de transacción?
Las comisiones de transacción se determinan por la oferta y demanda de espacio en bloque. Cuando muchos usuarios transaccionan al mismo tiempo, compiten por espacio limitado en bloque ofreciendo comisiones más altas. En periodos tranquilos, las comisiones bajan. El espacio de bloque en Bitcoin es fijo (4 MB de peso por bloque cada 10 minutos), por lo que las comisiones pueden dispararse durante alta demanda. EIP-1559 de Ethereum ofrece una base fee más predecible que se ajusta algorítmicamente según la utilización de la red.
¿Cuál es la diferencia entre transacciones confirmadas y no confirmadas?
Una transacción no confirmada existe en el mempool pero aún no se ha incluido en un bloque. Está pendiente y teóricamente podría reemplazarse o descartarse. Una transacción confirmada se ha incluido en un bloque y agregado a la blockchain. Con cada bloque adicional construido encima, el número de confirmaciones aumenta y la transacción se vuelve cada vez más difícil de revertir.
¿Pueden los mineros decidir no incluir mi transacción?
Sí. Mineros y validadores pueden elegir qué transacciones incluir en sus bloques. No están obligados a incluir ninguna transacción específica. Sin embargo, los incentivos económicos los motivan fuertemente a incluir tantas transacciones con comisión como sea posible. En la práctica, cualquier transacción válida con una comisión adecuada terminará siendo incluida por algún minero, incluso si algunos deciden ignorarla.