Bitcoin Core switching from hard-coded to flexible fees in next major release
bitcoinfoundation.org
bitcoinfoundation.org
It does not fix this problem:
"and if there are more transactions than will fit they take the highest-fee transactions first."
So what he's saying is that the bitcoin network can not handle the typical volume of transactions? So you have to prioritize things?
If it can't do it now, today, when it's small, there is simply no way bitcoin is going to grow, which is troubling for the future of bitcoin.
The requirement that every transaction is recorded forever is already causing problem (the block chain is HUGE). And the fees are just a method to try to reduce the side of the data.
Instead a completely different method should be used: A cleanup cycle where old blocks are consolidated and discarded. (The miners agree that the new block is valid, then the old block is no longer needed.)
(Also as a side note bitcoin will never survive past the last mined block. Miners will not continue to mine just for fees, but the amount of entrenched hashing power in place by then means that destroying the network will be trivial for people.)
You don't need to store the whole block chain there are methods to prune it so to speak so that it takes up significantly less space. The Bitcoin client Multibit already does this.
As the transaction volume of the Bitcoin network picks up they can increase the block size so more transactions can be included per block. More transactions means more fees per block.
The right combination of transaction volume, block size, and Bitcoin value could certainly make mining for only transaction fees profitable.
When I wrote my comment I was also thinking of https://bitcointalk.org/index.php?topic=827.0 from 2010, but on a cursory glance it looks like that was resolved with a soft fork, which is possible because the rules were made more restrictive rather than more permissive.
... which wasn't a hard fork. The only hard fork so far was the move from BDB to LevelDB for chain state data.
No, it has to do with fighting spam and DoS attacks.
If there's no lower bound for the fee, and there's no prioritization, there's nothing stopping anybody from sending trillions of transactions to trillions of addresses non-stop.
> the block chain is HUGE
No, it's not. It's 20GB. Many modern games are larger than that.
A 4TB hard drive can be bought for $120. 20GB of that represents the total cost of $0.60. Oh noes!
The fact is, in it's current state the huge block-chain makes bitcoin anything but user-friendly.
https://bitcointalk.org/index.php?topic=145386.0
That will get you up to April, then bitcoin the software will sync the remaining blocks up to the latest.
B) If you're talking about running a node, even my shitty cheap VPN has a gigabit connection. It would take only (20GB/1 Gbit/s) = 2 minutes 20 seconds to download it.
Bitcoin adoption involves syncing with the block chain, so this prevents adoption. So you absolutely should be concerned about a 20GB block chain.
EDIT: Also, phones. My smart phone doesn't have 20GB if storage, and even if yours does, I doubt you can sync 20GB over 3G/4G. A lot of people are touting Bitcoin as a point of sale payment system, but not being able to run it on your phone hurts that.
Like steam.
> Even using one of the torrents (which are way faster than syncing via the bitcoin client), this has to be done overnight on my home cable internet. If you're in a third world country, the time involved becomes completely prohibitive.
Third-world or not, if you live in a place with unreliable or slow internet, it makes no sense to run a full bitcoin node. Just run an SPV client like electrum - it's what most users should be doing today anyway. That way you do not need to download the blockchain.
Same thing for phones - all the mobile wallets I know of are SPV, and only use a few MB of storage.
What makes SPV clients have less privacy than full nodes?
In git master bitcoinj is now HD and so SPV HD wallets will start appearing in the near future. Garbling Bloom filters more aggressively is tricky and will take someone doing some serious work and R&D to really nail.
It's large enough that it can't be stored in a single file on many good filesystems without extra fiddling. While "huge" is obviously a subjective measure, this would certainly seem to apply.
Either way, many modern games come in well under 20GB, so I'm not sure that's the best criterion to use. And storage isn't the problem, as much as the bandwidth requirements to bootstrap a bitcoin client.
And all of these problems will only grow larger over time.
Right now miners aren't creating full 1MB blocks because each transaction has a pretty high orphan cost, but this can be fixed (as mentioned in the post).
The requirement that every transaction is recorded forever is already causing problem ... Instead a completely different method should be used: A cleanup cycle where old blocks are consolidated and discarded.
This is more or less being worked on under the name "ultimate blockchain compression".
Miners will not continue to mine just for fees
It's not obvious that this is the case, but there could be a problem if the 1MB block size limit is still in place at the next reward halving.
The limit is an artificial one, and if the number of transactions starts regularly exceeding the limit, it can be easily raised.
the block chain is HUGE
20GB, which I wouldn't class as particularly large.
Also as a side note bitcoin will never survive past the last mined block.
Given that's around 120 years away, that seems like a pretty long term problem.
Already implemented by multiple clients, and already envisioned by Satoshi in 2008. See Simplified Payment Verification (SPV): https://en.bitcoin.it/wiki/Thin_Client_Security#Header-Only_... (wiki page out-of-date - this is an incomplete list of clients.) The storage requirements of an SPV client only grow by 4MB/year regardless of how many transactions the global network processes. See section 7 of https://bitcoin.org/bitcoin.pdf
"Miners will not continue to mine just for fees"
Yes they will. Most of the observed mining power continued mining through the first reward halving of Nov 2012. This is because miners have different operating costs. So the few that stopped mining actually caused a small difficulty drop (~10% IIRC), which made it a bit more profitable for those who continued mining, so the network stabilized at a slightly lower hashrate (before it continued increasing again in Jan-Feb 2013.)
This demonstrates that mining is an economically self-adjusting activity that can survive 50% drops in mining income. And the disappearance of the fixed reward in year ~2140 will NOT be an event where more than 50% of your mining income disappear overnight [2] so Bitcoin mining is economically viable forever, theoretically.
[1] https://en.bitcoin.it/wiki/Controlled_supply
[2] Fees currently average ~0.05 BTC/block. The fixed reward is 25 BTC/block today and decreases smoothly by halving every ~4 years, therefore it should reach 0.04882812 BTC by year ~2048 [1]. This means even assuming fees never grow beyond 0.05 BTC/block (eg. Bitcoin's adoption stagnates), fees will already represent most of a miner's income by year 2048. Subsequent reward halvings (0.04882812 BTC to 0.02441406 BTC in year ~2052, etc) will be insignificant compared to the income from fees. And the disappearance of fixed rewards in year 2140 will be an even less significant event. Fees will have already represented the majority of mining income for the previous ~100 years.
I don't think Gavin or anyone else claimed it did. This change is just one of several needed to solve these problems.
"Instead a completely different method should be used: A cleanup cycle where old blocks are consolidated and discarded. (The miners agree that the new block is valid, then the old block is no longer needed.)"
Satoshi described "pruning" in the original whitepaper, and it doesn't require a protocol change.
"Also as a side note bitcoin will never survive past the last mined block."
Fortunately that's at least 100 years away. I think that should be enough time to transition to a different incentive structure.
For the other numbers:
https://blockchain.info/charts/n-transactions-per-block each block is about 10 minutes so that gives us around 0.7tps
The Visa number from https://en.bitcoin.it/wiki/Scalability though it looks like Visa redid their site since the source was added so you'd have to search to find the actual source though http://usa.visa.com/merchants/industry-solutions/retail-visa... says they can burst to 24K TPS.
Okay, I'll bite. What will the $USD value be of all aggregate fees be at that point versus the average cost of hashing that block?
If, in fact the cost is greater, then doesn't that suggest fewer people will be interested in mining, which means that the cost will drop?
Seems to me there is a nice feedback loop there.
The big question is: Will the amount of hashpower willing to mine for only transaction fees be enough to secure the network against 51% attacks?
But - there are a lot of other really interesting applications that can be run on the block chain, and I can see people willing to pay much greater transaction fees than $0.10 to get their transaction recorded on the block chain - so plenty of interesting opportunities.
As long as there is someone left running the software, blocks will be mined.
Are there really any pools that don't prioritise higher-fee txn?
Mines need feedback loops with users to ensure that transaction fees are high enough to avoid congestion in transaction processing.
As the blockreward drops, transaction fees will also need to high enough to sustain enough economic interest in mining to protect against 50.1% attacks on the blockchain.
Deleted comment
If they do, they get the keys of the castle.