Sind Onkelblöcke unnötiger Mehraufwand für die Blockchain?

Ich habe viel über Ethereum gelernt, aber jetzt stecke ich mit widersprüchlichen Gedanken über Blockzeiten und veraltete Blöcke fest. Hier ist, was ich verstanden habe, bitte korrigieren Sie mich, wenn ich falsch liege.

Blockzeit für Bitcoin – 10 Minuten –
die so gehalten wird, dass die Wahrscheinlichkeit von verschwendeten berechneten Hashes bei etwa 10 % liegt, was angeblich überschaubar ist.

Blockzeit für Ethereum – 15 bis 19 Sekunden – Nun, obwohl veraltete Blöcke in diesem Zeitraum auftreten, werden sie als Onkelblöcke abgegrenzt, die bis zu sieben Generationen akzeptiert werden können.

Bei Bitcoin wird also nur der erste akzeptierte Block belohnt und alle restlichen veralteten Blöcke werden dann verworfen.

Bei Ethereum kann ich mir das jedoch nicht vorstellen. Selbst wenn veraltete Blöcke alle 15 Sekunden hinzugefügt werden, fügt dies der Blockchain nicht unnötige, nicht funktionierende Blöcke hinzu? Dadurch wird die Leistung in irgendeiner Weise beeinträchtigt? Oder bieten diese Onkelblöcke einige Funktionen?

Wenn zum Beispiel 5 Blöcke hinzugefügt werden und jeder Block 7 Generationen von Onkeln hat, bedeutet dies nicht eine Menge von 5 * ( 7 Generationen ) veralteter Blöcke. Ist das nicht schlimm?

Sind die Gedanken richtig?

Wo haben Sie diese Behauptung gelesen? "Was so gehalten wird, dass die Wahrscheinlichkeit von verschwendeten berechneten Hashes bei etwa 10% liegt, was angeblich überschaubar ist"

Antworten (1)

Bei Ethereum erhalten die Ommer (dh die Onkel bis zur 6. Generation davor sind "im Hauptblock enthalten") eine Belohnung. Gemäß der Ethereum-Protokollspezifikation (gelbes Papier) ist es möglich, höchstens zwei Ommer-Header in den Block aufzunehmen .

Es ist erwähnenswert, dass die Körper der Ommer (dh ihre Transaktionen und ihre Ommer) nicht im Block enthalten sind, sodass ihre Transaktionen nicht berücksichtigt werden.

Um zu überprüfen, ob ein Block gültig ist (in Bezug auf die Ommer), müssen Sie überprüfen, ob die Header gültig sind, aber nicht ihre Transaktion oder den von ihnen berechneten Status.

Ommer sind also eine Möglichkeit, andere Mitglieder des Netzwerks zu belohnen, die „gleichzeitig“ einen Block erstellen konnten. Die Ersteller neuer Blöcke werden dazu angeregt, Ommer-Header einzufügen.

Um mehr Details zu erhalten, können Sie einen Blick auf das Yellow Paper werfen (insbesondere Abschnitt 11.1 und 11.3). Außerdem können Sie sich diese interessante Antwort ansehen .

Lassen Sie es mich wissen, wenn etwas unklar ist, werde ich versuchen, die Antwort zu verbessern.

Also, wo leben die Ommer, wenn nicht in der Haupt-Blockchain? Gibt es einen separaten Platz für Onkelblöcke?
Außerdem fand ich dieses trustnodes.com/2017/12/05/…
Die Ommer leben nicht im Hauptblock, sondern in den Forks (nach einer Bestätigungszeit ist es also sicher, alte Ommer zu stornieren, da sie nicht zur Hauptblockkette beitragen).
Jeder Block, der der Hauptblockkette hinzugefügt wird, fügt der Kette also einen Fork hinzu, der die Ommer für diesen abgebauten Block enthält? Wird die Kette dann nicht mit Gabeln überschwemmt? :Ö
Eigentlich ist es nicht der Fall. Immer wenn ein Node weiß, dass es einen Fork gibt, kann er die Auswahlregel anwenden, um die „kanonische Blockchain“ (d. h. die einzige, die zählt) auszuwählen, indem er diejenige auswählt, in der die aggregierte Schwierigkeit (die Summe der Schwierigkeit aller Blöcke, ist maximal). Nach einer Bestätigungszeit (z. B. einer Anzahl von Blöcken) können Sie also ziemlich sicher sein, dass diese Blöcke kanonisch sind. So können Sie die alten Gabeln vergessen.