Kurse werden geladen …
inotoken

Demo · 4 Min.

Eine Kette, die du brechen darfst

Drei Blöcke, echte SHA-256-Hashes, gerechnet in deinem Browser. Ändere einen Buchstaben und sieh sofort, wie der Hash umspringt und alle folgenden Blöcke ungültig werden. Mit dem Mining-Knopf suchst du selbst eine Nonce und misst dabei, wie langsam ein Browser gegen das Bitcoin-Netz ist.

Drei Blöcke, echte Hashes

Geforderte führende Nullen 3

Je mehr Nullen gefordert sind, desto mehr Versuche braucht ein gültiger Block. Zwei Nullen kosten im Schnitt 256 Versuche, drei rund 4.096, vier rund 65.536.

Die ganze Kette auf einmal

Bereit. Ändere einen Text oder suche mit einem der Knöpfe eine neue Nonce.

Block 1

gültig
Vorheriger Hash

0000000000000000000000000000000000000000000000000000000000000000

Hash dieses Blocks

000e95e47a462dc02fa499ff2de84c26fe5c830f54a21fad7adae3347c4f5068

Block 2

gültig
Vorheriger Hash

000e95e47a462dc02fa499ff2de84c26fe5c830f54a21fad7adae3347c4f5068

Hash dieses Blocks

0008272308781ae3dec268d445c7654b7854baa63b47eff3c205796060d3b593

Block 3

gültig
Vorheriger Hash

0008272308781ae3dec268d445c7654b7854baa63b47eff3c205796060d3b593

Hash dieses Blocks

000d259f1f53d24d4106b5f768eb0408c46844c26c6a50ad1b0fd5ed1a024966

Nonce des dritten Blocks aus der Vorbereitung
0Nonce
Kette wird geprüft
Hashes je Sekunde in deinem Browser
Hashes je Sekunde im Netz
mal schneller ist das Netz
bräuchte dein Browser für einen echten Block

Der Browser misst seine Geschwindigkeit, sobald du einen Block minst.

Gerechnet wird ausschließlich in deinem Browser. Weder deine Texte noch die Hashes verlassen dieses Gerät.

Diese Demo im Vergleich zur echten Bitcoin-Kette
MerkmalDiese DemoBitcoin
Was gehasht wirdNummer, Text, Vorgänger-Hash, NonceBlockkopf mit 80 Byte: Version, Vorgänger-Hash, Merkle-Wurzel, Zeitstempel, Zielwert, Nonce
VerfahrenSHA-256 einmalSHA-256 zweimal hintereinander
Geforderte Nullen2 bis 4derzeit rund 19
Wer rechnetdein Browser, ein KernRechner rund um die Welt, gleichzeitig
Was drinstehtein Satz Texttausende Transaktionen, über einen Merkle-Baum zu einem Wert verdichtet
Zum Ausprobieren. Ändere in Block 1 einen Buchstaben und sieh zu, wie der Hash umspringt und die Blöcke rechts davon rot werden. Stelle danach vier Nullen ein und mine neu: Derselbe Block kostet dann im Schnitt sechzehnmal so viele Versuche.

Hinweis: Die Demo vereinfacht: einmal SHA-256 statt zweimal, ein Textfeld statt tausender Transaktionen, zwei bis vier geforderte Nullen statt rund 19. Keine Anlageberatung.

So rechnet das Werkzeug

Jeder der drei Blöcke wird zu einer einzigen Zeichenkette zusammengesetzt: Blocknummer, dein Text, der Hash des Vorgängers und die Nonce. Diese Zeichenkette geht durch SHA-256, und heraus kommen 64 Hexzeichen. Der erste Block hat keinen Vorgänger, deshalb steht dort eine Zeile aus 64 Nullen. Gerechnet wird mit der Hash-Funktion, die dein Browser selbst mitbringt. Es geht nichts an einen Server, weder dein Text noch die Ergebnisse.

Als gültig zählt ein Block hier, wenn zwei Dinge stimmen: Sein Hash beginnt mit der geforderten Zahl von Nullen, und sein Feld für den vorherigen Hash stimmt mit dem Hash des Vorgängers überein. Ändere einen Buchstaben in Block 1, und beide Bedingungen kippen für Block 2 und Block 3 mit. Genau das ist der Punkt der Demo.

Was ein Hash ist und was Proof of Work bedeutet

SHA-256 ist eine Einwegfunktion, festgelegt im Standard FIPS 180-4 des US-Normungsinstituts NIST. Die Ausgabe ist immer 256 Bit lang, also 64 Hexzeichen, egal ob du drei Zeichen oder drei Megabyte hineingibst. Die Funktion ist nicht umkehrbar: Aus dem Hash lässt sich der Text nicht zurückrechnen. Und sie ist sprunghaft: Ein einziges geändertes Zeichen erzeugt einen völlig anderen Hash, ohne jede Ähnlichkeit zum vorherigen.

Weil sich der Hash nicht steuern lässt, bleibt nur Ausprobieren. Das Whitepaper von 2008 beschreibt in Abschnitt 4 genau das: Eine Nonce im Block wird so lange erhöht, bis der Hash mit der geforderten Anzahl Nullbits beginnt. Der Aufwand ist vorhersehbar: Jede zusätzliche geforderte Hexziffer macht die Suche im Schnitt sechzehnmal teurer. Zwei Nullen kosten rund 256 Versuche, drei rund 4.096, vier rund 65.536. Prüfen kostet dagegen einen einzigen Hash, und das ist der eigentliche Trick: schwer zu finden, leicht zu kontrollieren.

Was echte Bitcoin-Blöcke anders machen

Bitcoin hasht nicht den Inhalt eines Blocks, sondern einen Kopf von genau 80 Byte. Darin stehen sechs Felder: Version, Hash des vorherigen Blockkopfes, Merkle-Wurzel, Zeitstempel, ein kodierter Zielwert namens nBits und die Nonce. Die Merkle-Wurzel verdichtet alle Transaktionen des Blocks zu einem einzigen Wert, sodass der Kopf klein bleibt. Gehasht wird zweimal SHA-256 hintereinander, nicht einmal.

Gültig ist ein Block, wenn der Hash des Kopfes kleiner oder gleich dem Zielwert ist. Das entspricht einer Mindestzahl führender Nullen, derzeit rund 19 Hexziffern. Dein Browser schafft in dieser Demo je nach Gerät einige tausend bis einige zehntausend Hashes je Sekunde, das Netz liegt bei vielen hundert Trillionen. Die Zahl im Ergebnisfeld oben kommt aus den Kettendaten dieser Seite und zeigt den Abstand ehrlich: Er ist nicht groß, er ist astronomisch. Gerechnet ist diese Zahl mit der hier gemessenen Geschwindigkeit für einen einfachen SHA-256. Ein echter Block verlangt zwei hintereinander, der Abstand wäre also noch größer.

Hinweis: Diese Demo lässt Dinge weg, die eine echte Kette braucht: Merkle-Baum, Zeitstempel, Signaturen, die Regel für die Anpassung des Zielwerts und die Verteilung auf viele unabhängige Rechner. Sie zeigt genau einen Mechanismus, nämlich warum eine Kette aus Hashes nachträgliche Änderungen teuer macht.

Häufige Fragen

Was ist ein Hash überhaupt?

Ein Fingerabdruck für Daten. SHA-256 macht aus beliebig langem Text immer 64 Hexzeichen. Derselbe Text ergibt denselben Hash, ein geändertes Zeichen einen völlig anderen. Rückwärts funktioniert es nicht: Aus dem Hash lässt sich der Text nicht rekonstruieren.

Wozu dient die Nonce?

Sie ist die einzige Zahl im Block, die frei verändert werden darf. Weil sich der Hash nicht gezielt beeinflussen lässt, zählt der Rechner sie hoch und hasht neu, bis das Ergebnis mit genug Nullen beginnt. Die Nonce ist damit der Beleg für die geleistete Arbeit.

Warum bricht die Kette, wenn ich Block 1 ändere?

Weil Block 2 den Hash von Block 1 als Eingabe enthält. Ändert sich Block 1, ändert sich sein Hash, und der in Block 2 gespeicherte Wert passt nicht mehr. Block 2 müsste neu gemint werden, danach Block 3, und so weiter bis zum Ende.

Kann ich mit meinem Browser Bitcoin minen?

Rechnerisch ja, praktisch nein. Ein echter Block verlangt rund 19 führende Nullen statt der zwei bis vier hier. Das Ergebnisfeld rechnet dir aus, wie viele Jahre dein Browser dafür bräuchte. Die Zahl liegt weit jenseits des Alters des Universums.

Verlassen meine Eingaben den Browser?

Nein. Die Hash-Funktion ist Teil des Browsers, die Demo ruft sie direkt auf. Es gibt keine Verbindung zu einem Server, keine Speicherung und keine Übertragung. Du kannst die Seite auch ohne Netzverbindung weiterbenutzen.

Quellen