Tuesday, August 20, 2013

Journalists Are The New Terrorists

The detention of David Miranda is only the latest example of a new trend, where journalism is now terrorism, and journalists are pursued as such.

Digital technology and near-real-time global communication has reinforced the maxim Information Wants To Be Free.  For the cost of an Internet connection or cafe visit or $10 flash drive, one may leak an entire Library of Congress worth of digital material onto filesharing networks.  Technology makes sharing so easy that keeping secrets becomes increasingly difficult -- for individuals, companies and governments alike.

These mass-leaks are a brand new type of attack on the nation-state.  Robbs' Brave New War describes asymmetric attacks such as these.  Never before has a nation-state faced the possibility of losing so many secrets to so many adversaries in a single incident.  The famous Pentagon Papers leak is nothing compared to the scale of leaks that current digital technology enables.

What, then, are a nation-state's responses likely to be?

Realpolitik says that "terrorism" opens legal doors that are otherwise closed to law enforcement, making its invocation economically rational and, therefore, likely.  Additional law enforcement tools including but not limited to extended detentions and searches are available, once "terrorism" has been invoked.

Further, given that exposure of state secrets to the world may be seen by rational folks as an attack, a government response that engages the anti-terrorism apparatus is not unexpected.

Traditionally, the leaker is considered the criminal, but the journalist receiving the leaked materials is in the clear, as if passed through a Chinese wall.  Some nations even have shield laws. That tradition is breaking down, as journalists are now as pursued as the leakers, with associated anti-terrorism forces.

Leaks are always an incredibly difficult ethical boundary.  Put simply, leaking has a very real chance of harming Good Guys, and enabling Bad Guys.

Paradoxically, leaks also appear to be necessary to prevent Top Secret America from driving too much policy outside the view of the voting public.

With the logic that leaks are attacks on the state, and therefore terrorism, any journalists associated with leaks are now terrorists.  And who is to say that, next year, Chinese cyberwarfare or US cyberwarfare units will not consider journalists enemy combatants?

If publishing information is terrorism, is it not also warfare?

Update: The UK is defending the seizure by claiming Miranda was “in possession of highly sensitive stolen information that would help terrorism.”

Friday, August 16, 2013

Original SIN

Recorded for posterity.


jgarzik@pum:~/node_modules/libcoin$ node sin-test.js 
{ created: 1376709207,
  priv: 'bc65f94b4142be3c6c0b02b33dab3775a829fc1f60e484e7d4ea64e2f421cdc4',
  pub: '029381bcb36358e58842431981a01742d494970a245c8f5c77874bbbde8fb25a9b',
  sin: 'je9eFspuTC29yhUqGqzEYwWmVTJRS9nWEkA' }

EDIT: or, perhaps, after some shed-painting,


 { created: 1376715876,
   priv: 'db25473a599ad99db89616da536be066ea58825a6cd9b17e90b70b824e0daea6',
   pub: '0346891919f18000be1c9aae381b93870f7dcf807c4f581e2b64dcd547342f70b8',
   sin: 'Tf86BqNWrnyn117U7N7Vc1sAUfKc2esd4z3' },



Friday, August 9, 2013

Bitcoin, free markets, and wanting your ASIC mining hardware now now now


The reddit comments discussing the Avalon status update are particularly amusing, embodying signature American impatience:  "I want something, I want it now, and I will rage at the injustice of instant gratification being delayed."
When it comes to Bitcoin mining, the whole idea of buying something without having any real clue when you'll get it is absurd. It should be like any other computer. Buy it, get it shipped to you within a week. No more bullshit.

Producing a new computer chip requires engineers with highly specialized design skills, and enormous amounts of capital.  $500,000 - $2,000,000 or more.  Any mistakes in the chips cost similarly large sums of money to fix.  Even with a 100% complete design, production may take months.  This is simply not a just-in-time operation.  Further, unexpected month-long delays are common.  Any mistake or change adds weeks to the schedule.

Thus, economics dictates certain realities.  Namely, paying your engineers and paying for chip production.  Possible funding sources:
  1. Angel investors (rich people write big checks)
  2. IPO (ASICMINER)
  3. Pre-orders (BFL, Avalon)
  4. KickStarter (company can fail to produce, and nobody gets sued)
  5. Bounty
Let's take them one at a time.
  1. In 2011-2012, no one stepped forward to write big checks.
  2. ASICMINER IPO'd successfully, on an unregistered-securities exchange.  Risky, but it worked.
  3. Pre-orders, we will discuss separately, below.
  4. KickStarter-like models do not appear to work well for >$1 million projects (statistical anomalies aside).  KickStarter itself is anti-bitcoin.
  5. Bounties never amount to anything more than pocket change, for real projects.
Essentially, there were two workable models that the free market has shown will work in 2011-2012:  IPO on unregistered securities market, or pre-orders.

An unregistered securities market clearly appeals to free market libertarians, as the creation of GLBSE and other projects in the bitcoin community demonstrate.  It is also a magnet for scams, as experience has shown (Pirate-related pass-through funds were listed on GLBSE).  Thus, IPO is a risky endeavor, and in 2011-2012 was unlikely to be successful in producing mining chips.

ASICMINER, through the regular exercise of [some levels of] transparency, prevailed in a difficult market.  They raised capital, started operations, and have so far maintained sufficient levels of profitability to continue operations.  ASICMINER survived the collapse of GLBSE, and continues to pay dividends to shareholders, despite the operator "friedcat" remaining anonymous.

Pre-orders are the remaining funding model.  This is another model that is fraught with scams.  Indeed, there have been many copycats who set up a website, promise ASIC hardware, and attempt to collect money.  How to separate these scams from the real operators?  That question is the fundamental problem with pre-orders.

Unfortunately, pre-orders are also the most straightforward way to fund an ASIC project, if you lack IPO or Angel money.

For bitcoin, circa 2011-2012, pre-orders were the most realistic way that a computer chip was going to be produced.  At the time, fewer knew about bitcoin, and it was unknown if bitcoin's price -- then under $5.00/bitcoin -- would support mining hardware.  It was not obvious there would be a profit. 

Butterfly Labs and Avalon took that risk, and succeeded.  Avalon was out the door first, while Butterfly Labs took over 12 months to begin shipping hardware in volume.  Another effort, bASIC, failed, through the operator eventually refunded almost all the pre-order sales money.

Today, mid-2013, bitcoin hardware has been proven to sell.  BFL, Avalon and ASICMINER proved that hardware can be produced, that customer interest exists on the free market.  Several other startups are entering the mining hardware business:  CoinTerra, HashFast, Alydian, KNCminer to name a few.  Existing players are shipping hardware, and working on next-generation designs.

We all want instant gratification.  And customers who pre-order mining hardware have a clear economic incentive to want the mining hardware in their hands ASAP -- every day lost costs money.

But that must be balanced by setting realistic expectations on the mining hardware businesses.  These are all tiny startups, with no existing chip production lines, creating brand new computer chips for an uncertain, volatile bitcoin market whose profitability in future months is unknown.

"buy it, get it shipped within a week" is a realistic expectation for a decades-old computer market that mass-produces PCs.  As the bitcoin mining hardware market matures, we will start to see this too.  Many of the new mining hardware companies are learning from the BFL/Avalon experience, and competing with enhanced pricing and customer service models.

The free market at work.  The bitcoin mining hardware market is what it is, and could not have been accomplished any other way.

Disclosures:  Am a customer of almost all companies mentioned (I try to buy one of each).  Missed out on the ASICMINER IPO, though, as GLBSE was not a platform I wanted to dabble with, for legal reasons.

Saturday, June 22, 2013

Shadowrun and bitcoin's roots

Satoshi's bitcoin paper, mailing list and forum discussions list bitcoin's ancestors as ecash, hashcash, b-money and the cypherpunk movement.  I'd argue that it has its roots in staple science fiction as well.

Recently, strolling through my stacks of scifi books, some Shadowrun novels circa 1990 leapt out at me.  Pulp science fiction of average quality, but some of the text particularly resonated with bitcoin today.  Quoting liberally from Never Deal With A Dragon,

p121, Like many clubs, Rumplestiltskin's employed a Troll to handle the lines of hopefuls. ... They were still ten meters from the front of the line when Roe suddenly appeared.  "This will never do," she said.  Taking each one by the arm, she led them directly up to the doorman.  She twirled a shiny credstick in her right hand.  The four dark bands on the end of the cylinder marked it as certified for at least one hundred nuyen.  She tossed it to the man.  "My friends here are late for their table."

 p161, She held out her personal comp to him.  He smiled in assurance that he had regained the upper hand as he slotted his credstick and made the funds transfer.  To demonstrate her trust, Hart ran a confrmation of the transfer as soon as he returned the comp.
"Your money's good."
"Good as gold, Ms. Hart."
"Better," she said hefting her comp before slipping it back into her bag.  "Gold's too heavy."

p235, She stopped at a public telecom, slotted a credstick, and punched a number.  She waited while the connections were made and a voice on the other end repeated the last four digits of the telecom code.

p217, These files must be heavily protected.  The files turned out to be just that.  It was hours before they determined that Drake had certified several credsticks through Transbank.  It seemed hardly worth the effort and new headache to achieve such a dead end.  A certified credstick was the electronic equivalent of cash.  The money could still be traced once it reentered the financial network, but there would be no record of who had received the credstick.
"Twas a small hope that he would be so careless."
"Maybe if we can find some other transactions of the same monetary value as were assigned to Drake's certified sticks, we can pick up the trail by following it from whereever Transbank sends the funds.  Sure, some of the matches will just be coincidence, but some might actually be the recipients of Drake's generosity.  If we're lucky, some of the names attached to those transactions might mean something."
After two more days of data slogging, they had eliminated likely coincidences.  That left three names.  Each one connected to at least three transactions whose amounts equalled one of Drake's credsticks.
The first, Nadia Mirin, was no surprise.  In her case, the amounts were the smallest, suitable as gifts to one's paramour.  The second name was totally unfamiliar, but the pattern of intervening transactions was interesting.  Each amount went through a series of transfers, all for the exact value of Drake's credstick.  Each thread led to a sealed account in a Denver data haven.

Bitcoin has successfully achieved that which was science fiction prior to 2009.  The electronic equivalent of cash.  The US Dollar may be the world's largest digital currency, but only bitcoin (and other crypto-currencies) may claim to be the electronic equivalent of cash.

Now... where are those credsticks we were promised?  Bitcoin Wallet on a smartphone? Trezor, perhaps?



Tuesday, April 30, 2013

On bitcoin data spam, and evil data


What happens if somebody puts evil data in the blockchain?  What responses are available?

It is a truly awful situation, and difficult to address.


What happened?


The easiest way to explain what happened here is through analogy. Imagine if someone picked a penny stock on the NYSE and made a sequence of apparently pointless trades. Then they announced that the prices of their stock trades actually encoded links to some "evil" websites. You know, maybe $0.01 means "a" and $0.02 means "b", etc. Stock market tickers are public, lots of places archive that data, so now lots of people have "links to evil data". Except really they don't. What they have is a list of stock trades. You'd need special software to turn that into some other kind of data.

This is what someone has done with Bitcoin. They sent a series of monetary transactions that did not actually represent real trades, and then announced that with a special program you could turn them back into some text. That text then contains links to, well, I don't actually know what because I haven't looked. But let's assume it's bad stuff.

What solutions are available?  Software update?


The answer is very complex, with implications that travel to the heart of bitcoin's value.

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, unrelated to currency.  Maybe a government finds that data 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 (see below).
  • 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 for data transmission.  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 data transmission 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.  That would be a disaster for bitcoin.

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 might 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."


What solutions could be deployed right now?

Currently being discussed is avoiding the relay of economically worthless (under $0.0001 dollars, say) bitcoin transactions.  Thus, higher transaction fees would be required to send out lots of data, directly raising the cost.

Related


See Gregory Maxwell's post, "to prevent arbitrary data storage in txouts — The Ultimate Solution" for a proposed solution.

Monday, February 25, 2013

Bitcoin block size thoughts

As pasted from an IRC discussion today:
  •  (a) I once posted a patch to change max block size, so I thought about this long before forum readers ever woke up to the issue,
  • (b) I have since backed down from that radical position,
  • (c) it seems likely that max block size will change sometime in bitcoin's future,
  • (d) block size is VERY MUCH like bitcoin's 21M limit, so a lot of care must be taken when changing MAX_BLOCK_SIZE logic.  Block size is an economically limited resource whose production is tightly defined and controlled by algorithm, with an intentionally steady production rate (the 1MB limit). 
  • (d.1) Nonewithstanding the major impacts of a hard fork, in and of itself.
  • (e) I lean against solutions that are feedback-based (average of last 1000 block sizes, etc.), as they can be gamed too easily
  • (f) implementation will likely be:  if (now > chosen hard fork future date) { do it }
  • (g) my default rhetorical position will be to push back against changes, for now, since there is no demonstrated need for hard fork.
  • (g.1) Block sizes are nowhere near maximum, and
  • (g.2) Competition for space encourages efficient solutions, whereas a too-loose block size policy incentivizes the opposite: dumping into the block chain
  • (h) when I ran asic + p2pool, I set max block size at 900k and free tx at 300k.  That reflects my personal (not official dev team etc.) preferences.  I filtered out 1e8 outputs from mempool. We are nowhere near competing for block space at this point.
  • And very importantly, (i) it is a mistake to increase block size simply because people are too lazy to implement layers on top of bitcoin.  Bitcoin will forever be a zen balance of applications and layers that sit on top of the blockchain, and those that directly use the blockchain itself as their comm/functional layer (c.f. SatoshiDICE).

So I generally agree with a lot of gmaxwell's points, and it is important therefore to not arbitrarily increase blocksize, simply because that makes some apps easier -- because they free-ride on the blockchain itself. Maybe one future state of The Mainnet Blockchain is simply a high security merged mining root for several important chains, who can say?

Block size is a core economic resource, like the number of bitcoins itself. Not merely the number of transactions we can support... it influences fees and many other factors.

My off-the-cuff guess (may be wrong) for a solution was:  if (todays_date > SOME_FUTURE_DATE) { MAX_BLOCK_SIZE *= 2, every 1 years }  [Other devs comment: too fast!]  That might be too fast, but the point is, not feedback based nor directly miner controlled.

Conclusions:

  1. Block size does not need to change right now.
  2. If and when block size changes, implement a simple rule, and let the free market figure out the rest (which might include a more complex rule years later, when the picture is more clear).
Standard disclaimer:  speaking only for myself, not any other dev or organization.

P.S. That was more than I intended to type, about block size.  It seems more like The Question Of The Moment on the web, than a real engineering need. Just The Thing people are talking about right now, and largely much ado about nothing.

Friday, February 1, 2013

Avalon miner: power usage

Power usage snapshot, raw numbers:

     66.3 Ghps / 620 Watts / 5.6 Amps

thanks to Kill-A-Watt.  See previous post for the more complete review.

Let the efficiency and electricity cost calculations begin!

cgminer status snapshot, showing hash speed, temperature, etc. at the time of the power measurements:

   [Elapsed] => 2186
   [MHS av] => 66320.47
   [Found Blocks] => 0
   [Getworks] => 73
   [Accepted] => 2060
...
   [miner_count] => 24
   [asic_count] => 10
   [fan1] => 0
   [fan2] => 1920
   [fan3] => 1920
   [temp1] => 27
   [temp2] => -1
   [temp3] => 48
   [temp_max] => 49