miércoles, mayo 01, 2013

The Flaw that May Bring Down Bitcoin or Change it Forever

arstechnica.com
Bitcoin is currently being used as a publishing system due to a design feature/flaw.   That flaw threatens the viability of Bitcoin as a currency.
How so?
Some folks have expoited that feature/flaw to publish Wikileaks cables and pedophile porn links in bitcoin's blockchain.
Of course, that's a problem.  It may attact some aggressive behavior from governments, well before it reaches a maturation.
However, that's a problem.  Since bitcoin is decentralized, the steps required  to prevent people from publishing information.
This now becomes the multi-billion $$ question:  can Bitcoin fix itself or will it end up becoming an illegal backwater?
To find out how it's done and what can actually be done about it, I contacted Jeff Garzik on the Bitcoin software team (it's a little technical, but you can follow the logic):
Sending bitcoins requires two pieces of data: a bitcoin address, and an amount (number of bitcoins). There is no "comments field" or anything of that nature. A bitcoin address is just a random 20-byte piece of data. Normally those 20 bytes are derived from the RIPEMD160 and SHA256 algorithms, but a valid 20 bytes cannot be distinguished from an invalid 20 bytes. Therefore, if you are willing to waste money -- albeit very small fractions like 0.00000001 bitcoins -- by sending that money to invalid bitcoin addresses, you essentially have created a channel for random data transmission. The bitcoin blockchain is in one sense a massively replicated ~7GB database that stores data for all eternity.
There remains the open question of what happens if somebody dumps data into the blockchain, that a government finds illegal. Smart people argue the legal theory "mens rea" and similar mitigating factors are applicable. But it remains an unknown. The vast majority of people are burdened with this awful data they don't care about, simply to use the bitcoin payment system they do care about. There are many conflicting motives and incentives (very Brave New War-ish):
  • Anarchist activists want to publish this information, to force authorities to act (or not) when this illegal data is published. *
  • Bitcoin activists want to publish this information, to force developers (us) to address The Filter Issue
  • Some people see more value in bitcoin as "eternity data storage", if expensive and inefficient, than bitcoin as a currency
It is, quite literally, impossible to prevent use of bitcoin as data storage. It is a purely digital currency. Who can say which digits are "evil" or "good", allowed or disallowed? You can detect certain patterns, and possibly filter those
Many bitcoin users are using bitcoin for its intended purpose, as currency transfer, and dislike carrying the costs for these other uses.  As this carrying-data issue rears its head, it increases the costs for anyone running a P2P node on the all-volunteer bitcoin P2P network. This shrinks the total number of bitcoin P2P nodes.  As such, due to both legal and resource-usage issues, "data spam" has long been theorized as an attack vector.  
The "Filter Issue": There are very large ramifications to filtering out transactions, even ones that are obviously data spam. Fungability: currently, all bitcoins have the same value.  My 1.0 BTC and your 1.0 BTC are equivalent in value. Once you start filtering transactions, you are injecting policy-based censorship into the mix. Some bitcoins are accepted by all, some bitcoins are only accepted by a few. A value of a bitcoin itself becomes a product of its ancestry.
If this policy is implemented, perhaps by court order to a bitcoin mining pool, it could lead chain forks, where i.e. bitcoin users in the United States see a different set of spendable bitcoins than users outside the US. It is widely speculated, based on common forum comments in the crypto-anarchist community, that this current round of data spam is intended to force bitcoin users, developers and governments of the world to take action to censor -- or not -- certain bitcoin transactions. Trying to force the issue, to establish a precedent one way or the other. Or, more pessimistically, a party could be simply trying to shut down bitcoin.
The bitcoin community is very staunchly anti-censorship, but if data spam were to threaten the life of bitcoin, I imagine ideology-neutral "it looks like data, not currency" filtering would appear. Bitcoin is ultimately a product of voting -- you vote by choosing which software version and software ruleset to download. The users can always vote data spam off the island... but will they? :) Is data transmission a valid use of bitcoin? The users themselves choose the definition of "valid."

17 comentarios: