Wie wird der minimal akzeptable Gaspreis für Bergleute bestimmt?

In Abschnitt 5 des gelben Papiers heißt es: „Es wird eine (gewichtete) Verteilung der akzeptablen Mindestgaspreise geben.“ Meine Frage ist, was, wenn überhaupt, der Durchsetzungsmechanismus ist, der diese Verteilung sicherstellt? Was hält jeden Miner davon ab, einen hohen Gaspreis zu wollen?

Antworten (5)

Jeder Kunde kann den Mindestgaspreis für eingehende Transaktionen festlegen. Transaktionen mit einem Gaspreis unter dem Limit werden nicht propagiert und in den ausstehenden Block aufgenommen. Das bedeutet, dass selbst Bergleute mit einem Mindestgaspreis von 0 existieren könnten, Transaktionen mit niedrigem Gaspreis können sie nicht erreichen, da sie nicht von anderen Kunden propagiert werden.

Genauer gesagt, wie würden Sie einen akzeptablen Gaspreis von 0 in Etminer/Geth festlegen?
Der Befehlszeilenschalter --gasprice würde dies tun.
Das bedeutet, dass der normale Geth-Client keine Transaktion mit GasPrice unter 20 GWei (aktueller Standard-GasPrice) propagiert? Gibt es eine Möglichkeit zu überprüfen, ob eine Transaktion von mindestens einem anderen Client weitergegeben wird, oder von einem Peer benachrichtigt zu werden, wenn er die Weitergabe einer Transaktion ablehnt?
@GiuseppeBertone, leider scheint es derzeit keine Möglichkeit zu geben, Informationen über Ihren Transaktionsstatus im Netzwerk zu erhalten (ob sie gesendet, von anderen akzeptiert usw. wurden).

Als Antwort auf euri10die Frage von (dies sollte ein Kommentar statt einer Antwort sein, aber ich kann Kommentare nicht formatieren), hier ist das geth --helpSnippet, das die Optionen zum Festlegen der Gaspreisoptionen anzeigt - versuchen Sie, es auf "0" zu setzen:

MINER OPTIONS:
...
  --gasprice "20000000000"  Minimal gas price to accept for mining a transactions
...
Manchmal lohnt es sich, Änderungen an Antworten vorzuschlagen, wenn sie nur geringfügige Anpassungen enthalten.

Jeder Bergmann kann seinen eigenen Mindestgaspreis festlegen, den er akzeptiert. Es besteht also kein Konsens darüber, welcher Wert das sein sollte. Es ist genauso, wie die Transaktionsgebühr in Bitcoin funktioniert.

Was hält jeden Miner davon ab, einen hohen Gaspreis zu wollen?

Konkurrenz mit anderen Bergleuten.

Angenommen, ich lege einen hohen Benzinpreis fest, und Sie legen einen niedrigen Benzinpreis fest, der immer noch hoch genug ist, um profitabel zu sein. Ich werde Transaktionen mit einem mittleren Gaspreis ignorieren, aber sie werden nicht verschwinden; Sie werden sie stattdessen abbauen. Dadurch werden Sie profitabler als ich. Sie werden besser in der Lage sein, höhere Hash-Raten zu finanzieren, und wenn ich fortfahre, kann es sein, dass ich mit zunehmender Schwierigkeit unrentabel werde.

(Dies gilt, solange die Blöcke nicht sowieso voller hochpreisiger Transaktionen sind.)

im aktuellen geth 1.10.4 sind die Standardwerte für den Gaspreis:

eth/ethconfig/config.go, Zeilennummer 84:

Miner: miner.Config{
    GasFloor: 8000000,
    GasCeil:  8000000,
    GasPrice: big.NewInt(params.GWei),
    Recommit: 3 * time.Second,
},

hier big.NewInt(params.GWei),bedeutet das, dass der Gaspreis genau 1 GWei beträgt

jetzt wird hier der minimal mögliche Gaspreis definiert:

params/protocol_params.go, Zeilennummer 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.

Das im Protokoll definierte Mindestgas beträgt also 5000 Wei

Natürlich wird jeder Miner seine Standardeinstellungen festlegen, aber wenn Sie das Gas auf 1 Gwei einstellen, bleibt Ihre Transaktion nicht hängen und wird vom Netzwerk weitergegeben, da die Mehrheit der Knoten sie auf Standard eingestellt hat und Ihre Transaktion erneut sendet Transaktion weiterleiten