Quiz (beendet): Wie lange dauern diese Blöcke?

Es folgt die Auflösung. Ich kann leider nicht auswerten, wie viele Leute wieviel richtig hatten, weil ich nur die aggregierten Werte sehe, aber ihr wisst ja eh selber, was ihr angekreuzt habt. Insgesamt wirkt das Ergebnis eher bescheiden. Ob es statistisch unterscheidbar ist davon, einen Sack voll Affen vor das Quiz zu setzen, habe ich nicht ausgewertet.

Kurz zur Terminologie: Wenn ich im Folgenden davon spreche, dass ein Block einen bestimmten Zeitpunkt beinhaltet, meine ich damit, dass er zu diesem Zeitpunkt noch gesucht wurde. Sprich, sein direkter Vorgänger in der Blockchain war schon da, er selbst noch nicht. Wenn ich davon spreche, dass ein Block eine bestimmte Zeitspanne braucht, meine ich damit, dass es so lange gedauert hat, ihn zu finden.


Alle Blöcke, an denen jemals um 13:37 Uhr (UTC, auf die Sekunde) geminet wurde

Lösung: 20 Minuten – wurde von 35% von euch richtig erkannt

Es ist das klassische Beispiel: eine Gruppe von Blöcken, die sich darüber definiert, dass die Blöcke bestimmte Zeitpunkte beinhalten – in diesem Fall an jedem Tag eine bestimmte fixe Uhrzeit. Die konkrete Uhrzeit ist dabei natürlich egal.

Wenn du nicht weißt, warum solche Gruppen von Blöcken durchschnittlich 20 Minuten brauchen statt der üblichen 10 Minuten, lies dir diesen Thread durch: Wie lange dauert ein Block? Es ist dort recht ausführlich erklärt. Das hier ist sozusagen Lektion Nummer 2.

Nur gaaaaanz kurz: Manche Blöcke brauchen länger, manche kürzer, ist klar. Durchschnittlich sind es 10 Minuten. Wenn ich jetzt aber nur Blöcke betrachte, die eine bestimmte Uhrzeit beinhalten, sind das typischerweise solche, die länger brauchen. Warum? Einfach weil längere Blöcke mehr Uhrzeiten beinhalten. Es ist also wahrscheinlicher, dass eine bestimmte vorgegebene Uhrzeit in einem längeren Block sitzt als in einem kürzeren. Oder anders gesagt: Blöcke, in denen eine bestimmte Uhrzeit sitzt, brauchen länger als andere. Nämlich ganz konkret, wenn man es sich ausrechnet: doppelt so lange.

Das ganze Quiz besteht aus Variationen dieses Themas, wobei hoffentlich ein paar interessante Sachen dabei sind, die nicht ganz so eindeutig funktionieren.


Alle Blöcke, die jemals um 04:20 Uhr (UTC, auf die Sekunde) gefunden wurden

Lösung: 10 Minuten

Warum jetzt plötzlich 10 Minuten, und nicht 20 wie vorher – 04:20 Uhr ist doch auch eine konkrete Uhrzeit? Ja schon, aber die Blöcke sind jetzt nicht mehr definiert als: müssen einen bestimmten Zeitpunkt beinhalten, sondern als: müssen zu einem bestimmten Zeitpunkt gefunden werden.

Was ist der Unterschied? Lange Blöcke haben, wie bereits gesagt, eine höhere Chance, eine bestimmte Uhrzeit zu beinhalten, einfach weil sie lange sind und deshalb viele Uhrzeiten beinhalten. Aber ganz egal, wie viele Uhrzeiten ein Block beinhaltet, jeder Block wird trotzdem nur zu einer einzigen Uhrzeit gefunden.

Das heißt, lange Blöcke haben da überhaupt keinen Vorteil. Sie haben genau die gleiche Chance, einen bestimmten Finde-Zeitpunkt zu haben wie kurze Blöcke, ihre Länge hilft ihnen da Nüsse. Oder anders gesagt: Blöcke mit einer bestimmten Finde-Uhrzeit brauchen gleich lang wie alle anderen.


Alle Blöcke, die am Tag der Winterzeitumstellung zwischen 2 Uhr und 3 Uhr (CET) gefunden wurden

Lösung: 10 Minuten

Die Winterzeitumstellung hat mit der ganzen Sache überhaupt nichts zu tun, das ist eine Stunde wie jede andere. Die Frage ist also: Ist an Blöcken, die innerhalb einer bestimmten Zeitspanne gefunden werden, etwas besonders?

Im vorigen Beispiel ging es um Blöcke, die zu einem bestimmten Zeitpunkt gefunden werden – da war alles normal. Analog dazu ist auch an Blöcken, die in einer gewissen Zeitspanne gefunden werden, alles normal, aus genau den gleichen Gründen.

Und ebenso analog zum vorigen Beispiel wird es erst dann interessant, wenn wir nicht über gefunden, sondern über gesucht reden. Und um Blöcke, die während einer gewissen Zeitspanne gesucht werden, geht es ein bisschen im folgenden Beispiel …


Jeder Block, der gerade gesucht wurde, während du aufgewacht bist (über dein ganzes Leben hinweg)

Lösung: 20 Minuten – wurde von 35% von euch richtig erkannt

Wenn ich jeden Tag um 13:37 Uhr aufwachen würde, wäre es genau gleich wie das erste Beispiel – also 20 Minuten. Macht es einen Unterschied, dass die Uhrzeit hier nicht mehr fix ist, sondern jeden Tag ein bisschen variieren kann?

Eigentlich nicht. Das Finden eines Blocks ist ein Zufallsprozess, die konkrete Uhrzeit ist egal, also kann ich sie auch jeden Tag variieren, ohne etwas am Ergebnis zu ändern.

Ich sage deshalb „eigentlich“, weil es hier doch zu einem Problem kommen kann, nämlich: Wenn ich gleich wieder einschlafe, könnte ich im gleichen Block nochmal aufwachen. Das würde die durchschnittliche Blockdauer von 20 Minuten, die wir hier eigentlich erwarten würden, etwas senken – Achtung, kurz Hirn einschalten:

Lange Blöcke haben ja wie gesagt einen Vorteil, wenn es darum geht, bestimmte Zeitpunkte zu beinhalten, einfach weil sie insgesamt viel mehr Zeitpunkte beinhalten als kurze Blöcke. In diesem Fall schafft es so ein langer Block aufgrund seiner Länge vielleicht sogar, mich doppelt oder dreifach beim Aufwachen zu erwischen! Ein kurzer Block schafft das sicher nur einmal. Das Problem ist aber, dass trotzdem jeder Block, in dem ich aufgewacht bin, nur einmal gezählt wird, egal wie oft er mich beim Aufwachen erwischt hat. Dadurch wird der Vorteil des langen Blocks gegenüber dem kurzen wieder wettgemacht.

Beispiel:
Ich stell mir den Wecker auf 06:50 Uhr, aber dann bin ich noch bis 07:00 Uhr im Halbschlaf, wache immer wieder mal kurz auf, und zwar mindestens einmal pro Block. Wenn man sich konkrete Blockchaindaten dazu anschaut, zeigt sich, dass die durchschnittliche Dauer der Blöcke, in denen ich aufgewacht bin, jetzt nicht mehr 20 Minuten ist, sondern 15 Minuten.

Hier ein paar Werte, die ich für verschiedene Halbschlafdauern ausgerechnet habe:

  • ich wache sofort auf und bleibe munter: Blockdauer 20 Minuten
  • ich bin 1 Minute im Halbschlaf: Blockdauer 19 Minuten
  • ich bin 10 Minuten im Halbschlaf: Blockdauer 15 Minuten
  • ich bin 30 Minuten im Halbschlaf: Blockdauer 12 Minuten
  • ich bin 60 Minuten im Halbschlaf: Blockdauer 11 Minuten

Mehr als eine Stunde im Bett liegenbleiben heißt also: Du verschläfst nur langweilige 10-Minuten-Blöcke – schlaf ruhig noch ein paar Stunden weiter!


Alle Blöcke, deren Miningzeit einen Stundenwechsel beinhaltet

Lösung: 20 Minuten – wurde von 41% von euch richtig erkannt

Wieder das gleiche Thema – es geht um Blöcke, die bestimmte Zeitpunkte beinhalten (nämlich alle solche, zu denen der Minutenzeiger auf 12 zeigt). Wieder bedeutet das eine durchschnittliche Blockdauer von 20 Minuten.

Aber Vorsicht, aus dem letzten Beispiel wissen wir, dass wir Schwierigkeiten bekommen, wenn es möglich ist, dass einzelne Blöcke mehr als nur einen solchen Zeitpunkt beinhalten. Ist das hier möglich?

Klar ist es möglich, es gibt Blöcke, die mehr als eine Stunde dauern. Zwar nur ganz wenige, aber genau diese würden ganz besonders zu einer höheren Durchschnittsdauer beitragen, und verlieren leider ihre Power, wenn sie zwar mehrere Zeitpunkte mitnehmen, aber trotzdem nur einmal gezählt werden.

Im Beobachtungszeitraum habe ich für solche Stundenwechsel-Blöcke einen Wert von 19,4 Minuten bekommen. Das liegt vielleicht gaaaanz ein bisschen unter dem Wert, den man für Uhrzeit-Blöcke erwarten würde, kann aber genauso auch einfach nur statistische Streuung sein.

Interessant dann auch die Blöcke, die einen Minuten-Wechsel beinhalten. Das ist sozusagen das andere Extrem – nur die wirklich kurzen Blöcke haben eine realistische Chance, da nicht dabei zu sein. Für die Minuten-Wechsel-Blöcke bekomme ich einen Wert von 10,3 Minuten, also nur noch gaaaanz ein bisschen über dem Wert, den man für normale Blöcke erwarten würde.

Und dazwischen die Blöcke, die einen Viertelstunden-Wechsel beinhalten mit 15,2 Minuten.


Hier zwei, die zusammengehören:

A) Jeweils der erste Block an Tagen, deren Datum eine Primzahl ist

Lösung: 20 Minuten – wurde von 17% von euch richtig erkannt

B) Jeweils der siebte Block an Tagen, deren Datum eine gerade Zahl ist

Lösung: 10 Minuten – es glauben 23% von euch, es wären 20 Minuten

Nanu, eines 20 Minuten, eines 10, was ist denn da der Unterschied? Primzahl und gerade Zahl ist ja offensichtlich nur eine Ablenkung, warum sollte das Datum hier irgendeine Rolle spielen? Und warum glauben mehr von euch das Falsche als das Richtige? Fragen über Fragen.

Tatsächlich geht es um erster Block vs. siebter Block. Es sollte ja mittlerweile klar sein, dass die 20-Minüter immer die Blöcke sind, die sich so definieren, dass sie einen bestimmten Zeitpunkt beinhalten.

Wie ist der erste Block eines Tages definiert? Ganz einfach: Der Block, dessen Vorgänger noch vor Mitternacht gefunden wurde, aber der selbst nach Mitternacht gefunden wurde. Sprich: der zu Mitternacht immer noch gesucht wurde. Sprich: der Mitternacht beinhaltet. Sprich: der einen bestimmten Zeitpunkt beinhaltet. Also 20 Minuten.

Wie ist der siebte Block eines Tages definiert? Sicher nicht über irgendeinen Zeitpunkt. Der siebte Block kann irgendwann sein, so wie jeder andere Block auch. Also 10 Minuten.


Noch zwei, die zusammengehören:

A) Jeweils der letzte Block vor Mitternacht (UTC)

Lösung: 10 Minuten – es glauben 17% von euch, dass es 20 Minuten sind

B) Jeweils der erste Block nach Mitternacht (UTC)

Lösung: 20 Minuten – es glauben 17% von euch, dass es 20 Minuten sind

Eine Variation des vorigen Beispiels. Besonders fies, weil die Formulierung so symmetrisch ist. Es geht um einen konkreten Zeitpunkt, warum sollte da vor oder nach irgendeinen Unterschied machen? Keine große Überraschung also, dass genau gleich viele Leute beim einen wie beim anderen glauben, es sei ein 20-Minüter.

Aber das ist nur ein Trick, in Wirklichkeit sind diese zwei Gruppen von Blöcken völlig unterschiedlich definiert:

  • Grundsätzlich: Jeder Block wird während einer gewissen Zeitspanne gesucht, die einen Anfang und ein Ende hat.
  • Der „erste Block nach Mitternacht“ heißt, dass der Anfang dieser Zeitspanne vor Mitternacht liegt, und das Ende nach Mitternacht. Sprich: Der Block beinhaltet Mitternacht.
  • Der „letzte Block vor Mitternacht“ heißt, dass das Ende dieser Zeitspanne vor Mitternacht liegt, und der Anfang … keine Ahnung … auch vor Mitternacht, irgendwann noch früher.

Tadaaa! Der eine beinhaltet einen bestimmten Zeitpunkt, der andere nicht. Gute Nacht, ich bin die ganze Woche hier.

Eine faire symmetrische Formulierung wäre:

  • A) der letzte Block, der vor Mitternacht begonnen wird
  • B) der erste Block, der nach Mitternacht gefunden wird

Fair, aber fad. Es handelt sich dann nämlich um den gleichen Block.


Alle Blöcke, die direkt nach einem leeren Block gefunden wurden

Lösung: 10 Minuten

Die Definition „direkt nach einem leeren Block“ ist ja mal ganz eindeutig kein konkreter Zeitpunkt – so ein leerer Block könnte jederzeit passieren. Es gibt also erstmal keinen Grund zu erwarten, dass es 20 Minuten sind.

Macht allerdings der leere Block davor einen Unterschied? Leere Blöcke sind ja typischerweise kurze Blöcke – im Betrachtungszeitrum wurden leere Blöcke in durchschnittlich nur 33 Sekunden gefunden. Wenn jetzt also grad ein total kurzer Block passiert ist, heißt das doch, der nächste müsste durchschnittlich länger sein als normal, um den Durchschnitt wieder auszugleichen?

Nein, absolut nicht. Wir reden hier über Zufallsprozesse, die Reihenfolge von Blöcken spielt da überhaupt keine Rolle, genausowenig wie beim Würfeln oder beim Roulette die Reihenfolge der Ergebnisse irgendwie auf zukünftige Ergebnisse schließen lässt.


Alle Blöcke, die Inscriptions enthalten

Lösung: 10 Minuten

Blöcke mit Inscriptions sind immer besonders voll. Wir haben gerade festgestellt, dass leere Blöcke durchschnittlich in nur 33 Sekunden gefunden werden! Das ist eine extreme Abweichung vom 10-Minuten-Durchschnitt – heißt das, dass volle Blöcke auch so arg abweichen, nur in die andere Richtung?

Nein, natürlich nicht. Leere Blöcke werden ja nicht deshalb so schnell gefunden, weil sie leer sind, sondern sie sind leer, weil sie so schnell gefunden werden (also bevor der Miner überhaupt noch Zeit hatte, einen ordentlichen Block mit ordentlich Transaktionen zusammenzubasteln).

Wenn wir uns die Blockdauern auf die Nanosekunde genau anschauen, finden wir allerdings vielleicht einen Zusammenhang zur Blockgröße – für den Merkle Root sind ja ein paar Hashes notwendig, und zwar umso mehr, je mehr Transaktionen im Block sind. Und dann berechnen wir eine Gazillion Hashes, um einen Block zu finden, und vergessen die paar Hashes für den Merkle Root ganz schnell wieder.


Jeder Block, der eine Transaktion enthält, die du jemandem geschickt hast, den du liebst

Lösung: 20 Minuten – wurde von 17% von euch richtig erkannt

20 Minuten? Was für einen Zeitpunkt beinhalten diese Blöcke denn? Ganz einfach: den Zeitpunkt, zu dem du die Transaktion weggeschickt hast. Wir wissen ja aus dem Aufwach-Beispiel, dass diese Zeitpunkte ruhig beliebig variieren dürfen, so lange sie nur weit genug auseinander liegen.

Aber Vorsicht: Es ist nicht immer so, dass der Block, der die Transaktion enthält, auch zwingend den Zeitpunkt beinhaltet, zu dem du die Transaktion weggeschickt hast. Insbesondere ist das nur dann der Fall, wenn es deine Transaktion nach dem Wegschicken direkt in den nächsten Block geschafft hat.

Deshalb geht es hier auch nur um Transaktionen, die du jemandem geschickt hast, den du liebst … da hast du doch sicher die Fee hoch genug gewählt, um im nächsten Block zu landen, oder?

Übung: Überprüfe die durchschnittliche Blockdauer an deinen eigenen Transaktionen, und sag mir dann, dass sich recht gehabt habe.

Auch ganz interessant: Eine Transaktion mit minimaler Fee landet eigentlich nie in einem Block, der irgendeinen vorher festgelegten Zeitpunkt beinhalten würde, sondern einfach irgendwann zufällig in irgendeinem „normalen“ Block, wenn der Mempool grad leer ist. Das führt dazu, dass minFee-Transaktionen durchschnittlich in 10-Minuten-Blöcken landen, und Transaktionen mit hoher Fee durchschnittlich in 20-Minuten-Blöcken.

Kannst du ja bei der nächsten Bitcoin-Party mal versuchen, Tech-averse Maxis davon zu überzeugen, dass Transaktionen mit hoher Fee in langsameren Blöcken landen. Viel Glück!


Jeweils der erste Block direkt nach einer Schwierigkeitsanpassung

Lösung: 10 Minuten

Es ist zwar ganz genau definiert, wann eine Schwierigkeitsanpassung passiert, allerdings ist es nicht als Zeitpunkt definiert, sondern als Blockhöhe. Das heißt, die ganzen Überlegungen von vorhin, dass lange Blöcke aufgrund ihrer Länge vielleicht höhere Chancen haben könnten, irgendsoeinen Zeitpunkt zu erwischen und damit der glückliche Schwierigkeitsanpassungsblock zu werden, fallen flach.

Egal, wie lang und breit sich die anderen Blöcke auch machen, kein einziger hat auch nur die geringste Chance, weil auch die fettesten Blöcke am Ende nicht die Blockhöhe vorweisen können, die die Prophezeiung vorgesehen hat. Und der auserwählte Block hat eine zufällige Länge.

Gut, also 20 Minuten ist es mal nicht. Sind es aber wirklich 10? Man würde doch annehmen, dass wegen der durchschnittlich steigenden Hashrate bei der Schwierigkeitsanpassung irgendwas passiert? Z.B. kürzere Blöcke vor der Anpassung und längere nachher?

Würde man meinen, und hätte man wahrscheinlich auch recht damit, aber in meinem kurzen Beobachtungszeitraum von nur einem Jahr zeigt sich das nicht. Sind da ja insgesamt auch nicht mal 30 Blöcke, da sind die Abweichungen zu hoch.


Jeweils der zweite Block nach morgens halb 10 in Deutschland

Lösung: 10 Minuten

Ist definiert über einen konkreten Zeitpunkt – sollte also 20 Minuten sein, oder?

Nein!

Warum nicht? Gegenfrage: Kannst du einen konkreten Zeitpunkt nennen, den irgendsoeiner dieser Blöcke beinhaltet? Nein. Also 10 Minuten.


Alle Blöcke, die an einem 29. Februar gefunden wurden

Lösung: 10 Minuten

Ist natürlich Unsinn, es ist an einem Schalttag nichts besonders, also 10 Minuten.

Und trotz Schalttag nur alle 4 Jahre gibt es genug solche Blöcke, dass jetzt auch nicht zufällig wegen zu kleiner Stichprobe der Durchschnitt irgendwie verzerrt wäre – ich hab es überprüft, damit du nicht musst!


Alle Blöcke überhaupt

Lösung: 10 Minuten – es glauben 5% von euch, es wären 20 Minuten

Sorry, was? 5% von euch glauben, alle Blöcke dauern durchschnittlich 20 Minuten?

Okay, 5% ist bei dieser Teilnahmequote nur einer von euch, aber trotzdem: Wer bist du, und wo beziehst du deine Bewusstseinsveränderer?


Wähle diese Option, wenn du sonst nichts angekreuzt hast

Lösung: das ist die eine Option, die so wirklich absolut fast-mehr-als-100% falsch ist. Mal schauen … das haben … 47% von euch gewählt

Gerade so nochmal die Kurve gekriegt, dass nicht eine Mehrheit von euch denkt: Es brauchen doch alle Blöcke 10 Minuten, was soll dieses Quiz überhaupt? Ich stell mir die Uhr nach der Blockchain, ein Block ist ein Block, und 10 Minuten sind 10 Minuten, basta. Was heißt Uhr? Ich hab gar keine Uhr, ich hab die Blockchain. Timechain. Ich hab die Timechain. Tick Tock, wieder 10 Minuten rum auf der Timechain, noch ein Block, noch ein Tock, ich schlaf heut drei Blocks länger, mein Termin ist ja erst in 12 Tocks, tickety tockety … blockety … Moment, schon 10 Minuten um? Ich muss dann mal …



So, das war’s.

Danke für die Aufmerksamkeit.

Wenn ich gewusst hätte, dass ich so viel zu einer so nischigen Sache zu sagen habe, hätte ich ein Buch geschrieben, das niemand liest.

P.S.: Und gebt mir schön viele Likes für diese Textwand, mindestens 0,004 pro Wort, damit endlich der Post aus meinen „besten Beiträgen“ rausfällt, in dem ich – man muss sich schämen – die Wörter „gequirlter“ und „Scheißsalat“ verbunden habe, um die Aussagen eines leider schon lange inaktiven aber geschätzten Forummitglieds zu beschreiben.

3 „Gefällt mir“