Was ist die Blockreifezeit?

Ich habe den Wiki-Artikel über die Blockchain gelesen und den fett gedruckten Teil nicht verstanden:

Wenn ein Block zu einem verwaisten Block wird, werden alle seine gültigen Transaktionen erneut zum Pool von Transaktionen in der Warteschlange hinzugefügt und in einen anderen Block aufgenommen. Die 50-BTC-Belohnung für den Waisenblock geht verloren, weshalb eine vom Netzwerk erzwungene 100-Block-Reifezeit für Generationen existiert.

Ich kenne die Details hinter der Blockerstellung und -akzeptanz nicht, also wie funktioniert die Blockreifezeit? Wird die Sperre erst nach einiger Zeit akzeptiert?

Wahrscheinlich sind 100 Bestätigungen erforderlich, bevor generierte Coins ausgegeben werden können.

Antworten (2)

Generierte Münzen können nicht ausgegeben werden, bis die Generierungstransaktion 101 Bestätigungen hat. Transaktionen, die versuchen, zuvor generierte Coins auszugeben, werden abgelehnt.

Der Grund dafür ist, dass sich die Blockchain manchmal verzweigt, gültige Blöcke ungültig werden und die Mining-Belohnung in diesen Blöcken verloren geht. Das ist nur ein unvermeidlicher Teil der Funktionsweise von Bitcoin, und es kann manchmal passieren, selbst wenn niemand das Netzwerk angreift. Wenn es keine Reifezeit gäbe, würde jeder, der Coins erhalten hat, die auf einem unglücklichen Fork (möglicherweise durch viele Vermittler) generiert wurden, bei jedem Fork verschwinden, auch ohne doppelte Ausgaben oder andere Angriffe. Auf langen Forks konnten Tausende von Menschen feststellen, dass Münzen aus ihren Brieftaschen verschwanden, obwohl niemand sie tatsächlich angreift und sie keinen Grund hatten, dem Geld, das sie erhielten, misstrauisch gegenüberzustehen. Beispielsweise könnte ein Miner ohne Laufzeit 25 BTC in ein E-Wallet einzahlen, und wenn ich Geld von einem völlig unabhängigen Konto auf demselben EWallet abhebe, verschwindet mein abgehobenes Geld möglicherweise einfach, wenn es einen Fork gibt und ich das Pech habe, Münzen abzuheben, die von den jetzt ungültigen Münzen des Bergmanns „verdorben“ wurden. Aufgrund der Art und Weise, wie diese Art von Makel dazu neigt, Transaktionen zu „infizieren“, wären weit mehr als 25 BTC pro Block betroffen. Jeder ungültige Block könnte dazu führen, dass Transaktionen im Gesamtwert von Hunderten von Bitcoins rückgängig gemacht werden. Die Reifezeit macht es unmöglich, dass irgendjemand so versehentlich Coins verliert, solange ein Fork nicht länger als 100 Blöcke hält. Wenn ein Fork länger als 100 Blöcke dauert, dann wäre der Schaden, der durch ungültige Transaktionen verursacht wird, wahrscheinlich eine große Katastrophe. (Jedoch,

Tatsächlich erfordern die Netzwerkregeln eine Differenz von 100 zwischen dem Erstellungsblock und dem Ausgabenblock, was 101 Bestätigungen entspricht.
@theymos Was ist der genaue Zweck davon? Warum reichen die üblichen 6 Bestätigungen für eine Transaktion nicht aus?
@Jori Ich habe meine Antwort mit diesen Informationen aktualisiert.
Es ist unklar, warum dieses Argument des „Verschwindens von Münzen“ funktioniert. Temporäre Forks können sich auch auf reguläre Transaktionen auswirken, die während einer temporären Fork durchgeführt wurden. Wenn der temporäre Fork aufgegeben wird, werden diese Transaktionen rückgängig gemacht, was wiederum dazu führt, dass „Münzen verschwinden“. Wallets (wie EWallet in Ihrem Beispiel) sollten auf eine k-Deep-Bestätigung warten, bevor sie Coins als bestätigt anzeigen, unabhängig davon, ob es sich um Coinbase-Coins oder normal übertragene Coins handelt. Selbst ohne einen doppelten Ausgabenangriff kann ein temporärer Fork dazu führen, dass Münzen verschwinden, falls die Blöcke in der kanonischen Kette voll sind.

Ein Block wird sofort akzeptiert (sofern er gültig ist), die Laufzeit gilt für die Coinbase-Belohnung an den im Block gefundenen Miner (Bock-Subvention + TX-Gebühren).

Der Zweck besteht darin, eine Form der Transaktionsstornierung (am häufigsten mit „doppelten Ausgaben“ verbunden) zu verhindern, wenn der Block verwaist ist. Wenn ein Block verwaist ist, „hört die Coinbase-Belohnung auf zu existieren“. Die Coins werden aus dem Block produziert und wenn ein Block verwaist ist, ist es die Ersatzblockversion des Coinbase TX, die vom Netzwerk als gültig angesehen wird.

Transaktionen, die Nicht-Coinbase-Münzen als Eingabe verwenden, sind nicht betroffen. Wenn ein Block verwaist ist, werden alle tx, die in dem verwaisten Block bestätigt wurden und in dem Block, der ihn ersetzte, nicht bestätigt wurden, an den Speicherpool zurückgegeben und in einen zukünftigen Block aufgenommen.

Erzeugte Münzen existieren jedoch nicht mehr, wenn der Block verwaist ist. Wenn das Netzwerk den Bergleuten erlauben würde, sie sofort auszugeben, wäre es der Empfänger der Münzen, nicht der Bergmann, der einen Verlust erleiden würde, wenn der Block des Bergmanns verwaist wird.

Um diese unerwünschte Situation zu vermeiden, erfordert das Netzwerk, dass Coinbase tx (Belohnungen für Bergleute) „reif“ ist oder 100 Bestätigungen wartet (der Client macht diese 120 Bestätigungen, aber nur 100 werden vom Protokoll verlangt). Wenn ein Block verwaist ist, bevor er 100 Blöcke tief in die Kette gelangt, ist nur der Miner betroffen.