Bitcoin - cosy.sbg.ac.atuhl/PScrypt16/Bitcoin.pdf · Einleitung Virtuelle W¨ahrungen Anforderungen...

Preview:

Citation preview

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

Kryptographie und IT-Sicherheit

Bitcoin

Christoph Schwengler, Dennis Strahhuber, Oliver Remy

10.06.2016

1 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

Inhalt

1 Einleitung

2 Virtuelle Wahrungen

3 Anforderungen an eine WahrungGeldfunktionenGeldeigenschaften

4 Bitcoin Wallet

5 BitcoinJ

6 Transaktionen

7 Blockchain

8 Bitcoin Miner

9 Bitcoin Sicherheit

2 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

1. Bitcoin - virtuelle Wahrung

• Dezentrale virtuelle Wahrung in einem Peer-to-PeerNetzwerk

• 2008 von Satoshi Nakamoto veroffentlicht• Mathematisches Konzept anstelle von zentraler

Autoritat oder Vermittler zur Senkung derTransaktionskosten

• Mai 2010 erste reale Bitcoin Zahlung: Programmiererin Florida bezahlt 2 Pizzen mit 10.000 Bitcoins derZeitwert heute entspricht ca. 4,5 Mio. Euro

3 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

1. Bitcoin - virtuelle Wahrung

Abbildung: Kursentwicklung des Bitcoin

• Sehr heftige Kursschwankungen

4 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

2. Virtuelle Wahrungen

EZB unterteilt in drei Erscheinungsformen1 geschlossene virtuelle Wahrung (z.B. Wahrung in

MMORPGs)2 unidirektionale virtuelle Wahrung (z.B. Facebook

Credits)3 bidirektionale virtuelle Wahrung (z.B. Bitcoin)

5 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.1 Geldfunktionen

• Zahlungsmittelfunktion• Wertaufbewahrungsfunktion• Recheneinheitsfunktion

6 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.1 Zahlungsmittelfunktion

Allgemein:• Wichtigste und

bekannteste Funktioneiner Wahrung

• Naturalwirtschaft:

”double coincidence ofwants“

• Geld als universalesTauschgut

Bitcoin:• Bitcoins genau aus

diesem Grund erfunden• Dennoch Anfangs

nicht sehr hoheAkzeptanz

• Bitcoin auf dem Wegdiese Funktion immerstarker zu erfullen

7 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.1 Wertaufbewahrungsfunktion

Allgemein:• Lost die zeitliche und

raumliche Problematik• Wert des

Tauschmittels bleibtrelativ stabil

• Lebensmittelbeispielsweise konntenverfaulen, was zuWertverfall fuhrt

Bitcoin:• Sehr starke

Kursschwankungenabhangig vonPopularitat undAkzeptanz

• Nicht sicher dass derBTC in naher Zukunftnoch denselben Wertbesitzt

• Bitcoin erfullt dieWertaufbewahrungs-funktionnicht

8 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.1 Recheneinheitsfunktion

Allgemein:• Kein subjetiver Wert

der jeweiligenBetrachtung desBesitzers derTauschware

• Jeder Ware kann einabsoluter Preis inGeldeinheiten zugeteiltwerden

Bitcoin:• im Programmcode

realisiert• kleinstmogliche Einheit

0.00000001 BTC = 1Satoshi

• BTC erfullt dieseFunktion

9 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.2 Geldeigenschaften

• Knappheit bzw. Seltenheit• Haltbarkeit• Homogenitat• Teilbarkeit

10 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.2 Knappheit bzw. Seltenheit

Allgemein:• Kleinere Mengen

Geldeinheiten sollenTauschgeschaftermoglichen

Bitcoin:• Abhangig vom Kurs

kann dieMarktkapitalisierungstark schwanken

• Maximalanzahl undDezimalstellen konntendurch Kernentwicklerverandert werden

• Knappheit deshalb nurteilweise erfullt

11 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.2 Haltbarkeit

Allgemein:• Waren- und

Naturalguter verlierenim Laufe der Zeit anSubstanz und Qualitat

• Geld soll also seinenWert im Zeitverlaufhalten

Bitcoin:• Durch Blockchain

sichert sich dasNetzwerk selber ab

• Technisch nichtmoglich Bitcoins zuzerstoren

• Bitcoin erfullt dieseEigenschaft

12 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.2 Homogenitat

Allgemein:• Selbe Qualitat und

Beschaffenheitinnerhalb des Geldes

• Naturalguterunterscheiden sich oftin Große, Gewicht oderForm

Bitcoin:• Schlecht auf Digitale

Wahrung anwendbar,da Bezug aufBeschaffenheit, Optik,Design oder Form

• Dadurch losst sichdiese Eigenschaftweder bestatigen nochabstreiten

13 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

3.2 Teilbarkeit

Allgemein:• Es sollen sowohl sehr

große als auchbesonders kleineMengen tauschbar seinohne dass dieTransport oderTransaktionskostendabei signifikantsteigen

Bitcoin:• Munzen konnen in 8

Nachkommastellenunterteilt werden

• Preise niedriger als 1Cent konnen damitrealisiert werden

• Eigenschaft vomBitcoin erfullt

14 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

5. Bitcoin Wallet

• Enthalten keine Geldeinheiten, sondern Schlusselpaare(Private/Public Key)

• Verwaltung von Transaktionen• Beispiele: Bitcoin Core(C++), Bitcoin Wallet(Java),

Armory(Python)

15 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

5. Bitcoin Wallet

Abbildung: Bitcoin Core

16 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

5. Bitcoin Schlussel

• Private Key ist eine Zufallszahl zwischen 1 und 1077

• Public Key wird aus Private Key berechnet werden.• Elliptische-Kurven-Kryptosystem ECDSA in

standardisierter 256-Bit-Konfiguration secp256k1.• Private Key dient zum Signieren von Transaktionen.

Verlust bedeutet auch Verlust der dazugehorigenBitcoins.

17 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

5. Bitcoin Adresserzeugung

Abbildung: Bitcoin Adresserzeugung

18 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

6. BitcoinJ

• BitcoinJ ist eine Library fur das Bitcoin Protokoll• Nur kleiner Teil der Blockchain wird heruntergeladen• Benutzt Bitcoin Testnet

19 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

7. Transaktionen

• Nachricht an das Bitcoin Netzwerk mit Sender,Empfanger, Bitcoins und Digitaler Signatur

• Signatur wird durch den private key des Wallets erzeugt• Andere Knoten im Netzwerk konnen mithilfe des public

keys die Signatur verifizieren

20 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

7. Transaktion Beispiel

Alice will Bob 5 Bitcoins uberweisen.

Abbildung: Transaktions Beispiel

21 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

7. Transaktion Beispiel

Eine echte Transaktion als Beispiel.

Abbildung: In/Outputs

22 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

7. Transaktionskette

Abbildung: Transaktionskette

23 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

7. Double Spending Problem

• Digitale Signatur• Referenzierte Inputs

Abbildung: Double Spending Problem24 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

8. Blockchain

• Zur Losung des double spending problems• Transaktionen werden in Blocke zusammengefasst• → Zur Einigung, welche Transaktionen gultig sind

25 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

8.1 Ungeordnete Transaktionen

26 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

9. Bitcoin Miner

• Transaktionen werden zusammen mit einem Zufalligen”Guess”gehasht → muss unter einen gewissen Wertkommen

27 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

9. Bitcoin Miner

• Wenn zwei Blocke gleichzeitig gefunden werden, wirddie Blockchain aufgeteilt

28 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

9.1 Blockchain Verzweigungen

29 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

9.2 Blockchain

• Sobald jetzt der nachste Block gefunden wird, wird dielangste Kette als gultig akzeptiert und die KurzereKette verworfen

30 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

• Derjenige der den Block lost bekommt eine Belohnung

Abbildung: Anzahl Bitcoins uber Zeit

31 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

10. Angriffszenario

Abbildung: 51 Prozent Angriff

32 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

10. Bitcoin Sicherheit

• Transaktionssignatur fur jede Transaktion anders →keine Falschung von Transaktionen ohne des privateKeys

• Sicherheit beruht auf Integritat der langsten Blockchain• Kein direkter Diebstahl moglich, nur des privaten

Schlussels

33 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

10.1 Bitcoin Anonymitat

• Nur IP und public key sichtbar• Anzahl an moglichen public keys betragt 2160

• Anonyme Erzeugung des private/public keys

34 / 35

Einleitung

VirtuelleWahrungen

Anforderungen aneine WahrungGeldfunktionen

Geldeigenschaften

Bitcoin Wallet

BitcoinJ

Transaktionen

Blockchain

Bitcoin Miner

Bitcoin Sicherheit

Ende

• Vielen Dank fur Ihre Aufmerksamkeit!• Christoph Schwengler, Dennis Strahhuber und Oliver

Remy

35 / 35

Recommended