1. Blockchains – Grundlagen und
Architektur
6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 1
Blockchain
Grundlagen und Architektur
2. 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
3. Blockchains – Grundlagen und
Architektur
6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 3
Blockchain 1.0
Beschrieben von Satoshi Nakamoto
4. 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
6. 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
7. 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 Blockheader
0,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
8. Verkettung von Transaktionen
Problem Wie kann ich mir beim Empfang eines Wertes sicher sein, dass
1. Der Sender den Wert tatsächlich besitzt
2. 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 kann
2. Die Transaktionshistorie jedes Wertes bis zu dem Zeitpunkt
seiner Entstehung zurückverfolgt werden kann
Lösung • Jede Transaktion beinhaltet die „Unterschrift“ des vorherigen
Besitzers des Werts
• Der Besitzerwechsel jedes Werts ist bis zu der Entstehung des
Wertes zurückverfolgbar
10. 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
11. Validierung von Transaktionen (Merkle-Root)
6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 11
https://www.weusecoins.com/what-is-a-merkle-tree/
12. 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
14. 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
15. Die longest-chain rule
6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 15
http://chimera.labs.oreilly.com/books/1234000001802/ch08.html#forks
16. Blockchains – Gr
6/3/2016 BLOCKCHAIN – GRUNDLAGEN UND ARCHITEKTUR 16
Blockchain 2.0
Der Ethereum World
Computer
18. 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
19. 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
20. 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/
21. 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
22. 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