SHA-256 Grundlagen: Was ist ein Hash?
Hash-Funktion: Einbahnstraße für Daten
Eine Hash-Funktion nimmt beliebige Eingabedaten und erzeugt einen eindeutigen 256-Bit (64 Zeichen) Fingerabdruck
Wichtige Eigenschaften von SHA-256
Gleiche Eingabe → Immer gleicher Hash
Unmöglich vom Hash zur Eingabe zurück zu rechnen
Kleinste Änderung → Komplett anderer Hash
Praktisch unmöglich zwei Eingaben mit gleichem Hash zu finden
Avalanche-Effekt demonstriert
→ Komplett unterschiedliche Hashes! Diese Eigenschaft macht Manipulation unmöglich.
Proof of Work: Die Kernidee des Bitcoin-Minings
Das Mining-Rätsel: Finde eine Zahl (Nonce), sodass der Hash des Blocks mit einer bestimmten Anzahl Nullen beginnt. Das klingt simpel, ist aber extrem rechenintensiv!
Das Mining-Puzzle visualisiert
Difficulty: Wie schwer ist das Puzzle?
Niedriger Difficulty (2009)
Hoher Difficulty (2025)
Warum ist Proof of Work sicher?
- Rechenaufwand beweisbar: Einen gültigen Hash zu finden erfordert nachweislich Milliarden von Berechnungen
- Fälschung unmöglich: Alte Blöcke zu ändern würde alle nachfolgenden Blöcke neu minen erfordern (praktisch unmöglich)
- Demokratisch: Mehr Rechenpower = Mehr Stimmen, aber keine einzelne Partei kann das Netzwerk kontrollieren
- Energiekosten: Angreifer müssten mehr Geld für Strom ausgeben als sie durch Betrug gewinnen könnten
Warum ASICs GPUs dominieren
GPUs waren 2010-2013 die Mining-Hardware der Wahl. Heute sind sie für Bitcoin-Mining obsolet. Der Grund liegt in der Spezialisierung von ASICs (Application-Specific Integrated Circuits).
| Eigenschaft | CPU | GPU | ASIC |
|---|---|---|---|
| Hashrate | ~20 MH/s | ~1.500 MH/s | ~120.000.000 MH/s |
| Stromverbrauch | 100 W | 300 W | 3.500 W |
| Effizienz | 5.000 J/TH | 200 J/TH | 29 J/TH |
| Spezialisierung | Universal | Parallel-Aufgaben | NUR SHA-256 |
| Kosten | 200 € | 800 € | 2.500 € |
| Ära | 2009-2010 | 2010-2013 | 2013-heute |
Warum sind ASICs so viel effizienter?
GPU: Universaltalent
- Tausende von Rechenkernen
- Kann viele verschiedene Aufgaben parallel ausführen
- Gaming, KI-Training, Video-Rendering, Mining...
- Flexibel programmierbar
- Nachteil: Viel Hardware für Funktionen, die beim Mining nicht gebraucht werden
ASIC: SHA-256-Maschine
- Millionen von SHA-256-Einheiten
- Kann NUR SHA-256 berechnen
- Keine Grafikkarte, keine Flexibilität
- Hardware-Level optimiert für einen Algorithmus
- Vorteil: 100% der Chip-Fläche für Mining genutzt
Effizienz-Entwicklung über die Jahre
→ 200x effizienter als vor 15 Jahren!
Praktische Code-Beispiele
SHA-256 in JavaScript
// SHA-256 Hash in JavaScript (Browser-API)
async function sha256(message) {
const msgBuffer = new TextEncoder().encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
const hashArray = Array.from(new Uint8Array(hashBuffer));
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}
// Verwendung
sha256("Hello World").then(hash => {
console.log(hash);
// Output: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
});
Simplified Mining-Simulation
// Vereinfachte Mining-Simulation
async function simplifiedMining(blockData, difficulty) {
let nonce = 0;
const target = "0".repeat(difficulty); // z.B. "0000" für 4 Nullen
while (true) {
const data = blockData + nonce;
const hash = await sha256(data);
// Prüfe ob Hash mit genug Nullen beginnt
if (hash.startsWith(target)) {
console.log(`✓ Block gefunden! Nonce: ${nonce}, Hash: ${hash}`);
return { nonce, hash };
}
nonce++;
if (nonce % 100000 === 0) {
console.log(`Versuche: ${nonce.toLocaleString()}`);
}
}
}
// Beispiel: Mine einen Block mit 4 führenden Nullen
simplifiedMining("Mein Block Data", 4);
Warum ASICs nicht in Software replizierbar sind
Der entscheidende Unterschied:
- Software (CPU/GPU): Führt Befehle sequenziell aus, selbst bei Parallelisierung müssen Daten durch Cache, RAM und Register transportiert werden
- ASIC-Hardware: SHA-256-Logik ist direkt in Silizium geätzt. Keine Befehlsabfrage, kein Speicherzugriff, keine Flexibilität - nur pure SHA-256-Berechnung auf Transistor-Ebene
Analogie: Ein ASIC ist wie eine Fabrik, die nur einen Produkttyp herstellt - extrem effizient, aber unflexibel. Eine GPU ist wie eine Werkstatt, die viele verschiedene Dinge bauen kann - flexibel, aber langsamer bei spezialisierten Aufgaben.