Blockchain Analysis

Final Project Demo

Rory Powell - 40081529

Project Supervisor: Professor Weiru Liu

Technical AdvisorRyan McConville

Background

 

What is the blockchain?

  • The public ledger of all bitcoin transactions, ever. 
  • Transactions need to be verified
  • Hosted peer to peer - Not controlled by any single entity

Original Goals

 

Community Detection

Visualize the entire blockchain and the communities within

 

Execute community detection algorithm

And display the results

 

Owner Identification

Find known bitcoin owners​

 

Live retrieval of latest data

Integrated into the application

Early Results

 

  • Used a bitcoin client to download blockchain history in hex format (~35GB, 2009 - 2015)
  • bitcoinJ (Bitcoin java library) provided a parser for this to get meaningful data.
  • Streamed through the dataset writing the results to csv
    • Linking each input in a transaction to each output
  • Used Gephi to visualise this data (albeit at a very cut down size)
    • Of 170 .dat files, gephi could handle a fraction of 1
    • (7,000 lines out of 500,000 csv lines in one file)

Gephi

 

(Photoshop for graphs)

Revised Goals

Owner Detection

 Correlate addresses owned by a single entity

 

Community Detection

Visualize the immediate community of an address

 

Owner Identification

Find known bitcoin owners 

 

Live retrieval of latest data

Integrated into the application

Revised Model

 

  • Replaced the .dat files with api calls to blockchain.info
  • A more granular approach was needed to get meaningful data
    • Neo4j - a graph database
      • Works using nodes and relationships 
  • Early model:

Revised Data Structure

 

Results

 

Address with small community

Address with more in depth community

Large number of addresses involved in a transaction

Address that shares an owner with another address

Address that shares owner with two others

Address that shares owner with five others

Owners identified by username from https://bitcoin-otc.com/viewgpg.php?

Demo

 

Final Demonstration

By Rory Powell

Final Demonstration

Final demonstration for QUB final project

  • 282