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
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.
Bereit. Ändere einen Text oder suche mit einem der Knöpfe eine neue Nonce.
Block 1
gültig0000000000000000000000000000000000000000000000000000000000000000
000e95e47a462dc02fa499ff2de84c26fe5c830f54a21fad7adae3347c4f5068
Block 2
gültig000e95e47a462dc02fa499ff2de84c26fe5c830f54a21fad7adae3347c4f5068
0008272308781ae3dec268d445c7654b7854baa63b47eff3c205796060d3b593
Block 3
gültig0008272308781ae3dec268d445c7654b7854baa63b47eff3c205796060d3b593
000d259f1f53d24d4106b5f768eb0408c46844c26c6a50ad1b0fd5ed1a024966
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.
Dieser Browser stellt die Hash-Funktion nicht bereit. Die Demo braucht eine verschlüsselte Verbindung und einen aktuellen Browser.
| Merkmal | Diese Demo | Bitcoin |
|---|---|---|
| Was gehasht wird | Nummer, Text, Vorgänger-Hash, Nonce | Blockkopf mit 80 Byte: Version, Vorgänger-Hash, Merkle-Wurzel, Zeitstempel, Zielwert, Nonce |
| Verfahren | SHA-256 einmal | SHA-256 zweimal hintereinander |
| Geforderte Nullen | 2 bis 4 | derzeit rund 19 |
| Wer rechnet | dein Browser, ein Kern | Rechner rund um die Welt, gleichzeitig |
| Was drinsteht | ein Satz Text | tausende Transaktionen, über einen Merkle-Baum zu einem Wert verdichtet |
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.
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
- Bitcoin: A Peer-to-Peer Electronic Cash System, Abschnitt 4 Proof-of-WorkSatoshi Nakamoto, 2008
- FIPS 180-4, Secure Hash Standard (SHA-256)NIST
- Block Chain Reference, Blockkopf mit 80 Byte und ZielwertBitcoin Developer Reference
- Block hashing algorithmBitcoin Wiki

