Is there a simple explanation of Bitcoin?

Oh, and it’s absolutely true that in the future, the economy will be dominated by virtual currencies. This is because it already is. The dollar (and the euro, and the yen, and…) is already a mostly-virtual currency. Virtual currencies do have a number of advantages, but we already have those advantages with the virtual currencies we use right now.

Right, but there are additional advantages to this kind of virtual currency (and probably it’s less confusing if we keep this term to only refer to currencies which only exist in virtual form) such as individuals anywhere in the world being able to transfer money without fees.

And let me say at this point, I don’t own any bitcoins, nor do I have any plans to. I’m only defending the concept because several people here seem to be confusing their disquiet with factual information.

It’s possible to transfer money without fees using dollars, too. You just have to find someone willing to do the bookkeeping overhead for it. Which is also true for bitcoin. Right now, bitcoin transactions don’t have overt fees, because the bookkeeping overhead is paid for by inflating the currency (which is, in effect, a fee on everyone with bitcoins, not just the people in the transaction), but in the future, as the payment for blocks tapers to zero, it’ll become necessary there, too.

This is all true. Bitcoin is definitely a commodity, not a currency. But this is not due to any intrinsic property of Bitcoin itself. It’s purely due to psychology and inertia (also known as “that’s just not how we do things around here”). But the same is true for any novel social concept, (even currency itself, in its early days!)

Even more extreme, there are no living things in the universe, does gold have value?

It’s not the same however. Transferring money using the former method is done via for-profit companies that will charge as high a fee as they can without deterring you from doing the transaction or pricing themselves out of the market. There are also admin costs so even with a small margin it would be a costlier exercise.

The profit made from bookkeeping bitcoin OTOH is automatically kept very low, such as that the cost per transaction is effectively zilch.

I think this is a reflection of that fact that most of the people currently using bitcoins are bitcoin enthusiasts. It’s a financial system being run by the equivalent of hobbyists. If bitcoins ever become a big business and financial professionals take over, they’re going to charge fees for their services.

How would that work? There’s no particular middleman between a transaction and no central authority.

Bitcoin transactions depend on someone doing the calculations to extend the blockchain. Doing those calculations has a cost attached in computer time and electrical power, so nobody does them purely altruistically. Right now, people do those calculations because they can “mine” new bitcoins by doing it. Eventually, the mining will run dry, and it’s expected that people conducting transactions will attach a “tip” to their transaction to be paid to the person doing the verification. The only difference between this “tip” and a transaction fee for a conventional currency is the fact that transaction fees are more easily avoided: It takes a lot less computation to verify a transaction with a conventional currency, and so a transaction fee isn’t necessary to make the computation profitable.

The math problems are hashes. Specifically I believe they are Sha256 hashes. The bitcoin miner inputs any number into the hash function and outputs a seemingly random number, but the result you get from the input is always the same. This is used to verify work has been done.

Say you input 500 into the function and get 003 back. Every time you put 500 into the function you get 003 back. But 501 might return 781 or something like that. The actual numbers are, of course, much longer than this.

What the miner is looking for is a number that has a specific amount of leading (or possibly trailing, I cant remember) zeroes. Finding one of these numbers is mining a block. The amount of zeroes it looks for is based on the current difficulty. The difficulty goes up if new blocks are found too frequently and goes down if found too infrequently as the protocol tries to maintain one block every 10 minutes.

So you just keep feeding numbers into the hash function until one that has the correct amount of leading zeroes pops up then you tell the blockchain(a term used to refer to both the ledger of all transactions in the history of bitcoin and the network of computers that maintains it) you found it. Because running a single hash is quite fast(mining computers measure their ability to mine in gigahashes per second / GH) the blockchain computers can verify your find easily by entering the same seed number. The chain than awards the wallet that found that block the prize, currently 25 bitcoins but it will shrink over time, as well as any transaction fees.

Contrary to what many of the last few posts have implied bitcoin does have transaction fees. You aren’t technically forced to include one in a transaction but doing so increases your chance of being included in any mined block. And since blocks are only mined roughly every 10 minutes and have a limited amount of transactions a single block can contain if you want your transaction to go through some time this century you’ll want to include a transaction fee.

That’s one of the biggest of the many reasons bitcoin will never work as an actual currency. Because blocks are only generated an average of once every 10 minutes and a block is necessary to confirm a transaction you have an average of 10 minutes for a transaction to be confirmed. If you are lucky enough(or are paying a large enough transaction fee) to get into the first block after queuing your transaction. Else you could end up in the next block, another ten minutes, or the one after that, etc.

The other of the biggest reasons is that the blockchain contains every transaction ever. You see wallets don’t actually store coins. A wallet is just two values. One value is a public address you give to other people and they can send coins to. The other is a private key which you use to send the coins in your wallet. In order to confirm your wallet has the requisite funds to make a transaction you need the entire history of bitcoin, currently about 20GB. Before confirming your transaction the computers on the blockain network trawl through the entire history adding up all transactions that your wallet was involved with to determine you have enough coins. It would never scale to something used by any amount of the general population.

20GB and bitcoin has only existed for a few years and averages about 60k transactions per day. Mastercard claims to process 32 million transactions per day link. Think of how big it would balloon to if it was used to handle even the transactions of just one credit card company! The blockchain needs to exist on essentially every computer that processes transactions. While technically that could be a middle man half the point of bitcoin is that it’s a distributed system and with that kind of blockchain growth it would quickly be too big to be used on most home pcs, laptops, and especially cellphones. Forcing it to be centralized onto some sort of authority at which point it’s just a much, much, much more inefficient form of the current banking system.

I have a question I’ve never seen addressed, which is why does the blockchain need to contain ever transaction ever? Instead of only the most recent few or even one? Or to put it another way why does the entire blockchain need to be viewed to confirm a transfer?

Why couldn’t older transactions be archived, so they are still viewable by the public, but only the most recent ones be needed to confirm? Would this not vastly simplify things?

For anyone who wants to think about the nature of Bitcoin, JK Galbraith’s - Money - Whence It Came, Where It Went - is a very very good start. It provides a historical and sensible view of how money works, and within the context of its coverage, it isn’t too hard to see where Bitcoin fits, and where it doesn’t.

Where Bitcoin fails as money is as being useful for commerce and trade. And this is simply because it isn’t backed by any government, or indeed any other agency. It is the old saw - if you owe the bank a million dollars and become insolvent, you have a problem. If you owe the bank a billion dollars and become insolvent the bank has a problem. Not just the bank, but every customer of the bank that has deposits in the bank. Banks used to go under with monotonous regularity. Finally the system of government guarantees was set up - if a bank agreed to some fairly stringent regulations about how it acted - the ratio of lending to deposits, the security of lending, and so on, the government would back it up. So if there was a run on the bank, the government would ensure that all depositors actually got their money, even if the bank went under. The nice result of this is that banks stopped going under, and the government didn’t actually have to bail them out all the time. (Where this obviously failed was with the Savings and Loans - which were the next tier down, they were not subject to the same regulations, and were not guaranteed. And they went under. Then it became an issue for the government and they had to bail them out anyway - at the cost of the S&Ls agreeing to more stringent controls - and so it goes.)

So this is why Bitcoin has a problem in the long term. It is essentially impossible to create a system whereby a controlled and regulated market can be set up - one where you have enough trust in the system that you will deposit your Bitcoins to gain interest, and can borrow Bitcoins with interest. Any attempt will have about the same level of security as a bank of the wild west. Basically none.

What is hilariously amusing. Back when Bitcoin was first gaining popularity there was a FAQ on the Bitcoin website that addressed a related issue. The question was - what if Bitcoin crashes, and everyone loses all their money. The answer was - since Bitcoin will have become so important in daily life, popular pressure will drive the government to bail Bitcoin out. Brilliant. Needless to say, that little gem is no longer on the site.

Real money sloshes about the world in trillion dollar per day amounts, and is managed with intense care. Money does not sit in shoe boxes under the bed. (The equivalent of Bitcoin wallets.) Real money is invested, even for periods of less than a day. Companies ensure that only exactly the right amount of money is moved from money making locations to cover daily needs. Similarly companies borrow very large amounts of money for very short periods to cover purchases and other trade. If your money isn’t working, you have a problem. But historically, the only way this entire edifice stays up is with the surety of currency values, and bank integrity, backed by world governments. By design, Bitcoin has no way to work this way. Thus transactions in Bitcoin are intrinsically limited in value to those where no-one cares about the money lost due to the money not being directly entered into the world commerce system. Credit cards are similar. People are prepared to wear the margin lost on credit cards in transaction fees and delays due in order to gain the convenience credit cards provide. But you will never see real money transactions work with such sloppiness.

To a large extent this is why I regard Bitcoin as a commodity and not as money. You simply can’t use it for the big tasks that money is used for.

Without the blockchain, there would be nothing to stop me (or anyone else) from “counterfitting” untold millions of Bitcoins.

It’s really the same reason why the US Treasury doesn’t print money on cheap copy paper from Office Max, using a printer it bought at Best Buy: to make sure that any old schmuck can’t go around printing their own money.

Why can’t the blockchain be truncated to only the most recent transactions?

I’m getting the feeling I am going to feel VERY stupid when I get an answer.

It almost could do that. It could take a snapshot of the amount of bitcoins in each wallet every week, or day, or month, or whatever and then delete all past transactions and start from there.

It doesn’t because it’s basically a proof of concept. As far as I can tell it was intended to prove you could have cryptographically secure transactions without a central authority. It wasn’t really intended to be used as a currency, it’s a tech demo that maybe could have been expanded into a currency but many aspects of it are under-designed for that purpose. The blockchain needing to store every transaction doesn’t matter if it’s just a tech demo on how the transactions can be confirmed. It never should have grown as big as it has.

As I understand it the protocol can be changed, and many of it’s more glaring flaws like the blockchain bloat and long delays on confirmations could theoretically be fixed. But that would require the majority of the miners to agree on the change. The bitcoin community has been aware of these issues for years and never got together to change it when bitcoin was small enough that such a consensus might have been plausible. As more people use it it’s less and less likely you’d be able to get everyone to agree to a change.

Read through ** Spectralist’s ** post upthread, it’s a quite good summary of the pitfalls of Bitcoin. In particular, this section describes the issue:

Bitcoins have no physical nature. They’re essentially just a string of numbers. And as such, they can be duplicated.

Now with proper documentation, that’s not a major issue. Several people might have the correct string of numbers but only one of them will be able to show that he has the legal ownership of that particular string of numbers and everyone else’s claim is false. Only one person is going to be able to show a string of transfers of ownership that goes all the way back to the bitcoin’s original production.

What is needed is what is known as log truncation. You need to traverse the log of all the transactions (the blockchain) and reduce it to a table of which wallet each bitcoin is owned by. Even that table is going to be very large. In principle this table could itself by cryptographically signed. So any a new blockchain could start with that table instead of the current blockchain. However there are a host of difficult issues.

Use of a truncated log will result in a different hash to one using the old blockchain. So you would need to migrate the entire blockchain calculating community - ie all bitcoin miners - to the new system at once.

Bitcoin is inherently distributed - miners compete to be the first to calculate the new blockchain. Calculation of the truncated log would probably need to be done in a similar manner to the creation of new blockchains, How the system reaches a concensus about which truncated log to use without leading to glitches in the Bitcoin timing isn’t an easy question. Bitcoin needs a new blockchain every ten minutes. Introducing a truncated log could lead to difficulties controlling forks in the blockchain.

None of this is insoluble, but as noted above - getting it done - and out there to all miners in a controlled and stable manner won’t be easy.