bitconeview: visualization of flows in the bitcoin transaction...

30
BitConeView: Visualization of Flows in the Bitcoin Transaction Graph G. Di Battista 1 · V. Di Donato 1 · M. Patrignani 1 M. Pizzonia 1 · V. Roselli 1 · R. Tamassia 2 IEEE Symposium on Visualization for Cyber Security 1 DEPARTMENT OF ENGINEERING ROMA TRE UNIVERSITY 2 DEPARTMENT OF COMPUTER SCIENCE BROWN UNIVERSITY Chicago · U.S.A

Upload: others

Post on 14-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

BitConeView: Visualization of Flows in the Bitcoin Transaction Graph

G. Di Battista1 · V. Di Donato1 · M. Patrignani1

M. Pizzonia1 · V. Roselli1 · R. Tamassia2

IEEE Symposium on Visualization for Cyber Security

1 DEPARTMENT OF ENGINEERING

ROMA TRE UNIVERSITY

2 DEPARTMENT OF COMPUTER SCIENCE

BROWN UNIVERSITY

Chicago · U.S.A

Page 2: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Background on Bitcoin

Bitcoin anonymity

BitConeView: Requirements

BitConeView: key concepts and metaphors

Experiments

Evaluation

Conclusions and ongoing work

Outline

Page 3: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Background

VizSec 2015 10/26/2015

Peer-to-peer transactions

2008 S. Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Whitepaper on a popular cryptography mailing list

2009 released the first bitcoin software that launched the network and the first units of the bitcoin cryptocurrency

Worldwide payments

Low processing fees

No need for third parties

Page 4: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato VizSec 2015 10/26/2015

The numbers

Avg # ~every 10 min

Market price (USD)

Total # Txs (M)

Blockchain size (GB)

Page 5: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato VizSec 2015 10/26/2015

Background

Transactions (tx)

Blockchain

Bitcoins are trasferred by means of Transactions (Txs)

All transactions are recorded in a public ledger called Blockchain

n n + 1 n + 2 Block height

Page 6: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato VizSec 2015 10/26/2015

Background

Transaction

Inputs

Outputs

𝑖1 𝑖2 𝑖3 𝑖4

𝑜1 𝑜2 𝑜3

Inputs

ADDRESS AMOUNT

𝑖1 1AspUk7FPS2k6dW4JEBTSyESdyfnChvrce 4 BTC

𝑖2 5FypDr7RP42k6dWFJEdTtrESSWfnPOha1cr 2 BTC

𝑖3 13K3pHeqzmzEVUVsYiFVG1tQsrwbSQoatx 3 BTC

𝑖4 1KoeyaqRfVcNUZD22kAahcma4GXNRbT7c 2 BTC

Outputs

ADDRESS AMOUNT

𝑜1 1KoeyaqRfVcNUZD22kAahcma4GXNRbT7c 1 BTC

𝑜2 1Kis3otnx9bYEHj55iRBWW5ZsvvEdJraEk 6 BTC

𝑜3 1KoeyaqRfVcNUZD22kAahcma4GXNRbT7c 4 BTC

neglect

Page 7: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Once a tx has been processed, the only way to spend its outputs is to use them as inputs for other txs n.b. some outputs may be unspent (UTXOs)

Txs define a directed acyclic multi-graph

VizSec 2015 10/26/2015

Background

𝑜2

𝑖1 𝑖2

𝑜1

1

2

Page 8: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Identity behind Bitcoin addresses is revealed

during a purchase for delivery purposes

when buying USD at exchanges

Third parties may be able to

track your future transactions

trace your previous activity

Bitcoin anonymity

VizSec 2015 10/26/2015

Bitcoin is not always anonymous

Page 9: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Mixing services to improve anonymity

BitLaundry

Bitcoin Fog

Bitcoin Mixer

Bitcomix

BitSafe

VizSec 2015 10/26/2015

Mixing and Laundering

Thousands of

Transactions

Side effect

Mixing services facilitate money laundering

Page 10: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Starting from one (or more) transaction(s)

Follow Bitcoins over time

Reveal flow patterns of interest

• Accumulation, distribution, mixing

Understand when Bitcoins are mixed up

• Understand the degree of mixing of Bitcoins over time

Evaluate effectiveness of mixing websites

BitConeView: Requirements

VizSec 2015 10/26/2015

Page 11: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Several papers on the analysis of the tx-graph

[Meiklejohn et al., 2013]

[Reid and Harrigan, 2013]

[Ron and Shamir, 2013]

Some include drawings of subgraphs of interest

Laboriously created by hand or

Generated with standard force directed graph drawing tools that often yield to cluttered layouts

State of the Art: tx-graph analysis

VizSec 2015 10/26/2015

Page 12: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Financial fraud detection literature

[Chang et al., 2007]: A visual analytics system for discovering suspicious (traditional) bank wire transactions by providing multiple coordinated visualizations

State of the Art: fraud detection

VizSec 2015 10/26/2015

Page 13: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Graph Server

BitConeView

P2P Network

BitConeView: System Architecture and prototype

VizSec 2015 10/26/2015

Bitcoin full node

API Level DB

Server

Client

DEMO available at:

http://www.bitconeview.info

Page 14: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

The BitCone or cone of a transaction S is the subgraph reachable from S within a given time limit T

Intruders are (grey) inputs coming from outside the cone and are responsible for the mixing

UTXOs may be unspent

at time T (grey)

at present time (black)

Other (white) outputs are spent

BitConeView: Some key concepts

VizSec 2015 10/26/2015

S

T

Page 15: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

One starting tx S through its 64 digits hash

An ending date (time limit T)

BitConeView: inputs

VizSec 2015 10/26/2015

Page 16: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

BitConeView

VizSec 2015 10/26/2015

B1

S

B2

B2

B4

B6 B6

T

The system will start computing cone(S, T):

But it will not draw it as is

Page 17: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Inputs of starting tx, and UTXO

BitConeView

VizSec 2015 10/26/2015

B1

S

Block height

BTCs

Purity 0.2

1

T

0.08

BTCs entering the cone until B1

BTCs unspent until B1

0

0

B1

B2

Page 18: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Intruders and UTXOs (unspent up to T or never-spent)

BitConeView

VizSec 2015 10/26/2015

B1

S

0.7

B1

BTCs

Purity

B2

0.5

B2

B2

BTCs entering the cone until B2

BTCs unspent until B2

0.7 1

10 m

T

0

0

Block height

Page 19: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Another intruder and another UTXO (unspent up to T)

BitConeView

VizSec 2015 10/26/2015

B1

S

0.9 BTCs

Purity 0.7

B2

B2

BTCs entering the cone until B4

BTCs unspent until B4

B4

B4

1

10 m

20 m

0.6

T

0

0

B1

B2

Block height

Page 20: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

No intruders, more unspent outputs

BitConeView

VizSec 2015 10/26/2015

B1

S

0.9 BTCs

Purity 1

0.7

B2

B2

BTCs entering the cone until B6

BTCs unspent until B6

B4

B6 B6

10 m

20 m

20 m

0.6

T

0

0

Block

height

B4

B1

B2

B6

Page 21: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

BitConeView

VizSec 2015 10/26/2015

[USAGE VIDEO]

Page 22: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

We also defined a Transfer Analysis tool

given the starting tx S and the UTXO u

What is the maximum amount of the BTCs coming from S that could be transferred to u?

May the two txs be connected?

Consider the tx-graph as a flow network!

BitConeView: Transfer Analysis

VizSec 2015 10/26/2015

S

u T

Page 23: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Experiments with BitLaundry

VizSec 2015 10/26/2015

Starting txs from [Moser et al. 2013]

(a) the injected Bitcoins are mixed after ~10 h

(b) BitLaundry is less effective

(a) (b)

Page 24: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Experiments with Bitcoin Fog

VizSec 2015 10/26/2015

[Moser et al. 2013]

BTCs used as payout by mixing services often come from txs that are part of long chains in which each tx distributes small amounts of BTCs

At the apex of the chains is common to find very large txs that bundle Bitcoins

40,000 BTCs > 10M USD!

Page 25: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Accumulation pattern

VizSec 2015 10/26/2015

~150 inputs in txs falling in the same block

1 final transaction bundling 1000 Bitcoins

Twice!

Page 26: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Informal usability study (9 users, 2 experts)

Six engineers in the 30–35 age range

Three detectives of an Italian Investigation Division in the 40–50 age range

30 minute tutorial on Bitcoin

Demonstration of BitConeView on some examples answering questions

Let the users play themselves with the interface exploring real-world data

Good feedbacks on the metaphors overall

Good feedbacks on capability to unveil interesting patterns

Evaluation

VizSec 2015 10/26/2015

Page 27: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Users were asked to fill out forms

Six questions with a score from one to five

Good feedbacks overall

Effectiveness in showing mixing processes

Evaluation

VizSec 2015 10/26/2015

Question topic Avg. Score (1-5)

Understand usage of Bitcoins 3.67

Understand mixing processes 4.22

Understand money laundering activity 3.78

Usefulness of the concept of purity 3.67

Usefulness of the Transfer Analysis 3.44

Page 28: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Conclusions

We presented a system for the visual analysis of flows in the Blockchain

We introduced the concept of purity of Bitcoins

We analyzed many real money laundering processes

We evaluated the system by means of a usability study

Conclusions

VizSec 2015 10/26/2015

Page 29: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Vu Pham

Valentino Di Donato

Scalability of the visualization

Drill-down feature to explore the subgraph within a given block

Support blockchains of different types of cryptocurrencies

Integration with blockchain exploration platforms?

Ongoing work

VizSec 2015 10/26/2015

Page 30: BitConeView: Visualization of Flows in the Bitcoin Transaction Graphroselli/media/slides/bitconeview.pdf · 2016. 9. 24. · BitConeView: Visualization of Flows in the Bitcoin Transaction

Questions?