Download presentation
Presentation is loading. Please wait.
Published byAnn Wilkins Modified over 8 years ago
1
Bitcoin is a cryptographic currency that has been in continuous operation over the last 3 years. It currently enjoys an exchange rate of $4.80 (as of April 1 st, 2012), with a market capitalization of roughly $40 million. Payments in Bitcoin are made pseudo- anonymously, making Bitcoin an attractive alternative to other forms of electronic payment. Academics have shown interest in Bitcoin, particularly in de-anonymizing the user base, understanding the incentive structure, and extending the consensus mechanism. The anonymous sale of drugs and weapons has also caused Bitcoin to be scrutinized by law enforcement and members of Congress. Our goal is to study this network in an effort to judge the health of the system and disaggregate anomalous behavior. Understanding Bitcoin Data Mining Bitcoin, a P2P Crypto-Currency Philip Koshy, Diana Koshy, and Patrick McDaniel Data Collection Bitcoin is a decentralized P2P currency that uses a gossip protocol to transmit messages among peers in an overlay network. Transactions (Fig. 1) and blocks (Fig. 2) are the two main data structures in the protocol. Coins are transferred among users within transactions, which are then grouped into blocks that must be accepted by the network. Coin generation is tied to block creation. Creating a block is computationally expensive since it requires solving a cryptographic proof-of-work puzzle. Anytime a node generates a block which goes on to be accepted by the network, it is currently awarded 50 Bitcoins. Not all published blocks will be accepted network-wide. New blocks are linked to older blocks, forming a block chain that is constantly being extended. Because of Bitcoin’s decentralized and distributed nature, multiple participants may generate blocks at the same time. This leads to the distributed consensus problem. We can represent the block chain as a tree structure, with the longest path representing the accepted chain (Fig. 3). A participant choosing to extend an existing path in the block chain indicates a vote towards consensus on that path. The longer the path, the more computation was expended building it. In this way, Bitcoin offers a unique solution to the consensus problem in distributed systems since voting power is directly proportional to computing power. Preliminary Results We have begun studying the data and have noted anomalous behavior. Misconfiguration Errors We have observed malformed messages being relayed across the network. Some messages are incomplete, while others fail to conform to the protocol specification. We have received numerous transactions with malformed scripts. Scripts in the Bitcoin protocol are used to verify identities, specify recipients of coins, as well as indicate conditions under which coins may be claimed. Scripts use a stack-based language similar to assembly. Potential Misuse Blocks that completely ignore valid transactions are being created, relayed, and accepted, often winning consensus over competing blocks. By ignoring valid transactions, the block creator is more quickly able to publish their block. This behavior financially benefits the block creator at the expense of other users. Future work will attempt to group colluding users to determine if there is malicious intent. Consensus Without Contention The branching factor of the block chain is close to 1, which indicates that there is very little contention on the network about which chain is longest. In other words, computing power is not often wasted on chains that will eventually become orphaned. Double-Spending A digital coin is theoretically easy to copy since it is decoupled from physical reality. Despite built-in probabilistic safeguards against double-spending, we have observed a number of attempts. This may be the result of a poorly designed custom client, or that of a malicious participant. We are currently capturing real-time traffic from upwards of 5,000 nodes using a custom-built Bitcoin client leveraging the Linux epoll API. With our client, we are able to request historical data and record real-time broadcasts at scale. Our data-collection software runs efficiently on consumer-grade hardware; we are currently running the software on Ubuntu 11.10 Server Edition in a single thread, maintaining an in- memory footprint of only 400MB. Data is stored in a MySQL 5.1 database. Fig. 1: A coin owner transfers coins by digitally signing a hash of the previous transaction and the public key of the next owner. This signature is then appended to the end of the coin. Fig. 2: Transactions are placed in blocks, which are linked by hashes. Fig. 3: The block chain is represented as a tree structure.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.