A Conceptual Model for Ethereum Blockchain Analytics

Slides:



Advertisements
Similar presentations
RAID Oh yes Whats RAID? Redundant Array (of) Independent Disks. A scheme involving multiple disks which replicates data across multiple drives. Methods.
Advertisements

Correlation Search in Graph Databases Yiping Ke James Cheng Wilfred Ng Presented By Phani Yarlagadda.
Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
ANALYZING STORAGE SYSTEM WORKLOADS Paul G. Sikalinda, Pieter S. Kritzinger {psikalin, DNA Research Group Computer Science Department.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
1 IS112 – Chapter 1 Notes Computer Organization and Programming Professor Catherine Dwyer Fall 2005.
Chapter 14 The Second Component: The Database.
Lecture 9 – Database Design
Trns*port Data Model Unification Joe Pugh Virginia Department of Transportation Peggy Leight Info Tech Inc 11/06/05.
Servers Redundant Array of Inexpensive Disks (RAID) –A group of hard disks is called a disk array FIGURE Server with redundant NICs.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
Software Engineering UNIT 2. Functional Modelling.
1 Commissioned by PAMSA and German Technical Co-Operation National Certificate in Paper & Pulp Manufacturing NQF Level 3 Collect and use data to establish.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
2 Systems Architecture, Fifth Edition Chapter Goals Describe the activities of information systems professionals Describe the technical knowledge of computer.
SCSC 311 Information Systems: hardware and software.
Introduction to Java August 14, 2008 Mrs. C. Furman.
Smart Smart Contracts AI on the blockchain 1 | Neural Networks on Ethereum’s Distributed Virtual Machine.
Intro to Block Chain Bitcoin. Blocks ●Ethereum - block chain ●Dogecoin - block chain ●Ripple - not a block chain ●Stellar - not a block chain ●Bitcoin.
AUDIT SOFTWARE Chapter 16. Generalized Audit Software Off-the-shelf software that provides a means to gain access to and manipulate data maintained on.
+ Moving Targets: Security and Rapid-Release in Firefox Presented by Carlos Bernal-Cárdenas.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Hall, Accounting Information Systems, 8e ©2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly.
Defensive Programming. Good programming practices that protect you from your own programming mistakes, as well as those of others – Assertions – Parameter.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Computable Contracts as Functional Elements
Chapter 1 Computer Technology: Your Need to Know
Introduction To DBMS.
Blockchain Infrastructure for e-Science
Testing Tutorial 7.
MadeCR: Correlation-based Malware Detection for Cognitive Radio
Blockchain Introduction
KrypC Technologies Accelerated Blockchain Adoption.
Oyente: Making Smart Contracts Smarter
MIGRATING TO NEW TECHNOLOGY
Amiko Pay A decentralized network for secure, instant, off-blockchain transactions.
Introduction CSE 1310 – Introduction to Computers and Programming
Un</br>able’s MySecretSecrets
Blockchain Adrian Zaragoza.
Bugs in the Blockchain and “Contractual” Vulnerability
Tuan Anh Nguyen, Christoph Csallner
Major Parameters Marketing IT
Campbell R. Harvey Duke University and NBER
Analytics for the IoT: A Deep Dive into Algorithms
Kickoff Presentation Master’s Thesis: Identification of Programming Patterns in Solidity Franz Volland, 29th January 2018, Scientific advisor: Ulrich Gallersdörfer.
Dijkstra’s Algorithm for the Shortest Path Problem
Mock Object Creation for Test Factoring
Group Truck Technology, Powetrain Engineering, Control Systems dept.
Final Presentation Master’s Thesis: Identification of Programming Patterns in Solidity Franz Volland, 04th June 2018, Scientific advisor: Ulrich Gallersdörfer.
Blockchain Alexander Prenta 9/27/2018.
2018/7/28 GridMonitoring: Secured Sovereign Blockchain based Monitoring on Smart Grid Authors: Jian-Bin Gao, Kwame Omono Asamoah, Emmanuel Boateng Sifah,
Blockchain Concepts RISK FORUM 2017 Hash function (e.g. SHA-256)
Swagatika (Jazz) Sarangi
Reengineering the Audit with Blockchain and Smart Contracts
A Conceptual Model for Ethereum Blockchain Analytics
CSCE 190 Computing in the Modern World Blockchain: the Basics
Automation of Control System Configuration TAC 18
Government agencies have significantly developed
Lecture 6 Shortest Path Problem.
Ethereum Virtual Machine
Analysing Vulnerabilities in Smart Contracts
Scalable and Privacy-preserving Design of On/Off-chain Smart Contracts
Swagatika (Jazz) Sarangi
CME Bitcoin Futures: Volatility and Liquidity
Blockchain Tech Big Picture
Blockchain Tech Big Picture
What is A blockchain? B. RAMAMURTHY ©2019, ALL RIGHTS RESERVED
Defensive Programming
BUILDING A BLOCKCHAIN USING PYTHON
Presentation transcript:

A Conceptual Model for Ethereum Blockchain Analytics Alexander Hefele, 18th February 2019, Advanced Seminar

Motivation Ethereum My contribution Proposed in 2014 Higher complexity than Bitcoin Introduced smart contracts $12bn market capitalization 500k transactions per day 50k „verified contracts“ on Etherscan My contribution Model the system with Software Engineering techniques Goal: bring structure to the system to facilitate data analysis Practical implementation of blockchain data analysis 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Research Questions How are the different parts of the Ethereum system correlated with each other? RQ1 What data can be extracted from the blockchain for analysis and how can this be done efficiently? RQ2 What does metadata tell us about the network? RQ3 What are different areas of application of the Ethereum blockchain? RQ4 Which anomalies can be observed in the network? RQ5 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

The Model RQ1 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

The Model RQ1 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Data Acquisition Available data Data extraction Data storage RQ2 Available data Blockchain data State data Temporary data Off-chain data Data extraction Transactions to null Contract-created contracts Observe CREATE opcode Call eth.getCode() Data storage Graph database Relational database Split contracts from contract codes 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

6.90M 190k Analysis 2.18M 4.80M blocks user-created contracts contract-created contracts 190k contract codes 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Analysis – Anomalies Front-running Self-destructing constructors RQ5 Conditions: Same recipient Same function call 50% higher gas price Issued ≥3 seconds later Detected during launch of a blockchain card game Front-running 43 detected contracts Reasons: Obfuscation Programming error Self-destructing constructors 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Analysis – ERC Standard Usage RQ4 89k ERC20 tokens 900 ERC721 tokens 1.3% of contracts 27% of contract codes Extract 4-byte identifiers Compare with ERC standards Approach 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Analysis – Approximating Compiler Versions RQ3 Contract creation date Header analysis Heuristics Set minimum and maximum version Version estimation range as small as possible Goal 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Evaluation – Compiler Versions RQ3 Verified contracts 50k Contract codes with correct minimum and maximum range 99.3% Percentage of nightly versions among false detections >66% Median range of contract code version estimation 3 Distances between minimum and maximum compiler version 3 0.4.18 – 0.4.21 0.4.22 – 0.4.25 20 0.1.1 – 0.4.3 34 0.1.1 – 0.4.17 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Analysis – Library Usage RQ3 SafeMath library Most popular Solidity library Arithmetic operations without over- and underflows All functions are internal Approach: Compile all SafeMath versions Extract bytecodes of functions Search bytecodes in all contract codes 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Evaluation – Library Usage RQ3 Source code uses SafeMath Does not use SafeMath Detected SafeMath in bytecode 21,375 true positives 27 false positives Did not detect SafeMath 8,978 false negatives 20,053 true negatives Distances between minimum and maximum SafeMath version 2 1.1.0 – 1.3.0 4 1.4.0 – 1.8.0 7 1.1.0 – 1.8.0 14 1.1.0 – 1.12.0 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Future Work Use Parity traces Add more heuristics Nightly compiler versions Find vulnerable smart contracts Investigate function calls 190218 Hefele A Conceptual Model for Ethereum Blockchain Analytics © sebis

Alexander Hefele a.hefele@tum.de