1 of 56

Meetup #18

2 of 56

3 of 56

Sind Konsortium Blockchains �auch nur verteilte Systeme?

Nhan

Krystian

4 of 56

Was werden wir heute machen?

  1. Lasst uns Wissen synchronisieren
  2. 13 Monate Hyperledger Fabric (WTF?!)
  3. Offene Diskussion
  4. Ausblick Meetup #19

5 of 56

Typen von �DLT/Blockchain

6 of 56

Public

Blockchains

“Offen und jeder darf teilnehmen.”

Eigenschaften: Quellcode download, Transaktionen tätigen, Nodes aufsetzen, Proof-of-Work, Transaktionen sind transparent (pseudonym, anonym), unlimitierte Anzahl an Nodes, dezentral, kein Vertrauen

Beispiele: Bitcoin, Ethereum, Monero, ZCash, Litecoin

7 of 56

Konsortium

Blockchains

“Ausgewählte Konsorten dürfen teilnehmen.”

Eigenschaften: endliche Anzahl an Nodes, schnellere und günstigere Transaktionen, Consensus nur durch erlaubte Teilnehmer, teil-dezentral, Vertrauen besteht

Beispiele: Energy Web, R3 (OS für Banken), B3i (Versicherungen)

8 of 56

Private

Blockchains

“Es bleibt alles innerhalb der Organisation.”

Eigenschaften: schnellere und günstigere Transaktionen, Consensus innerhalb der Organisation, zentral, Vertrauen besteht

Beispiele: Monax, Multichain

9 of 56

Weitere Kategorisierung?

Public

(Öffentlich einsehbar)

Private

(Nur von Teilnehmern einsehbar)

Permissionless

(Teilnahme offen)

Permissioned

(Teilnahme an eine Erlaubnis gebunden)

Goldstandard -

bieten die meisten Kryptowährungen

Ergibt wenig Sinn -

evlt. im KYC- oder KYB-Bereich

Logistik- und

Transport-Blockchains

Firmen-Blockchains

10 of 56

ZENTRAL

DEZENTRAL

VERTEILT

11 of 56

1 Organisation �mit 1000 Nodes �auf der Welt verstreut?

12 of 56

1 Organisation �mit 50 Zweigstellen und 1000 Nodes auf der Welt verstreut?

13 of 56

10 Organisationen �mit je 100 Nodes �auf der Welt verstreut?

14 of 56

100 Organisationen �mit je 1 Node auf der Welt verstreut?

15 of 56

Warum?

Dezentralität & Verteilte Systeme?

16 of 56

“...a distributed system is a collection of computing elements each being able to behave independently of each other. A computing element, [...] as a node, can be either a hardware device or a software process. �A second feature is that users (be they people or applications) believe they are dealing with a single system. This means that one way or another the autonomous nodes need to collaborate.”

17 of 56

Triple�Constraint

18 of 56

UMFANG

KOSTEN

ZEIT

QUALITÄT

19 of 56

CAP-Theorem

20 of 56

CONSISTENT

AVAILABLE

PARTITION�TOLERANT

(CA)

CP

AP

21 of 56

Wenn ein Teilausfall von Knoten eintritt, dann...

  1. Transaktion stoppen
  2. Konsistenz bewahren
  3. Erreichbarkeit nicht garantiert
  1. Transaktion durchführen
  2. Erreichbarkeit bewahren
  3. Inkonsistenz der Daten riskieren

CP

AP

22 of 56

Kurze Zeitreise –

Was war vor Blockchain?

23 of 56

(Multi) Master & Slave

S

S

S

S

M

Write

Read

Read

S

S

S

S

M

Write

Read

Read

M

24 of 56

Quorum

“Ich frage die Mehrheit bevor ich schreibe oder lese.”

1

2

3

4

5

v?

v8

v8

v8

v7

v7

25 of 56

Paxos

  • Verteiltes Systeme sind teilweise synchron/asynchron�
  • Kommunikation ist unzuverlässig�
  • Fehlerhafter Nachrichten können entdeckt werden�
  • Operationen sind deterministisch�
  • Prozesse können fehlschlagen sind aber Fehler sind nicht willkürlich

P

A

L

P

A

L

P

A

L

Node 3

Node 2

Node 1

C

26 of 56

Peer-2-Peer

  • Napster, KaZaa, BitTorrent�
  • Server und Client gleichzeitig (Servant)�
  • Vollständige Dezentralisierung �der Kontrolle �
  • Distributed Hash-Tabellen (CHORD, CAN, Tapestry, Pastry)

P1

P2

P3

P11

P10

P12

P6

P4

P8

P9

P7

P5

27 of 56

Peer-2-Peer

Denkpause

  • Napster, KaZaa, BitTorrent�
  • Server und Client gleichzeitig (Servant)�
  • Vollständige Dezentralisierung �der Kontrolle �
  • Distributed Hash-Tabellen (CHORD, CAN, Tapestry, Pastry)

P1

P2

P3

P11

P10

P12

P6

P4

P8

P9

P7

P5

28 of 56

13 Monate

Hyperledger Fabric

29 of 56

30 of 56

31 of 56

32 of 56

?!

33 of 56

?!

34 of 56

35 of 56

36 of 56

Enables highly reliable distributed coordination

37 of 56

Enables highly reliable distributed coordination

naming service

38 of 56

Enables highly reliable distributed coordination

kafka cluster coordination

naming service

39 of 56

Enables highly reliable distributed coordination

kafka cluster coordination

node status update service

naming service

40 of 56

Enables highly reliable distributed coordination

kafka cluster coordination

automatic failure recovery

node status update service

naming service

41 of 56

Org0

Org1

Org2

42 of 56

“[...] having ordering nodes run by different organizations when using Kafka [...] doesn’t give you much in terms of decentralization because the nodes will all go to the same Kafka cluster which is under the control of a single organization.”

Org0

Org1

Org2

43 of 56

WTF?!

44 of 56

45 of 56

  • consensus algorithm
  • equivalent to Paxos in fault tolerance and performance
  • easier to understand

The understandable distributed protocol

Raft

46 of 56

Raft

Kafka

Native in Fabric

Crash fault tolerant

Byzantine fault tolerant

Each organization can have its own ordering nodes

More decentralized

Easier to set up

Supported by Fabric

Crash fault tolerant

Not Byzantine fault tolerant

all nodes go to the same Kafka cluster which is under the control of a single organization

Less decentralized

Administrative overhead

47 of 56

Weitere DLT Consensus Mechanismen

48 of 56

49 of 56

Offene Diskussion

50 of 56

Was ist ein

Smart Contract?

51 of 56

Back to Basics?

52 of 56

DEZENTRAL

SICHER

SCHNELL

Ideale DLT/Blockchain

und andere PoW

BINO�(Blockchain In Name Only)

gähnende Leere

53 of 56

Blockchain Workshop

Mittwoch, 6. November, 18 - 21 Uhr�Gutenberg Digital Hub, Mainz

54 of 56

Nächstes�Meetup #19

3. Dezember 2019

Weihnachtsfeier, Rückblick 2019 und Ausblick 2020

55 of 56

56 of 56

Quellen