Bitcoin Dezentralität und die Zeit

Ich versuche schon eine Weile leider erfolglos herauszufinden wo denn Bitcoin seine Zeitinformation herbekommt.
Die Sicherheit des Bitcoin POW besteht in der Basis ja aus der Energie die von den Minern über eine gewisse Zeit aufgewendet wird. Wie die Energie in das Netzerk kommt ist ja soweit klar.
Aber wenn nach einer gewissen Zeit die Difficulty geprüft wird um zu prüfen ob die Blockzeit noch bei 10 Minuten liegt.
Mich würde jetzt mal interessieren worauf sich das Bitcoin-System bezieht um die Zeit zu ermitteln. Muss ja syncron vor allen gleich funktionieren.
Ist das am Ende doch noch eine zentrale Stelle, oder wie funktioniert das?

Vielleicht aus dem Internet wie jedes Smartphone oder jeder PC heutzutage. Wäre jetzt meine erste Idee.

Mit Sicherheit…
Nur ich wüsste es gerne genauer.
Ingewie muss die Zeit ja auch ins Netz kommen :wink:
Weil wenn das eine zentrale Stelle ist nimmt das dem Ganzen System poteniell wieder die Dezentralität.

Ok jede Node ist ja im netz daher hat such jede Node irgendwie die Uhrzeit zum prüfen.

Ich denke daher das sich jede Node die Zeit selbst aus dem Netz holt.

Ist auf jedenfall ne interessante Frage.

Beantwortet leider nicht wie die Zeit ins Netz reinkommt :wink:
Und auch die Weitergabe ist nur eine Vermutung…
Weiß jemand wie das genau funtioniert?

In jedem Block steht die Zeit die vom Miner in den Block geschrieben wird, ein sogenannter Timestamp.
Hier kann der Miner zunächst schummeln.

Nun nur meine Vermutung wie es funktioniert, müsste selbst noch einmal genauer Nachlesen, also gefährliches Halbwissen:

Jedoch akzeptieren Nodes keine Blocke die einen Timestamp zu weit in der Zukunft haben, jede Node verwendet dafür ihre eigene Uhr.
Nun können noch Blöcke mit einer zu kleinen Zeit in die Blockchain kommen (ich denke aber er muss größer sein als der vorherige Block), nur würde dies die Difficulty nur in der Zukunft unnötig anheben, wodran kein Miner Interesse hat.
Dadurch passt die Uhrzeit in den Blocken immer recht gut mit der „echten“ Uhrzeit überein :slight_smile:

1 „Gefällt mir“

Wenn ihr da mehr Infos sucht, empfehle ich euch den Begriff „Block timestamp“

Achtung: Nicht zu verwechseln mit der Blockzeit.

Viele Grüße

2 „Gefällt mir“

Perfekt!
Danke an euch. Jetzt hab ich das auch endlich verstanden:
Block timestamp

Die einzelnen Nodes werden sich ihre Zeit vermutlich alle von NTP Servern holen.

Sollten alle den gleichen verwenden, hätte man eine gewisse Zentralisierung.

Ja, aber laut Network Time Protocol werden Zeitgeber die ja eh alle miteinander syncronisiert, von daher dürfte es ja nicht so ein großes Problem sein nur einen zu verwenden. Oder wäre es denkbar, dass auf diesem Weg manipuliert wird?

Wenn der absolute Großteil der Nodes mit nur einer Hand voll NTP Servern verbunden wären, wäre das wahrscheinlich ein Angriffsszenario.

Der Effekt würde sich in Grenzen halten. Man könnte diese Server z.B. nicht über eine ganze Difficulty Periode hacken und manipulieren. Jedem inkl. der Node Betreiber würde auffallen, dass die Zeit nicht stimmt.

Ich kenne mich zu wenig damit aus, bin mir aber ziemlich sicher, dass darüber nachgedacht wurde. Würde mich auch sehr interessieren, insbesondere mögliche Angriffsszenarien und Konsequenzen.

Ja, es gibt zwei Bedingungen, die ein Zeitstempel erfüllen muss:

  1. Der Zeitstempel muss größer sein als der gemittelte Zeitstempel der vorherigen elf Blöcke.
  2. Der Zeitstempel muss kleiner sein als die netzwerkbereinigte Zeit plus zwei Stunden. (Die „netzwerkbereinigte Zeit“ ist einfach der Median der Zeitstempel, die von allen mit dir verbundenen Nodes zurückgegeben werden.)

Zu diesem Thema auch lesenswert @Anonymity :