¿Cómo verifica un minero una transacción que está gastando una salida de otra transacción en el mismo bloque?

Se menciona en esta publicación que:

Si toda la validación de todas las transacciones en un bloque tiene éxito, las entradas consumidas se eliminan de la base de datos y todas las salidas de esas transacciones se agregan como salidas nuevas no gastadas en la base de datos, lo que permite que se gasten en bloques futuros.

Pero si el conjunto UTXO se actualiza solo después de agregar un bloque, y un minero solo verifica el conjunto UTXO para comprender las salidas gastadas/no gastadas, ¿cómo ocurrirá la verificación si una transacción (por ejemplo, tx_B) en un bloque gasta una salida de otra transacción ( decir tx_A) en el mismo bloque? En otras palabras, ¿cómo comprenderá tx_B el estado de la salida de tx_A si la salida aún no está almacenada en el conjunto UTXO?

¿Responde esto a tu pregunta? Gastar UTXO del mismo bloque
@Anónimo No, sé que puede ocurrir gastar UTXO del mismo bloque, pero mi pregunta es cómo ocurre la verificación si los mineros no ven UTXO de su mismo bloque en el conjunto de UTXO.
La respuesta es la misma, los bloques se procesan secuencialmente y la UTXO se actualiza efectivamente después de cada operación. Por lo tanto, una transacción posterior en el mismo bloque puede gastar una anterior.
@Anónimo, ¡Perfecto! Esto es lo que estaba buscando y faltaba en la otra pregunta: el conjunto UTXO se actualiza después de la verificación de cada transacción (no después de agregar un bloque). Gracias por tu respuesta.

Respuestas (1)

Mientras un minero crea una plantilla de bloque, mantiene un conjunto de UTXO "virtual" para realizar un seguimiento de los UTXO consumidos y los UTXO recién creados. Una transacción solo puede incluirse en un bloque una vez que todos sus insumos están disponibles para gastar, por lo que este enfoque también es suficiente para lograr el orden topológico de transacciones requerido.