Hashing/Funktion Blockchain

Hey zusammen, wäre super wenn ihr mir kurz sagen könntet ob ich die Grundlage der Funktionsweise von der Blockchain verstanden habe. In einem Block werden mehrere Informationen wie z.b. Transaktionen gespeichert. Jede bekommt ihren Hashwert, diese werden dann „zusammengestellt“, sodass der Block am Ende einen eigenen Endhash besitzt. Wenn dann ein neuer Block entsteht, dann kommt der Hashwert des alten Blocks in den Header des neuen Blocks. Hier werden dann wieder alle Informationen „gehahst“ inklusive mit dem Hash des alten Blocks. ( So stellt man doch die Verbindung der Blöcke her. ) Denn würde jetzt jemand etwas verändern, so ändert sich ja dann direkt der ganze Hash, und man würde sofort bemerken, dass hier etwas verändert worden ist. Grundprinzip richtig? Vielen vielen Dank schonmal im Vorraus… Liebe Grüße

Hey Julian :slight_smile:

In einem Block werden mehrere Informationen wie z.b. Transaktionen gespeichert. Jede bekommt ihren Hashwert, diese werden dann „zusammengestellt“, sodass der Block am Ende einen eigenen Endhash besitzt.

Jau!

Nochmal zur Ergänzung: Die Blockdaten aus einem Block sind im Block-Header zusammengefasst. Dieser beinhaltet die Version, der die Features einer Blockchain enthält. Außerdem ist der Hash des vorherigen Blocks inkludiert sowie die Merkle-Root, ein Timestamp und die Nonce.

Also die Transaktionen bekommen keinen Hashwert. Sondern du hashst die Transaktionen. Das Zusammenfassen aller Transaktionen geschieht über einen sogenannten Merkle-Tree. In diesem werden die Transaktionen geordnet, zusammengefügt und paarweise gehasht. Über CONCATENATE-functions werden ungerade Transaktionen dupliziert und dann gegeneinander gehasht. So wird gewährleistet, dass der daraus entstehende Merkle-Root (Top Hash) abhängig von jeder Transaktion ist.

Hier auch nochmal etwas zu dem Thema Hash:

Wenn dann ein neuer Block entsteht, dann kommt der Hashwert des alten Blocks in den Header des neuen Blocks. Hier werden dann wieder alle Informationen „gehahst“ inklusive mit dem Hash des alten Blocks. ( So stellt man doch die Verbindung der Blöcke her. )

Genau! Das kannst du auch nochmal alles genauer in unserem Artikel nachlesen:

2 Like