Warum wurde die Zielblockierungszeit auf 10 Minuten gewählt?

Laut dem -Wiki wurden 10 Minuten als „Kompromiss“ ausgewählt.

Warum speziell zehn Minuten? Es ist ein Kompromiss, den Satoshi zwischen der Laufzeit neuer Blöcke in großen Netzwerken und dem Arbeitsaufwand aufgrund von Kettenspaltungen gewählt hat.

Im ursprünglichen Satoshi-Papier werden jedoch lediglich 10 Minuten für die Berechnung des Speicherplatzbedarfs angenommen.

Ein Blockheader ohne Transaktionen würde ungefähr 80 Bytes groß sein. Wenn wir annehmen, dass alle 10 Minuten Blöcke generiert werden, sind 80 Bytes * 6 * 24 * 365 = 4,2 MB pro Jahr.

Gibt es an anderer Stelle eine Diskussion, die erklärt, wie die Blockierungszeit von 10 Minuten erreicht wurde?

Kommentare

  • Ich denke, wenn sich die 10-Minuten-Blockanforderung aus irgendeinem Grund als problematisch herausstellt und die meisten & Benutzer zustimmen, kann dies in Zukunft gesenkt werden.
  • Mike Hearn erklärte mir einmal, dass Satoshi die Blockausbreitungszeit auf 1 Minute geschätzt und Blockintervalle von 10 Minuten gewählt habe, weil “ 10% der Bergbauarbeiten waren ein angemessener Betrag. Derzeit ist die Blockausbreitungszeit jedoch viel, viel schneller.
  • @pinhead Was genau meinen Sie mit der Verschwendung von 10% der Bergbauarbeit?
  • @FivePoints bedeutet in diesem Zusammenhang 10 % der abgebauten Blöcke verlieren “ das Rennen “ gegen einen anderen Block, der fast zur gleichen Zeit abgebaut wurde, und werden veraltet, was bedeutet, dass die Subvention ausgezahlt wird Der Bergmann wird niemals ausgegeben werden können und die Energie, die der Bergmann zur Herstellung dieses Blocks verbraucht, wird verschwendet.
  • @pinhead ist sinnvoll, aber wie wurden diese 10% berechnet? Ist es einfach (Latenz / Blockzeit)?

Antwort

10-Minuten-Blöcke sind einfach ein Kompromiss.

Kürzere Blockzeit:

  • PRO – Schnellere 1 Bestätigungszeit (zum Schutz vor doppelten Ausgaben mit 0-Bestätigung)
  • PRO – Geringere Auszahlungsvarianz für Bergleute (weniger Abhängigkeit von großen Pools)
  • CON – Erfordert eine erhöhte Bandbreite (Kommunikation zwischen Knoten)
  • CON – Mehr Gabeln, längere Gabeln und längere Reorganisationszeit
  • CON – Ein größerer Teil der Roh-Hash-Energie wird verschwendet, was zu einer geringeren effektiven Sicherheit führt.

Bei einem längeren Blockintervallziel von mehr als 10 Minuten würden sich die Vor- und Nachteile umkehren.

Der Hauptvorteil eines kürzeren Die Blockierungszeit ist die reduzierte Bestätigungszeit von 1. Während die 1-Bestätigungstransaktion eines schnelleren Blocks weniger stark ist als die 1-Bestätigungstransaktion eines längeren Blocks, ist sie immer noch besser als Jeder Block „s 0 bestätigt die Transaktion.

Die Geschwindigkeit der ersten Bestätigung scheint ein großer Vorteil zu sein, aber in Wirklichkeit für die meisten wertarmen und zeitkritischen Transaktionen wie den Kauf einer Tasse Kaffee, das Bezahlen eines Taxis oder die Verwendung eines Verkaufsautomaten. Das Risiko von Doppelausgaben ist sehr gering. Denken Sie daran, dass das Akzeptieren von Kreditkarten nicht ohne Risiko ist, obwohl Händler seit langem akzeptieren, dass sie einige Verluste erleiden werden. Wenn diese Verluste jedoch minimal sind, kann dies nur als Geschäftskosten angesehen werden. So viele Händler könnten einfach Transaktionen mit 0-Bestätigung akzeptieren, ohne sich einem höheren Risiko auszusetzen als durch Kreditkartenbetrug.

Der andere Faktor, der das reale Potenzial kürzerer Zielblockintervalle verringert, ist der für viele Händler Selbst „schnellere“ Bestätigungszeiten sind immer noch nicht schnell genug. Für eine Point-of-Sale-Transaktion ist eine durchschnittliche Bestätigungszeit von 2 Minuten immer noch erheblich länger als von den meisten Händlern als praktikabel angesehen. Die durchschnittliche Kreditkartentransaktion dauert etwa 20 Sekunden (einschließlich Verzögerungen durch den Kunden). Die gesamte Branche hat erhebliche Ressourcen aufgewendet, um auch nur ein paar Sekunden zu sparen. Änderungen wie das Ermöglichen des Durchwischens von Karten durch den Kunden, das Durchwischen, bevor alle Artikel angerufen wurden, und das Verzichten auf Unterschriften mit niedrigem Wert sind alles Ein paar Sekunden weniger Zeit für einen bereits schnellen Vorgang und die Kosten für diese Änderungen werden als akzeptabel angesehen, um die Effizienz einer Kaufabwicklung geringfügig zu verbessern.

Der andere Faktor i s dass das Reduzieren des Zielintervalls nur die durchschnittliche Bestätigungszeit reduziert, aber die Hälfte davon länger ist und der Schwanz sehr lang sein kann. Aufgrund der Zufälligkeit von Blocklösungen benötigen etwa 15% der Blöcke länger als das Zweifache des Ziels, 3% länger als das Dreifache des Ziels und> 7,5 Minuten und etwa 0,5% länger als das Vierfache des Ziels. Diese Unsicherheit macht es für ein zeitkritisches Unternehmen schwierig, aus politischen Gründen auf Bestätigungen zu warten. Wenn die meisten Transaktionen innerhalb von 30 Sekunden bestätigt werden, einige jedoch Minuten dauern, führt dies zu Frustration der Kunden am Point of Sale.

Wenn die BTC-Wirtschaft groß genug wächst, könnten „grüne Adressen“ verstärkt verwendet werden, um die Notwendigkeit einer sofortigen Akzeptanz ohne Bestätigung zu erfüllen. Solche Dienstleistungen könnten von großen Unternehmen erbracht und durch eine Versicherung gegen Betrug abgesichert werden (gegen eine geringe Gebühr pro Transaktion). Dies wäre eine praktikablere 0-Bestätigungslösung als eine einfache Reduzierung des Blockintervalls.

Allerdings war das 10-Minuten-Ziel wahrscheinlich zu konservativ, und eine kürzere Blockierungszeit bietet einige Vorteile.

Kommentare

  • Ihr Fehler ist, dass Sie denken, “ Angriff mit doppelten Ausgaben “ bedeutet “ 51% Angriff „. Sie können versuchen, die Ausgaben mit weniger zu verdoppeln, aber ‚ ist kein garantierter Erfolg. Je mehr Blöcke gewartet werden, desto geringer ist Ihre Chance. > 50% ist der Punkt, an dem Sie ‚ einen möglichen Erfolg garantieren, unabhängig davon, wie viele Blöcke gewartet werden. Die Erfolgswahrscheinlichkeit eines 50% -Angriffs < hängt von der Anzahl der Blöcke und nicht von der Zeit ab. Dies ist ein Vorteil von kürzeren Blöcken.
  • Eine kürzere Blockzeit weist für Bergleute eine weitere geringere Varianz auf. Außerdem ist der zusätzliche Speicherplatz für kurze Blöcke vernachlässigbar, da der Großteil der Daten die Transaktionen und nicht die Blockheader sind.
  • Sie haben einige Tippfehler: Die ersten beiden Einträge für “ Längere Blockzeit “ sollte “ CON “ und “ PRO “ anstelle von “ PRO “ und “ RRO „.
  • @MeniRosenfeld Vielen Dank für die Korrekturen und ich habe Varianzunterschiede hinzugefügt und die Speicherunterschiede als entfernt Sie sind korrekt, die Unterschiede werden eher gering sein. Ich habe auch den zeitbasierten Aspekt entfernt, da ich, obwohl ich gehört habe, dass weitere Bestätigungen erforderlich sind, ‚ keine endgültigen Kenntnisse habe. Es gibt genug andere bekannte Unterschiede.
  • Sehr schönes Update, ich wünschte, ich könnte wieder upvoten. 😉

Antwort

Ich fand diesen Teil des Wikis auch frustrierend und habe ihn gerade bearbeitet. Ich würde mich über Korrekturen freuen. Hier ist, was ich geschrieben habe:

Zehn Minuten wurden von Satoshi speziell als Kompromiss zwischen der ersten Bestätigungszeit und dem Betrag von gewählt Arbeitsverschwendung durch Kettenrisse. Nachdem ein Block abgebaut wurde, brauchen andere Bergleute Zeit, um sich darüber zu informieren, und bis dahin konkurrieren sie tatsächlich mit dem neuen Block, anstatt ihn zu ergänzen. Wenn jemand einen anderen neuen Block basierend auf der alten Blockkette abbaut, kann das Netzwerk nur einen der beiden akzeptieren, und die gesamte Arbeit, die in den anderen Block floss, wird verschwendet. Wenn Bergleute beispielsweise durchschnittlich 1 Minute benötigen, um sich über neue Blöcke zu informieren, und alle 10 Minuten neue Blöcke hinzukommen, verschwendet das gesamte Netzwerk etwa 10% seiner Arbeit. Wenn Sie die Zeit zwischen den Blöcken verlängern, wird diese Verschwendung reduziert.

Was wäre, wenn das Bitcoin-Netzwerk als Gedankenexperiment den Mars einbeziehen würde? Von den entferntesten Punkten ihrer Umlaufbahnen dauert es ungefähr 20 Minuten, bis ein Signal von der Erde zum Mars gelangt. Mit nur 10 Minuten zwischen neuen Blöcken wären Bergleute auf dem Mars immer 2 Blöcke hinter den Bergleuten auf der Erde. Es wäre fast unmöglich für sie, zur Blockkette beizutragen. Wenn wir mit solchen Verzögerungen zusammenarbeiten möchten, benötigen wir zwischen neuen Blöcken mindestens einige Stunden.

Kommentare

Antwort

Da Bitcoins die erste Kryptowährung sind, die die Blockgenerierung usw. verwendet, kann man davon ausgehen, dass 10 Minuten a waren willkürlich gewählt. Jeder Wert, der groß genug ist, um den neuen Block durch das Netzwerk zu verbreiten, bevor ein anderer Miner wahrscheinlich einen neuen Block generiert, ist gut. Auf der anderen Seite sollten Blöcke nicht zu selten sein, da es zu lange dauern würde, um Bestätigungen zu erhalten. Eine Stunde Berechnung gilt als sicher vor Manipulationen. Wenn Sie diese Zeit in ordentliche Teile aufteilen, erhalten Sie 10 Minuten.

Zu diesem Thema ist wahrscheinlich keine Diskussion verfügbar, da die erste Bitcoin-Version allein von Satoshi erstellt wurde, bis er seine wahre Identität preisgibt oder kommt zurück in die Community, die genauen Gründe können „nicht sicher herausgefunden werden.

Kommentare

  • Die Analyse in Satoshi ‚ bezieht sich ‚ überhaupt nicht auf die Zeit, die man warten sollte – das hängt nur von der Praktikabilität ab, eine hohe Hashrate für lange Zeit aufrechtzuerhalten Zeit.Er besprach die Anzahl der zu wartenden Blöcke – er zeigte zum Beispiel, dass, wenn der Empfänger auf 6 Blöcke wartet und der Angreifer 10% der Hashrate des Netzwerks ‚ hat, eine doppelte Ausgabenversuch hat nur < 0,025% Erfolgschance. Bei 1 Minute pro Block sind dies 6 Minuten usw.

Antwort

AFAICS, der einzig mögliche Vorteil Die längere Blockierungszeit ist die Reduzierung des Bandbreiten-Overheads aufgrund der geringeren Wahrscheinlichkeit von Blockketten-Splits.

Ich bezweifle sogar diesen Kompromiss, denn wenn die Transaktionsdaten die Masse sind, gibt es den kürzeren Ausgleichseffekt Blockzeiten bedeuten weniger zu übertragende Daten.

Ich bin sehr skeptisch, dass mehr Arbeit mit kürzerer Blockzeit verschwendet werden muss, wenn die Schwierigkeit bezüglich kalibriert wird die Zeit, um zu einem Konsens zu gelangen. Mathematisch gesehen verdienen die Bergleute einen Prozentsatz der neu erstellten Blöcke, der ungefähr ihrem Prozentsatz der System-Hash-Leistung entspricht, unabhängig von der relativen Aufteilung ihres Glücks zwischen Arbeitsschwierigkeiten und (zufälligen) verwaisten Ketten.

Es sei denn Es gibt einen Beweis, ich bezweifle die Behauptung, dass kürzere Blockzeiten längere Zeiten schaffen, um zu einem Konsens zu gelangen (dh Re-Org-Splits), denn wenn es zum Beispiel viermal mehr Splits mit 1/4 der Blockierungszeit gibt, gibt es ungefähr 7 . ̶ nicht Time- und den Nachteil, mehr Iterationen um einen Konsens innerhalb der gleichen Dauer

Da Irreversibilität ist abhängig von Anzahl der Blöcke mdash ankommen Verzögerungen bei Transaktionen, ̶ es scheint eine kürzere Anblockzeit ist ̶c̶o̶m̶p̶e̶l̶l̶i̶n̶g̶.̶

würde ich schätzen zumindest versuchen d wenn downvoters würde verteidige ihre Logik mit einem Kommentar unter meiner Antwort. Das gibt mir die Möglichkeit, sie zu diskutieren und ihnen zu zeigen, warum ich denke, dass sie falsch sind (oder meinen Fehler zuzugeben). Der Punkt ist, sicherzustellen, dass wir gemeinsam die richtige Logik haben.

Kommentare

  • Bei dieser Antwort werden die Zeitkosten, die durch Blockübertragung und Blocküberprüfung entstehen, nicht berücksichtigt . Da diese Zeit ein ungefähr fester Betrag für einen vollständigen Block ist, ist sie ein größerer relativer Teil eines kürzeren Blockintervalls als eines längeren Blockintervalls.
  • @Murch, ich habe diese Antwort einige Tage oder Wochen später geschrieben Initiieren meines Studiums von Blockchains, Kryptographie und Bitcoin. Meine Ansichten haben sich daher erheblich geändert. Unter der Annahme, dass das Transaktionsvolumen pro Block bei einer höheren Blockhäufigkeit verringert wird, ist Ihre Behauptung einer konstanten Verifizierungszeit & nicht korrekt. Craig Wright hat behauptet, dass sich das Bitcoin-Netzwerk innerhalb von ungefähr einer Sekunde auf 99% der Hashrate ausbreitet.
  • Da praktisch alle Bergleute mit Fibre verbunden sind und veröffentlichte Daten darauf hindeuten, dass es ‚ ist nur geringfügig langsamer als die Lichtgeschwindigkeit, < 1 Sekunde ist keine schwierige Behauptung … Die bedeutendste Auswirkung in diesem Jahr war jedoch wahrscheinlich dass Bergleute auf eine neuere Version von Bitcoin Core aktualisiert haben, um die Segwit-Aktivierung zu signalisieren. Anfang dieses Jahres sahen wir immer noch mehrere verwaiste Blöcke pro Woche. Eine Blockzeit von z.B. 60 Sekunden hätten uns auf mehrere verwaiste Blöcke pro Tag zurückgeführt. Da die Daten zum Anzeigen da sind, ist es ‚ verwirrend, dass Sie den Effekt zu leugnen scheinen.
  • @Murch, hat SegWit die durchschnittliche Blockgröße um reduziert? ein Faktor von 10? Wenn nicht, sprechen die von Ihnen zitierten Daten vermutlich nicht meinen Standpunkt an. Ich verstehe jetzt (nicht, dass ich es 2016 getan habe, als ich diese Antwort geschrieben habe), dass kürzere Blockzeiten auch asymmetrische Vorteile für Koalitionen von Haschrat erhöhen, wie z. B. Pools, die ihre Gewinnblöcke sofort sehen (keine Ausbreitungsverzögerung). Übermäßige Waisenkinder könnten also selbstsüchtigen Bergbau in Aktion sein. Hinweis: Die GHOST-Variante von Ethereum ist eine Teillösung für einige dieser Probleme.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.