florian haffke, 20.11.2017, munich - tum · chair of software engineering for business information...
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
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