23
Blockchains – Grundlagen und Architektur 6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 1 Blockchain Grundlagen und Architektur

Blockchain – grundlagen und architektur

Embed Size (px)

Citation preview

Page 1: Blockchain – grundlagen und architektur

Blockchains – Grundlagen und Architektur

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 1

BlockchainGrundlagen und Architektur

Page 2: Blockchain – grundlagen und architektur

Agenda

Wie funktioniert die Blockchain „1.0“? Aufgabe

Design-technische Herausforderungen

Lösungen

Was ist die Blockchain „2.0“? Von 1.0 zu 2.0

Ethereum als Turing-vollständige Blockchain

Anwendungsmöglichkeiten

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 2

Page 3: Blockchain – grundlagen und architektur

Blockchains – Grundlagen und Architektur

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 3

Blockchain 1.0Beschrieben von Satoshi Nakamoto

Page 4: Blockchain – grundlagen und architektur

Bitcoin vs Bit torrent

Die Blockchain ist ein Peer-to-Peer elektronisches Zahlungssystem (laut Satoshi Nakamoto)

Keine zentrale Instanz führt ein Hauptbuch, sondern jeder Nutzer des Systems

Welche Probleme ergeben sich dadurch?

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 4

https://www.innovalue.de/publikationen/InnovalueLockeLord-BlockchaininFinancialServices2015.pdf

Page 5: Blockchain – grundlagen und architektur

Der Block

Hash: …000a3ed9a4…

Hash:…0001f942eb…

Hash:…000ed9372…

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 5

Page 6: Blockchain – grundlagen und architektur

Mining (Hash + Bits + Nonce)

Problem Wie erreicht man, dass sich Teilnehmer in einem unkontrollierten Zahlungssystem ehrlich verhalten?

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 6

Aufgabe Baue ein Netzwerk, dass so robust ist, dass es genügt, wenn sich die Mehrheit ehrlich verhält. Bringe die Mehrheit dazu, sich ehrlich zu verhalten

Lösung • Belohne ehrliche Teilnehmer mit einem Anteil an dem Zahlungsmittel des Netzwerks

• Bestrafe unehrliche Teilnehmer mit Kosten Proof-of-Work Algorithmus

Page 7: Blockchain – grundlagen und architektur

Mining (Hash + Bits + Nonce)

Ziel des PoW-Algorithmus ist ein Rätsel zu erstellen, dass schwer zu lösen, dessen Korrektheit aber leicht zu validieren ist. Weiterhin muss die Schwierigkeit leicht anpassbar sein, um konstante Blocklösungszeiten und damit Transaktionszeiten zu haben SHA-256

Schwierigkeit wird über Anzahl der führenden Nullen des berechneten Hashwerts eingestellt (Wert bits im Header)

"Hello, world!0" => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64

"Hello, world!1" => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8

"Hello, world!4250" => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

Hello, world = Der Blockheader0,1,2 = die Nonce

Andere Mining-Algorithmen: PoS, PoI, PoR, PoB

Andere PoW-Algorithmen: Scrypt (gegen ASIC-mining)

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 7

Page 8: Blockchain – grundlagen und architektur

Verkettung von Transaktionen

Problem Wie kann ich mir beim Empfang eines Wertes sicher sein, dass 1. Der Sender den Wert tatsächlich besitzt2. Dieser Wert nicht bereits an anderer Stelle ausgegeben worden

ist (double-spending)

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 8

Aufgabe Baue ein Netzwerk, in dem jeder Wert 1. Jederzeit eindeutig einem Besitzer zugeordnet werden kann2. Die Transaktionshistorie jedes Wertes bis zu dem Zeitpunkt

seiner Entstehung zurückverfolgt werden kann

Lösung • Jede Transaktion beinhaltet die „Unterschrift“ des vorherigenBesitzers des Werts

• Der Besitzerwechsel jedes Werts ist bis zu der Entstehung des Wertes zurückverfolgbar

Page 9: Blockchain – grundlagen und architektur

Verkettung von Transaktionen

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 9

Bitcoin: A Peer-to-Peer Electronic Cash System – Satoshi Nakamoto

Page 10: Blockchain – grundlagen und architektur

Validierung von Transaktionen (Merkle-Root)

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 10

Problem Wie kann ich effizient Transaktionen validieren?

Aufgabe Es sollte effizient möglich sein, Transaktionen zu validieren, auch ohne die komplette Blockchain zu besitzen

Lösung Merkle Trees + Merkle Proof

Page 11: Blockchain – grundlagen und architektur

Validierung von Transaktionen (Merkle-Root)

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 11

https://www.weusecoins.com/what-is-a-merkle-tree/

Page 12: Blockchain – grundlagen und architektur

Adressen

Problem Wie schütze ich dann die Privatsphäre des Nutzers?

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 12

Aufgabe Bankensystem: Die Transaktionen sind verborgen.Bei der Blockchain ist das nicht möglich, daher:Verbergen der Identität

Lösung Asymmetrische Schlüssel.Privater Schlüssel: Dient zum Senden einer GeldeinheitÖffentlicher Schlüssel: Dient zum Empfangen einer Geldeinheit

Page 13: Blockchain – grundlagen und architektur

Adressen

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 13

Page 14: Blockchain – grundlagen und architektur

Die longest-chain rule

Problem Was passiert, wenn zwei Miner im Netzwerk gleichzeitig auf eine korrekte Lösung stoßen?

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 14

Aufgabe Da zwei Miner unterschiedliche Transaktionen in den Block aufnehmen können, braucht es eine Regel welchem Block gefolgt wird

Lösung Es wird immer der Chain gefolgt, in welcher der höchste akkumulierte Aufwand steckt – was in der Regel die längste Chain ist

Page 15: Blockchain – grundlagen und architektur

Die longest-chain rule

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 15

http://chimera.labs.oreilly.com/books/1234000001802/ch08.html#forks

Page 16: Blockchain – grundlagen und architektur

Blockchains – Gr

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 16

Blockchain 2.0Der Ethereum World Computer

Page 17: Blockchain – grundlagen und architektur

Colored coinshttps://youtu.be/fmFjmvwPGKU

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 17

Page 18: Blockchain – grundlagen und architektur

Ethereum

Erste öffentliche Turing-Vollständige Blockchain

Gestartet im Juli 2015

Eigene Krypto-Währung Ether

Erlaubt durch Turing-Vollständigkeit jedoch auch andere Währungen mit selbst definierten Regeln auf der Blockchain

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 18

Page 19: Blockchain – grundlagen und architektur

Ethereum vs Bitcoin

Ethereum Speichert Zustände

Ein Account bei Ethereum speichert Eine Nonce (ein Zähler der sicherstellt, dass eine Transaktion nur einmal ausgeführt werden kann)

Die Ether-Bilanz

Den „Vertrags“- Code des Accounts (falls vorhanden)

Einen zusätzlichen Speicher des Accounts

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 19

Page 20: Blockchain – grundlagen und architektur

Ethereum Accounts als smarte Verträge

Können wie Bitcoin-Accounts durch einen privaten Schlüssel gesteuert werden, oder

durch den „Vertrags“-Code im Account

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 20

https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/

Page 21: Blockchain – grundlagen und architektur

Schutz vor Endlosschleifen?

Bei Bitcoin wurde eine Erweiterung der internen Skriptsprache nicht erwogen, da das Erlauben von Schleifen eine hohe Gefahr für DDoS Attacken darstellt

Ethereum umgeht das Problem mit „Gas“ – einer Gebühr für jeden Rechenschritt (in Ether)

Es ist möglich einen Vertrag zu erstellen, der eine endlosschleife Ausführt

Theoretisch kann man diesen Vertrag so lange ausführen, bis das Gas aufgebraucht wird

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 21

Page 22: Blockchain – grundlagen und architektur

Anwendungsmöglichkeiten

Crowdsale mit eigenen Tokens (ICO – Initial Coin Offering)

Verknüpfung von Blockchain mit IoT (slock.it + RWE)

E-Government (durch Verknüpfung von Identität mit privatem Schlüssel)

Währungsexperimente

Dezentralisierte Handelssysteme

Eigenständige Organisationen (DAOs)

6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 22

Page 23: Blockchain – grundlagen und architektur