BitConduite
About
BitConduite is a system for the visual exploration of financial activity on the Bitcoin network. Bitcoin is the largest digital pseudo-currency worldwide and its study is of increasing interest and importance to economists, bankers, policymakers, and law enforcement authorities. All financial transactions in Bitcoin are available in an openly accessible online ledger—the (Bitcoin) blockchain. Yet, the open data does not lend itself easily to an analysis of how different individuals and institutions—or entities on the network—actually use Bitcoin.
Our system BitConduite offers a data transformation back end that gives us an entity-based access to the blockchain data and a visualization front end that supports a novel high-level view on transactions over time. In particular, it facilitates the exploration of activity through filtering and clustering interactions.
Approach
BitConduite is a system comprising of a computation back end for data preparation and a web-based front end application as a user interface for explorative analysis of the activity on the Bitcoin blockchain.
Backend
The backend is a Python 3 library based on pandas (Python Data Analysis Library) and scikit-learn (Machine learning in Python). It provides functionality for blockchain data preparation (address clustering, statistics) and clustering of entities by different attributes. We use MonetDB (column-oriented database) and Neo4j (graph database) for data analysis and storage. For data access the system provides a web server application based on Flask that can easily be hosted with standard WSGI servers.
Frontend
The BitConduite web application facilitates exploratory analysis of activity. A number of graphical components allow for
- Filtering of entities by attributes such as the number of transactions they sent / received, the amounts they sent / received, or the time they have been active on the blockchain
- Clustering of entities by different attributes in order to group entities with similar activity
- Classification of entities to build up a tree of entity groups with a certain activity, e.g., early one time users
- Exploration of entities to be able to access information about single entities, e.g., the Mt. Gox Bitcoin exchange platform
- Exploration of transactions for analyzing the temporal distribution of transactions made by a specific entity, to answer questions like "when did the entity send high amounts of Bitcoin"
Publications
We are currently writing a paper on BitConduite and the insights from a user study we conducted.
Related
Bitcoin Entity Explorer is a visual tool showing "what the blockchain knows about" a specific address on the blockchain including the cluster the address belongs to.
Video
Contact
- Christoph Kinkeldey
- Petra Isenberg
- Jean-Daniel Fekete