florian haffke, 20.11.2017, munich - tum · chair of software engineering for business information...

26
Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München wwwmatthes.in.tum.de Technical Analysis of Established Blockchain Systems Florian Haffke, 20.11.2017, Munich

Upload: others

Post on 08-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Chair of Software Engineering for Business Information Systems (sebis)

Faculty of Informatics

Technische Universität München

wwwmatthes.in.tum.de

Technical Analysis of Established Blockchain SystemsFlorian Haffke, 20.11.2017, Munich

Page 2: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Outline

© sebisHaffke Final Presentation Master’s Thesis 2

1. Research Questions

2. Blockchain Basics

3. Wrap-up Bitcoin, Ethereum and Ripple

4. Analysis Extract – High-level and Design Space

Page 3: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Research Questions

1. Which are established Blockchain Systems?

2. What is the respective Setup of established Blockchain Systems?

3. How do established Blockchain Systems differ?

4. What are crucial Components and Characteristics of all established Blockchain Systems?

5. How can a Design Space of Blockchain Systems be defined?

© sebisHaffke Final Presentation Master’s Thesis 3

Page 4: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Research Questions

1. Which are established Blockchain Systems?

2. What is the respective Setup of established Blockchain Systems?

3. How do established Blockchain Systems differ?

4. What are crucial Components and Characteristics of all established Blockchain Systems?

5. How can a Design Space of Blockchain Systems be defined?

© sebisHaffke Final Presentation Master’s Thesis 4

Page 5: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Outline

© sebisHaffke Final Presentation Master’s Thesis 5

1. Research Questions

2. Blockchain Basics

3. Wrap-up Bitcoin, Ethereum and Ripple

4. Analysis Extract – High-level and Design Space

Page 6: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Chaining of Blocks

© sebisHaffke Final Presentation Master’s Thesis 6

Block 4 Body

Tx

Block 4 Header

Tx Tx Tx Tx Tx ..

..

Root Hash: 0x45ed…

PrevBlock Hash: 0x033fe…

Block 3 Body

Tx

Block 3 Header

Tx Tx Tx Tx Tx ..

..

Root Hash: 0x3ed4…

PrevBlock Hash: 0x200d3…

Block 5 Body

Tx

Block 5 Header

Tx Tx Tx Tx Tx ..

..

Root Hash: 0x5f3d…

PrevBlock Hash: 0x404fe…

Page 7: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Transactions Graph

© sebisHaffke Final Presentation Master’s Thesis 7

0 1 2 3 4 5 6 7 Block

Time

Coinbase

Tx Coinbase

Tx

Tx

Tx

Tx

Tx

Tx

Tx

Coinbase

Tx

Page 8: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Outline

© sebisHaffke Final Presentation Master’s Thesis 8

1. Research Questions

2. Blockchain Basics

3. Wrap-up Bitcoin, Ethereum and Ripple

4. Analysis Extract – High-level and Design Space

Page 9: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Goals

Bitcoin

Trustless and anonymous peer-to-peer electronic cash system

Ethereum

General-purpose platform for building transaction-based state machines

Ripple

One global connected payment network for cheaper and faster settlements

Blockchains

Tamper-resistant blocks with non-reversible transactions

© sebisHaffke Final Presentation Master’s Thesis 9

Page 10: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

1. Setup: State Data

Set of Unspent-Transactions-Outputs (UTXOs)

Mapping of account objects comprising balance and key-value storage to addresses

Concatenation of single account ledgers comprising balance and address

© sebisHaffke Final Presentation Master’s Thesis 10

Page 11: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

2. Setup: Consensus and Transitions

Proof of Work mining race

Stack-based script execution binding transactions

Proof of Work mining race

Smart contract execution in Ethereum Virtual Machine

Proof of Correctness without mining rewards

Trivially updating account ledger value

State transitions are triggered by transactions and finalized in a new block under distributed consensus.

Every valid block alters the state deterministically.

© sebisHaffke Final Presentation Master’s Thesis 11

Page 12: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

3. Setup: Peer-to-Peer Network

© sebisHaffke Final Presentation Master’s Thesis 12

Distributed Decentralized

Full Node/Validator

Client Node

UNL Connection

Semi-random Connection

Page 13: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Outline

© sebisHaffke Final Presentation Master’s Thesis 13

1. Research Questions

2. Blockchain Basics

3. Wrap-up Bitcoin, Ethereum and Ripple

4. Analysis Extract – High-level and Design Space

Page 14: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

A Generic View of Blockchain Systems

© sebisHaffke Final Presentation Master’s Thesis 14

Blockchain

Genesis

BlockBlock1

Hash Pointer

State Transition System

State0 Consensus State1

Comprise

Developer

User

Maintainer

Transaction System

Transaction

Token

Address

Digital

Signature

Scheme

Sign Draw

n:m

n:mn:m

n:mn:mProtocol Rules

-Codebase-

Block

Hashing

Consensus

Tx System

Signing

Network

1:1

Network

Store

Calculate

Create

Page 15: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Morphology Part 1

© sebisHaffke Final Presentation Master’s Thesis 15

Page 16: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Morphology Part 2

© sebisHaffke Final Presentation Master’s Thesis 16

Page 17: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Classification Part 1

© sebisHaffke Final Presentation Master’s Thesis 17

Page 18: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Classification Part 2

© sebisHaffke Final Presentation Master’s Thesis 18

Page 19: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Questions and Feedback

Thank you for your Attention ☺

© sebisHaffke Final Presentation Master’s Thesis 19

Page 20: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Technische Universität München

Faculty of Informatics

Chair of Software Engineering for Business

Information Systems

Boltzmannstraße 3

85748 Garching bei München

Tel +49.89.289.

Fax +49.89.289.17136

wwwmatthes.in.tum.de

Florian Haffke

B.Sc. Information Systems

[email protected]

Page 21: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Appendix

© sebisHaffke Final Presentation Master’s Thesis 21

Page 22: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Research Strategy

© sebisHaffke Final Presentation Master’s Thesis 22

Ancilla

ry L

itera

ture

Identify Systems

------------------------------------------

Basic Terms + Candidate Criteria

Individual

Study

Bitcoin

Individual

Study

Ethereum

High-level Studies and Design Space

Comparative System Studies

Individual

Study

Ripple

Data Analysis Synthesis

Page 23: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Digital Signature Scheme and Addresses

© sebisHaffke Final Presentation Master’s Thesis 23

ECDSA

public keysignatureprivate key

tx data tx data

create verifyhash

address

Example

Ethereum

Page 24: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Bitcoin Script Execution

© sebisHaffke Final Presentation Master’s Thesis 24

5145ded…2dd22e2…

335e627…2010ddc...

OP_DUPOP_HASH1603331fdb…OP_EQUALVERIFY OP_CHECKSIG

4043660…b90d211...

scriptSig

scriptSig

scriptPubKey

OP_DUPOP_HASH1604442ef3…OP_EQUALVERIFY OP_CHECKSIG

Transaction 1

Transaction 2

Execution

Page 25: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Ethereum Virtual Machine

© sebisHaffke Final Presentation Master’s Thesis 25

EVM Execution Cycle

Instructions

0x01 ADD

0x60 PUSH1

0x00 STOP

Environmental Tuple

Sender

Transaction Value

Block Header

Machine Code

Gas Price

World State

Account0

Account1

Account2

Machine State

Gas available

LIFO stack

Word-array memory

Iteration Function

1. Get Instruction

2. Update States

3. Reduce available Gas

Ne

xt

Tra

ns

ac

tio

n

Yes

Halt?

No

Page 26: Florian Haffke, 20.11.2017, Munich - TUM · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München Technical

Ripple Issuance Transfers with Interledger

© sebisHaffke Final Presentation Master’s Thesis 26

Ripple Ledger USD-Ledger Ripple Ledger

Alice

Application

Transport

Interledger

Ledger

ILP

XRP

Plugin

Bank A

ILP

XRP

Plugin

USD

Plugin

Bob

ILP

XRP

Plugin

Bank B

ILP

USD

Plugin

XRP

Plugin

Sender Receiver

Connector 1 Connector n