Cryptocurrencies - Cheatsheet
Geschichte und Entwicklung von Bitcoin
Definition:
Erster dezentralisierter cryptocurrency, eingeführt 2009.
Details:
- 2008: Whitepaper von Satoshi Nakamoto veröffentlicht
- 2009: Genesis Block (erster Block von Bitcoin) erstellt
- 2010: Erste reale Transaktion (10.000 BTC für eine Pizza)
- 2011: Andere Kryptowährungen entstehen (z.B. Litecoin)
- 2013: Bitcoin erreicht Marktkapitalisierung von $1 Milliarde
- 2017: Bitcoin erreicht $20.000
- 2020: Erste Unternehmen investieren in Bitcoin (z.B. MicroStrategy)
Konsensmechanismen: Proof of Work vs. Proof of Stake
Definition:
Unterscheiden sich hauptsächlich durch ihren Ansatz zur Verifizierung von Transaktionen im Blockchain-Netzwerk.
Details:
- Proof of Work (PoW): Miner lösen komplexe Rechenprobleme zur Verifizierung und erhalten eine Belohnung. Hoher Energieverbrauch.
- Vorteile PoW: Hohe Sicherheit, erprobt.
- Nachteile PoW: Sehr energieintensiv, teuer.
- Proof of Stake (PoS): Validierer werden basierend auf der Anzahl ihrer gehaltenen Coins ausgewählt. Niedrigerer Energieverbrauch.
- Vorteile PoS: Energieeffizient, umweltfreundlicher.
- Nachteile PoS: Gefahr der Zentralisierung, weniger erprobt.
- Belohnung PoS: Transaktionsgebühren und neue Coins werden proportional zum Einsatz verteilt.
Programmierung von Smart Contracts mit Solidity
Definition:
Programmierung von Smart Contracts auf Basis der Ethereum-Blockchain, Verwendung der Programmiersprache Solidity.
Details:
- Smart Contracts: Selbst-ausführende Verträge mit Vertragsbedingungen in Code.
- Solidity: Objektorientierte Programmiersprache für Smart Contracts.
- Datentypen: string, uint, address, bool, etc.
- Funktionen: Definition mittels keyword ```function```.
- Zugriffsmodifikatoren: public, private, internal, external.
- Veranstalter: Ethereum Virtual Machine (EVM) führt den Code aus.
- Sicherheit: Kritisch, häufig Ziel von Angriffen - Verwendung von ```require```, ```assert``` und ```revert``` zur Fehlerbehandlung.
- Events: Logging und Kommunikation mit DApp.
- Deployment: Bereitstellung des Smart Contracts auf der Blockchain.
Zero-Knowledge-Proofs und Datenschutz
Definition:
Zero-Knowledge-Proofs (ZKP) erlauben es, die Richtigkeit einer Information zu beweisen, ohne die Information selbst offenbaren zu müssen.
Details:
- Nachweis, dass man ein Geheimnis besitzt, ohne dessen Inhalt preiszugeben
- Wichtige Eigenschaften: Vollständigkeit, Solidität, Zero-Knowledge
- Vollständigkeit: Wenn die Aussage wahr ist, kann der Beweisführer den Prüfer überzeugen
- Solidität: Wenn die Aussage falsch ist, wird der Beweisführer den Prüfer nicht täuschen können
- Zero-Knowledge: Der Prüfer lernt nichts über die Information außer deren Wahrheitsgehalt
- Wichtige Anwendungen in Kryptographie, wie Kryptowährungen (z.B. zk-SNARKs in Zcash)
- \textit{Beispiel}: \textbf{zk-SNARK} (\textit{Zero-Knowledge Succinct Non-Interactive Argument of Knowledge})
Off-Chain Skalierungslösungen: Lightning Network
Definition:
Off-Chain Skalierungslösung für schnellere und günstigere Bitcoin-Transaktionen.
Details:
- Ermöglicht Mikrotransaktionen durch Zahlungskanäle.
- Transaktionen werden außerhalb der Blockchain durchgeführt.
- Nur Eröffnungs- und Abschluss-Transaktionen werden in der Blockchain verankert.
- Reduziert die Belastung und Transaktionskosten des Bitcoin-Netzwerks.
- Verwendung von Hash-Time-Locked Contracts (HTLCs) zur Sicherstellung der Zahlungen.
- Kann theoretisch Millionen von Transaktionen pro Sekunde verarbeiten.
- Erfordert beide Parteien, um einen Zahlungskanal zu erstellen und abzuschließen.
Hashfunktionen und deren Bedeutung
Definition:
Hashfunktionen transformieren beliebige Daten in einen festen Wertebereich. Wesentlich für die Sicherheit und Integrität von Kryptowährungen.
Details:
- Deterministisch: Gleiche Eingabe liefert immer gleiche Ausgabe
- Effizient berechenbar
- Kollisionsresistenz: Unterschiedliche Eingaben liefern unterschiedliche Ausgaben
- Vorabbildresistenz: Ausgabe soll nicht auf Eingabe zurückzuführen sein
- Hochsicherheit: Verwendet in Transaktionen und Blockchains (z.B. SHA-256)
- Integrität und Authentizität der Daten
Kryptographische Grundlagen: Symmetrische und asymmetrische Verschlüsselung
Definition:
Grundlagen der Kryptographie: Symmetrische und asymmetrische Verschlüsselung.
Details:
- Symmetrische Verschlüsselung:
- Ein Schlüssel für Ver- und Entschlüsselung
- Schneller, aber Schlüsselverteilung problematisch
- Beispiel: AES
- Asymmetrische Verschlüsselung:
- Öffentlicher Schlüssel zum Verschlüsseln, privater Schlüssel zum Entschlüsseln
- Sicherere Schlüsselverteilung, aber langsamer
- Beispiel: RSA
Dezentrale Anwendungen (dApps) Entwicklung
Definition:
Entwicklung von Programmen, die auf dezentralen Netzwerken wie Blockchains laufen und Transparenz sowie Sicherheit bieten.
Details:
- Laufen meist auf Blockchains wie Ethereum.
- Verwenden Smart Contracts für die Ausführung von Logik.
- Dezentralisiert, keine zentrale Kontrollinstanz.
- Erfordern \textit{Web3}-Technologien für die Interaktion.
- Verwenden Token oder Kryptowährungen für Zahlungen und Anreize.
- Code ist oft Open Source.
- Popularität steigt in Fintech, Gaming und DeFi.
- Kernkonzepte: \textit{Immutabilität}, \textit{Transparenz}, \textit{Sicherheit}.