Du hast das Wort „Blockchain“ schon einmal gehört und willst wissen, worum es sich
dabei handelt? Du willst wissen, wie eine „Kryptowährung“ – also rein digitales
Geld – funktionieren kann? Oder du wurdest von deiner Informatik-Lehrperson dazu
aufgefordert, dich über Blockchains schlau zu machen? Egal. Hier bist du
richtig.
Wir werden uns einen Weg durch die grundlegenden Konzepte der Blockchain-Technologie
bahnen, der uns zu 19 Animationen führen wird. Von Animation zu
Animation kannst du Schritt für Schritt über die mit „zurück“ und „weiter“
beschrifteten Buttons wandern, oder du kannst über das Navigationsmenü direkt zu
einer bestimmten Animation springen.
Wenn alles klappt, bist du am Ende unseres Weges schon fast eine Expertin oder ein
Experte für das Thema „Blockchain“ …
|
Dieses Symbol erscheint immer dann, wenn du eine Animation beendet hast. Wenn du
draufklickst, öffnet sich ein Text, in dem das Konzept erklärt wird, das du in
der Animation gesehen hast. Probier's aus und du wirst eine erste kurze Einführung ins Thema „Blockchain“ erhalten. |
|
Beim Klicken auf diesen Button öffnet sich ein Text mit Hintergrundwissen, das
über das hinausgeht, was wir in der Animation gezeigt haben. Hier erhältst du
weiterführende Informationen, um deine Kenntnisse zu vertiefen. Probier's aus und du wirst erfahren, wie das mit der Blockchain angefangen hat. |
Ein Buch besteht aus lauter einzelnen Seiten. Die Reihenfolge der Seiten wird durch die Seitenzahl bestimmt. Wenn eine neue Seite dazukommt, bekommt sie eine Seitenzahl, die um 1 höher ist als die Seitenzahl der bis dahin letzten Seite.
Bitte geben Sie einen Text ein, der ausschliesslich aus Gross- und Kleinbuchstaben oder Ziffern besteht und maximal 50 Zeichen lang ist.
Die "Seiten" einer Blockchain werden "Blöcke" genannt. Jeder Block kann identifiziert werden durch einen Hashwert. Das ist eine (in unserer Darstellung hexadezimale) Zahl mit einer fixen Länge (bei uns 8 Zeichen), die mit einer sogenannten "Hashfunktion" auf den Inhalt des Blocks berechnet wird.
Bitte geben Sie einen Text ein, der ausschliesslich aus Gross- und Kleinbuchstaben oder Ziffern besteht und maximal 50 Zeichen lang ist.
Jeder Block beinhaltet den Hashwert des vorherigen Blocks. Dadurch werden die Blöcke miteinander verknüpft und bekommen eine Reihenfolge. Und aus einzelnen Blöcken wird eine Kette von Blöcken.
Bitte geben Sie einen Text ein, der ausschliesslich aus Gross- und Kleinbuchstaben oder Ziffern besteht und maximal 50 Zeichen lang ist.
Hashwert vorheriger Block:
Der Inhalt der einzelnen Blöcke wird aus den Blöcken ausgelagert und an einem anderen Ort gespeichert. Übrig bleibt ein sogenannter "Block-Header", der über Hashwerte (sogenannte "Hash-Referenzen") auf den vorherigen Block und den eigenen Inhalt verweist ("referenziert").
Eine Blockchain wird nicht irgendwo zentral gespeichert, sondern sie wird von einem Netzwerk von vielen gleichwertigen Knoten bearbeitet. Alle Knoten ("Peers") sind dabei gleichrangig, bei jedem Knoten ist die gesamte Blockchain mit all ihren Daten gespeichert.
Bitte geben Sie einen Text ein, der ausschliesslich aus Gross- und Kleinbuchstaben oder Ziffern besteht und maximal 20 Zeichen lang ist.
Jeder Peer hat eine oder mehrere Adressen, auf die und von diesen weg Transaktionen getätigt werden können. Der Hauptbestandteil dieser Adressen ist ein öffentlicher Schlüssel, mit dem geprüft werden kann, ob eine Transaktion tatsächlich von demjenigen Peer getätigt worden ist, der in dieser Transaktion als Absender angegeben ist.
Bitte geben Sie eine ganze Zahl von 1 bis 3 ein.
In unserer Darstellung haben die einzelnen Peers bisher zum leichteren Verständnis einen Namen bekommen. Das wird nun korrigiert, denn tatsächlich haben die Peers keine Namen. Sie bleiben anonym. Das einzige, wodurch ein Peer identifiziert werden kann, sind seine Adressen.
Der vorrangige Sinn einer Blockchain ist es, Werte von einer Adresse zu einer anderen Adresse zu verschieben, also "Transaktionen" zu tätigen. Das geschieht in einer eigenen Währung, die wir für unsere Simulation einer Blockchain SiC ("Simulation Coins") nennen wollen. Die Summe aller SiCs, die an eine Adresse überwiesen und von dieser Adresse noch nicht wieder woandershin weiter überwiesen wurden, ist das Guthaben dieser Adresse.
Bitte geben Sie eine ganze Zahl von 0 bis 999 ein.
Wenn ein Peer einen Teil seiner SiCs an eine andere Adresse überweisen will, muss er angeben, von welcher Adresse der Betrag weggehen soll, an welche Empfänger-Adresse er den Betrag überweisen will und wie hoch der Betrag ist. Automatisch hinzugefügt werden ein Zeitstempel, eine Gebühr und ein Hashwert, der auf alle Daten der Transaktion berechnet wird.
| Transaktionsdaten |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
Bitte gib eine ganze Zahl ein.
Bitte gibt einen Empfänger aus der Liste "Fremde Adressen" ein!
Gib eine Empfänger-Adresse ein:
Transaktionsgebühr:
SiCZeitstempel:
Hashwert:
Zur Bestätigung einer Transaktion wird ihr Hashwert mit dem geheimen privaten Schlüssel der Auftraggeber-Adresse verschlüsselt. Jeder Peer kann dann mit dem bekannten öffentlichen Schlüssel der Auftraggeber-Adresse diesen Hashwert entschlüsseln und dadurch feststellen, ob die Transaktion tatsächlich von der angegebenen Auftraggeber-Adresse stammt.
| Transaktionsdaten |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
| Hashwert | ||||
|---|---|---|---|---|
| als binäre Zahl | ||||
| als Dezimalzahl | ||||
| verschlüsselt |
Eine Transaktion wird an alle Peers geschickt. Jeder Peer überprüft, ob die eingegebenen Daten korrekt sind. Wichtig ist vor allem, ob die angegebene Auftraggeber-Adresse tatsächlich im Besitz der Werte (in unserer Darstellung: der SiCs) ist, die überwiesen werden sollen, und ob die Transaktion tatsächlich von der angegebenen Auftraggeber-Adresse gesendet wurde, wozu die digitale Signatur überprüft wird.
| Transaktionsdaten |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
| Digitale Signatur | ||||
|---|---|---|---|---|
| entschlüsselt | ||||
| als binäre Zahl | ||||
| Hashwert |
Zwei Transaktionen werden verknüpft, indem ein Hashwert von ihren Hash-Referenzen berechnet wird. Somit würde jede kleinste Veränderung in den Transaktionen sofort auffallen, denn eine solche würde nicht nur die Hash-Referenz der Transaktion, sondern auch die Hash-Referenz der Verknüpfung verändern.
| Transaktion 4 |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
| Transaktion 5 |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
|
Referenz Transaktion 4: |
|
Referenz Transaktion 5: |
Eingabe:
Hashwert auf Eingabe:
Mehrere Transaktionen werden über ihre Hash-Referenzen in einer Baum-Struktur miteinander verbunden. Der Hashwert, der die Wurzel dieses Baumes bildet, wird zur Hash-Referenz auf den Inhalt eines Blocks in der Blockchain.
| Transaktion 4 |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
| Transaktion 5 |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
Die Verknüpfung der Transaktionen über ihre Hash-Referenzen sowie die Verkettung der Blöcke über Hash-Referenzen führt dazu, dass jede nachträgliche Änderung bei einer Transaktion, auch wenn sie noch so klein ist, den Hashwert der Transaktion und in der Folge jede davon abhängige Hash-Referenz verändert und dadurch die Blockchain zerbricht.
| Transaktion 4 |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
| Transaktion 5 |
|---|
|
Auftraggeber-Adresse: |
|
Empfänger-Adresse: |
|
Zu überweisender Betrag: |
|
Transaktionsgebühr: |
|
Zeitstempel: |
|
Hashwert Transaktion: |
|
Digitale Signatur: |
Ändere einen oder mehrere der folgenden Werte
SiCEmpfänger Transaktion 4:
SiC
Empfänger Transaktion 5:
Bitte gib eine ganze Zahl ein.
Damit ein Block in die Blockchain aufgenommen werden kann, muss seine Gültigkeit nachgewiesen werden. Beim sogenannten "Proof-of-Work"-Verfahren muss für den Block ein Hashwert gefunden werden, der kleiner ist als eine vorgegebene Zahl ("Target"). Dafür wird der Block mit einer sich solange ändernden Zufallszahl ("Nonce") ergänzt, bis ein passender Hashwert gefunden worden ist. Je kleiner das Target, umso grösser ist der Rechenaufwand.
Anzahl
Lösungsversuche:
erster Block:
(Durchschnitt: 16)
zweiter Block:
(Durchschnitt: 256)
Wenn ein Peer eine neue Transaktion erstellt, schickt er sie an alle Peers weiter, mit denen er direkt verbunden ist. Wenn bei einem Peer auf diese Art eine neue Transaktion in seinem Posteingang landet, schickt er sie an alle direkt mit ihm verbundenen Peers weiter. So landet die neue Transaktion am Ende in den Posteingängen von sämtlichen Peers.
Wenn sich genug gültige Transaktionen im Posteingang befinden, kann jeder Peer beginnen, einen neuen Block zu erstellen. Falls er das Hashpuzzle lösen kann, bevor von einem anderen Peer ein neuer Block der Blockchain hinzugefügt worden ist, wird der neue Block an alle anderen Peers im Netzwerk verteilt. Die im neuen Block verarbeiteten Transaktionen werden dabei aus dem Posteingang gelöscht.
Wenn zwei oder mehrere Blöcke nahezu zeitgleich erstellt und im Netzwerk verteilt werden, kann es zu Konflikten vorkommen, weil die Verteilung der Blöcke in einem grossen Netzwerk eine gewisse Zeit dauert. Je grösser das Netzwerk ist, umso öfter kann so ein Konflikt entstehen.
Wenn zwei oder mehrere Blöcke im Posteingang landen, die alle auf denselben Vorgänger-Block verweisen, entsteht ein Konflikt und die Blockchain bekommt zwei oder mehrere Äste. Welcher Ast der gültige ist, mit dem die Blockchain fortgesetzt wird, entscheidet der insgesamt erbrachte Rechenaufwand, also die Summe aller durch die Targets der Blöcke bestimmten Schwierigkeitsgrade der Hashpuzzles.
Wenn alles klappt, bist du am Ende unseres Weges schon fast eine Expertin
oder ein Experte für das Thema „Blockchain“ …
Dieser Satz steht auf der Startseite dieser Applikation und damit am Beginn unseres
Weges durch die grundlegenden Konzepte der Blockchain-Technologie. Jetzt stehen wir
am Ende dieses Weges und können rückblickend überprüfen, ob es uns gelungen ist,
der Erreichung dieses Ziels zumindest nahezukommen.
Wie auch immer diese Überprüfung ausgeht, eines wollen wir dir sagen:
|
Was haben wir gelernt? Wenn du ein letztes Mal auf das Symbol für die erklärenden Texte klickst, kommst du zu einer Zusammenfassung all dessen, was in den 19 Animationen dargestellt, simuliert und erklärt worden ist. |
|
Was gibt es noch zu dieser Applikation zu sagen? Wenn du ein letztes Mal auf diesen Button klickst, kannst du etwas über den Autor und darüber erfahren, in welchem Rahmen diese Applikation entstanden ist. |