Slide 1

Slide 1 text

Blockchain als Architekturprinzip Was steckt wirklich dahinter? Ingo Rammer @ingorammer

Slide 2

Slide 2 text

Ingo Rammer Gründer und Geschäftsführer der Thinktecture AG, einem technischen Beratungsunternehmen für Software-Architekten, -Entwickler und Entscheider Mein Fokus: Blockchain Technologien für B2B-Verwendung, von den Tiefen der Technologie bis hin zu ISO TC 307 Mitglied der Hyperledger Foundation & Enterprise Ethereum Alliance

Slide 3

Slide 3 text

• Technische Grundlagen statt Magie • Drei Typen von Anwendungsfällen Zwei Kernpunkte meines Vortrags

Slide 4

Slide 4 text

Blockchain-Grundlagen am Beispiel Rufnummernportierung

Slide 5

Slide 5 text

Telco A Telco B 0151-123 123 123 Max Mustermann 1.1.1911 0151-123 123 123 Max Mustermann 1.1.1911 Fax, Email, Brief, ... SMS, Email, Brief, ...

Slide 6

Slide 6 text

Telco A Telco B 0151-123 123 123 Max Mustermann 1.1.1911 0151-123 123 123 Max Mustermann 1.1.1911 Fax, Email, Brief, ... SMS, Email, Brief, ... Also, bei uns ist alles in Ordnung, fragen Sie die andere Seite ? Also, bei uns ist alles in Ordnung, fragen Sie die andere Seite

Slide 7

Slide 7 text

• Unabhängige Akteure • Unterschiedliche Vertrauensstellungen • Wunsch nach Transparenz, zB durch vertrauenswürdige, replizierte Datenstrukturen • Ohne Notwendigkeit zentraler Stellen Das Szenario

Slide 8

Slide 8 text

Blockchain Basics

Slide 9

Slide 9 text

Blockchain Genesis Block Block 1 Random Content Genesis Hash Daten- sätze Genesis Hash Block 1 Hash Block 2 Daten- sätze Block 1 Hash Block 2 Hash Block 3 Daten- sätze Block 2 Hash Block 3 Hash Config

Slide 10

Slide 10 text

Node 1 Peer-to-Peer Replikation Genesis Block Block 1 Block 2 Block 3 Node 2 Genesis Block Block 1 Block 2 Block 3 Node n Genesis Block Block 1 Block 2 Block 3 Block 4 Block 4 Block 4 Block 5 Block 5 Block 5

Slide 11

Slide 11 text

Node 1 Nodes laufen unabhängig, ohne Zentrale Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Node 8 Node 9

Slide 12

Slide 12 text

Zwei unterschiedliche Modelle Öffentliche Blockchains Ethereum, Bitcoin, ... Private Blockchains Telco E Telco C Telco A Telco F Telco G Telco B Telco D BNA Telco X Verbände, Konsortien, Regierungen, ... ? ! Telco X

Slide 13

Slide 13 text

Private Blockchains • Teilnehmer sind bekannt, Zugriff technisch gesichert • Daher auch: Kein Mining notwendig (Proof-of-Authority statt Proof-of-Work) E C A F G B D BNA X G #1 #2 #3 G #1 #2 #3 G #1 #2 #3 #4 • Transaktionen können öffentlich oder privat sein (direkter Punkt-zu- Punkt Austausch zwischen zwei Beteiligten) • Massiv höhere Transaktionszahlen (tausende bis hunderttausende pro Sekunde) • Technologien zB Hyperledger Fabric (auch IBM, SAP, Oracle), Quorum

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Blöcke und Transaktionen

Slide 16

Slide 16 text

• Signierte Aussagen, die technisch später nicht änderbar und nicht löschbar sind (= Transaktionen) Was ist in einem Block? (Das ganze natürlich maschinenlesbar, zB als Transaktions-Records) Der verifizierte Kunde Max Mustermann, geboren am 1.1.1911 möchte seine Telefonnummer 0151-123 123 123 von Telco A zu uns übertragen Signiert: Telco B Wir sind mit der Übertragung einverstanden. Signiert: Telco A

Slide 17

Slide 17 text

• Transaktionsteile können verschlüsselt sein Eigenschaften von Transaktionen {"tx":"requestTransfer", "phone":"0151-123123123", owner: "TelcoA", encryptedCustomerData: "0xe2cbcf5f890afabc4dbd236d19f949db 05fcec2155..."} Signiert: Telco B Mit dem Public Key von Telco A verschlüsselt

Slide 18

Slide 18 text

• Inhalte können auch Hashes von externen Daten sein Eigenschaften von Transaktionen {"tx":"requestTransfer", "phone":"0151-123123123", owner: "TelcoA", signedScannedContractHash: "0x80ebe76679b4812cde61d555c9026...", encryptedCustomerData: "..."} Signiert: Telco B "Ich hab hier ein PDF (das ich aber nicht herzeige) mit diesem Hash" • Für spätere Beweisbarkeit der Existenz und Unversehrtheit von externen Daten zum Zeitpunkt der Blockerstellung

Slide 19

Slide 19 text

• Punkt-zu-Punkt übertragene Daten können referenziert werden Eigenschaften von Transaktionen {"tx":"requestTransfer", "phone":"0151-123123123", owner: "TelcoA", externalDataHash: "0x5489b348f7a433...", } Signiert: Telco B Diese Daten werden Punkt-zu-Punkt gesendet • Zur Datensicherheit können Teile der Transaktionsdaten nur zwischen den Beteiligten ausgetauscht werden (zB Hyperledger Fabric oder Quorum)

Slide 20

Slide 20 text

• Wie wird geprüft, ob Transaktionen überhaupt durchgeführt werden dürfen? Gültigkeit von Transaktionen? Wir sind mit der Übertragung der Nummer 0151-123 123 123 einverstanden. Signiert: Telco B Telco C 0151-123 123 123 ist gar nicht bei Telco B, sondern bei uns! • Könnte organisatorisch durch Gesetze, Verträge und Strafen gelöst werden. Oder technisch.

Slide 21

Slide 21 text

• Die Regeln, nach denen bestimmt wird, ob eine Transaktion gültig ist • Lesen und schreiben den "World State“: die eigentlichen Daten einer Blockchain Smart Contracts Number Owner 0151123123123 Telco C 01511111111111 Telco A 01511111111112 Telco Z

Slide 22

Slide 22 text

Node 1 Number Owner 0151123123123 Telco C 01511111111111 Telco A 01511111111112 Telco Z Wir sind mit der Übertragung der Nummer 0151-123 123 123 an Telco A einverstanden. Signiert: Telco B function confirmTransfer(tx) { if (state[tx.data.number] == tx.signer) { state[tx.data.number] = tx.data.receiver; } else throw; } state[tx.data.number] == tx.signer Kryptographische Prüfung throw Transaktion als ungültig markiert Failed

Slide 23

Slide 23 text

Node 1 Number Owner 0151123123123 Telco C 01511111111111 Telco A 01511111111112 Telco Z Wir sind mit der Übertragung der Nummer 0151-123 123 123 an Telco A einverstanden. Signiert: Telco C function confirmTransfer(tx) { if (state[tx.data.number] == tx.signer) { state[tx.data.number] = tx.data.receiver; } else throw; } state[tx.data.number] == tx.signer Kryptographische Prüfung World State wird geändert OK Number Owner 0151123123123 Telco A 01511111111111 Telco A 01511111111112 Telco Z state[tx.data.number] = tx.data.receiver

Slide 24

Slide 24 text

… aber was kann man damit konkret machen? So weit, so gut …

Slide 25

Slide 25 text

Drei typische Klassen von Anwendungsfällen für Blockchains

Slide 26

Slide 26 text

Dokumentierend Kollaborativ Transformierend • Dokumentierende Anwendungsfälle • „Timestamping“: Technischer Beweis der Integrität von Dokumenten und Daten (Unveränderbarkeit und Vollständigkeit) zu einem gewissen Zeitpunkt • Als Kombination mit öffentlichen Blockchains oder wenn Regulator selbst Mitglied der Blockchain ist • Einfach umzusetzen, schneller Mehrwert • Kein oder geringer Fokus auf Smart Contracts

Slide 27

Slide 27 text

Dokumentierend Kollaborativ Transformierend • Datenaustausch und Prozesstransparenz • Prozessschritte/-stati als Transaktionen an Blockchain • Digitalisierung von analogen Prozessen über Firmengrenzen • Bsp: „Loi Hamon“ in Frankreich • Maklerkommunikation, Schadensabwicklung, Gutachter, … • Möglichkeit der Integration mit BPM-Tools wie Camunda • Interaktionen werden oft von Industriegremien oder Vereinen definiert – BiPRO via Blockchain?

Slide 28

Slide 28 text

Dokumentierend Kollaborativ Transformierend • Eröffnen neue Geschäftsmodelle und Märkte • Stellen nächsten Schritt in der Digitalisierung dar • Reality-Check: Durch viele Stakeholder komplexer in der Definition und Implementation • Beispiel: Unfallfreie Jahreskilometern von Carsharing-Nutzern zusätzlich zur SF Stufe

Slide 29

Slide 29 text

• Kommerzielle Interessen (mehr als 2 Mio Carsharing-Nutzer!) • Kunden: bessere Tarife • Versicherung: Wettbewerbsvorteil • Carsharing-Anbieter: Wettbewerbsvorteil; evtl. Provision • Herausforderungen • DSGVO-kompatible Datenweitergabe • Skalierung hin zu vielen Anbietern auf beiden Seiten • Daten sollen Konkurs oder Aussteigen eines Anbieters überleben (also nicht erst “bei Bedarf“ generiert werden) Unfallfreie Carsharing km/Jahr

Slide 30

Slide 30 text

Kundin generiert digitale ID (im Browser oder als Kundenkarte, …) Carsharing Anbieter • Verknüpfung der ID mit Kundennummer (Identitätsprüfung) • Opt-In auf Web Site Versicherung Blockchain Mai 2018 Kunde 1122 – 97 km Mai 2018 Kunde 5745 – 34 km Juni 2018 Kunde 1122 – 535 km Juni 2018 Kunde 5745 – 16 km Kundin Periodische Veröffentlichung der Daten

Slide 31

Slide 31 text

Carsharing Anbieter Versicherung Blockchain 239587030 4957443873 459089845 3458999… 947989834 5345534524 958458205 755345… 9447757234 2349348572 345580923 84949283… 209389084 923840982 342394820 9348934… Kundin Veröffentlichung der signierten Daten, verschlüsselt mit dem jeweiligen PubKey aus der ID eines Kunden Kundin kann ihre Daten jederzeit (zB im Web) entschlüsseln (niemand sonst! Nicht mal der Anbieter.) Mai 2018 Kunde 1122 – 97 km - Anbieter1 Juni 2018 Kunde 1122 – 535 km - Anbieter1 Daten können von der Kundin weitergegeben, und vom Empfänger signaturgeprüft werden. Auch wenn Anbieter nicht mehr existieren würde! (Datenhoheit bei Kundin!)

Slide 32

Slide 32 text

Carsharing Anbieter #1 Versicherung 1 Blockchain Kundin Carsharing Anbieter #2 Mietwagen Anbieter Versicherung 2 Versicherung 3 0304... 4586... 6436... 9384... 5463... 5854... … Feb 2018, 50 km, Stadt- mobil Feb 2018, 25 km, DB März 2018, 1534 km, Sixt Weitergabe durch Kundin

Slide 33

Slide 33 text

Vielen Dank! • Zitierte Technologien: Hyperledger Fabric, Quorum • Slides: https://speakerdeck.com/ingorammer • Contact: [email protected] • Twitter: @ingorammer Dokumentierend Kollaborativ Transformierend