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

Post on 08-Jun-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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…

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

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

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

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

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

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

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

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

Morphology Part 1

© sebisHaffke Final Presentation Master’s Thesis 15

Morphology Part 2

© sebisHaffke Final Presentation Master’s Thesis 16

Classification Part 1

© sebisHaffke Final Presentation Master’s Thesis 17

Classification Part 2

© sebisHaffke Final Presentation Master’s Thesis 18

Questions and Feedback

Thank you for your Attention ☺

© sebisHaffke Final Presentation Master’s Thesis 19

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

florian.haffke@tum.de

Appendix

© sebisHaffke Final Presentation Master’s Thesis 21

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

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

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

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

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

top related