Zum Inhalt springen

Wie genau ensteht ein neuer Block


konabi

Empfohlene Beiträge

Hallo,

 

ich versuche zu verstehen wie genau ein neuer Block geniert wird.

Könnte man es vereinfacht so sehen:

 

Im Netzwerk existieren Transaktionen die verarbeitet werden müssen.

So genannte "full nodes" (miner) sammeln diese offenen Transaktionen und fassen diese in Blöcke zusammen.
Dabei müssen die aber noch einen Hashwert  für den Block berechnen was Rechenzeit kostet (POW)

Ist dieser Wert berechnet ist auch der Block gültig. 

 

 

Dieser gültige Block mit Transaktionen wird dann an die anderen Teilnehmer (full nodes) zur Prüfung der Transaktionen bereitgestellt.
Haben alle Teilnehmer (oder doch nur ein Teil der Teilnehmer?) die Transaktionen im Block für gültig befunden wird der Block der Blockchain angefügt.

 

Oder ist es eher so dass die "full nodes" erst gültige leere Blöcke erstellen und die Transaktionen danach in diesen gültigen Block "wandern" ?

 

 

Vielen Dank für Eure Hilfe
Sven

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sehr gut beschrieben.

 

Zu deiner Frage: Ich denke nicht, dass die Full Nodes erst Blöcke erstellen.

 

An sich ist ein Block ja nur [Transaktionen] + [Header]. Die Transaktionen haben die Full Nodes ja schon im Mempool, der Header ist das, was die Miner suchen. Im eigentlichen Design von Bitcoin laden die Nodes die kompletten Blöcke von den Minern runter. Aber mit xthin Blocks / Compact Blocks haben moderne Nodes eine Technologie, um nur die Teile der neuen Blöcke runterzuladen, die sie noch nicht haben, also im Idealfall nur den Header plus ein paar kleine Extra-Informationen. Eventuell noch die Blöcke, die sie noch nicht haben, warum auch immer ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Transaktionen wandern alle in den Mempool das wird überall verteilt (Nodes) daraus bauen dann die Miner Blöcke. Hat deine Transaktion noch keine Bestätigung schwimmt diese im Mempool, bei einer Bestätigung ist sie in einem Block, bei 2 gibt es nach dem Block in den sie gekommen ist bereits einen weiteren.

 

Die Miner versuchen alle Transaktionen in den Block zu nehmen um die Gebühren zu kassieren das müssen sie aber nicht, ist aber in derem Interesse.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, also könnte man das so formulieren:

 

Transaktionen wandern in einen Mempool welcher auf alle "Full Nodes" verteilt wird.
Die Full Nodes nehmen sich eine Anzahl Transaktion und versuchen daraus einen gültigen Block zu generieren.

Wie wird entschieden wer sich welche Transaktion nimmt?
Sobald eine Transaktion eine Bestätigung hat, ist sie in einem Block und wird bearbeitet (Berechnung Hash etc...) was je nach Rechenleistung einige Zeit in Anspruch nimmt.
 

Ist die Brechnung fertig wird der Block zur Prüfung den anderen Teilnehmern (Full Nodes) zur Prüfung bereitgestellt.

Befindet die Mehrheit dieser Teilnehmer alle Transaktionen im Block für gültig ist auch der Block gültig und wird an die Blockchain angehängt.
Erst jetzt kann ein weiterer Block generiert werden. Dieser enthält einen Hash des vorhergehenden Blockes.
Sobald ein weiterer Block an den letzten Block angehängt wird bekommt meine Transaktion eine zweite Bestätigung und ist somit engültig verbucht.

 

Frage:

Kann eine Transaktion die nur eine Bestätigung hat, also gerade in einem Block bearbeitet wird auch parallel in einem zweiten Block bearbeitet werden, und je nachdem welcher Block als erstes für gültig befunden wird behält dann auch diese Transaktion? Oder wie ist das mit den "kongurierenden Minern (Full Nodes)?

 

 

Danke

Sven

 


 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, die Miner können sich selbst aussuchen, welche Transaktion sie bestätigen. IdR bevorzugen sie dafür die, die die höchsten Gebühren je Byte bezahlen.

 

Kann eine Transaktion die nur eine Bestätigung hat, also gerade in einem Block bearbeitet wird auch parallel in einem zweiten Block bearbeitet werden, und je nachdem welcher Block als erstes für gültig befunden wird behält dann auch diese Transaktion?

 

 

Ja, an sich, ja. Wenn ein Miner eine Transaktion bestätigt hat, kann ein anderer versuchen, dieselbe Transaktion (oder eine Abwandlung davon mit anderem Adressat), in seinen Block zu bringen. Er kann also versuchen, denselben Block nochmal zu minen. Das ist aber in der Regel Verschwendung von Ressourcen. Am Ende gibt es die Transaktion dann nicht doppelt, sondern es gilt die längste Kette von Blöcken, in denen die Transaktion nur einmal drin sein kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.