Blockzeit korrekt errechnet?

Klaro, fragen darf man immer😊
Geburtstag meines Sohns.

4 „GefĂ€llt mir“

Vielen, vielen Dank fĂŒr eure superschnellen Antworten!
Ich beschÀftige mich jetzt wohl mal etwas intensiver mit der Blockzeit an sich im Sinne meiner bekannten Definition von Zeit. Sehr spannend!

Das habe ich heute gefunden. Ist von @Egge 
 mega cool!!!

2 „GefĂ€llt mir“

Danke fĂŒr den Link!
Ich bin jetzt leider etwas verwirrt, weil ich mit dem Rechner eine andere Blockzeit rausbekomme als wir hier in den Antworten bisher hatten. Kann es sein, dass die Timezone nicht berĂŒcksichtigt wurde? Unterschied liegt bei 5 Blöcken.

Ja, etwas stimmt in Egge’s Lösung nicht. Macht aber nichts, ich hab eben auf die Schnelle eine Seite gebaut, da scheint es mit dem Block zu funktionieren :wink:

P.S. Ich hoffe, es ist ok, dass ich die Geburtszeit deines Sohnes als Default eingestellt habe :wink:

9 „GefĂ€llt mir“

Das Tool von Egge sucht nach einem passenden Block mit der Mediantime. Das ist die durchschnittliche Zeit der jeweils letzten 11 Blöcke.

Ich habe oben bereits erwÀhnt dass die reinen Timestamps in den Blöcken nicht unbedingt korrekt sind und den entsprechenden Beitrag verlinkt der das erklÀrt.

Schaut man sich nur die Mediantime an, dann hat man „sinnvollere“ Timestamps, da kein Block eine geringere Mediantime als sein VorgĂ€nger haben kann (das ist die Regel im Protokoll), man hat also einen schönen Zeitstrahl. Die reinen Timestamps hingegen können vereinzelt rĂŒckwĂ€rts laufen, hier ein Beispiel.

Was jetzt fĂŒr ein Tattoo besser ist, keine Ahnung, das muss man selbst wissen.

Die stimmt schon, ist halt ein anderer Ansatz. Man glĂ€ttet damit die Abweichungen der einzelnen Timestamps, es kann aber auch sein das man im Einzelfall zufĂ€llig vom „besser“ passenden Block abweicht.

3 „GefĂ€llt mir“

FĂŒr mich hat die Methode insofern nicht gestimmt, weil sie nach mehreren punktuellen Tests immer falsche Blöcke ermittelt hat. Ja, ZeitraumglĂ€ttung, Median, etc. Wenn man nach einem Block sucht - wie @VerenaA es getan hat - dann will man auch einen bestpassenden Block geliefert bekommen.

Schau, wir gehen alle auf mempool.space als Referenz und schauen uns da die Blöcke an. Der Eine macht es tĂ€glich, der Andere nach Bedarf. BlĂ€ttern die Blöcke durch, achten auf den Zeitstempel, suchen uns den passenden Block anhand des Zeitstempels raus. So wĂŒrde ein Endanwender vorgehen, wenn er sich einen bestimmten Block nach Zeit raussuchen wĂŒrde.

Und genau so funktioniert mein Tool. Stell dir nur vor, @VerenaA wĂŒrde jetzt den Block, den das Tool von Egge vorgeschlagen hat, sich in die Haut einprĂ€gen lassen. Ja, Median, aber eben nicht korrekt :wink:

2 „GefĂ€llt mir“

Wieso falsche Blöcke? Es werden die richtigen Blöcke angezeigt, aber halt nach MTP.

Du kannst nicht wissen ob einzelne Timestamps korrekt sind, also ob sie mit dem Zeitpunkt der Veröffentlichung ĂŒbereinstimmen. Was bringt es dir wenn der Timestamp von Block 100 genau auf deinen gewĂŒnschten Zeitpunkt passt, aber Block 101 dann plötzlich 5 Minuten frĂŒher ist? Die Miner Timestamps liefern dir keinen konsequenten Zeitstrahl, die Median Timestamps schon.

Ob man jetzt den Median oder den Miner Timestamp bevorzugt ist vollkommen individuell. Ich wĂŒrde hier zwar auch den Miner Timestamp bevorzugen, deswegen ist das Tool das die MTP Stamps nutzt aber nicht „falsch“. :smiley:

Ich wĂŒrde mir so ein Tattoo auch gar nicht erst stechen lassen, da ich bis heute diesen Hype um die „Blockzeit“ nicht wirklich nachvollziehen kann. Eine Blockhöhe hat doch erst eine besondere Bedeutung, wenn im Block irgendwas besonderes ist, z.B. ein OP_RETURN einer Hochzeit. Ansonsten muss ich doch raten also effektiv auswĂ€hlen welcher Block der „besondere“ ist.

4 „GefĂ€llt mir“

Gebe dir absolut Recht. Sein Tool hat seine Daseinsberechtigung. Allerdings weiß ein Normalo nichts von Median in diesem Zusammenhang und erwartet Blöcke wie sie halt im Block-Explorer stehen. Nichts anderes will ich damit sagen :wink:

P.S. Bin schon gespannt, was @skyrmion schreibt. Endlich wieder brauchbare Diskussion :wink:

2 „GefĂ€llt mir“

Ein Normalo weiß auch nicht dass Miner Timestamps ungenau sind. :wink:

Verstehe ja was du meinst, dein Tool ist jedenfalls sehr cool!

Falls du da einen Teaser willst, er hatte auch in diesem Thread zu dem Thema was geschrieben:

3 „GefĂ€llt mir“

Fakt ist, dass solche Tools, solche Foren, solche Menschen (wie du, Egge, skyrmion und der Rest der Plebs) uns dazu bewegen, nachzudenken und weiter zu lernen. Bis heute wusste ich nichts ĂŒber die ungenauen Zeitstempel. Erst wenn man sich mit der Thematik auseinander setzt, wird man wortwörtlich schlauer.

:+1:

3 „GefĂ€llt mir“

Da kennt mich @sutterseba wohl zu gut. :smile:

Ich werde also (diesmal) leider nichts zum Thema Median beitragen.

Aber nochmal kurz dazu; schließlich kann man sich nach einer TĂ€towierung nicht einfach wieder umentscheiden. :wink:

Gerade wenn du dich noch nicht so intensiv damit auseinandergesetzt hast, solltest du dir ĂŒber folgendes bewusst sein.

Der eigentliche Begriff fĂŒr die hier diskutierte Zahl ist Block Height, deutsch Blockhöhe. Dabei handelt es sich um nichts anderes als eine chronologische Nummerierung aller Blöcke.

Die Block Time, deutsch Blockzeit, ist hingegen die angestrebte mittlere Zeit zwischen zwei aufeinanderfolgenden Blöcken (bei Bitcoin: 10 Minuten).

Ich weiß nicht wer damit angefangen hat, den Begriff Blockzeit plötzlich fĂŒr die Blockhöhe zu verwenden. Es interessiert mich auch nicht wirklich, da ich es fĂŒr absolut unnötig halte.
Der Beweggrund war meiner Vermutung nach, die Bitcoin Blockchain als eine Art „bessere“ bzw. „validere“ Zeitmessung darzustellen. Das wiederum soll einen „coolen“ Bezug zu Natur und Wissenschaft herstellen, den Bitcoin nicht nötig hat.

Dabei ist die Blockhöhe in keinem einzigen Aspekt eine bessere Zeitmessung als die unserer heutzutage ĂŒblichen Uhren.

Erstens ist eine gewöhnliche Uhr genauer, da die BlockabstĂ€nde in der GrĂ¶ĂŸenordnungen von Minuten statistisch schwanken und der Timestamp einen gewissen Spielraum hat (siehe Diskussion hier).
Die Internationale Atomzeit bzw. die davon abgeleitete UTC, nach der wir unsere Uhren stellen, basiert dagegen auf fast 600 Atomuhren unterschiedlicher Hersteller, die mit verschiedenen Atomen arbeiten (BIPM). Die Uhren werden von weltweit verteilten unabhĂ€ngigen Einrichtungen betrieben und unter BerĂŒcksichtigung relativistischer Effekte global synchronisiert.

Zweitens ist die „Zeitmessung“ der Bitcoin Blockchain auch nicht in irgendeinem Sinne valider. Bei Betrieb und Synchronisation der weltweit verteilten Atomuhren sind genug unabhĂ€ngige EntitĂ€ten beteiligt, als dass diese Zeit manipuliert werden könnte.

Letztlich ist es gar nicht möglich, dass die Bitcoin Zeit irgendwie besser ist, da der mittlere zeitliche Abstand zwischen zwei Blöcken nur ĂŒber regelmĂ€ĂŸige Anpassungen und Validierungen anhand normaler Uhren konstant gehalten wird. Warum sollte man also nicht gleich letztere verwenden; so wie bisher ohne Bitcoin?

Ich will dir deinen Plan wirklich nicht vermiesen! Aber die einzigen GrĂŒnde, die Blockhöhe als Zeitangabe zu verwenden, sind entweder einfach der Gag, oder dass man anhand der Blockhöhe Ereignisse im Bitcoin Space besser einordnen kann.

Zu guter letzt gehöre ich wahrscheinlich zu den letzten, die ein Scheitern von Bitcoin annehmen. Aber den Aspekt sollte man vor einer TĂ€towierung zumindest kurz berĂŒcksichtigen.

4 „GefĂ€llt mir“

Wow, die Informationen und die Diskussion hier ist wirklich 1a! Mir gefÀllt auch, dass ich nicht die Einzige bin, die aus der Fragestellung heraus noch was lernen konnte:)
Mir ist einiges klarer geworden; allerdings bin ich immernoch verrĂŒckt genug fĂŒr das Tattoo;) Zumindest hab ich jetzt konkretes Hintergrundwissen und kann darauf basierend entscheiden welche „Nummer“ es wird.
Vielen, vielen Dank fĂŒr die sehr guten ErklĂ€rungen und das Teilen eures Wissens!

4 „GefĂ€llt mir“

Hallo zusammen,
ich geb dann auch nochmal meinen Senf dazu :wink:

NatĂŒrlich ist die Unrechnung von Zeit in Blöckhöhe KEIN prĂ€zises Werkzeug. Alleine schon weil es keine eindeutige Perspektive gibt. Der Miner darf seinen Timestamp mit ordentlicher Abweichung setzen und ein Block landet bei jedem Node zu einem anderen Zeitpunkt.

Zum Thema Mediantime vs Timestamp: IMHO ist die Mediantime besser geeignet, weil sie im Gegensatz zum timestamp wenigstens aufsteigend mit der Höhe ist. WĂ€hrenddessen kann ein Block eine grĂ¶ĂŸere „Höhe“ aber einen kleinerer Timestamp haben als ein anderer.

Heute habe ich Version 1.2 von https://blocktime.site veröffentlicht. Jetzt kann man selbst wÀhlen ob Mediantime oder Timestamp genutzt werden soll.

PS: Ich habe ein eigenes Blockheight Tattoo geplant und nutze sie ebenfalls extrem gerne. NatĂŒrlich hat sie Nachteile gegenĂŒber der Zeit, aber als Insider hat sie eben auch etwas

5 „GefĂ€llt mir“

Genau so sehe ich das auch! :beers:

Jetzt noch OpenSource stellen, dann ist es perfekt.

1 „GefĂ€llt mir“

Kommt :slight_smile: Ich rÀume auf, baue noch ein eigenes Backend mit API und dann geht das Repo publik.

4 „GefĂ€llt mir“

Eine ErgÀnzung:

Wenn in Podcasts o.À. die Blockzeit zitiert wird, dann wird die Blockhöhe von einer Node abgelesen. Das ist etwas vollkommen anderes, als Zeitstempel aus dem Block zu ziehen.

Beim Ablesen der Blockzeit zu einem Zeitpunkt findet eine Verbindung der realen (mangels eines besseren Begriffs) Welt zur Blockchain statt, die so aber nicht in die Blockchain geschrieben wird. Weil diese Information (Ablesezeitpunkt) gar nicht in der Blockchain steht, ist das Vorgehen auch nicht mehr rekonstruierbar. Um im Nachhinein die Blockhöhe zu einer realen Uhrzeit zu rekonstruieren, mĂŒsste man eine Datenbank pflegen, in der Blockhöhe zu Uhrzeiten des bekanntwerdens abgelegt werden.

Mir ist leider keine solche Datenbank bekannt, aber die Chance ist groß, dass es sie gibt.

Es findet eine Verbindung zu einer von zentraler Stelle behaupteten Uhrzeit statt (wie bei den ungenauen Miner Timestamps).

Einer solchen Datenbank könntest du als Bitcoiner genauso wenig vertrauen als der ungenauen aber dezentralen Mediantime.

Du kannst auch in die debug.log deiner Core-Node schauen und nachsehen, ob und wie die Zeitstempel der „Blockzeit“ deiner Node sind. Vorher natĂŒrlich prĂŒfen, ob die Uhrzeit der Node korrekt mitlĂ€uft, was aber durch die automatische Zeitsynchronisation eines normalen Debian-Linux-Derivats normalerweise gegeben sein sollte. Aber wie immer: don’t trust blindly, verify!

Diese Node z.B. hinkt ca. 2h der Blockzeit 758893 hinterher (Zeitstempel sind in UTC):

2022-10-16T08:28:52Z UpdateTip: new best=0000000000000000000398571fc2adb2f93d44f1e449b9a171a988f715a8a33a height=758893 version=0x2233c000 log2_work=93.787934 tx=772581884 date='2022-10-16T06:23:34Z' progress=0.999972 cache=49.9MiB(222276txo)

WĂ€hrend folgende besser synchronisierte Node fĂŒr die Blockzeit 758893 diesen Log-Eintrag ausgespuckt hat:

2022-10-16T06:23:57Z UpdateTip: new best=0000000000000000000398571fc2adb2f93d44f1e449b9a171a988f715a8a33a height=758893 version=0x2233c000 log2_work=93.787934 tx=772581884 date='2022-10-16T06:23:34Z' progress=1.000000 cache=3.3MiB(19856txo)

Eine Core Node, die zeitnah am Blockchain-Tip synchron ist, zeigt meist Log-Zeitstempel, die nicht allzu viele Sekunden vom Block-Zeitstempel abweichen, wobei der Block-Zeitstempel, wie schon geschrieben wurde, ein in gewissen Grenzen willkĂŒrlicher Zeitstempel ist, der nur bedingt als eine Art Zeitbasis geeignet ist.
Im besser synchronisierten Beispiel z.B. Log-Zeitstempel 2022-10-16T06:23:57Z ggĂŒ. Block-Zeitstempel 2022-10-16T06:23:34Z, 23 Sekunden Unterschied (Median Time lt. blockchain.com fĂŒr diesen Block: 16. Okt. 2022, 06:06:10 UTC).