Cryptocurrencies - Cheatsheet
Proof of Work vs. Proof of Stake
Definition:
Proof of Work und Proof of Stake sind Konsensmechanismen in Kryptowährungen, die zur Validierung von Transaktionen und Erstellung neuer Blöcke im Blockchain-Netzwerk genutzt werden.
Details:
- Proof of Work (PoW)
- Erfordert Rechenleistung zur Lösung kryptografischer Rätsel.
- Verbraucht viel Energie.
- Bekannteste Anwendung: Bitcoin.
- Formel zur Berechnung der PoW: \( H(x) \leq T \), wobei \(H(x)\) der Hashwert und \(T\) die Zielschwelle ist.
- Proof of Stake (PoS)
- Erfordert Besitz und „Einsetzen“ (Staking) von Coins.
- Gewinner des Staking-Prozesses erstellen neue Blöcke.
- Geringerer Energieverbrauch im Vergleich zu PoW.
- Bekannteste Anwendung: Ethereum (nach Umstellung auf Ethereum 2.0).
Bitcoin-Blockchain: Transaktionsvalidierung und Blockbildung
Definition:
Prozess der Überprüfung und Aufnahme von Transaktionen in die Bitcoin-Blockchain.
Details:
- Transaktionsvalidierung: Überprüfung der Gültigkeit durch Miner.
- Ein gültiger Block enthält eine Zusammenfassung neuer Transaktionen und wird der Blockchain hinzugefügt.
- Proof-of-Work (PoW): Konsensmechanismus zur Blockvalidierung.
- Belohnung: Miner erhalten neue Bitcoins und Transaktionsgebühren.
- Blöcke haben eine feste Größe (1 MB); enthalten Transaktionen und einen Header mit wichtigen Informationen.
- Block Header: Beinhaltet den Hash des vorherigen Blocks, einen Nonce, den Zeitstempel und den Merkle-Root-Hash.
- Merkle-Bäume: Struktur zur effizienten Überprüfung von Transaktionen innerhalb eines Blocks.
- Doppelter Spend (-Problem): Algorithmische Überprüfung zur Vermeidung mehrfacher Ausgaben gleicher Bitcoins.
Ethereum Virtual Machine (EVM)
Definition:
Die Ethereum Virtual Machine (EVM) ist die Laufzeitumgebung für Smart Contracts in Ethereum. Sie ermöglicht die Ausführung von Bytecode und gewährleistet die Konsistenz des Zustands der Blockchain.
Details:
- EVM führt Smart Contracts in Bytecode aus, der aus höherer Programmiersprache (z. B. Solidity) kompiliert wurde.
- Unabhängig von der zugrunde liegenden Hardware durch virtuelle Maschine.
- Verwendet Gas als Maß für Rechenaufwand; Gaslimit und Gaspreis beeinflussen die Ausführungskosten.
- Zustandsübergänge und Transaktionen werden in einer Sandbox-Umgebung ausgeführt.
- Deterministisch — bei identischen Eingaben gleiche Ausgaben.
- Kein direkter Zugriff auf andere Verträge; interagiert über definierte Schnittstellen.
- Programme laufen in isolierten Umgebungen, wodurch Sicherheit und Integrität der Blockchain gewährleistet werden.
- Stack-basiert, 256-bit-Wortgröße: \texttt{PUSH}, \texttt{POP}, \texttt{ADD}, etc.
Programmiersprachen für Smart Contracts (z.B. Solidity)
Definition:
Sprachen zur Umsetzung und Ausführung von Smart Contracts, wie z.B. Solidity auf der Ethereum-Plattform.
Details:
- Smart Contracts: Selbst-ausführende Verträge mit den Vertragsbedingungen direkt in Code geschrieben.
- Solidity: Die am häufigsten verwendete Sprache für Ethereum Smart Contracts.
- Syntax: Ähnlich zu JavaScript, speziell entwickelt für die Ethereum Virtual Machine (EVM).
- Wichtige Konstrukte: Contracts, Functions, Modifiers, Events.
- Beispieleinheit: \texttt{contract MyContract \{function foo() public \textbraceleft \textellipsis \textbraceright \}}
- Alternative Sprachen: Vyper (Python-ähnlich), Rust (für Solana), Michelson (für Tezos).
Elliptische Kurven für Kryptografie
Definition:
Elliptische Kurven werden in der Kryptografie verwendet, um sichere und effiziente Verschlüsselung zu gewährleisten.
Details:
- Grundlage: Elliptische Kurven-Gleichung: \(y^2 = x^3 + ax + b\)
- Nutzen: Schlüsselgenerierung, digitale Signaturen, Schlüsselaustausch
- Sicherheit: beruht auf der Schwierigkeit des Diskreten Logarithmusproblems auf elliptischen Kurven
- Populär: verwendet in Protokollen wie ECDSA, ECDH
- Vorteile: kurze Schlüsselgrößen bei gleicher Sicherheit im Vergleich zu RSA
Dezentralisierte Netzwerke und ihre Anwendungen
Definition:
Funktionieren ohne zentrale Kontrollinstanz, erhöhen Sicherheit und Eigenständigkeit der Teilnehmer.
Details:
- Konzensusmechanismen: Proof of Work (PoW), Proof of Stake (PoS)
- Beispiele: Bitcoin, Ethereum
- Anwendungen: Kryptowährungen, Smart Contracts, dezentrale Apps (dApps), DeFi (Dezentrale Finanzen)
- Skalierbarkeitsprobleme und Lösungen: Sharding, Layer-2-Lösungen (z.B. Lightning Network)
- Sicherheitsaspekte: Angriffe (51% Angriff), kryptografische Schutzmaßnahmen
Plattform für dApps auf Ethereum
Definition:
Ethereum als dezentralisierte Plattform für dApps (dezentrale Anwendungen).
Details:
- Smart Contracts ermöglichen automatisierte Abläufe und Vereinbarungen, geschrieben in Solidity
- ETH ist die native Kryptowährung, die für Transaktionsgebühren (Gas) genutzt wird
- dApps laufen auf der Ethereum Virtual Machine (EVM)
- Typische Anwendungsfälle: DeFi, NFTs, DAOs und Spiele
- Scalability Herausforderungen: hohe Gas-Gebühren, langsame Transaktionsbestätigungen
- Erweiterungen/Layer 2 Lösungen: z.B. Plasma, Rollups für bessere Skalierbarkeit
Sicherheitsaspekte und Angriffsvektoren in der Blockchain
Definition:
Sicherheitsaspekte und potenzielle Angriffsvektoren auf Blockchaintechnologie im Kontext von Kryptowährungen.
Details:
- Konsensmechanismen: Proof-of-Work (PoW), Proof-of-Stake (PoS)
- Sybil-Angriffe: Ein Angreifer erstellt viele falsche Identitäten
- 51%-Angriff: Kontrolle über mehr als 50% der Netzwerkkapazität
- Double-Spending: Doppelausgabe derselben Kryptowährung
- Replay-Attacke: Wiederholung einer legitimen Transaktion
- Sicherheitsaspekte: Dezentrale Netzwerkstruktur, Kryptografische Absicherung, Mechanismen zur Vermeidung von Manipulationen
- Privacy Concerns: Anonymität vs. Rückverfolgbarkeit von Transaktionen