--German--Ep. 18 [Block-Erstellung] Block-Schwellenwert.
Vormerk
Gelange auf einfachste Weise zum Grundverständnis von Kryptowährungen durch Analogien. Die Bilder sind extra für die Stories von @RatzFratz gezeichnet worden. Jede Geschichte, baut auf den vorherigen Artikeln auf. Ich empfehle daher sich ein paar Minuten Zeit zu nehmen und nochmal die vorherigen Geschichten aufzufrischen. Je öfter man die Artikel durchliest, desto sicherer wird man mit dem Umgang und der Anwendung von Bitcoin-Technologie. Als Steemit-Nutzer rate ich jedem dazu, sich ein grundlegendes Verständnis über Kryptowährungen wie Bitcoin und Steem anzueignen, um bestmöglich und verantwortungsvoll mit seinem Profil(und somit mit seinem Geld) umgehen zu können. Falls in den Artikeln irgendwas unklar sein sollte, schreibt einfach einen Kommentar. Ich werde versuchen schnellstmöglich darauf einzugehen. Danke!
In der letzten Episode haben wir uns näher mit der Komponente 'Referenz' eines Blocks beschäftigt.
In dieser Episode möchte ich auf den nächsten wichtigen Bestandteil eines Blocks eingehen, den "Schwellenwert".
In Episode 14 haben wir definiert:
"Threshold(=Schwellenwert): Diese Zahl wird automatisch von der Bitcoin-Software angegeben. Man kann sich diesen
Schwellenwert als eine Art Maximalwert für die Block-Nummer vorstellen..."
Schauen wir uns den Schwellenwert genauer an.
Also in Episode 2.1b haben wir gesehen, dass jede 10 Minuten ein neuer Block an die gültige Blockchain angehängt wird. Doch man muss sich hier die Frage stellen; wie wird sichergestellt, dass tatsächlich jede 10 Minuten ein Block an die Blockchain angehängt wird, wenn doch das Bitcoin-Netzwerk dezentral ist und es keinen 'zentralen' Schiedsrichter gibt, der das bewacht?
Nun es ist ganz einfach:
Wie in den vorherigen Artikeln erwähnt, lädt eine neue Bitcoin-Node u.a. das Bitcoin-Protokoll runter. Das Bitcoin-Protokoll sind Regeln, welche die Bitcoin-Node befolgt.
Diese Regeln bestimmen unter anderem "wie eine legitime Transaktion auszusehen hat" oder "welche Bestandteile ein Block haben muss" etc.
In Episode 09 haben wir gesehen, dass die Bitcoin-Nodes ständig Blocks und Transaktionen austauschen.
Eine dieser Regeln besagt, welche Block-Nummer ein zugesendeter Block-Kandidat höchstens haben darf, damit die Node diesen Block-Kandidaten akzeptiert und an seine eigene Blockchain anhängt. Dieses Limit für die Block-Nummer des Block-Kandidaten ist eben der Schwellenwert. Die Bitcoin-Node berechnet den Schwellenwert für sich selbst, jedoch erfolgt die Berechnung anhand eben dieser Bitcoin-Regeln.
Wir haben kürzlich gesehen, dass die Block-Nummer tatsächlich der Hashwert das Block-Headers ist. Wir haben auch gesehen, dass der Hashwert zufällig ist. Das heißt der Miner kann keinen bestimmten Hashwert bei der Block-Erstellung hervorrufen. Anders ausgedrückt, die beste Chance einen bestimmten Hashwert hervorzurufen, ist einfach so viele Hashwerte durch kleinere Abänderungen des Inputs(dafür ist die 'Nonce' im Block-Header da) zu erstellen, bis man den gewünschten Hashwert erreicht.
Der angegebene Schwellenwert im Block-Header gibt an, wie groß die Block-Nummer (=Haswert) des Blockkandidaten maximal sein darf, damit der Kandidat als legitim betrachtet wird und von den Bitcoin-Nodes an ihre Blockchain angehängt wird.
Machen wir ein Beispiel:
Um das Beispiel einfach zu halten, nehmen wir an, dass ein Hashwert immer aus 5 binären Ziffern( Binär= Zwei Möglichkeiten = "0" & "1") besteht, also z.B.
"10010"
Nun zum Schwellenwert. Wir haben gesagt, dass der Schwellenwert der Wert ist, den der Hashwert maximal annehmen darf, damit er von einer Bitcoin-Node als legitim angesehen wird.
Sagen wir unser Schwellenwert beträgt: "00111"
Um also den Schwellenwert von "00111" nicht zu überschreiten, muss unser Hashwert an den ersten beiden Positionen eine "0" haben.
Wie wir davor gesagt haben, kann ein bestimmter Hashwert nicht bewusst herbeigerufen werden, sondern muss durch zufälliges Probieren erreicht werden.
Da für die erste Ziffer zwei Möglichkeiten bestehen (nämlich "0" und "1") haben wir eine Wahrscheinlichkeit von 50% eine "0" am Anfang unseres Hashwertes zu erzielen. Damit die zweite Ziffer "0" ist, gilt ebenfalls eine Wahrscheinlichkeit von 50%. Die dritte Ziffer ist uns egal, da an 3. Position des Schwellenwerts eine "1" steht. Es ist also egal ob wir eine "1" oder "0" an dritter und allen nachfolgenden Stellen erhalten, da für beide Ziffern gilt "<=1" und somit liegen sie nicht über dem Maximalwert.
Die Wahrscheinlichkeit also, dass wir beim ersten Versuch einen Hashwert erstellen, der an den ersten beiden Stellen eine "0" aufweist, und somit den Schwellenwert nicht überschreitet, beträgt:
50% * 50% = 25%
Mit probalistischen Worten ausgedrückt: Wir müssten 4 Hashwerte (also einen Block-Kandidaten) erstellen, damit wir den vorherrschenden Schwellenwert bei einer Block-Erstellung nicht überschreiten.
Das ist nur eine Vereinfachung und soll das Zusammenspiel von Schwellenwert und Hashwerten verständlicher machen.
In der nächsten Episode möchte ich näher eingehen auf:
- Wie sich der Schwellenwert "von selbst" anpasst damit die Regel "1 Block jede 10 Minuten" eingehalten wird?
- Wie viele Hashwerte tatsächlich im Bitcoin-Netzwerk "hergestellt" werden?
Muy buena información amigo, muchas gracias, las criptomonedas y la tecnología que hay detrás de ellas es su mayor fortaleza y es por eso que su futuro esta asegurado, a pesar de todos los intentos de países y corporaciones para que fracase.
Hallo,
Ich bin durch diesen Post erst auf dich aufmerksam geworden.
So eine detaillierte und technisch tiefe Erklärung von Bitcoin sieht man selten. Du gibst dir echt Mühe und deine Inhalte sind qualitativ TOP ! Hut ab - wirklich klasse!
Werde dir auf jedenfall folgen und wünsche dir weiterhin viel Erfolg !
Danke @security101. Hast auch ein follow von mir. Security in der Cryptowelt kanns' nie genug geben.