Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Titel
Impressum
Widmung
Inhalt
Vorwort
Glossar
1 Einführung
Was ist Bitcoin?
Geschichte des Bitcoins
Bitcoin: Anwendungsfälle, Anwender und deren Geschichten
Erste Schritte
Wahl einer Bitcoin-Wallet
Schnelleinstieg
Ihr erster Bitcoin
Den aktuellen Bitcoin-Preis ermitteln
Bitcoin senden und empfangen
2 Wie Bitcoin funktioniert
Transaktionen, Blöcke, Mining und die Blockchain
Bitcoin-Übersicht
Eine Tasse Kaffee kaufen
Bitcoin-Transaktionen
Inputs und Outputs von Transaktionen
Transaktionsketten
Wechselgeld
Gängige Transaktionsformen
Eine Transaktion konstruieren
Die richtigen Inputs
Die Outputs erzeugen
Die Transaktion zum Kassenbuch hinzufügen
Bitcoin-Mining
Transaktionen in Blöcke einfügen
Die Transaktion einlösen
3 Bitcoin Core: die Referenzimplementierung
Bitcoin-Entwicklungsumgebung
Bitcoin Core aus dem Quellcode kompilieren
Wahl einer Bitcoin-Core-Release
Den Bitcoin-Core-Build konfigurieren
Die Bitcoin-Core-Executables erzeugen
Einen Bitcoin-Core-Knoten ausführen
Bitcoin Core zum ersten Mal ausführen
Den Bitcoin-Core-Knoten konfigurieren
Bitcoin Core Application Programming Interface (API)
Informationen zum Status des Bitcoin-Core-Clients abrufen
Transaktionen untersuchen und decodieren
Blöcke untersuchen
Die Bitcoin Core API nutzen
Alternative Clients, Bibliotheken und Toolkits
C/C++
JavaScript
Java
Python
Ruby
Go
Rust
C#
Objective-C
4 Schlüssel und Adressen
Einführung
Public-Key-Kryptografie und Kryptowährungen
Private und öffentliche Schlüssel
Private Schlüssel
Öffentliche Schlüssel
Kryptografie mit elliptischen Kurven
Einen öffentlichen Schlüssel generieren
Bitcoin-Adressen
Base58- und Base58Check-Codierung
Schlüsselformate
Schlüssel und Adressen in Python implementieren
Fortgeschrittene Schlüssel und Adressen
Verschlüsselte private Adressen (Encrypted Private Keys, BIP-38)
Pay-to-Script-Hash-(P2SH-)Adressen und Multisig-Adressen
Vanity-Adressen
Paper-Wallets
5 Wallets
Wallet-Technologie in der Übersicht
Nichtdeterministische (zufallsbasierte) Wallets
Deterministische (Seed-basierte) Wallets
HD-Wallets (BIP-32/BIP-44)
Seeds und mnemonische Codes (BIP-39)
Die Wallet-Best-Practices
Eine Bitcoin-Wallet verwenden
Details der Wallet-Technologie
Mnemonische Codewörter (BIP-39)
Eine HD-Wallet aus dem Seed-Wert erzeugen
Einen erweiterten öffentlichen Schlüssel in einem Webshop nutzen
6 Transaktionen
Einführung
Transaktionen im Detail
Transaktionen – hinter den Kulissen
Transaktions-Outputs und -Inputs
Transaktions-Outputs
Transaktions-Inputs
Transaktionsgebühren (Fees)
Gebühren in Transaktionen einfügen
Transaktionsskripte und Skriptsprache
Turing-Unvollständigkeit
Zustandslose Verifikation
Konstruktion von Skripten (Lock + Unlock)
Pay-to-Public-Key-Hash (P2PKH)
Digitale Signaturen (ECDSA)
Wie digitale Signaturen funktionieren
Die Signatur verifizieren
Arten von Signatur-Hashes (SIGHASH)
Die Mathematik hinter ECDSA
Die Bedeutung der Zufälligkeit für Signaturen
Bitcoin-Adressen, Guthaben und andere Abstraktionen
7 Transaktionen und Skripting für Fortgeschrittene
Einführung
Multisignatur
Pay-to-Script-Hash (P2SH)
P2SH-Adressen
Vorteile von P2SH
Redeem-Skript und Validierung
Data Recording Output (RETURN)
Timelocks
Transaktions-Locktime (nLocktime)
Check Lock Time Verify (CLTV)
Relative Timelocks
Relative Timelocks mit nSequence
Relative Timelocks mit CSV
Median-Time-Past
Timelock-Schutz gegen Fee-Sniping
Skripte mit Ablaufsteuerung (Bedingungsklauseln)
Bedingungsklauseln mit VERIFY-Opcodes
Die Ablaufsteuerung in Skripten nutzen
Komplexes Skriptbeispiel
8 Das Bitcoin-Netzwerk
Peer-to-Peer-Netzwerkarchitektur
Arten und Rollen von Nodes
Das erweiterte Bitcoin-Netzwerk
Bitcoin-Relay-Netzwerke
Netzwerkerkundung
Full Nodes
»Inventar« austauschen
SPV-Nodes (Simplified Payment Verification)
Bloomfilter
Wie Bloomfilter funktionieren
Wie SPV-Nodes Bloomfilter nutzen
SPV-Nodes und Privatsphäre
Verschlüsselte und authentifizierte Verbindungen
Tor-Transport
Peer-to-Peer-Authentifizierung und -Verschlüsselung
Transaktionspools
9 Die Blockchain
Einführung
Struktur eines Blocks
Block-Header
Blockkennungen: Block-Header und Blockhöhe
Der Genesis-Block
Blöcke in der Blockchain verlinken
Merkle Trees (Hashbäume)
Merkle Trees und Simplified Payment Verification (SPV)
Bitcoins Test-Blockchains
Testnet – Bitcoins Testspielwiese
Segnet – das Segregated-Witness-Testnet
Regtest – die lokale Blockchain
Test-Blockchains für die Entwicklung nutzen
10 Mining und Konsens
Einführung
Bitcoin-Ökonomie und Währungsgenerierung
Dezentralisierter Konsens
Unabhängige Verifikation von Transaktionen
Mining-Nodes
Transaktionen in Blöcken zusammenfassen
Die Coinbase-Transaktion
Coinbase-Belohnungen und Gebühren
Struktur der Coinbase-Transaktion
Coinbase-Daten
Die Block-Header aufbauen
Mining des Blocks
Proof-of-Work-Algorithmus
Target-Darstellung
Retargeting zur Anpassung der Difficulty
Den Block erfolgreich schürfen
Einen neuen Block validieren
Ketten von Blöcken zusammensetzen und auswählen
Blockchain-Forks
Mining und der Hashing-Wettlauf
Die Lösung mit der Extra-Nonce
Mining-Pools
Konsensangriffe
Die Konsensregeln ändern
Hard Forks
Hard Forks: Software, Netzwerk, Mining und die Chain
Divergierende Miner und Difficulty
Umstrittene Hard Forks
Soft Forks
Kritik an Soft Forks
Soft-Fork-Signalisierung mittels Blockversion
BIP-34-Signalisierung und -Aktivierung
BIP-9-Signalisierung und -Aktivierung
Entwicklung von Konsenssoftware
11 Bitcoins und Sicherheit
Sicherheitsgrundsätze
Bitcoin-Systeme sicher entwickeln
Die Wurzel des Vertrauens
Best Practices für den Nutzer
Physische Speicherung von Bitcoins
Hardware-Wallets
Risiken abwägen
Risiken verteilen
Multisignaturen und Kontrolle
Überlebensfähigkeit
Fazit
12 Blockchain-Anwendungen
Einführung
Grundbausteine (Primitive)
Anwendungen aus Grundbausteinen
Colored Coins
Colored Coins nutzen
Colored Coins ausstellen
Colored-Coins-Transaktionen
Counterparty
Zahlungs- und Zustandskanäle
Zustandskanäle – grundlegende Konzepte und Terminologie
Einfaches Zahlungskanalbeispiel
Vertrauensfreie Kanäle aufbauen
Asymmetrisch widerrufliche Commitments
Hash Time Lock Contracts (HTLC)
Geroutete Zahlungskanäle (Lightning Network)
Einfaches Lightning-Network-Beispiel
Lightning Network – Transport und Routing
Vorteile des Lightning Network
Fazit
A Das Bitcoin-Whitepaper von Satoshi Nakamoto
B Operatoren, Konstanten und Symbole der Transaktions-Skriptsprache
C Bitcoin Improvement Proposals
D Segregated Witness
E Bitcore
F pycoin, ku und tx
G Bitcoin-Explorer-(bx-)Befehle
Index
← Prev
Back
Next →
← Prev
Back
Next →