En la sección 5 del libro amarillo , se establece que "habrá una distribución (ponderada) de los precios mínimos aceptables del gas". Mi pregunta es cuál es, si lo hay, el mecanismo de aplicación que garantiza esta distribución. ¿Qué impide que todos los mineros deseen un precio alto de la gasolina?
Cada cliente puede establecer el precio mínimo del gas de las transacciones entrantes. Las transacciones con precio de gas por debajo del límite no serán propagadas e incluidas en el bloque pendiente. Eso significa que incluso si existen mineros con un precio mínimo de gas de 0, es posible que las transacciones con un precio de gas bajo no lleguen a ellos, ya que otros clientes no las propagan.
Respondiendo a euri10
la pregunta de (esto debería ser un comentario en lugar de una respuesta, pero no puedo formatear en los comentarios), aquí está el geth --help
fragmento que muestra las opciones para establecer las opciones de precio del gas; intente establecerlo en "0":
MINER OPTIONS:
...
--gasprice "20000000000" Minimal gas price to accept for mining a transactions
...
Cada minero puede establecer su propio precio mínimo de gas que está aceptando. Por lo tanto, no hay consenso sobre qué valor debería ser ese. Es como funciona la tarifa de transacción en Bitcoin.
¿Qué impide que todos los mineros deseen un precio alto de la gasolina?
Competencia con otros mineros.
Digamos que establezco un precio de gasolina alto y usted establece un precio de gasolina bajo que aún es lo suficientemente alto como para ser rentable. Ignoraré las transacciones con un precio de gasolina medio, pero no desaparecerán; en su lugar, los extraerás. Esto te hará más rentable que yo. Podrá financiar mejor las tasas de hash más altas y, si continúo, es posible que no sea rentable a medida que aumenta la dificultad.
(Esto será cierto siempre que los bloques no estén llenos de transacciones de alto precio).
en geth 1.10.4 actual, los valores predeterminados del precio del gas son:
eth/ethconfig/config.go
, línea número 84:
Miner: miner.Config{
GasFloor: 8000000,
GasCeil: 8000000,
GasPrice: big.NewInt(params.GWei),
Recommit: 3 * time.Second,
},
aquí big.NewInt(params.GWei),
significa que el precio del gas es exactamente 1 GWei
ahora, el precio mínimo posible del gas se define aquí:
params/protocol_params.go
, línea número 23
package params
import "math/big"
const (
GasLimitBoundDivisor uint64 = 1024 // The bound divisor of the gas limit, used in update calculations.
MinGasLimit uint64 = 5000 // Minimum the gas limit may ever be.
GenesisGasLimit uint64 = 4712388 // Gas limit of the Genesis block.
entonces, el gas mínimo como se define en el protocolo es 5000 wei
Por supuesto, cada minero establecerá sus valores predeterminados, pero si establece el gas en 1Gwei, su transacción no se bloqueará y la red la propagará porque la mayoría de los nodos la tendrán predeterminada y retransmitirán su transacción hacia adelante
eur10
Mateo Schmidt
Giuseppe Bertone
Paweł Bylica