The Bitcoin online currency system has an inherent weakness that may become a problem as the system grows, according to a team of Cornell and Microsoft Research computer scientists. A feature intended to encourage participation and speed processing is actually a disincentive, they say, adding that the same weakness is turning up in other online incentive systems.
The team of postdoctoral researcher Shahar Dobzinski, Ph.D. candidate Sigal Oren, and Microsoft Researchers Moshe Babaioff and Aviv Zohar explained the problem and proposed a solution in a paper published online as a Microsoft Research report, and to be presented at the 13th ACM conference on electronic commerce, June 4-8 in Valencia, Spain. Although framed in the context of the Bitcoin network, the solution could be applied to a variety of incentive systems, the researchers said.
Bitcoin is independent of any bank or government. It does not even have a central authority, but uses a peer-to-peer network to authorize and record transactions. Its software is open-source, supported by a community of volunteers.
Imagine that you've been searching all your life for a Rosebud sled. You call up all your friends and ask them to look for one, and to pass your request along to as many others as possible. You offer a reward to the first person who brings you one. Bad idea. You have now given your friends an incentive not to pass the request along: The fewer people there are searching, the better the odds that they will win the reward for themselves. Bitcoin uses a reward system that creates the same problem, the researchers said.
If you want to pay a bill using bitcoins (currently valued at about $5 each) you send a message signed by public-key cryptography to nearby nodes on the network, which are expected to relay it to several others, starting a chain that spreads exponentially. Each node receiving the message attempts to authorize the transaction by carrying out a difficult computation that involves your cryptographic key and the very large Bitcoin online database. Since this takes a lot of computer time and electricity, the node that first completes the computation receives a reward in bitcoins. This has encouraged people to set up "mining nodes" -- powerful computers devoted just to making money by processing Bitcoin transactions.
With a rapidly expanding number of nodes trying to process the transaction, the average time to complete the process now is about 10 minutes. But as the Bitcoin system evolves, the reward will become smaller, and it will be more to the advantage of mining nodes not to relay messages, the researchers believe.
They propose a new system in which the node that completes the computation receives half of the reward, with the rest divided among all the nodes in the chain that handed the message up to the successful node. Their proposal also limits the possible length of a chain, to discourage nodes from creating imaginary copies of themselves to get a bigger share of the reward -- a so-called Sybil attack, named for the woman reputed to have multiple personalities.
The researchers show mathematically that with their system the most effective strategy for any node is to relay messages. "People who try to break the system need to be sophisticated people and they will understand the proof," Oren pointed out.
Reaction from the Bitcoin community has been mixed, Oren said, ranging from "It's not a problem" to "It's not a problem yet."