Konsenslogik mit einem Beispiel
- Person A generiert eine Transaktion, um etwas Ether an Person B zu übergeben
- Die Transaktion wird auf dem Knoten übermittelt
- Der Knoten leitet diese unbestätigte Transaktion dann an das gesamte verbundene Netzwerk weiter
- Die Miner holen die unbestätigte Transaktion ab
- Sie versuchen, zufällig die Nonce zu generieren, um den richtigen Hash zu finden
- Einer der Miner findet also die richtige Nonce, um den Block zu generieren
- Nun schickt dieser Miner diesen Block an den Peer, der dann weiter an die nächsten Peers sendet und nach und nach erhält jeder den Block
- Jeder überprüft die Arbeit, ob sie die Kriterien erfüllt
- Sobald sie zufrieden sind, nehmen sie diesen Block in ihr Hauptbuch auf
- Bergmann wird belohnt
- Das Guthaben von B wird aktualisiert
- Somit ist die Zahlung von A nun bestätigt
- Genauso wie A denke, dass mehrere Transaktionen zur Weitergabe von Äther gleichzeitig aufgerufen wurden
- Sagen wir von C->D, E->F, GH usw.
Fragen:
Q1 und Q2: Die Anzahl der Transaktionen in einem Block wird durch das Blockgaslimit geregelt – ein Rechenlimit, das die maximale Anzahl an Berechnungen darstellt, die ein Miner durchführen wird, um den vollständigen Satz von Transaktionen in einem bestimmten Block auszuführen. Jede Transaktion wird aus einer Reihe von Anweisungen gebildet, und jeder Anweisung ist ein Gaspreis zugeordnet. Die Gaspreise werden im Anhang G des Ethereum-Gelbpapiers veröffentlicht .
Q3: Genau genommen gibt es keine direkte Wartezeit (gemessen in Rohzeit). Die Schwierigkeit der Proof-of-Work-Berechnung ist jedoch so eingestellt, dass die Zeit zwischen Blockerstellungen im Durchschnitt einem vordefinierten Intervall entspricht, von dem bekannt ist, dass es ein stabiles System aufrechterhält .
Wenn in diesem Intervall keine Transaktionen stattfinden, wird dennoch ein Block generiert. Dies ist immer noch nützlich, da neue Blöcke frühere Blöcke verstärken.
Miner werden auch für die Transaktionen belohnt, die in einem Block enthalten sind, den sie erfolgreich abbauen, daher werden sie dazu angeregt, so viele Transaktionen wie möglich einzubeziehen – innerhalb des Blockgaslimits. Dies hält Bergleute davon ab, die Liste der Transaktionen, die sie in einen Block aufnehmen, zu kürzen, obwohl ein Bergmann dies streng genommen tun könnte. Wenn alle Miner eine solche Strategie übernehmen würden, würde es einen Effizienzverlust geben (Transaktionsrückstand wächst), aber die Integrität der Blockchain geht nicht verloren.
Der Miner beeinflusst , welche Transaktionen in den Block aufgenommen werden. Er wird jedoch dazu angeregt, so viele TXs mit hohen Gaspreisen wie möglich einzubeziehen, um eine maximale Entschädigung zu erhalten
Ja, jeder Block hat ein Gaslimit . Wenn also zu viele unbestätigte TXs vorhanden sind, werden nicht alle in den Block aufgenommen. Stattdessen werden Transaktionen verarbeitet, bis das Blockgaslimit erreicht ist. Diese Gasgrenze liegt zum Zeitpunkt des Schreibens bei etwa 4.000.000. Das Protokoll ermöglicht eine dynamische Anpassung dieses Limits (~0,09 % pro Block) relativ zur Netzwerkauslastung. Ethereum ist also so gebaut, dass es sich allmählich an eine höhere Auslastung anpasst.
Wartezeiten gibt es meines Wissens nicht . Wenn ein Miner den erforderlichen Hash erraten kann, wird der Block abgebaut. Wenn dies nicht der Fall wäre, gäbe es niemals einen Block mit geringerem Gasverbrauch und somit keine Anpassung des Gaslimits nach unten.
Gipfel
Zanzu
Gipfel
Zanzu
Gipfel