florian haffke, 20.11.2017, munich - tum · chair of software engineering for business information...
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/20.jpg)
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
![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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042315/5f03dfee7e708231d40b31f6/html5/thumbnails/26.jpg)
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