How to ruin a pre-miner's day

A bit/altcoin client verifies that it's at the end of the blockchain based on a maximum-chain-length consensus between nodes the client has connected to. This is the why people worry about the "51% attack" on Bitcoin: if 51% of the nodes were "bad", they could generate a new blockchain which would eventually overtake the "real" one.

If I understand correctly, each node's report of the max-chain-length is weighted by its hash power. This is what prevents someone from creating a huge number of low-power nodes, seeding them off-line with a small piece of the real blockchain, and then turning them on and creating a new, false consensus.

However, the max-chain-length consensus requires nodes to have actually caught up to the blockchain. Most nodes need to report a mostly-correct blockchain length for this consensus to work. Normally, this isn't a problem, because the end of the chain is an absorbing boundary condition -- downloading the blockchain is much faster than creating it to begin with, so most nodes are at the end. A just-released "fair coin" (i.e., the coin's creator has not "pre-mined" some of the coins for himself) should also be fine, for the same reason -- nodes just reach the end of the chain much faster than they extend it by mining.

How about new coins that have been pre-mined? In this case, you have:

(1) an initial blockchain of nonzero -- sometimes very nonzero -- length
(2) a very small number of seed nodes (in the limiting case, just one)
(3) a lot of new clients who are initially at block zero

Ok, so first, this seems like it would cause lots and lots of orphan blocks to be incorrectly accepted, generating "false coins" for the client, which will ultimately be invalidated once the network figures out the real blockchain length. Empirically, this seems to happen -- when a new pre-mined coin is released, there is always a flood of complaints about orphan blocks that follows.

So what? Well, a malicious attacker could force newly-released, pre-mined coins onto a new blockchain simply by overwhelming the seed nodes with a false consensus. In fact, I wonder if if this could be used to "un-pre-mine" coins by the general community, by forcibly forking their blockchains? In fact, this may be what happened (unintentionally) to Molecule when it was first released with a massive pre-mine -- the blockchain randomly forked, confusing everyone, including the developer.

TLDR: Don't pre-mine. Or, if you absolutely have to pre-mine, make your users download the pre-mined blockchain with the client -- don't just give them the client and a seed node to connect to!

What would a stable, decentralized currency look like?

How would you design a currency so that its value fluctuates as little as possible, without centralized control of the money supply?

Bitcoin's value fluctuates wildly. I think this is because Bitcoin really functions as a commodity, rather than a currency: people are just using it as a convenient vehicle for financial speculation. Almost nobody actually buys or sells things with Bitcoins, aside from other digital currencies, because their value is so unstable. If a dollar buys 1 loaf of bread today, but there's a non-negligible chance it will buy 1,000 loaves tomorrow, who would spend the dollar?

I think what you'd want is a currency that has a built-in negative feedback mechanism -- as its value increases, the money supply also increases. In fact, Bitcoin has this feature, to some extent -- Bitcoins are mined by computers, and running these computers costs electricity. As the value of Bitcoins rise, people are willing to pour more and more electricity into creating new Bitcoins. But, empirically, it turns out that this by itself isn't nearly strong enough to counteract the positive feedback loop of financial speculators in lemming mode.

Questions:

1. Can you create a stable currency simply using negative feedback? (If so, what is the nature of the feedback -- proportional? power-law? exponential? time-lagged?)

2. Once you've figured out the answer to (1), here's a harder question: how do you get people to use your new currency? Presumably the answer to (1) will involve the de novo creation of new money somehow. So, who gets the new money? Is it disbursed to people proportional to the amount of the currency they already have? Does everyone get an equal share? Is it a lottery somehow?

As an aside, I think the fact that Bitcoins are "mined" via a somewhat complicated procedure helped get them established in the first place, because people felt invested in them -- they mined them with their computers, so they felt like, "I WORKED for these coins, they're mine and I want their value to go up!"

Cryptsy and the house of cards

We all knew this was coming sooner or later: someone just filed a fraud complaint against Cryptsy (one of the *coin exchanges) with the Florida attorney general.

If you have any money in Cryptsy right now, my very strong advice would be to get it the hell out of there -- if the AG decides something is out of whack with Cryptsy, no one's getting their coins back for a long time. And, let's be honest here -- what does Cryptsy look like? It looks like an unregistered securities exchange. (Or a Forex market, once you realize what the ticker symbols represent.)

The picture doesn't get prettier if you dig deeper. Many of the altcoins traded on Cryptsy are basically Ponzi schemes with zero protections for people who aren't computer security experts. "Pump-and-dump" is the byword on altcoin forums. Pump-and-dump = Ponzi scheme. Get in early, pump up the value, and get other chumps to do the same thing, since the perceived value is based on increased cash flow from later buyers. Even if this wasn't the intention of the developers, it's certainly the way many of the *coin markets work today.

What's worse still is that the altcoin markets closely track the Bitcoin market, except the coins are cheaper, less liquid, and have wilder percentage-changes. Sounds a lot like a derivative, doesn't it? I bet the SEC and CFTC would think so, too.

I find the altcoin markets to be fascinating. However, I'd be extremely careful about "investing" any non-trivial amount of money in them, particularly with Crypsty.

How to make a coin

kopipe:
1) Download Bitcoin source code
2) Replace every instance of "Bitcoin" with the name of your shitcoin
3) Compile source, optionally add a trojan to steal people's Bitcoin wallets
4) Premine at least 10% of your shitcoin's total
5) Release on Bitcointalk
6) Shill like crazy under multiple accounts

In other news, Dogecoin is a thing.