Si un bloque actúa como un libro mayor de transacciones, ¿cuántas transacciones caben en un bloque?
Tengo que configurar una red de prueba privada donde solo una máquina puede minar mientras (muchas) otras realizan transacciones en su cadena de bloques (el minero también configura el bloque de génesis). ¿Qué sucede si el número de transacciones excede el número máximo permitido de transacciones en un bloque?
La siguiente es una explicación simplificada de lo que hace geth.
Hay dos lugares principales donde pueden estar las transacciones: en un bloque o en el grupo de transacciones (txpool).
Cuando un nodo se entera por primera vez de una transacción, la coloca en el txpool. Estas son esencialmente transacciones de confirmación cero. Hay varias formas de acceder a esto, más particularmente el pseudobloque "pendiente" en web3.
Cuando un nodo comienza a minar, tomará las transacciones de mayor pago en el txpool, una por una, y las ejecutará. Cuando se queda sin gasLimit o transacciones en el grupo, se compromete a extraer ese bloque específico. (Esto aparece en la consola como algo así como "confirmar un nuevo trabajo en el bloque X con Y txs...") Luego continúa procesando ese bloque hasta que encuentra un hash que es lo suficientemente raro como para que el bloque sea aceptado por la red.
Cualquier otra transacción, ya sea que se haya recibido antes de que comenzara a trabajar en el bloque pero no se pudo usar por algún motivo, o si se recibió después, permanece en el txpool hasta que se extrae o se invalida permanentemente por algún otro motivo.
Por lo general, en una red de prueba privada, se extraen periódicamente bloques vacíos. El número máximo de transacciones en el bloque depende del tamaño máximo del bloque. Sobre el tamaño máximo de bloque en ethereum solo consulte este enlace
usuario1870400
Mateo Schmidt