31
Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München wwwmatthes.in.tum.de Verlässlichkeit Blockchain-basierter Systeme Prof. Dr. Florian Matthes 13.3.2019, Münchner Kreis, Berlin

Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Chair of Software Engineering for Business Information Systems (sebis)

Faculty of Informatics

Technische Universität München

wwwmatthes.in.tum.de

Verlässlichkeit Blockchain-basierter SystemeProf. Dr. Florian Matthes 13.3.2019, Münchner Kreis, Berlin

Page 2: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

February 4th 2019

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 2

https://www.cnbc.com/2019/02/14/venezuela-crisis-bitcoin-trading-volumes-hit-an-all-time-high-.html

Page 3: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

March 11th 2019

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 3

https://www.pivot.one/share/post/5c852c731d57e7745c13e87f?uid=5bafc8775be18e4c152a22a5

Page 4: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

1. Potential of blockchain technologies

2. Bitcoin: Technical comparison with established centralized solutions

3. Smart contract platforms: Implementation alternatives and their characteristics

Outline

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 4

Page 5: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

What is a „Blockchain“?

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 5

“A blockchain […] is a distributed

database that maintains a continuously-

growing list of ordered records called

blocks. Each block contains a timestamp

and a link to a previous block. By design

blockchains are inherently resistant to

modification of the data: once recorded,

the data in a block cannot be altered

retroactively.”https://en.wikipedia.org/wiki/Blockchain_(database)

[...] are systems that enable parties

who don’t fully trust each other to form

and maintain consensus about the

existence, status and evolution of a

set of shared facts.

Richard Brown, R3 CTO

Technical definition Functional description

Page 6: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

The potential of blockchain technologies

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 6

They enable intermediary-free transactions of digital, non-copyable goods without the need to trust

the other party.

Digital identities of people or machines can enter into secure transactions and all transaction details

are stored immutable and decentralized.

Automated, programmable contracts can ensure contract compliance.

"We believe that the Blockchain will have the greatest influence on contracts, logistics and supply chain,

healthcare, public administration, asset clearing, property and transactions."

- Greg LaBlanc

Page 7: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Current and future use cases (B2B & B2C)

7

Finance

• Replacement of intermediaries in transactions

• Crypto currencies

• Microcredit and crowdfunding peer-to-peer

• ICOs: Start-up financing

Pharma und

Medical

Automotive

Sharing

Economy

• Supply chain tracking

• Digital identity of a car

• Digital mobility solutions (e.g. car sharing)

Documentation

• Elimination of some notary services

• Traceable supply chain

• Service & maintenance protocols

• Digital certificates of origin

• Access to decentralized patient records

• Prevention of prescription abuse

• Prevention of counterfeit drugs

• Transactions without a central platform provider

• Decentrally documented bartering

• Pay-as-you-use insurances

Cross-industry, peer to peer

Energy

• Private suppliers of electricity

• Micro power networks

• Electricity trading

Industries

Digital

Identity

• Refugees pay by retina scan

• Direct remuneration of license holders

• Certificates of origin of digital certificates

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme

IP Management

• Preservation of patents, art or ideas on the

blockchain (incl. time stamp)

• Securing 3D printer models

• Direct remuneration of license holders

Page 8: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

1. Potential of blockchain technologies

2. Bitcoin: Technical comparison with established centralized solutions

3. Smart contract platforms: Implementation alternatives and their characteristics

Outline

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 8

Page 9: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

The structure of the Bitcoin blockchain

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 91In Bitcoin, the height is included in the Coinbase Transaction.

Block #100952

100952

2011-01-04 05:49:43

0000000000000dbb3...

f164821b6fd32308ac…

Transactions

Blockheader

Block #100951

Transactions

Height

Timestamp

Hash of prev. Block

Hash of Transactions

Blockheader

Block #100950

Transactions

Blockheader0000000000

0162a86510

6214fa547cc

778b98c4914

c37c8eb13cb

6bfeb6a3d6c

Page 10: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

The blockchain records a strict sequence of transactions.

The state modified by the transactions is not stored on the blockchain.

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 10

Blockchain

State

Transactions

Block 0

A = 20

A => B: 3

A => C: 2

Block 1

A = 15

B = 3

C = 2

B => C: 1

A => C: 2

Block 2

A = 13

B = 2

C = 5

Page 11: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Roles in the blockchain network

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 11

Wallet Owner

• Has private key to unspent

transactions

• Owns the money

• Sends money by singing

and publishing new

transactions

Full Node

• Maintains the complete

blockchain

• Validates every transaction

and block

• Relays all new transactions

Miner

• Acts the same as the full

node

• Additionally creates new

blocks and tries to solve the

mining puzzle

• Gets rewarded for new

blocks

Signed

Transaction

Page 12: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Which node is allowed to issue a new block?

Constraints

Keep the network fully decentralized Random selection of node

Avoid a 51% attack by a group of nodes allowing them to

prevent new transactions from gaining confirmations, to halt payments between some or all users, or

reverse transactions that were completed while they were in control of the network, meaning they could double-

spend coins.

Approaches

Proof of work Increase cost / difficulty of creating new blocks

Solve a time-consuming mathematical puzzle

Solve a puzzle that requires a lot of computer memory

Proof of stake Increase cost of creating invalid blocks

Deposit an amount of money that gets transferred if an invalid block is detected

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 12

Mining

Page 13: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Advantages

Decentralized management (trust in one party trust in a system of multiple parties)

Transparency of all transactions

Traceability of the complete transaction history

Pseudonymity of the wallet owners

Built-in financial incentives for early adopters and network growth ( business model)

Opportunities

Innovation thrust for IT solutions in the global finance system

Lowered entry barriers for IT-savvy players with limited financial resources

Impetus to re-evaluate established business models and economic mechanisms

Comparison with established centralized solutions

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 13

Page 14: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Intrinsic disadvantages

Exorbitantly high energy consumption for the proof of work 203 KWh / transaction

Long delay until transaction confirmation several minutes

Very low transaction rate 3-4 transactions per second

Continuously increasing storage requirements for the blockchain 134 GB as of October 2017

Comparison with established centralized solutions

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 14

Transaction rate 2017 Average rate Maximum rate

Bitcoin ~ 3.5 ~ 3.5

VISA 1667 >56.000

PayPal 193 400

http://www.altcointoday.com/bitcoin-ethereum-vs-visa-paypal-transactions-per-second/

Page 15: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Disadvantages

Technical complexity

Efficiency & scalability (energy, space, time)

Semantic complexity (game theory, probabilistic reasoning, concurrency, …)

Difficult to understand and use (by end-users, developers)

Challenging security requirements (public, transparent, high-stake, …)

Risks

Regulatory (ethical, legal) risks

Over-promising, inflated expectations

Comparison with established centralized solutions

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 15

Page 16: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

1. Potential of blockchain technologies

2. Bitcoin: Technical comparison with established centralized solutions

3. Smart contract platforms: Implementation alternatives and their characteristics

Outline

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 16

Page 17: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

In 2015, Vitalik Buterin wrote white paper “Ethereum: A Next Generation Smart Contract & Decentralized

Application Platform“

Idea

Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g. Bitcoin,

voting, bidding, lottery, proof of ownership, …) by programs, written in a domain-specific programming

language (e.g. Solidity) on top of a single public blockchain (Ethereum) and currency (Ether).

Use cryptography to secure the immutability of the program code (called smart contract)

Wallet owners agree on the contract(s) to be used for their future interactions

No or very limited access of the code to the “real world” (sensors, actuators)

Similar to data-centric architectures for workflow management and automated case management

Smart Contracts on blockchain-based platforms

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 17

Page 18: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Smart Contracts

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 18

To be clear, at this point I quite regret adopting the term "smart contracts".

I should have called them something more boring and technical, perhaps something like "persistent scripts".

Vitalik Buterin, 2018

Page 19: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

A reference architecture for a Smart Contract platform

Example:

Safe transfusion medicine

Blood product supply chain involving

Clinics

Labs

Logistic companies

Blood donor centers

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 19

Execution

States

Virtual Machine

(Execution platform for Smart Contracts)

Smart

Contracts

Execution

History

Local interactive

User interfacesLocal IT-Systems

Internet

API

Sen-

sors

Actua-

tors

„Real World “

Platform-wide

Rules

Page 20: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Characteristic properties of Smart Contracts

Deterministic execution

No random numbers, current time, sensor values, …

Oracles

Terminating execution

Domain-specific languages with limited expressiveness

Limited number of execution steps (Gas)

Isolated Execution

Sequential

Serializable

Eventually consistent

Limited use of third-party library code

Verifiability

Security

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 20

Page 21: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Implementations of the reference architecture

Centralized platforms

Blockchain-based platforms

Permissionless

platforms

Permissioned platforms

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 21

Page 22: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

The governance challenge

Centralized platforms today (e.g. Google Maps)

Centralized data

management

Non-transparent platform

operations

Exclusive platform

ownership

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 22

Page 23: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Centralized platforms

There are established non-technical measures to ensure trust, e.g. cooperatives, third-party (or state) supervision, Open Source licenses, etc.

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 23

Benefits

Efficient

Scalable

Standardized components

Drawbacks

Requires trust in platform

provider

Availability

Sufficient resources

Fair conditions (e.g.

pricing)

No manipulations

Page 24: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

The governance challenge

Decentralized platforms tomorrow?

Decentralized data

management

Transparent platform

operations

Shared platform ownership

Blockchain Governance

Ecosystem

Applications

Infrastructure

!

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 24

Page 25: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Permissionless Blockchain-based platforms

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 25

Benefits

Consensus of nodes on

shared set of facts

Traceability of the complete

transaction history

Optimized for cross-

organization collaboration

Decentralized and redundant

(Transparency of all

transaction details)

Pseudonymity of the wallet

owners

Financial incentives for

network growth

Drawbacks

Dependency on a crypto

currency

Energy consumption

Severely limited transaction

throughput

Risk of centralization at the

network level

Page 26: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Hyperledger is an open source collaborative effort created to advance

cross-industry blockchain technologies. It is a global collaboration,

hosted by The Linux Foundation, including leaders in finance, banking,

IoT, supply chain, manufacturing and technology.

Hyperledger Fabric: A (federated, permissioned, private)

blockchain based on a peer-to-peer network executing and

validating chaincode.

Hyperledger Composer: Development environment for smart

contracts contributed by IBM.

Several other (competing) projects

Focus on business and cross-enterprise use cases

Broad industry support

Currently used mostly for education and internal proof-of-concept

solutions

Hyperledger - Blockchain technologies for business

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 26

Page 27: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Permissioned Blockchain-based platforms

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 27

Benefits

Consensus of nodes on

shared set of facts

Traceability of the complete

transaction history

Optimized for cross-

organization collaboration

Decentralized and redundant

Upward compatibility with

established IT technology

Identity management

Development tools

Data models & standards

Drawbacks

Interoperability between

different consortia

System complexity

Blockchain governance

Ecosystem / participants

Applications / contracts

Platform technology

Page 28: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Blockchains are a team sport

The parties in the ecosystem interact via shared executable contracts on shared blockchains.

Banking: R3 Consortium (2014)

200 members

Energy: Energy Web Foundation (1/2018)

Insurance: B3i Consortium (3/2018)

Achmea, Aegon, Ageas, Allianz, Generali, Hanover Re, Liberty Mutual, Munich Re, SCOR, Swiss Re, Tokio Marine, XL Catlin, Zurich Insurance Group

Mobility: Mobi Open Blockchain Initiative (5/2018)

BMW, General Motors, Renault, Ford, Bosch, ZF, …

Connect, Understand, Design, Do, Learn: Blockchain Bayern (1/2019)

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 28

Page 29: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Characteristics

Focus on the precise, algorithmic descriptions of the rights and obligations of the contracting parties based on a shared state

Traceability of all transactions

Use of cryptographic methods

Domain-specific languages

Decentralized peer-to-peer execution environment

Drawbacks

High execution costs

Increased organizational and legal complexity

Paradigm shift for the development of new business models

Problems they do not address

Correctness of input information

Enforceability of rights outside of the execution platform

Correctness of the code

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 29

Summary

Page 30: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Technische Universität München

Fakultät für Informatik

Lehrstuhl für Software Engineering

betrieblicher Informationssysteme

Boltzmannstraße 3

85748 Garching bei München

Tel +49.89.289.

Fax +49.89.289.17136

wwwmatthes.in.tum.de

Florian Matthes

Prof. Dr.

17132

[email protected]

Inhaber des Lehrstuhls

Page 31: Verlässlichkeit Blockchain-basierter Systeme · Application Platform“ Idea Replace the fixed data structures, algorithms and protocols of individual blockchain solutions (e.g

Our current projects on blockchain-based systems engineering

Education and consulting

Lecture Blockchain-based Systems Engineering (IN2359, link)

TUM Executive Education: Certified Blockchain & DLT Manager

blockchain.tum.de Research Cluster

Associations (IHK, Münchner Kreis, Blockchain Bayern e.V., …)

Blockchain Hackathons (IBM, TU Munich, Ethereum, …)

Bavarian Ministries (Justice, Finance, Social)

Development projects

German chamber of notaries: Digital legacy (last will)

Chip Card Solutions, DRK: Securing blood reserves with RFID and Blockchain-technologies

Noumena Digital AG: Language Engineering for Smart Contracts

Tr8cy: Peer2Peer Trade Financing Platform

TUM: Digital university certificates

© sebis190313 Matthes Verlässlichkeit Blockchain-basierter Systeme 31