Leí la Guía para desarrolladores ( bitcoin.org/en/developer-guide ), pregunté a algunos compañeros y todavía no entiendo cómo se usan las transacciones para formar el bloque.
Entendí que las transacciones se usan para formar el árbol de Merkle. ¿Todas las personas que extraen el siguiente bloque usan las mismas transacciones para formar el árbol de Merkle?
Digamos que la red Bitcoin tiene las transacciones A, B, C, X, Y y Z. Todas ellas no están confirmadas.
Estoy minando las transacciones ABC y tú estás minando XYZ. Si es así, si encuentro un bloque que contiene ABC, ¿examinaré las transacciones XYZ?
Si encuentro un bloque, tendrá que verificar qué transacciones incluí en el bloque antes de formar el siguiente árbol Merkle, ¿verdad? De lo contrario, puede usar, por ejemplo, la transacción B nuevamente, que ya fue confirmada por mí.
¿Todas las personas que extraen el siguiente bloque usan las mismas transacciones para formar el árbol de Merkle?
No. Esto puede surgir porque los mineros eligen las transacciones de manera diferente (¡digo que no debería haber transacciones gratuitas!) o porque solo el 90% de la red conoce una transacción.
Estoy minando las transacciones ABC y tú estás minando XYZ. Si es así, si encuentro un bloque que contiene ABC, ¿examinaré las transacciones XYZ?
Eso depende de por qué no incluyó XYZ en su primer bloque.
Si encuentro un bloque, tendrá que verificar qué transacciones incluí en el bloque antes de formar el siguiente árbol Merkle, ¿verdad? De lo contrario, puede usar, por ejemplo, la transacción B nuevamente, que ya fue confirmada por mí.
Sí. Los clientes de minería descargan y validan completamente los bloques antes de minar sobre ellos.
Nick ODell
anónimo