konabi Posted August 14, 2017 Posted August 14, 2017 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 HilfeSven
konabi Posted August 14, 2017 Author Posted August 14, 2017 Das beantwortet meine Frage nicht wirklich. :-(
Christoph Bergmann Posted August 14, 2017 Posted August 14, 2017 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 ...
DocSnyd3r Posted August 14, 2017 Posted August 14, 2017 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.
konabi Posted August 14, 2017 Author Posted August 14, 2017 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
c0in Posted August 14, 2017 Posted August 14, 2017 https://www.coinforum.de/topic/6645-aktuelle-meldung-des-bitcoin-core-wallets-full-node/?do=findComment&comment=102767
Christoph Bergmann Posted August 14, 2017 Posted August 14, 2017 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.
konabi Posted August 15, 2017 Author Posted August 15, 2017 Der Link : https://www.coinforu...de/#entry102767 ist wirklich hilfreich. Eine sehr gute Erklärung habe ich aich hier gefunden: https://www.youtube.com/watch?v=lYzp-n9QWTo
c0in Posted August 15, 2017 Posted August 15, 2017 Dieses Video half mir anfangs auch gut, es zu verstehen Wie funktioniert die Blockchain? -- Einfach erklärt!
konabi Posted August 16, 2017 Author Posted August 16, 2017 Sehr guter Link. Das erklärt vieles. Danke!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now