Mining is what will ultimately make Bitcoin fail. You want to give everyone a single vote so that the majority can agree on which transactions are valid and which are not. But because you don't want a central authority that checks ID documents you come up with the idea of mining - make having a vote in the Bitcoin network an expensive thing by requiring to buy hardware and then spend more money on electricity to keep you hardware alive. It's not really fair because if you happen to have a lot of money you can buy a lot of votes.
But the really bad thing is that you just made Bitcoin transactions pretty expensive - I got six Dollars per transaction for electricity only about a month ago. Even worse, processing more transaction will or should not lower these costs. If Bitcoin would really take off processing transactions worth billions every day, you really don't want to protect them by hardware and electricity costs only worth a few millions because the growing transaction volume will also increase the amount of money someone would be willing to spend to mess with your system. At least up to some limit you really want the total mining costs proportional to the transaction volume.
And from there down it goes. Bitcoin transactions are not cheap even if the current low transaction fees suggest it. As the block reward goes down all the costs of running the Bitcoin network will end up as transaction fees. And transaction costs of several dollars are the death of micropayments and Bitcoin adoption in the underdeveloped world, two of the most lauded arguments for Bitcoin. I am not dismissive of the idea of cryptocurrencies but Bitcoin with its proof of work scheme won't be the queen of the prom.
> You want to give everyone a single vote so that the majority can agree on which transactions are valid and which are not.
That's not how Bitcoin works, although I admit it is plausible that you were describing how you would like Bitcoin to work. There's no "vote" in Bitcoin. Instead, there's a set of rules for determining whether or not a transaction is valid. Also, the distribution of hash rate does not necessarily have any relationship to the number of unique participants.
If you are building a system based on consensus you want to give everyone a single vote to vote for what is valid and what is not. But because Bitcoin doesn't want a central authority there is no easy way to ensure this by checking ID documents or something similar. Therefore everyone can create as many fake accounts as they want and let them vote for whatever they like. Bitcoin's solution to prevent everyone from casting as many votes as they like is mining, making it expensive to cast many votes. So the whole mining thing is nothing more than an elaborated fake account prevention mechanism without central authority.
I have some nitpicking to offer. I strongly disagree about the existence of any "fake accounts". All accounts are real accounts, even if they are being used in a Sybil attack. Arguably, the Bitcoin protocol should not care whether or not a block was generated by a "fake" account or not. Proof-of-Work as you acknowledge is critical for implementing distributed consensus in Bitcoin, but PoW has nothing to do with fake account prevention (and also, mining doesn't prevent non-miners from generating public or private keys anyway).
As for votes, I think calling it a vote is skating on ice too thin.... I ran into someone recently that also thought it was based on voting, but then it turned out that he was reading from something about PoS, which is not involved in Bitcoin's consensus mechanism.
I tried to just restate my previous comment but it seems I wasn't clear enough. Okay, once more. Account should be understood as user account, not bank account.
Forget about Bitcoin for the moment. We build a new distributed currency. You can sign up for an account and with that account you get one vote to vote for (blocks of) transactions you consider valid. But because there is no central authority performing identity checks the bad guys can just create a million accounts and use them to vote for bad (blocks of) transactions. This is what I previously called fake accounts - several accounts by one person to vote for bad (blocks of) transactions.
And now back to Bitcoin. Bitcoin's solution to this problem is mining. A vote in the Bitcoin network is a mined block and because mining is expensive this prevents users from casting arbitrarily many votes which is the logical equivalent of a fake account prevention mechanism. It is not perfect because with enough money for hardware and electricity you can still obtain more votes than others but it is no longer as easy as signing up for a million accounts with a million different email addresses.
Your math is wrong, making your entire premise/argument invalid. A transaction costs $0.60 of electricity as of right now:
150000 kilowatt (power consumption of the global Bitcoin network [1]) ÷ (3600 (sec/hour) * 7 (transaction/sec)) = 6.0 kWh/transaction
The worldwide average price of 1 kWh is $0.10, so a transaction costs $0.60 in electricity to be processed by the network.
Also, the 7 transaction/second limit comes from the current 1MB block size limit which was chosen by agreement. It will be increased in the near future. If it is raised to, say, 10MB this would allow 70 transaction/sec, hence reducing the electricity cost of a transaction down to $0.06.
[1] http://www.eetimes.com/document.asp?doc_id=1323522 - the global hashrate has increased by 50% since this article was written (~200 petahash/sec in August 2014, up to ~300 petahash/sec today) but at the same time hardware efficiency (hash/sec per watt) has increased, so the ballpark number is correct
Where do you get 150 000 kW? Even assuming all the miners are the best I could find (Achilles lab series) [1] that comes to 190000kW based on current hashrate [2].
Your transactions/second is also bit off. Right now based on blockchain.info the highest transaction day had 115787 transactions [3]. And that day the backlog of unconfirmed transactions got as high as almost 6000 unconfirmed transactions [4]. It doesn't matter at all if the network can "theoretically" support 7tps if it chokes at 1.3tps
That brings the actual kWh cost into 40kWh/transaction and up to the same ballback as what GP had.
Based on the arguments on forums right now it looks that increasing the block size is impossible. Because that would hard fork the blockchain.
When new coins are no longer being awarded to miners then people will have to start to pay the transaction fees themselves. Right now the mining is subsidized by what basically amounts to printing money and thus effectively is a small inflationary tax to everyone using bitcoin.
[4] https://imgur.com/GAklIdZ The most delicious moment was not screencapped, but this is quite close. Even as this was happening the miners happily issued small blocks (500kB and less).
The network never "choked" at 1.3tps. There are peaks of activity near the theoretical max of 7 tps (check for blocks close to 1MB in size). There are thousands of unconfirmed transactions because their senders chose to include fees that are too low (or no fee at all), so miners decide to not process them.
> When new coins are no longer being awarded to miners then people will have to start to pay the transaction fees themselves
That's not how it works. People (senders) already pay the transaction fees themselves.
+.1715506 worth of transaction fees. That's by far not enough to support a decent mining rate. In order to support current mining rate a single block must have roughly 25BTC wort of transactions fees.
Yes, they pay the transaction fees, but not the transaction costs. He wanted to say that transaction fees will become as high as the transaction costs.
I just looked it up in a comment [1] I wrote about a month ago - 250 PHash/s hash rate with 1 GHash/J mining efficiency, 100 $/MWh energy costs and 100k transactions per day. Sources for these numbers in the linked comment. But even your hypothetical $0.60 or $0.06 are still way to high for real micropayments if we, for example, think about paying maybe $0.10 for reading a news article as an alternative to subscriptions based or ad-financed online news.
There lies your miscalculation. You use the underutilization of the network (~1.1tps currently) to calculate a transaction cost and you claimed this cost cannot decrease (you said "processing more transaction will or should not lower these costs"). But as it is, the network is in fact capable of processing 7tps, therefore the true minimum electricity cost of a transaction is ~7x lower than what you claimed.
"1 GHash/J"*
This is a second but smaller error. Miners currently average closer to 1.5 Ghash/J, so that is another 1.5x decrease in your calculated transaction cost.
These 2 errors (7 * 1.5 = 10.5) explain why your calculation was 10x off.
Regarding micro payments, opinions are split but personally I do not think Bitcoin is well suited to them, or even needs to be suited to them to be a successful transaction processing system. So a $0.60 or $0.06 electricity cost per transaction is good enough right now, keeping in mind cost will go down as the block size limit is increased and as chips become more efficient in terms of Ghash/J.
Slightly above 1.5 GHash/J seems to be the best available hardware. I have no idea how often people throw away their mining equipment but I find it unconvincing that everybody is already using the newest hardware.
The calculation of the transaction costs was for that particular time frame so 100k transactions was a pretty fair assumption. But I was also talking about the future without block rewards so you have a point there that there is room for more transactions.
So maybe we will end up at about a Dollar if we throw in hardware costs, rental, cooling, profit and so on. This is still prohibitive for micropayments. And it makes the assumption that the network will not grow if the transaction volume grows. The problem I have with this is that I don't think that it would be a good idea.
Processing ten times the volume as of today but protecting it with the same amount of money in hardware and electricity costs as of today kind of makes the network ten times more interesting to attack. I estimated that gaining 50 % of the processing power would cost you 100 million in hardware, add electricity for two, three months and you end up in a range where a determined state, large company or even individual could wreak havoc.
> I find it unconvincing that everybody is already using the newest hardware.
Only a third or at most half of the network is mining with the Neptune at 1.8 Ghash/J. The rest is mostly the 1½ year old Bitfury at 1.2 GHash/J. Then there is a bunch of Monarch at 1.4 GHash/J, some Antminer at 1.3 GHash/J, and so on. So yeah a 1.5 Ghash/J average is very likely. You have to remember mining is extremely competitive. If you are not on the latest generation hardware, you are making less money than the competition.
> I estimated that gaining 50 % of the processing power would cost you 100 million in hardware
These days the estimate is closer to half a billion dollars. (There was a nice article about that - can't remember the link, sorry)
The list I used has the KnC Neptune at 1.429 GHash/J which seems to be the number they advertised before the update in July 2014.
But if you have to replace your hardware every year this makes the whole thing even worse - not only are you spending over 200 millions for electricity each year, you are now also spending a similar amount on hardware.
Officially they spec 1.4 GHash/J but in practice it measures 1.8 GHash/J: see the "0.57 watts per GH/J" quote in the link I gave. Only a few low-performing units bottom out at 1.4.
> But if you have to replace your hardware every year this makes the whole thing even worse
You used to have to replace your hardware every year, but not anymore. There was a big race to get the ASICs to the next fab node as Bitcoin startups progressively got better and better funded and could develop for more and more expensive processes. In 24 months we went: ASICMINER 130nm -> Avalon 110nm -> BFL Single SC 65nm -> Bitfury 55nm -> Jupiter 28nm -> Neptune 20nm. But now that we have reached the top-of-the-line 28-20nm, Bitcoin ASIC developers are just waiting for foundries to make the next node available (16nm), so the lifetime of a Bitcoin miner should grow from less than a year to at east ~2 years.
If a Bitcoin miner lasts ~2 years, its hardware cost is relatively small compared to electricity costs, so replacing them is not much an issue: a $1500 2kW Neptune consumes $3500 of electricity over 2 years at $0.10/kWh. TCO = $5000. The hardware represents only 30% of that. So not only it is affordable but it makes sense to throw that hardware away and replace it for a more efficient one after 2 years.
Okay, that will gives us total transaction costs with hardware, electricity, rental, profit and so on in the range 1.5 to 2.0 of the electricity costs which again makes electricity costs a pretty good proxy for transaction costs.
So the remaining question is how the total costs of running the Bitcoin network will evolve with changing transaction volume. Will competition among miners drive up or lower the total costs? Will total costs evolve proportionally to the transaction volume - which I think is important for security - or will they decouple? It would probably be interesting to model the whole system and see what happens. Is there an equilibrium for transaction costs and Bitcoin adoption? And is it stable or will the system run away?
These are the transaction costs, the costs to process the transaction. The user pays the transaction fee which is currently (usually) lower because miners still get the block reward. But at some point in the future only the transaction fees will have to pay for the transaction costs.
You are missing the point. Right now you are getting 25 BTC for mining a block, but that block reward will drop to zero while the costs for processing a transaction will remain more or less the same. Therefore transaction fees will have to go up until they cover the transaction costs without subsidizing them with the block reward. The other alternative, lowering transaction costs, is not a real option because it would make the Bitcoin network vulnerable.
There was only a single drop from 50 BTC to 25 BTC so there is no basis for your claim. And it can not work the way you describe. With 100k transactions per day and $0.10 fees per transactions miners can collect 3.65 million Dollars per year. So everyone with a handful million dollars to spare can easily completely destroy the Bitcoin network. Even better, there are already people with a lot of mining hardware out there, they would only have to pay electricity for a few weeks.
Have a look at the charts showing the fees per day [1] and the network deficit [2]. On the one hand fees went up, but before the block reward dropped, on the other hand the network operated at a deficit for quite some time. One has of course to take these graphs with a grain of salt because it is quite hard to estimated the real costs of running the Bitcoin network.
But I really don't understand what you are arguing for. Once the block reward becomes mostly irrelevant you have essentially two choices - relatively expensive transactions or a weak network, i.e. low hash rate. Don't you agree with that?
Off-chain transactions have nothing to do with Bitcoin - they are just changing the balances of their customers in their database. Essentially no difference to you average bank account besides that it only works between two users of the same service. Unless they make agreements between different services making them even more similar to your average bank.
You have to completely trust them because these off-chain transactions are neither visible to the public nor agreed on by the majority of the votes nor secured by any cryptographic or proof of work or whatever measures. All trades at Mt. Gox were off-chain transactions...
Because the total weekly reward to all miners is fixed, all miners are in direct competition. If mining effort doubles, return on mining investment halves. The big operations are starting to hit that limit. The little guys hit it a long time ago.
"last year it performed even worse than the Russian rouble and Ukrainian hryvnia"
A number of journalists have relayed this claim lately, but I find it disingenuous as it avoid talking about the real reason (volatility) and it hides the big picture (Bitcoin is up 3200% over the last two years [1]).
Otherwise, this is a good article about mining. But one comment I would like to make is that people, like this author, sometimes claim Bitcoin's mining consume a lot of electricity. But compared to what? It is fair to compare it to the many data centers owned and operated by credit card processors, banks, and all sorts of financial companies, but only to the portion of these data centers that fulfill a role roughly comparable to Bitcoin: processing transactions, verifying fraud, etc. Let's do some math: North American data center market power consumption is about 12 gigawatt [2]. I don't know what the world data center power consumption is, but let's assume ~3x that, or 30 gigawatt [3]. Let's assume that 1/3 of these data centers belong to financial companies, so 10 gigawatt are consumed by financial data centers. If half of these data centers are used to process transactions and for anti-fraud purposes, that's 5 gigawatt. By comparison, Bitcoin's mining operations worldwide are estimated to consume 150 megawatt [4]. So Bitcoin mining uses 3% of the electricity of what financial companies use for similar purposes.
[3] 30 gigawatt is also approximately in line with the often quoted estimate that data centers use ~1% of the world's electricity (~1% of 2500 gigawatt).
[4] http://www.eetimes.com/document.asp?doc_id=1323522 - the global hashrate has increased by 50% since this article was written (~200 petahash/sec in August 2014, to ~300 petahash/sec today) but at the same time hardware efficiency (hash/sec per watt) has increased, so the ballpark number is correct. In fact the economist article also estimates it at ~135,000 average american homes, or 168 megawatt (1 average home = 1250 watt).
Edit: @the_mitsuhiko: By definition, "volatility" is a price variation over time, regardless if it is consistent or not.
In all these discussions of Bitcoin's price over N months, I don't see anyone consider this: 2 years is 44% of its tradable life (first trades on Mt. Gox were in July 2010). You might as well talk about Apple's performance since 2000, which is 44% of its tradable life. In which case, you see similar returns (almost 3000%)
So if Bitcoin goes down to $30, that's an amazing investment, right? After all, that's a 500% ROI!
Nobody talks about "percentage of tradable life" because this is a pointless metric. You don't see banks publishing prospectus saying "this investment gained x% over y% of its tradable life". %/year is what matters to all investors.
> So if Bitcoin goes down to $30, that's an amazing investment, right? After all, that's a 500% ROI!
Absolutely. Buying at $6 in january 2013, and selling even at $30 would be a 500% ROI and a great investment over 2 years. What is your point?
Exactly. Only one in Bitcoin in January 2013 were those who were really deep in the community. Investors don't care what the price was before they purchased.
But the really bad thing is that you just made Bitcoin transactions pretty expensive - I got six Dollars per transaction for electricity only about a month ago. Even worse, processing more transaction will or should not lower these costs. If Bitcoin would really take off processing transactions worth billions every day, you really don't want to protect them by hardware and electricity costs only worth a few millions because the growing transaction volume will also increase the amount of money someone would be willing to spend to mess with your system. At least up to some limit you really want the total mining costs proportional to the transaction volume.
And from there down it goes. Bitcoin transactions are not cheap even if the current low transaction fees suggest it. As the block reward goes down all the costs of running the Bitcoin network will end up as transaction fees. And transaction costs of several dollars are the death of micropayments and Bitcoin adoption in the underdeveloped world, two of the most lauded arguments for Bitcoin. I am not dismissive of the idea of cryptocurrencies but Bitcoin with its proof of work scheme won't be the queen of the prom.