Transcript
Page 1: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Chair of Software Engineering for Business Information Systems (sebis)

Faculty of Informatics

Technische Universität München

wwwmatthes.in.tum.de

Research and Development in BlockchainUlrich Gallersdörfer, M.Sc. – 2018, Sebis-Day

Page 2: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Outline

1. Analysis of Cross-Blockchain Transactions

2. Design Patterns in Solidity

3. Current (and future) Research

© sebis180920 Gallersdoerfer Blockchain @ Sebis 2

Page 3: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Transactions in Blockchains are easy to track

© sebis180920 Gallersdoerfer Blockchain @ Sebis 3© sebis 3

Tx2

From To

Tx0

From To

Tx1

From To

Tx3

From To

▪ Money in Blockchain networks (like Bitcoin or

Ethereum) are easy to track

▪ Transactions reference to previous transactions

▪ Hardly a way to hide where the money came from

▪ Mixing services (which disguise the origin of coins)

are hardly used

➔ Scam and theft still a dominant problem without a possibility to efficiently track the money

Page 4: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Coins are exchanged to other currencies

© sebis180920 Gallersdoerfer Blockchain @ Sebis 4

Why are we not able to efficiently track the money? ➔ Currencies are changed into other currencies.

Trading Platforms Instant Cryptocurrency Exchange

Trading platforms are not used, as an exchange is time consuming and requires user registration.

Instant Cryptocurrency Exchanges allow a direct exchange of two currencies.

1. Is it possible to detect a transaction for a instant cryptocurrency exchange?

2. Is it possible to track the flow of money across different currencies?

Page 5: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

We trace cross-blockchain transactions

© sebis180920 Gallersdoerfer Blockchain @ Sebis 5

• Transaction data from two Blockchains

• Exchange Rates based on prices,

exchange fees & transaction fees

• Exchange Duration based on Timestamps

• Known Exchange Addresses

Data usage

• Very high volume (200 Mio. / month)

• High detection rate of exchange

transactions (92%)

• Correct matching very hard due to

• Many possible exchange pairs

• Over 30 cryptocurrencies

• Very small transaction amounts

• However, high volume tx traceable

Findings

Page 6: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Outline

1. Analysis of Cross-Blockchain Transactions

2. Design Patterns in Solidity

3. Current (and future) Research

© sebis180920 Gallersdoerfer Blockchain @ Sebis 6

Page 7: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Smart Contract Software Engineering is hard

© sebis180920 Gallersdoerfer Blockchain @ Sebis 7

Contract-based

language

Notion

of money

One single bug can

be fatal

High computational

costs

Page 8: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

We collected 14 different patterns

© sebis180920 Gallersdoerfer Blockchain @ Sebis 8

Behavioral

Security

Upgradeability

Economic

1. Guard Check

2. State Machine

3. Oracle

4. Randomness

5. Access Restriction / Ownable

6. Check Effects Interactions

7. Secure Ether Transfer

8. Pull over Push

9. Emergency Stop

10.Proxy Delegate

11.Eternal Storage

12.String Equality Comparison

13.Tight Variable Packing

14.Memory Array Building

Page 9: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

We measure the usage of these patterns

© sebis180920 Gallersdoerfer Blockchain @ Sebis 9

• Increasing usage

• Doubled usage

from 10% to over

20% in only two

months

• >20% of contracts

Patterns are heavily used in Smart Contract development community!

With bytecode analysis, we are able to measure common standards.

Ownable Pattern

Page 10: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Outline

1. Analysis of Cross-Blockchain Transactions

2. Design Patterns in Solidity

3. Current (and future) Research

© sebis180920 Gallersdoerfer Blockchain @ Sebis 10

Page 11: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

Data Analytics in Blockchain

© sebis180920 Gallersdoerfer Blockchain @ Sebis 11

Ethereum Bitcoin

Public Blockchains offer rich data sets

➔Data is highly diverse: Transaction Data, User

accounts, Smart Contracts (95% Bytecode, 5%

Source Code), Flow of money

These Data allows for various analytics

➔Usage of Software Patterns (current project)

➔ Trends in Blockchain

➔Meta-services (Origin of Money, Taxes, …)

➔ If data analytics is interesting for you, talk to me.

Size

Growth

100 GB 180 GB

8Gb/Month 4Gb/Month

Tx 309 Mio. 340 Mio.

Contracts 5,6 Mio. ---

Page 12: Ulrich Gallersdörfer, M.Sc. 2018, Sebis-Day · Money in Blockchain networks (like Bitcoin or Ethereum) are easy to track Transactions reference to previous transactions Hardly a

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

Ulrich Gallersdörfer

M.Sc.

17137

[email protected]

Wissenschaftlicher Mitarbeiter


Top Related