Transaction Fee Death Spiral: Bitcoin is advertised as a way to transfer money at low costs but then you don't want transaction fees as low as possible? Looks to me like you are not interested in a system with low transaction fees but one to maximize your mining profits.
Centralization Death Spiral: The amount of data to keep around depends on the number of transactions, not the block size. The larger block size only ever matters if the smaller block size gets saturated. And then you either increase the block size or you run a system that is constantly overloaded. Higher demand will cause higher fees and may push a couple of transactions that are not worth the costs out but in the long run you will make your users unhappy if their transactions are not executed unless they throw a lot of fees at them. And after all 1 TB per year is not exactly a huge amount of data.
Block Subsidy, Fees, and Blockchain Security: Bitcoin is by its very nature an expensive system. Not sure what the current costs per transactions are but they used to be on the order of $10 per transaction. None of the often mentioned target audiences of Bitcoin - unbanked people in poor areas, people looking for low transaction costs, micro payment services - is willing to pay that once the block reward is gone. Then you face the choice - reduce the hash rate or process more transactions, nothing else we reduce transaction costs. Especially not more efficient and cheaper mining hardware in case you want to maintain the security level because attackers will gain the same advances.
Isn't this a non-issue in the long-run due to Moore's law? Even if centralization happens in the short-run as a result of processing expenses, everything is destined to become decentralized as processing power increases.
>Transaction fees
Could someone please explain why transaction fees are deemed necessary?
"The incentive can also be funded with transaction fees. If the output value of a transaction is less than its input value, the difference is a transaction fee that is added to the incentive value of the block containing the transaction. Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free."
Transaction fees are paid to the miner who solves the block containing your transaction. It's an incentive for the miner to include your transaction in the block. Without fees, your transaction will get processed eventually, but miners tend to put profitable transactions first.
Eventually, the block reward will be very small and transaction fees will be the only profit miners make. So you're basically paying the miners to protect the network by verifying the transactions.
> Without fees, your transaction will get processed eventually, but miners tend to put profitable transactions first.
IIRC this is only because some generous folks run miners willing to process zero-fee transactions in order to clean them up and forgive those who probably made the transaction fee too small in error. What if they decide to stop upgrading their equipment to keep up with the difficulty?
There are a few of those, but also the default client behavior boosts the priority of old transactions so they will be processed eventually. I would guess that high-throughput miners responsible for the majority of hashing power would have other priorities though, so the "default" config might cover a minority of hashing power.
Edit: It's the age of the inputs to the transaction, not the age of the transaction itself that counts. But it's possible to just wait until the transaction inputs are old and then the transaction will go through.
It may end up being a non issue, but not because of moore's law. It may come down to whether chip fabs decide to become miners or sell mining chips. That may come down to how much risk they want to take on.
Transaction fees are necessary for the same fundamental reason why bitcoin works at all - proper incentives. If there were no incentive to mine, miners wouldn't do it. The block reward will gradually step to 0, and won't be the primary source of mining income long before that. Transaction fees are the long term solution for miners to get paid. They also create a disincentive for people to create unnecessary transactions which would bloat the blockchain.
Though, speaking of incentives, this may point to an interesting market failure that lies at the very core of the Bitcoin economy: There's a relatively inflexible cost to processing transactions that's built into the Bitcoin protocol. It's possible for an individual to bring down the cost of processing with better hardware, but in order to bring down the cost of processing transactions by making the underlying process more efficient you need to get miners to go along with it. They've got reasons to oppose doing anything of the sort, though, because they want to keep the cost of entry high for any new competitors. They're essentially an informal cartel of players with a strong incentive to engage in rent-seeking behavior.
That's an interesting point that definitely has some degree of validity.
So far I don't think there has been anything that makes actually processing transactions cheaper (maybe moving to levelDB from berkelyDB would count), but I think that part is essentially trivial anyway.
If there were high bandwidth costs for mining that would work in the favor of centralization, but I don't think the cost of processing a transaction or the bandwidth are anywhere near being a bottleneck. Processing transactions seems likely to never be more than trivial but I don't know that much about it.
>If processing power increases, it increases for all players.
I'm not sure I follow. If processing the block-chain is cheap enough that everybody can do it, I see no reason to depend entirely on centralized mines. The little guy can still participate, and there's bound to be more little guys than big guys, especially if bitcoin clients do a bit of mining themselves.
Sure, it's profitable and large-scale operations will probably arise, but that's distinct from centralization, per se.
Well, why's mining centralising now? Processing power has gone up in the past six years. Reason is it's easier to eke out a slight advantage centralised. Also, computing power per watt requires ASICs to compete. This is particularly important because we're at the stage where the cost of mining 1 BTC is close to 1 BTC and the miners are living on scraps (which is why we're seeing hashing power go offline until next hash adjustment).
Then I don't understand... could you please explain what you mean? I'm not familiar with the term ASICs.
EDIT (since I can no longer reply): ASICs should only offset the point at which it becomes feasible for common-denominator computers to participate. I fear we may be talking past each other...
Bitcoin mining started on general-purpose CPUs. Then people discovered they could compute more hashes per watt on GPUs. Then people realised that a custom circuit optimised just to perform that calculation would be most efficient, starting with FPGAs and then burning those circuits into ASICs.
All mining that is feasible these days is done with specially-built ASICs, and even then the cost of mining 1 BTC (hardware and electricity) is hovering around 1 BTC.
The $10 per transaction stuff is totally ridiculous and seems to be just a way for people who don't like bitcoin to throw out a scary number which comes from VERY distorted math.
I have the whole blockchain on SSD. It's on a smaller drive that I would have trouble making much use of anyway. The bandwidth is basically nothing compared to even watching a youtube video every day. So the whole idea has not basis in a pragmatic reality. The financial industry is 8% of US the entire GDP. There are real inefficiencies out there but bitcoin isn't among them. The incentives are lined up correctly.
It also seems that as bitcoin grows, the possibility for centralization is there but outweighed by the increased number of people participating as well as their investment. That is good, because even now there is a web of competing incentives so that it is increasingly unlikely the system won't work as people expect.
Miners if anyone have somewhat cloudy incentives, but ultimately if transactions per block are a problem, it is likely that not all miners will agree that they want transaction fees to rise when it is trivial for them to process many more transactions. This is combined with the fact that like the internet itself, if transaction fees grow to something non-trivial for the majority of cases, off blockchain transactions will increase while growing more mature similar to the dynamic of high gas prices have an effect on consumption (or any commodity).
When the price went down some people proclaimed that it would be inefficient to mine. The results weren't even noticeable to a casual observer, miners with less efficient mining hardware shut it off, which made mining more efficient for the ones that stayed, and the equilibrium happens organically.
Really the blockchain size is a hurdle, but not a technical one. The broad scale incentives are set, they work, and the system is long past the point of fragility.
The $10 per transaction was at least a good estimate of the costs per transaction about four months ago. Electricity costs for miners were at least $6 per transaction, a very rough estimate of hardware and other costs came out on the same order.
But feel free to do the math yourself with the current numbers. The last time I did it the numbers were as follows - hash rate 250 PHash/s, mining efficiency 1 GHash/J, energy costs 100 $/MWh and transaction volume 100k transactions per day. Or in short $6 per transaction, electricity for mining hardware only.
The $10/tx number is very misleading, because you present it as an inherent cost ("Bitcoin is by its very nature an expensive"). But you are dividing the global mining operational cost with the network capacity utilization rate.
Consider this: by your logic if there was only 1 transaction/day you would claim a cost 100 000 times higher, or $1 million per transaction. But the fact is not only the block chain is underutilized (average block size is 0.35 MB so the network could sustain 2.8 times more tx, or 300k/day), but also the block size limit can and will be increased at least 10x without the miners needing to increase their operational cost.
Taken together, this means the network will be able to handle 3 million tx/day (30 times more than today). This a number closer to what you should base your math on if you are trying to calculate the minimum cost of a Bitcoin tx, which would be approximately $0.30/tx.
PS: in 2011 I had less than 20 kW of GPUs and I bothered moving half my farm to a location where I was paying $20/MWh. So you can be sure the commercial miners (who are doing the bulk of the mining these days) are paying less than $100/MWh.
I am not trying to calculate the theoretical minimum costs but the actual costs. Nobody cares if a transaction could theoretically cost $0.30 if right now someone pays those $10.00 for each and every of the 100,000 transaction on every single day. If the Bitcoin network at some point in the future processes 3 million transactions per day fine, but it does not right now and it honestly does not like this is going to happen anytime soon. The transaction volume is at best stable since more than one year and to me it actually looks more like it is slightly declining.
And even if you get your electricity for free there is still the other half of the costs, the largest part being hardware. It doesn't really matter for me if it is $10 or $5 per transaction, it is not cheap. And even those theoretical $0.30 are still a lot. Real micro payments could be a killer application. Pay $0.05 or $0.10 to read a news article. If one hour of your time is worth $50 that is the equivalent 3.6 respectively 7.2 seconds of your time. Thinking a couple of seconds whether you should buy the article or not makes almost no sense at that price level. Just charge those few cents. But $0.30 per transaction is like a factor 100 to expensive for this.
And with expensive by nature I meant that the security of the system depends on that. The Bitcoin network will never be able to spend less money on running the system because that is what it is protected by, the money spend on hardware and electricity. You can't even keep using your hardware for a long time because technological advances will make an attack cheaper and cheaper and therefore lower the security level your old hardware can provide. The Bitcoin network is doomed to throw money out of the window, hundreds of millions every year for processing not even enough transaction to make a Raspberry Pi sweat. To me this seems a pretty hefty tax for being distributed and trustless, especially because no one cares about those features.
In fact it grew 10x between May 2012 and May 2015, from 10k to 100k tx/day, so assuming the same growth rate we would hit 1 million tx/day in mid-2018. But somehow you think they are... declining?
"And even those theoretical $0.30 are still a lot"
Not compared to competing systems. It beats PayPal's fees of 2.9% + $0.30. It beats the worldwide average remittance fees of ~10% (can you stop and think for a second? 10%!). It beats the wire transfer fees I pay to send money to my family in France (about $35). And so on. I actually agree with you that Bitcoin isn't particularly well suited to micro-transactions, but its advantages really shine with regular transactions, and that's where it is growing.
I was referring to transaction volume in Dollars which seems more relevant to me. If Bitcoin is adopted and people use it more to buy stuff or transfer money the Dollar volume should go up because Dollar prices are more or less stable. But it is an interesting question why the number of transactions keeps rising.
> The Bitcoin network is doomed to throw money out of the window, hundreds of millions every year for processing not even enough transaction to make a Raspberry Pi sweat.
The fundamental flaw is that you are correlating the hashing power with the number of transactions that can processed, but the two are unrelated. If there were 100MB blocks the hashing power could stay the same yet the number of transactions would be 100 times as large. One of the reasons bitcoin works so well is that this scenario will be phased in gradually. By the time transaction volume is 100 times what it is now, the electricity cost per transaction will be in line with the cost of a transaction, and the mining bonus per block will be less and less necessary and become a smaller part of the profit from mining.
Electricity cost will actually drop in price significantly due to solar, but again this doesn't even matter as the system of incentives drives mining.
As was mentioned before (not by me) this is extremely misleading at best (and really outright untrue). Mining costs adjust to the amount of money miners are making. The block rewards are supposed to be a temporary measure to gradually introduce more supply while being an extra reward to the miners as the network gets started. If mining wasn't profitable, miners wouldn't do it.
You could make an argument for transaction fees eventually being too expensive for typical transactions, but to say that mining is some inherent cost is ridiculous, since it adjusts to the amount of money that can be made by mining.
Crypto currencies are difficult for people to understand, because really it isn't common for people to have a good handle on proper incentive structures to drive people's behavior.
My formulation was admittedly not very good but I am not confusing those things.
The first part, being doomed to throw money out of the window, was intended to mean that Bitcoin can never profit from lower electricity costs or more efficient hardware. Whenever hardware becomes more efficient or electricity cheaper the Bitcoin network has to increase the hash rate or will become less secure. On the other hand a normal bank for example can reduce their costs whenever hardware becomes more efficient or electricity cheaper.
The second part, hundreds of millions Dollars for only a few transactions, sounds probably even more misleading. You are of course correct, you can at least technically process an almost arbitrary number of transactions no matter what the hash rate of the Bitcoin network is. But there is a catch. You can not process transactions worth millions of dollars with a Bitcoin network consuming electricity worth say $100,000 per year. You surly can try but it will only be a matter of time until someone will destroy it for the lulz.
Or imagine Bitcoin really taking of processing transactions worth billions and billions of Dollars every day. What do you think how much would an hostile group or government be willing to spend to burn your system to ashes? Right now it sounds quite ridiculous because the transaction volume is so small that it is really not worth it but imagine for a moment Bitcoin becoming Visa. A rich nation or a nation sponsored terrorist organization willing to spend 10 million, 100 million, maybe even a billion Dollars to bring the system down sounds not absolutely unimaginable to me. And the amount of money an attacker is willing to spend sets the lower limit of money the Bitcoin network has to burn every year to remain secure.
The important takeaway is that for Bitcoin burning money and security are the same thing, whatever makes mining cheaper makes Bitcoin weaker. Especially it is not the hash rate that makes Bitcoin secure, it is the amount of money it costs to achieve this hash rate. And also mining incentives and so on are really secondary, it is the amount of money an attacker with incentives external to the Bitcoin network is willing to spend on an attack that determines how much money needs to be burned to keep the system secure. So the only way to achieve lower transaction costs is to increase the number of transactions processed which may or may not increase the amount of money an attacker is willing to invest.
So now you're talking about something different, which is the overall cost of mining. Before you were talking about cost per transaction, so this isn't the same.
The cost of mining isn't just electricity of course, it is custom mining hardware.
So I suppose the real question is what is the point where successfully disrupting the network is worth the cost. But you have to remember that not only would it take fabricating lots of chips, 51% of the hashing power only starts to make bad transactions possible over a period of time, it isn't a guarantee.
Add to that the fact that making the longest chain of blocks a dishonest one really only accomplishes setting cryto-currencies back some amount of time. Either bitcoin is ruined and other crypto-currencies with even more difficult to attack proof of work schemes are used, or bitcoin is shaken and works around the problem. Either way there is no finality, it would just be a hugely expensive delay tactic.
I was probably still not clear enough. Bitcoin is inherently expensive because the security of the system is based on burning money, all the cryptography is just kind of an implementation detail. You could as well place a ledger on a table next to a camp fire and everyone can come to the fire, throw some bank notes into it and this allows him to fill a page in the ledger. Same thing. And it really makes no economic sense because the money is totally wasted. I don't doubt that there may be a successful cryptocurrency one day, but it will not be based on proof of work.
When you think about it closely mining is just a way to establish identity in an anonymous system. You want to reach consensus on which transactions should go into the next block and which not, but because you also want anonymity you can not just ask everyone for a vote because nothing prevents the bad guy from having a billion false identities all voting for his bad intention. And here mining comes into play, it makes voting expensive and prevents you from casting a lot of votes. Hundreds of millions every year just to agree on which transactions to include in the block chain. It does not even help in any way to protect transactions because they are entirely protected by public key cryptography.
Had Bitcoin a central authority you could for example just require everyone to send a copy of their ID in exchange for some cryptographic key that would give you one vote. Then you could just propose blocks of transactions and let everyone cast a vote and the winning block gets added to the block chain. No mining required and transactions become extremely cheap, at least if you manage to build an efficient central ID checking authority.
This is of course pretty unlikely to happen because it is against some of the core ideas of Bitcoins but any cryptocurrency that can avoid mining will have a huge economical advantage over Bitcoin and any other proof of work based system and will eventually replace them. Proof of stake is one idea but with its own problems. I think it is most likely that the winning solution has not yet been invented.
I digress. Okay, Bitcoin is expensive by design because the security is proportional to the amount of money burned in mining. The number of processed transactions is not directly coupled to the mining costs and therefore the costs per transaction can go down when processing more transactions but they are not completely independent either. A larger transaction volume requires more security which in turn requires higher mining costs. Processing transactions worth a billion every day with mining costs of a million per year surly would be a pretty dumb idea.
It is of course a tough question to figure out how high the mining costs should be. Easier question, how would I attack Bitcoin. Assuming Bitcoin became mainstream and used as much as PayPal or even credit cards and I just want to cause havoc I would probably go for a DoS attack. Obtain the required hashing power and just fork the block chain again and again. I didn't really think this through but just creating legitimate blocks with legitimate transactions but burying them in short side chain after short side chain so that they never get confirmed would be one of my first ideas. Probably way harder to mitigate then detecting blocks with few or useless transactions.
Do this for a couple of days and people will only want to get their money out as quick as possible. The Bitcoin price will crash in no time and people will lose a lot of money. Maybe you could even recapture some of your expenses by blackmailing people or betting on falling Bitcoin prices. But there are probably way more clever ideas then I can come up with ad hoc. Anyway, if mining costs are not high enough or in heavy disproportion to the transaction volume they protect bad things might happen. Back in the days of the cold war spending a billion Dollars on mining hardware to disrupt the Bitcoin based economy of the enemy would have been a real bargain.
I think the numbers just don't work out to any sort of practicality even though the generalities of what you are saying are true (and much more apt than most). You say bitcoin is expensive by design, although I think it simply has a cost by design, which is fine, and has proper incentives while still having a huge advantage over what is in use now.
I just haven't seen anything to indicate that a feasible attack on bitcoin would actually have a reasonable cost or a reasonable payoff.
If you throw more crypto currencies into the mix an attack is even more isolated.
When thinking about the efficiency of bitcoin it has to be realized that the current financial is also unbelievably, comically terrible. Bitcoin isn't competing against a miracle of elegant genius engineering.
I think the future will likely be a combination of multiple crypto currencies, sub channels within the major currencies, and the public/private key 'banking' that you described.
Surely that calculation ignores the Block reward? The 25 bitcoin that is awarded to miners inflates the cost of mining equipment, by stimulating an arms race in chip development. As the reward decreases over the years, there will be less incentive to pay a lot for mining hardware, and the overall cost in your calculation should decrease.
29 comments
[ 2.3 ms ] story [ 72.8 ms ] threadTransaction Fee Death Spiral: Bitcoin is advertised as a way to transfer money at low costs but then you don't want transaction fees as low as possible? Looks to me like you are not interested in a system with low transaction fees but one to maximize your mining profits.
Centralization Death Spiral: The amount of data to keep around depends on the number of transactions, not the block size. The larger block size only ever matters if the smaller block size gets saturated. And then you either increase the block size or you run a system that is constantly overloaded. Higher demand will cause higher fees and may push a couple of transactions that are not worth the costs out but in the long run you will make your users unhappy if their transactions are not executed unless they throw a lot of fees at them. And after all 1 TB per year is not exactly a huge amount of data.
Block Subsidy, Fees, and Blockchain Security: Bitcoin is by its very nature an expensive system. Not sure what the current costs per transactions are but they used to be on the order of $10 per transaction. None of the often mentioned target audiences of Bitcoin - unbanked people in poor areas, people looking for low transaction costs, micro payment services - is willing to pay that once the block reward is gone. Then you face the choice - reduce the hash rate or process more transactions, nothing else we reduce transaction costs. Especially not more efficient and cheaper mining hardware in case you want to maintain the security level because attackers will gain the same advances.
Isn't this a non-issue in the long-run due to Moore's law? Even if centralization happens in the short-run as a result of processing expenses, everything is destined to become decentralized as processing power increases.
>Transaction fees
Could someone please explain why transaction fees are deemed necessary?
http://nakamotoinstitute.org/bitcoin/
Eventually, the block reward will be very small and transaction fees will be the only profit miners make. So you're basically paying the miners to protect the network by verifying the transactions.
IIRC this is only because some generous folks run miners willing to process zero-fee transactions in order to clean them up and forgive those who probably made the transaction fee too small in error. What if they decide to stop upgrading their equipment to keep up with the difficulty?
Edit: It's the age of the inputs to the transaction, not the age of the transaction itself that counts. But it's possible to just wait until the transaction inputs are old and then the transaction will go through.
Transaction fees are necessary for the same fundamental reason why bitcoin works at all - proper incentives. If there were no incentive to mine, miners wouldn't do it. The block reward will gradually step to 0, and won't be the primary source of mining income long before that. Transaction fees are the long term solution for miners to get paid. They also create a disincentive for people to create unnecessary transactions which would bloat the blockchain.
So far I don't think there has been anything that makes actually processing transactions cheaper (maybe moving to levelDB from berkelyDB would count), but I think that part is essentially trivial anyway.
If there were high bandwidth costs for mining that would work in the favor of centralization, but I don't think the cost of processing a transaction or the bandwidth are anywhere near being a bottleneck. Processing transactions seems likely to never be more than trivial but I don't know that much about it.
No, centralisation proceeds because the hashing is subject to economies of scale.
If processing power increases, it increases for all players.
I'm not sure I follow. If processing the block-chain is cheap enough that everybody can do it, I see no reason to depend entirely on centralized mines. The little guy can still participate, and there's bound to be more little guys than big guys, especially if bitcoin clients do a bit of mining themselves.
Sure, it's profitable and large-scale operations will probably arise, but that's distinct from centralization, per se.
Now we've come full-circle to my original thesis: this is a short-term phenomenon that I predict will slow and eventually reverse.
I'm still unclear as to why this shouldn't be the case.
> Also, computing power per watt requires ASICs to compete.
EDIT (since I can no longer reply): ASICs should only offset the point at which it becomes feasible for common-denominator computers to participate. I fear we may be talking past each other...
Bitcoin mining started on general-purpose CPUs. Then people discovered they could compute more hashes per watt on GPUs. Then people realised that a custom circuit optimised just to perform that calculation would be most efficient, starting with FPGAs and then burning those circuits into ASICs.
All mining that is feasible these days is done with specially-built ASICs, and even then the cost of mining 1 BTC (hardware and electricity) is hovering around 1 BTC.
I have the whole blockchain on SSD. It's on a smaller drive that I would have trouble making much use of anyway. The bandwidth is basically nothing compared to even watching a youtube video every day. So the whole idea has not basis in a pragmatic reality. The financial industry is 8% of US the entire GDP. There are real inefficiencies out there but bitcoin isn't among them. The incentives are lined up correctly.
It also seems that as bitcoin grows, the possibility for centralization is there but outweighed by the increased number of people participating as well as their investment. That is good, because even now there is a web of competing incentives so that it is increasingly unlikely the system won't work as people expect.
Miners if anyone have somewhat cloudy incentives, but ultimately if transactions per block are a problem, it is likely that not all miners will agree that they want transaction fees to rise when it is trivial for them to process many more transactions. This is combined with the fact that like the internet itself, if transaction fees grow to something non-trivial for the majority of cases, off blockchain transactions will increase while growing more mature similar to the dynamic of high gas prices have an effect on consumption (or any commodity).
When the price went down some people proclaimed that it would be inefficient to mine. The results weren't even noticeable to a casual observer, miners with less efficient mining hardware shut it off, which made mining more efficient for the ones that stayed, and the equilibrium happens organically.
Really the blockchain size is a hurdle, but not a technical one. The broad scale incentives are set, they work, and the system is long past the point of fragility.
But feel free to do the math yourself with the current numbers. The last time I did it the numbers were as follows - hash rate 250 PHash/s, mining efficiency 1 GHash/J, energy costs 100 $/MWh and transaction volume 100k transactions per day. Or in short $6 per transaction, electricity for mining hardware only.
Consider this: by your logic if there was only 1 transaction/day you would claim a cost 100 000 times higher, or $1 million per transaction. But the fact is not only the block chain is underutilized (average block size is 0.35 MB so the network could sustain 2.8 times more tx, or 300k/day), but also the block size limit can and will be increased at least 10x without the miners needing to increase their operational cost.
Taken together, this means the network will be able to handle 3 million tx/day (30 times more than today). This a number closer to what you should base your math on if you are trying to calculate the minimum cost of a Bitcoin tx, which would be approximately $0.30/tx.
PS: in 2011 I had less than 20 kW of GPUs and I bothered moving half my farm to a location where I was paying $20/MWh. So you can be sure the commercial miners (who are doing the bulk of the mining these days) are paying less than $100/MWh.
And even if you get your electricity for free there is still the other half of the costs, the largest part being hardware. It doesn't really matter for me if it is $10 or $5 per transaction, it is not cheap. And even those theoretical $0.30 are still a lot. Real micro payments could be a killer application. Pay $0.05 or $0.10 to read a news article. If one hour of your time is worth $50 that is the equivalent 3.6 respectively 7.2 seconds of your time. Thinking a couple of seconds whether you should buy the article or not makes almost no sense at that price level. Just charge those few cents. But $0.30 per transaction is like a factor 100 to expensive for this.
And with expensive by nature I meant that the security of the system depends on that. The Bitcoin network will never be able to spend less money on running the system because that is what it is protected by, the money spend on hardware and electricity. You can't even keep using your hardware for a long time because technological advances will make an attack cheaper and cheaper and therefore lower the security level your old hardware can provide. The Bitcoin network is doomed to throw money out of the window, hundreds of millions every year for processing not even enough transaction to make a Raspberry Pi sweat. To me this seems a pretty hefty tax for being distributed and trustless, especially because no one cares about those features.
No, it increased from 60k to 100k over the last year:
https://blockchain.info/charts/n-transactions?timespan=1year...
In fact it grew 10x between May 2012 and May 2015, from 10k to 100k tx/day, so assuming the same growth rate we would hit 1 million tx/day in mid-2018. But somehow you think they are... declining?
"And even those theoretical $0.30 are still a lot"
Not compared to competing systems. It beats PayPal's fees of 2.9% + $0.30. It beats the worldwide average remittance fees of ~10% (can you stop and think for a second? 10%!). It beats the wire transfer fees I pay to send money to my family in France (about $35). And so on. I actually agree with you that Bitcoin isn't particularly well suited to micro-transactions, but its advantages really shine with regular transactions, and that's where it is growing.
The fundamental flaw is that you are correlating the hashing power with the number of transactions that can processed, but the two are unrelated. If there were 100MB blocks the hashing power could stay the same yet the number of transactions would be 100 times as large. One of the reasons bitcoin works so well is that this scenario will be phased in gradually. By the time transaction volume is 100 times what it is now, the electricity cost per transaction will be in line with the cost of a transaction, and the mining bonus per block will be less and less necessary and become a smaller part of the profit from mining.
Electricity cost will actually drop in price significantly due to solar, but again this doesn't even matter as the system of incentives drives mining.
As was mentioned before (not by me) this is extremely misleading at best (and really outright untrue). Mining costs adjust to the amount of money miners are making. The block rewards are supposed to be a temporary measure to gradually introduce more supply while being an extra reward to the miners as the network gets started. If mining wasn't profitable, miners wouldn't do it.
You could make an argument for transaction fees eventually being too expensive for typical transactions, but to say that mining is some inherent cost is ridiculous, since it adjusts to the amount of money that can be made by mining.
Crypto currencies are difficult for people to understand, because really it isn't common for people to have a good handle on proper incentive structures to drive people's behavior.
The first part, being doomed to throw money out of the window, was intended to mean that Bitcoin can never profit from lower electricity costs or more efficient hardware. Whenever hardware becomes more efficient or electricity cheaper the Bitcoin network has to increase the hash rate or will become less secure. On the other hand a normal bank for example can reduce their costs whenever hardware becomes more efficient or electricity cheaper.
The second part, hundreds of millions Dollars for only a few transactions, sounds probably even more misleading. You are of course correct, you can at least technically process an almost arbitrary number of transactions no matter what the hash rate of the Bitcoin network is. But there is a catch. You can not process transactions worth millions of dollars with a Bitcoin network consuming electricity worth say $100,000 per year. You surly can try but it will only be a matter of time until someone will destroy it for the lulz.
Or imagine Bitcoin really taking of processing transactions worth billions and billions of Dollars every day. What do you think how much would an hostile group or government be willing to spend to burn your system to ashes? Right now it sounds quite ridiculous because the transaction volume is so small that it is really not worth it but imagine for a moment Bitcoin becoming Visa. A rich nation or a nation sponsored terrorist organization willing to spend 10 million, 100 million, maybe even a billion Dollars to bring the system down sounds not absolutely unimaginable to me. And the amount of money an attacker is willing to spend sets the lower limit of money the Bitcoin network has to burn every year to remain secure.
The important takeaway is that for Bitcoin burning money and security are the same thing, whatever makes mining cheaper makes Bitcoin weaker. Especially it is not the hash rate that makes Bitcoin secure, it is the amount of money it costs to achieve this hash rate. And also mining incentives and so on are really secondary, it is the amount of money an attacker with incentives external to the Bitcoin network is willing to spend on an attack that determines how much money needs to be burned to keep the system secure. So the only way to achieve lower transaction costs is to increase the number of transactions processed which may or may not increase the amount of money an attacker is willing to invest.
The cost of mining isn't just electricity of course, it is custom mining hardware.
So I suppose the real question is what is the point where successfully disrupting the network is worth the cost. But you have to remember that not only would it take fabricating lots of chips, 51% of the hashing power only starts to make bad transactions possible over a period of time, it isn't a guarantee.
Add to that the fact that making the longest chain of blocks a dishonest one really only accomplishes setting cryto-currencies back some amount of time. Either bitcoin is ruined and other crypto-currencies with even more difficult to attack proof of work schemes are used, or bitcoin is shaken and works around the problem. Either way there is no finality, it would just be a hugely expensive delay tactic.
When you think about it closely mining is just a way to establish identity in an anonymous system. You want to reach consensus on which transactions should go into the next block and which not, but because you also want anonymity you can not just ask everyone for a vote because nothing prevents the bad guy from having a billion false identities all voting for his bad intention. And here mining comes into play, it makes voting expensive and prevents you from casting a lot of votes. Hundreds of millions every year just to agree on which transactions to include in the block chain. It does not even help in any way to protect transactions because they are entirely protected by public key cryptography.
Had Bitcoin a central authority you could for example just require everyone to send a copy of their ID in exchange for some cryptographic key that would give you one vote. Then you could just propose blocks of transactions and let everyone cast a vote and the winning block gets added to the block chain. No mining required and transactions become extremely cheap, at least if you manage to build an efficient central ID checking authority.
This is of course pretty unlikely to happen because it is against some of the core ideas of Bitcoins but any cryptocurrency that can avoid mining will have a huge economical advantage over Bitcoin and any other proof of work based system and will eventually replace them. Proof of stake is one idea but with its own problems. I think it is most likely that the winning solution has not yet been invented.
I digress. Okay, Bitcoin is expensive by design because the security is proportional to the amount of money burned in mining. The number of processed transactions is not directly coupled to the mining costs and therefore the costs per transaction can go down when processing more transactions but they are not completely independent either. A larger transaction volume requires more security which in turn requires higher mining costs. Processing transactions worth a billion every day with mining costs of a million per year surly would be a pretty dumb idea.
It is of course a tough question to figure out how high the mining costs should be. Easier question, how would I attack Bitcoin. Assuming Bitcoin became mainstream and used as much as PayPal or even credit cards and I just want to cause havoc I would probably go for a DoS attack. Obtain the required hashing power and just fork the block chain again and again. I didn't really think this through but just creating legitimate blocks with legitimate transactions but burying them in short side chain after short side chain so that they never get confirmed would be one of my first ideas. Probably way harder to mitigate then detecting blocks with few or useless transactions.
Do this for a couple of days and people will only want to get their money out as quick as possible. The Bitcoin price will crash in no time and people will lose a lot of money. Maybe you could even recapture some of your expenses by blackmailing people or betting on falling Bitcoin prices. But there are probably way more clever ideas then I can come up with ad hoc. Anyway, if mining costs are not high enough or in heavy disproportion to the transaction volume they protect bad things might happen. Back in the days of the cold war spending a billion Dollars on mining hardware to disrupt the Bitcoin based economy of the enemy would have been a real bargain.
I just haven't seen anything to indicate that a feasible attack on bitcoin would actually have a reasonable cost or a reasonable payoff.
If you throw more crypto currencies into the mix an attack is even more isolated.
When thinking about the efficiency of bitcoin it has to be realized that the current financial is also unbelievably, comically terrible. Bitcoin isn't competing against a miracle of elegant genius engineering.
I think the future will likely be a combination of multiple crypto currencies, sub channels within the major currencies, and the public/private key 'banking' that you described.