Top Banner
unter Rote, Freie Universit¨ at Berlin EinS@FU: Informatik — Bitcoin, Krypto-W¨ ahrungen, Blockkette 17. 11. 2017 EinS@FU Einf ¨ uhrungs- und Orientierungsstudium Informatik, Teil 2 G ¨ unter Rote Freie Universit ¨ at Berlin Digitales Geld: Bitcoin und Blockketten
27

G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Oct 21, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

EinS@FUEinfuhrungs- und Orientierungsstudium

Informatik, Teil 2

Gunter RoteFreie Universitat Berlin

Digitales Geld:

Bitcoin und Blockketten

Page 2: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Uberblick

• Geld ohne zentrale Kontrolle• Hashfunktionen

– zum Speichern und Wiederfinden von Daten(Hash-Tabellen)

– kryptographische Hashfunktionenzur falschungssicheren Kennzeichnung

• Die Blockkette als Kassenbuch• Verteilte Kontrolle der Blockkette, Schurfen von Bitcoins• Besitz von Bitcoins, asymmetrische Verschlusselung

Ich stelle viele Details vereinfacht dar!

Page 3: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Geld

ermoglicht Ubergang von Tauschwirtschaft zu Geldwirtschaft

• Edelmetall → Munzen (Gold, Silber, Kupfer)

• Papiergeld: ursprunglich als Ersatz fur Gold

• heute: Geld gilt kraft Gesetzes.

Page 4: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Digitales Geld

Hauptproblem: Daten konnen ohne großen Aufwand beliebigoft kopiert werden.

Zentrale Einlasskontrolle verhindert mehrfache Nutzung.

Eintrittskarte zum Selbstausdrucken

Page 5: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Digitales Geld

gibt es schon lange, zum Beispiel

• Kreditkarten, Uberweisung(nicht anonym, unter Kontrolle der Bank)

• GeldKarte(anonym, unter Kontrolle der Bank)

abgeleitet von staatlichem Geld

Page 6: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Bitcoin: Das Kassenbuch

A zahlt an B: 5B.

C zahlt an D: 9B.

E zahlt an F : 2B.

G zahlt an D: 3B.

D zahlt an H: 10B.

...

...

...

Transaktionen

Page 7: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Bitcoin: Das Kassenbuch

A zahlt an B: 5B.

C zahlt an D: 9B.

E zahlt an F : 2B.

G zahlt an D: 3B.

D zahlt an H: 10B.

...

...

...

Wer verwaltet das Kassenbuch?

Wer stellt sicher, dass dasKassenbuch nicht im Nachhineinmanipuliert wird?

→ Blockkette, Hashfunktionen

Transaktionen

Wie ist sichergestellt, dass nur D uber das Geld verfugen kann,das D gehort? → kryptographische Unterschriften

Page 8: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Hashfunktionen (1)

Gestreute Speicherung von Daten

Petra Meier: . . .Anne Muller: . . .Josef Schulze: . . .Maria Schulze: . . .Maria Schulz: . . .. . .

0123456

...

40

H("Maria Schulze") = 39

Maria Schulze: . . .

Petra Meier: . . .

Maria Schulz: . . .

Anne Muller: . . .

Josef Schulze: . . .

H("Maria Schulz") = 4

3536373839

997998999

Die Hashfunktion H soll jedenZusammenhang zwischen denDaten verwischen.

Tabelle mit 1000 Eintragen

...

...

...

Page 9: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Binare und dexadezimale Darstellung

"Maria Schulze"

= (01001101011000010111001001101001011000010010000001010011011000110110100001110101011011000111101001100101)2︸ ︷︷ ︸01100001 = "a"

︸ ︷︷ ︸01100001 = "a"

︸ ︷︷ ︸01101000 = "h"

(ASCII-Code)

= (6130726874734604725290256857701)10dezimal hex. binar

0 0 00001 1 00012 2 00103 3 00114 4 01005 5 01016 6 01107 7 01118 8 10009 9 100110 a 101011 b 101112 c 110013 d 110114 e 111015 f 1111

= (4d6172696120536368756c7a65)16 (hexadezimal)

jeweils 8 Bit

→ (4d6172696120536368756c7a65000000)16

32-Bit-Blocke

Page 10: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Hashfunktionen (1)

fur 32-Bit-Zahlen x

h(x) = (a · x+ b) mod 232, fur geeignete Konstanten a, b.

Langere Daten ("Maria Schulze") werden alsFolgen x1, x2, . . . , xn von 32-bit-Werten dargestellt.

x1 x2 x3 xn. . .

y1+x2 y2+x3 yn−1+xn

h(x1)=y1 h(y1+x2)=y2 h(y2+x3)=y3 h(yn−1+xn)=yn

Hashwert mod 232

hh h

endgultiger Hashwert = yn mod 1000Tabellengroße

. . .

Page 11: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Hashfunktionen (1)

Gestreute Speicherung von Daten

Petra Meier: . . .Anne Muller: . . .Josef Schulze: . . .Maria Schulze: . . .Maria Schulz: . . .. . .

0123456

...

40

h("Maria Schulze") = 39

Maria Schulze: . . .

Petra Meier: . . .

Maria Schulz: . . .

Anne Muller: . . .

Josef Schulze: . . .

h("Maria Schulz") = 4

3536373839

997998999

Tabelle mit 1000 Eintragen

...

...

...

h("Otto Samsa") = 39Otto Samsa: . . .

h("Otto Samsa") = 39

Kollision!

Page 12: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Kryptographische Hashfunktionen (2)

• y = h(x)EINFACH zu berechnen.

• Ein beliebiges y ist gegeben. Finde ein x mit h(x) = y.SCHWIERIG.Nur durch Probieren aller moglichen x-Werte zu losen.

”Sichere Hashalgorithmen“ (SHA),

zum Beispiel SHA-224, SHA-256, SHA-384 und SHA-512.Bitcoin verwendet unter anderem SHA-256.

”Einbahn-Funktionen“:

y = (a · x+ b) mod 232 ist LEICHT nach x auflosbar.

Page 13: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Die Blockkette als Kassenbuch

B1

h(B1)

B2 B3 B4 B5

h(B2) h(B3) h(B4)

Anderung in Block B500 macht alle Blocke B501, B502, B503 . . . ungultig.

Daten Daten Daten Daten Daten

h(Bi−1)

A bekommt 12.5B

Daten(Transaktionen)

Bi Schurfen = Erstellen eines neuen Blocks ist schwer.

willkurliche Daten (“nonce”)

festgelegte Pramie pro Block

******

Damit Bi gultig ist, muss h(Bi) < Schranke sein.Der Wert der Schranke wird periodisch angepasst,sodass im Mittel alle 10min ein Block erzeugt wird.

Derzeit (Nov. 2017): Chance ≈ 1 : 1021

Page 14: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Speicherung der Blockkette

Die Blockkette und die neuen Transaktionen werden in einemPeer-to-Peer-Netzwerk gepruft, gespeichert, und weitergeleitet.

Alle”Knoten“ (= Rechner) sind gleichberechtigt.

Neue Transaktionen werden bestatigt, indem sie in dieBlockkette geschrieben werden.

Page 15: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Konsensmechanismus

Jeder Schurfer stellt einen Block von ca. 5000 unbestatigtengultigen Transaktionen zusammen und versucht ihn zu schurfen.Viele Schurfer arbeiten parallel um die Wette.Wer als erstes einen gultigen Block findet, hangt ihn an dieBlockkette an.Alle Schurfer schwenken dann auf die verlangerte Blockkette um.

Page 16: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Konsensmechanismus

Jeder Schurfer stellt einen Block von ca. 5000 unbestatigtengultigen Transaktionen zusammen und versucht ihn zu schurfen.Viele Schurfer arbeiten parallel um die Wette.Wer als erstes einen gultigen Block findet, hangt ihn an dieBlockkette an.Alle Schurfer schwenken dann auf die verlangerte Blockkette um.

Page 17: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Konsensmechanismus

Jeder Schurfer stellt einen Block von ca. 5000 unbestatigtengultigen Transaktionen zusammen und versucht ihn zu schurfen.Viele Schurfer arbeiten parallel um die Wette.Wer als erstes einen gultigen Block findet, hangt ihn an dieBlockkette an.Alle Schurfer schwenken dann auf die verlangerte Blockkette um.

Ein neuer Block verbreitet sich im Netz nicht auf der Stelle!

Page 18: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Konsensmechanismus

Jeder Schurfer stellt einen Block von ca. 5000 unbestatigtengultigen Transaktionen zusammen und versucht ihn zu schurfen.Viele Schurfer arbeiten parallel um die Wette.Wer als erstes einen gultigen Block findet, hangt ihn an dieBlockkette an.Alle Schurfer schwenken dann auf die verlangerte Blockkette um.

Ein neuer Block verbreitet sich im Netz nicht auf der Stelle!

Bei Verzweigung: Schurfer arbeiten an der langsten Kette.

Mechanismus:Schurfer haben ein Interesse an der Integritat der Blockkette.

Page 19: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Hardware zum Schurfen

Nov. 2017: 1B ≈ 6000 Euro, 1 Block ≈ 75000 Euro

• Ursprunglich: Auf einen gewohnlichen Rechner, mitgeeigneter Software

• Viele gleiche Rechenoperationen parallel → Grafikkarten

• FPGA’s: field-programmable gate arraysVorgefertigte Hardware-Schaltkreise, die sich fur spezielleZwecke verdrahten (

”programmieren“) lassen.

• Seit 2013: Anwendungsspezifische integrierte Schaltkreise(ASICs)Schaltkreise, die einzig fur den Zweck des Schurfensentworfen sind und nichts anderes konnen.

Der”Genesis-Block“ B1 wurde am 3. Januar 2009 geschurft.

Page 20: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Eigentum

Unterschrift mittels asymmetrischen Verschlusselungsverfahren.

• Ein neues Schlusselpaar (priv,pub) kann leicht erzeugtwerden.

• Notation:y = xpub: Verschlusselung mit dem offentlichen Schlussel pubx = ypriv: Entschlusselung mit dem privaten Schlussel priv

(xpub)priv = x, (ypriv)pub = y

• Aus dem offentlichen Schlussel pub kann der privateSchlussel priv nicht rekonstruiert werden.

Eigenschaften:

Page 21: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

RSA (Rivest, Shamir, Adleman, 1976)

Bestimme zwei große (100-stellige) Primzahlen p = 99257, q = 99611.Berechne den Modul N = p · q = 9887089027.Berechne die Ordnung n = kgV(p− 1, q − 1) = 4943445080.Wahle eine zufallige Zahl 1 ≤ pub < n, zum Beispiel pub = 123456789.Bestimme dazu die Zahl priv = 3576837909 mit priv · pub ≡ 1 (mod n).

Der offentliche Schlussel besteht dann aus (pub, N).Der private Schlussel ist priv.

(Bitcoin verwendet als Verschlusselungsverfahren nicht RSA, sondernelliptische Kurven.)

Page 22: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

RSA (Rivest, Shamir, Adleman, 1976)

Bestimme zwei große (100-stellige) Primzahlen p = 99257, q = 99611.Berechne den Modul N = p · q = 9887089027.Berechne die Ordnung n = kgV(p− 1, q − 1) = 4943445080.Wahle eine zufallige Zahl 1 ≤ pub < n, zum Beispiel pub = 123456789.Bestimme dazu die Zahl priv = 3576837909 mit priv · pub ≡ 1 (mod n).

Der offentliche Schlussel besteht dann aus (pub, N).Der private Schlussel ist priv.

(Bitcoin verwendet als Verschlusselungsverfahren nicht RSA, sondernelliptische Kurven.)

Verschlusselung der Nachricht x:

y = xpub mod N

Entschlusselung:x = ypriv mod N

Page 23: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Transaktionen

5.5B,pubB

6.5B,pubA

7.5B,pubC

371/2, sig, 17B

306/3, sig′, 3B

T500

Page 24: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Transaktionen

5.5B,pubB

6.5B,pubA

7.5B,pubC

371/2, sig, 17B

306/3, sig′, 3B

T500

0.5B Transaktionsgebuhr,geht an den Schurfer

Page 25: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Transaktionen

5.5B,pubB

6.5B,pubA

7.5B,pubC

371/2, sig, 17B

306/3, sig′, 3B

T500 T678

500/2, sig′′, 5.5B

”Die Besitzerin des privaten Schlussels zum offentlichen SchlusselpubB des 2. Ausgangs von Transaktion T500 bestatigt durchUnterschrift, dass dieser Betrag verwendet werden kann.“

B unterschreibt mit sig′′ := (h(T500))privB

Uberprufung: (sig′′)pubB?= h(T500)

(Nur) wer den privatenSchlussel kennt, kanndie 5.5B ausgeben.

Das konnen alle uberprufen.

. . .

0.5B Transaktionsgebuhr,geht an den Schurfer

Page 26: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Große Zahlen

N = 10100, 100-stellige Dezimalzahlen x, y

• Rechnen mit solchen Zahlen:SCHNELL.Aufwand hangt von der Anzahl der Ziffern (≈ logN) ab.

• N Operationen durchfuhren, N Moglichkeiten ausprobieren:

UNMOGLICH!

Beispiel:1 GHz Taktfrequenz = 109 Schritte pro Sekunde.Ein Jahr lang rechnen ≈ 3× 107 sec → 3× 1016 Schritte.1 Million Prozessoren → 3× 1022 Schritte.

Page 27: G unter Rote und Blockketten Digitales Geld: EinS@FU · festgelegte Pr amie pro Block ***** Damit B i g ultig ist, muss h (B i) < Schranke sein. Der Wert der Schranke wird periodisch

Gunter Rote, Freie Universitat Berlin EinS@FU: Informatik — Bitcoin, Krypto-Wahrungen, Blockkette 17. 11. 2017

Moglichkeiten und Grenzen

Kryptogeld• Weltweiter Geldtransfer ohne Kontrolle• smart contracts• Bitcoin: max. 7 Transaktionen pro Sekunde

Blockkette• Grundbuch, Standesamt, . . .