¿Cómo se incorpora el mempool en el cálculo del hash del bloque?

Así que he estado leyendo acerca de cómo se calcula el nonce. Hay una parte que no entiendo. Entonces, hay un mempool, y cada nodo (o nodo de minería) toma una parte (o la parte completa) de ese mempool, calcula una raíz merkle y la combina con un nonce para obtener un hash que tiene un cierto nivel de dificultad.

¿El mempool (o parte de él) se convierte primero en un hash mediante el software de minería y luego ingresa al cálculo de nonce?

¿Existen requisitos sobre cómo se ordenan las transacciones cuando se extrae un bloque?

¿Pueden los nodos elegir el orden de las transacciones en un bloque? ¿Un nodo es libre de elegir cualquier orden de las transacciones que quiera o debe elegirse cronológicamente?

(siéntase libre de editar la pregunta, traté de explicarlo lo mejor que pude)

Respuestas (1)

Cada nodo de la red tiene un mempool. El mempoolcontiene transacciones no confirmadas. Cada uno mempoolpuede ser ligeramente diferente, ya que constituyen un subconjunto de todas las transacciones no confirmadas en la red: es posible que algunas no se hayan transmitido a un nodo, por lo que no las conoce, el propietario del nodo ha establecido un nivel más alto minTxRelayFeey ha filtrado algunas transacciones con tarifa baja, o el propietario del nodo ha establecido un límite de datos más pequeño para su mempool.

De todos modos, todo lo anterior también es cierto para el nodo de cualquier minero. Cuando los mineros intentan encontrar un bloque, seleccionan un conjunto de transacciones para confirmar desde su archivo mempool. A partir de estas transacciones, construyen un árbol de Merkle. El árbol de Merkle permite que todos los datos de la transacción estén representados solo por la raíz de Merkle . Esta raíz de Merkle es parte del encabezado del bloque.
Los mineros pueden elegir qué transacciones incluir libremente y también pueden ponerlas en el orden que deseen, siempre que las transacciones sean válidas. Dado que ahora suele haber más transacciones disponibles para confirmación que espacio en bloque, los mineros suelen seleccionar transacciones que maximizan las tarifas que el minero puede ganar.

Entonces, los mineros seleccionaron algunas transacciones y crearon un árbol Merkle para contenerlas. Combinan esto con las otras partes del encabezado del bloque: Marca de tiempo, Referencia al bloque anterior, declaración de dificultad y el nonce. Es nonceun número arbitrario, por lo que los mineros pueden crear un bloque candidato con todos los demás datos y luego probar este candidato muchas veces recorriendo todos los valores posibles para el nonce.
En cada intento, colocan el encabezado del bloque en el algoritmo hash y reciben un resumen o hash de los datos. Si este hash satisface la declaración de dificultad, el minero ha encontrado un nuevo bloque y lo transmitirá a la red.