Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Wann eine Blockchain das falsche Werkzeug ist

Nach dieser Lektion: Ich kann sagen, wann eine Blockchain das falsche Werkzeug ist.

Lektion, 65 Min.1 BefehlBlockchain-Lab: eine Spielzeugkette in Python zum Lesen, Brechen, Minen und Signieren

Braucht Ihr Projekt wirklich eine Blockchain?

Eine Blockchain passt nur zu einem engen Fall: Mehrere Parteien, die einander nicht trauen, müssen sich auf eine gemeinsame Liste einigen. In allen anderen Fällen ist eine gewöhnliche Datenbank meist die bessere Wahl.

Nach dieser Lektion können Sie das begründen, mit Rechenaufwand, Tempo, Datenschutz und Alternativen.

Am Ende dieser Lektion

Notiz

Ich kann sagen, wann eine Blockchain das falsche Werkzeug ist.

Schlüsselwörter

BegriffWas er bedeutet
Durchsatzwie viele Einträge ein System pro Sekunde schreiben kann
Rechenaufwanddie Arbeit und der Strom, die das Mining verbrauchen
Datenschutzder Schutz persönlicher Daten vor fremden Blicken
Vertrauenswürdige Stelleeine Person oder Organisation, der alle Beteiligten glauben
LöschbarkeitDaten lassen sich später wieder entfernen
Datenbankein Speicher, den eine Stelle verwaltet und ändern darf

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Blockchain ist langsam und teuer

Jeder Block braucht beim Mining viele Versuche, und alle Beteiligten speichern und prüfen ihn. Das kostet Strom und Zeit. Eine Datenbank schreibt dieselbe Zeile mit einem einzigen Vorgang.

Der Durchsatz ist daher klein, weil sich alle auf eine Reihenfolge einigen müssen. Das Labor zeigt, was ein einziger Block bei hoher Schwierigkeit kostet.

Die Ausgabe des Labors ist englisch

Notiz

Das Skript mine.py gibt englische Wörter aus, difficulty, nonce, tries und hash. Sehen Sie nur auf die Zahl hinter tries. Sie ist die Zahl der Hashwerte für einen einzigen Block.

Die Kosten eines einzigen Blocks ansehen

Befehl
docker exec jupyter python3 steps/mine.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was das Skript zeigt

Bei Schwierigkeit 1 sind es 15 Versuche, bei Schwierigkeit 4 schon 109028. Das gilt für einen einzigen Eintrag in einem Block.

Eine Datenbank braucht für denselben Eintrag einen Schreibvorgang. Der Unterschied ist der Preis dafür, dass niemand der Datenbank vertrauen muss.

Alles bleibt sichtbar und für immer erhalten

Jede Person, die eine Kopie der Kette hat, sieht alle Einträge. Und die Kette darf nichts vergessen, sonst würden die Hashwerte nicht mehr passen.

Das passt schlecht zu persönlichen Daten. Das Recht auf Löschung aus dem Datenschutzrecht der EU lässt sich mit einer Kette nicht erfüllen, denn ein gelöschter Block bricht die Kette.

Wann eine Blockchain trotzdem sinnvoll ist

Sie lohnt sich, wenn drei Dinge zusammenkommen. Mehrere Parteien schreiben in dieselbe Liste. Keine Partei darf die Liste allein führen. Jede Person soll nachprüfen können, dass nichts geändert wurde.

Fehlt auch nur eine dieser Bedingungen, gibt es meist eine einfachere Lösung. Die Tabelle ordnet fünf Fälle zu.

Fünf Fälle und das passende Werkzeug

FallPassendes WerkzeugGrund
Die Notenliste einer HochschuleDatenbankEine Stelle führt sie, und Daten müssen löschbar sein
Das Logbuch eines Betriebs, das niemand heimlich ändern sollDatenbank mit HashketteEine Stelle schreibt, aber Änderungen müssen auffallen
Ein Lagerbestand mit Tausenden Buchungen pro SekundeDatenbankDer Durchsatz einer Kette reicht nicht
Ein Register, in das mehrere Firmen schreiben, die einander nicht trauenBlockchainKeine Firma darf es allein führen
Die Anmeldedaten einer HochschuleDatenbankPersönliche Daten und Löschbarkeit

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, eine Blockchain sei unveränderlich und deshalb immer sicher. Sie hält nur fest, was hineingeschrieben wurde, auch Falsches. Wer einen falschen Eintrag schreibt, hat einen dauerhaft falschen Eintrag.

Über dieses Lab und seinen Quellcode: Blockchain-Lab: eine Spielzeugkette in Python zum Lesen, Brechen, Minen und Signieren

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.