Hacker News new | comments | show | ask | jobs | submit login
Imagine your computer as a wallet full of Bitcoins (istockanalyst.com)
61 points by hippich on Nov 26, 2010 | hide | past | web | favorite | 36 comments

Every day, another event occurs that reminds me of Daniel Suarez's books Daemon and Freedom(tm).

This is one of them.

Every currency is based on the credibility of the underlying guarantor, whether it's the value of precious metals, the full faith and credit of a government, or the long-term viability of an organization.

The underlying guarantor here is the belief that an open, distributed system like bitcoins will grow and thrive. Given the nature of distributed systems, the main risks to its survival are lack of interest by participants, a security flaw in the bitcoin system, or the complete collapse of the internet as we currently know it.

The latter isn't likely to happen - even if the US became like China in trying to regulate activity (not likely), it will just open up elsewhere. Short of the kind of global social catastrophe that would invalidate every other currency as well, it's not a realistic risk.

Lack of interest and security flaws are the only real risks. They're significant enough that I wouldn't invest money I couldn't afford, or base a business model around bitcoins - but acceptable enough that I will definitely spend some disposable income on bitcoins.

the main risks to its survival are lack of interest by participants,

Much like prior "alternative currencies" like Pogs and Beanie Babies and tulip bulbs and Second Life real estate?

Stepping away from the idealism of "ooh wouldn't it be nice to have a distributed currency", what we have is a bunch of people trying to create a bubble. Unlike many bubbles there's not even an attempt to claim that the asset has some intrinsic value; instead it's just a bunch of people collectively deciding to fool themselves into thinking that a random scarce commodity has value in the hopes that they'll be able to fool more people into it later.

Of course, for new bubbles it's all about creating buzz. And how is buzz created? Well, upon getting fooled into paying money for a bunch of bitcoins the rational next move is to start talking up bitcoins to everybody as loudly as possible, to pull more people into the bubble and inflate the value of your own assets. Thus, I predict we'll be hearing more and more about bitcoins over the next year or so as the process accelerates.

The bubble almost certainly ends at some point; basically when it runs out of new suckers. I don't hold out much hope for this bubble lasting long enough to bring in significant numbers of mainstream suckers, though, since you pretty much need a degree in mathematics to even understand what the hell a "bitcoin" actually is.

In summary, if I'm going to be part of a pyramid scheme I think I'll start it myself instead of getting in at the fifth floor.

It's money. Its value will come from people willing to exchange it for other valuable things. People agree to do this because it makes doing business a lot more convenient. It works fine if everyone cooperates and the system is well designed. Bitcoin seems to be much better designed than any established monetary system.

us dollar pyramid scheme is weak but still holds. if bitcoin will be able to be same pyramid as us dollar - i'd use it )

Also, what a good set of books!

how about making a game and having the in game items be purchased with bitcoins?

Personally, I would not. Reason: as a game developer, I need to eat. I don't have faith that I can or will soon be able to trade bitcoins for food, housing, and other items that I need. This could reflect my own lack of knowledge or vision, or could mean that I'm part of the problem, or all of the above.

Google "bitcoin market" - they are quite fungible, for now. There's really very little risk in accepting them, as long as you don't hold them.

That said, how many people will try to pay you with them?

Bitcoins could be embedded in the game. The players would start out getting very small sums as actual in-game rewards, so it'd look like just a regular in-game currency at first. Then later they'd notice that a much bigger sum of bitcoins (say, 3$ worth instead of 0.1 cents worth) can buy more game content, and they'd be nudged towards out-of-game means for getting them.

If you're interested in Bitcoin, you may want to check out several other attempts at creating decentralized digital monetary systems.

The Ripple project is creating a system where each node can issue their own unique money, and where transactions occur over paths of mutual trust: http://ripple-project.org/

I just released Rivulet, an alternative Ripple server that should be useful for website owners who want to let their users engage in user-to-user transactions without having to centrally distribute currency to them: https://github.com/jplewicke/rivulet

Pelle Braendgaard has proposed OpenTransact, a standard for RESTful digital transactions, so that we can escape from this mess of incompatible APIs and help people transact in their choice of currency: http://www.opentransact.org/

There is also a cost in creating bitcoins, prior to them running out of bitcoin numbers there will be an ever increasing use of electricity.

Another point is there is a limited supply, unlike other currencies where the possible supply is unlimited.

The most distinguish feature of bitcoin - there is no issuing center. Bitcoin is a first monetary system I heard of who implemented that. If you know other with similar features - please post links to them.

Unfortunately there seem to be scalability issues with Bitcoin. Currently each node needs to know about every transaction that ever happened. The size of my .bitcoin directory is currently around 100 MB. So with more users the high amount of transactions might become an actual problem.

There's also some discussion on the bitcoin forum about this issue: http://www.bitcoin.org/smf/index.php?topic=286.0

Once I got to this idea, I heard about longest chain. So we can randomly cut existing chain keeping it at safe length. It could be done even per client (server will store the whole chain, while smartphones will keep only "safe"-length chain)

Anyway, all of this is just implementation problem which, I believe, could be solved.

That looks a bit ropey... it needs incoming connections through a firewall? It does peer discovery by connecting to an IRC channel? It's rate limited by adjusting the complexity of the calculation? (Who does that and why can't anyone else manipulate it?) I need to backup a bitcoin wallet after every transaction so the money isn't "lost" (where does it go? is it just leaked and lost forever?).

It's written in C++ with hardly any comments / comments like this:

    // Get cursor
    Dbc* pcursor = GetCursor();
It has hard coded IP addresses to connect to by HTTP, sending headers claiming to be Mozilla 4, to find the external IP address?

So computing power generates bitcoins? Is it ethical for me to use the 3 8-core machines at work I have to generate bitcoins for my personal use? What about my personal work machine?

According to their FAQ:

  No. There's a constant average rate of new Bitcoins created, and that amount
  is divided among the nodes by the CPU power they use. When Bitcoins start
  having real exchange value, the competition for coin creation will drive the
  price of electricity needed for generating a coin close to the value of the
  coin, so the profit margin won't be that huge. The easier way to gain a lot
  of wealth would be trading goods.

  At the moment, though, you can generate new coins quite profitably, if you
  expect them to have real value in the future. If you choose to, be aware that
  Bitcoin is still experimental software.

That's not quite accurate, as it changes over time (just above that in the FAQ), and you cannot "discover" bitcoins which are already known. The difficulty in finding a new one increases as each new one is found, if only slightly.

Use them! But do not be so excited. There is people running GPU farms already. So it's like you got modern equipment to extract gold while someone own gold mines with tons of dollars invested in mining equipment. So you definitely will not be the top miner, but you will get something.

Yes, wealth is tied to computing power... I spotted this flaw when bitcoins were mentioned in a thread on HN a few months ago. My comments are here: http://news.ycombinator.com/item?id=1655033

It's tied to computing power in the sense that one could run the app on multiple machines, or even multiple virtual machines, but it seems like you'd be doing an awful lot of work for a relatively minimal return.

It seems like it would be a lot easier to simply trade for bitcoins.

It seems like it would be a lot easier to simply trade for bitcoins.

That depends on who you are, and what kind of value you can get out of bitcoins. ;)

This could create interesting situations with botnets.

yes, no, do you own it?

Can anyone explain the mathematics that the article glosses over? What constitutes a valid bitcoin? Can I sit down and start generating 'em just in case?

There is a paper available here: http://www.bitcoin.org/sites/default/files/bitcoin.pdf

It's using digital signatures to transfer coins. The prior owner will sign a coin and the new owner's public key. The new owner will verify the prior signature before accepting the coin. This is a longstanding idea going back to the 80's.

The rest of the details are to prevent double-spending without having a centrally trusted authority. I haven't spent time looking at this and can't say whether it works as advertised.

I don't know the maths behind it, but as far as I onow, yes you can go ahead and start generating them. You have to reverse some washes, ie it's CPU bound, which is how the scarcity comes in.

If anyone's interested in an explanation on how digital currency can work securely, I remembered an old mailing list message that's pretty straightforward with the math: http://article.gmane.org/gmane.org.user-groups.linux.provo.p...

Edit: a teaser: an anonymous coin is one which you can withdraw from the bank, but which the bank can't link to you when you spend it.

All of which is very nice, but it doesn't solve the actual problem of starting a new currency, which is persuading people that it's worth something.

A currency becomes worth something when people begin accepting it for goods and services. This is already the case to a very limited extent with bitcoin.

This also began to happen with QQ coins, in China people began accepting them for goods and services until the government cracked down. And the funny thing is that this was never meant to happen with QQ coins, they were meant simply as a way for QQ to make more money. But once people accepted them they became a form of currency.

it looks like a distributed search for sets of values having their sha256 starting with N zeroes, N+1, N+2 ... with target values having property something like this Kth value = (K-1)th || <value to find at step K>

One can only wonder where the seed money came from (and whether the current price of 50BTC x $0.25 = $12.5 per newly found value is self-sustainable in the system or still seed-funded) and whether the NSA have a listening node in the system (as all the transactions are broadcast to all nodes).

What's the architecture for this inside a network? Does each node have to have its own Bitcoin wallet, or can you have a central node on a network store all the bitcoins?

every node have it's own "wallet". each wallet consist of public/private keys, where public key is address.

So there is no centralized place where all wallets or coins stored. In fact, there is no coins - there is amounts assigned to each address (public key). And the whole bitcoin network is huge transactions book.

So as more people join the bitcoin community, and as computing power generally increases, the value of each bitcoin approaches zero?

Doesn't sound like a huge benefit to taking time to generate a lot of bitcoins now, as there isn't a stable commodity to index it to.

Very interesting idea, nonetheless.

No, generation rate remains constant as computing power increases. You can only generate a few million total, then it stops.

Lol, I don't have the slightest idea if this will work in the long term, but it sounds like a great way to do small-scale money laundering. Or is it? Haven't researched it much.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact