Bitcoin as a decentralized P2P virtual currency has become a hot topic of discussion and analysis in the last few months. Due to its unregulated nature and possibility to exchange it for real life goods, services or real currency, the currency is being used for both legit and illegal trades. Further, the transaction data is publicly available online albeit with anonymous ids. In this post, lets explore the possible Bitcoin economy use cases for Hadoop ecosystem products.
Bitcoins were first suggested in 2008 by Satoshi Nakamoto. Participants of this economy acquire a Bitcoin wallet and Bitcoin addresses. The Bitcoin address send and receive Bitcoins (BTC) in a manner analogous to sending and receiving e-mails from e-mail address. The network relies on a shared transaction log called block chain where all confirmed transactions are included without any exception. The system uses a distributed consensus system called Mining that is used to confirm waiting transactions by including them in the blockchain.
Besides the known counter intuitive possibility of using Hadoop processing for mining, there are more elaborate use cases in which the products in Hadoop ecosystem can contribute positively. A few of the possible ones which can be taken up for PoC are listed below:
(1) Determining owner entities:
Although the transaction data is available with anonymous ids only, it has been demonstrated in certain experiments to be able to club sender address to one entity and trace the transaction history of that entity. Entity here refers to an individual or group using a set of Bitcoin address. Further, combined with certain crawling data from the various websites and logs, it is possible to ascertain the real identity behind the anonymous id. For instance, in one analysis, using one of Wikileaks published Bitcoin address, it was possible to determine the other address belonging to the group. A good example of such tracing is available on blockviewer.com which utilizes Neo4j.
|image source: https://github.com/thallium205/BitcoinVisualizer|
Products to explore: Apache Hadoop, Apache Drill, Apache Giraph
(2) Co-relating real life events with Bitcoin transactions and fluctuations:
Off late, there have been rumors of unrest in certain countries having linkages to Bitcoin transactions. It could be possible to analyze the Bitcoin transaction data and attribute to certain geographic entities and see co-relation with real life events.
Products to explore: Apache Hadoop, Apache Lucene, Apache Mahout
(3) Securing your cluster to avoid mis-use:
Trojans have been reported to exploit the unused processing power of individual machines and network clusters to mine Bitcoins. It becomes imperative to protect your cluster against any such malware and botnets.
Products to explore: Apache Knox
(4) Identifying illegal use sites:
There has been reported use of Bitcoins for illegal trades like drugs and narcotics. By detecting anomalous behavior in transactions along with scanning logs, it may be possible to monitor this hot trail.
Products to explore: Apache Hadoop, Apache HBase, Apache Pig, Apache Hive
While the above use cases are applicable for all currency transactions (virtual or fiat), they have been mentioned specifically for Bitcoin due to open availability of transaction data and lack of regulatory mechanism. There is a chance that the governments may crack down on this virtual currency in absence of credible monitoring tools. Here in, lies the opportunity and threat for the Bitcoin and Hadoop community to sustain this currency for legit purposes.