@Yoghurt114
Consider IBLTs, for example. It is true that we could all agree on some IBLT design that would allow miners to announce their solved blocks with a constant amount of bytes. However:
(a) A miner's solved block may still include a small percentage of transactions the other miners are not aware (even after reception of the IBLT). These need to be communicated in full.
So long as the base set of data is sufficiently similar, these transactions may be extracted from the IBLT; it is an error correcting data structure. But yes, a fallback to getblock is required if IBLT reconciliation fails.
@Yoghurt114
(b) The IBLT needs to be "designed" for a certain operating condition. If it's designed for 8 MB blocks at 95% mempool homogeneity (or whatever the proper lingo is), then it will not be constant size if people try to use it for 128 MB blocks.
(c) If even 10% of the hash power doesn't play along, then the network propagation impedance grows dramatically (the cost to produce block space for
all miners increases).
Yes, the requirement for mempool homogeneity among miners is perhaps the fatal flaw of an IBLT-like scheme to achieve true O(1) block propagation. Rusty Russel gave an excellent talk at the Scaling Bitcoin conference addressing this. It'd make for a less magical-sounding IBLT scheme was originally perpetuated, but it would still drastically reduce propagation impedance and orphan rates to the point block sizes under your paper are huge.
But, lest not forget IBLT is not all there is, as a failure of IBLT does not mean O(1) block propagation is impossible:
Other O(1) block propagation proposals exist. Take, for example, the recent discussion about 'weak blocks' or 'near blocks', which could be thought of as adding a p2pool-type of share propagation method on top of bitcoin's p2p network, where miners announce what they are working on before finding a valid block solution by broadcasting 'nearly valid' blocks (valid at lower difficulty).
These blocks can be pre-validated by competitors and built upon after a constant sized header + O(log n) sized merkle branch containing the coinbase is passed to them when a miner has found a valid block. Allowing anyone to complete the pre-announced block with some 800 bytes of data. Pretty much exactly as much information as the Stratum protocol job announce message, which is even less than IBLT in the best scenario.
This last scheme holds under all 3 of your arguments, and would similarly push propagation impedance into 0.
@Yoghurt114
So, there are at least two reasons the
full propagation time will still depend on the size of the block.…
Now here's a challenge for you. If you read this post and the responses (you'll have to skip over some unrelated posts), there's a lot of good arguments that it will not be possible to use a block size limit to drive up fees: either the protocol would fork around the limit or people would voluntarily exit the currency system. What is your opinion on this?
https://bitco.in/forum/threads/gold-collapsing-bitcoin-up.16/page-39#post-1255
I think you're referring to this post:
https://bitco.in/forum/threads/gold-collapsing-bitcoin-up.16/page-40#post-1275
Right. So if I understand correctly then Bitcoin is implied to not be interesting if pushing a transaction onto the blockchain is perceived to be expensive. If that perception exists then it would follow that incentives through fees over valued content are not a good way at all to run a decentralized broadcast system. Perhaps that's true, we haven't seen a fee market form out of dust yet, so I couldn't argue one way or the other. Incentives in the longer term are interesting, but one can only speculate.
But consider: where would these people move to? If it's a block size limitless Litecoin fork then why would this fork suddenly have solved the reason Bitcoin *does* have a limit. The reason there is a limit in Bitcoin is not an arbitrary one, while the limit is currently perceived to be quite low and rather a nuisance for a great many people, myself included, it undeniably allows for the system to remain decentralized at much greater easy, while the underlying problems it is protecting us from are being fixed.
Check out this thread:
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008091.html
But fine, let's speculate (and this is 10-year long term). I can perceive of a future where if the Lightning Network exists and turns out to be useful, on-chain transactions will be becoming very expensive. 1, 2, 10 dollars, perhaps more (or, optimistically, less). Those, say, 10 dollars - then considered an on-ramp similar to opening a bank account - allow you to participate in a highly efficient payment network that scales, allowing you to transact at sub-sub-cent fees. I don't think paying for coffee with an on-chain transaction is feasible in the long term as has been said many many times, by many people, before.
These costly on-the-blockchain transactions and super-cheap off-the-blockchain-but-still-Bitcoin transactions keep the system as a whole relatively economical; the quadratic broadcast network cost problem is dodged by using a scalable network on top, while still providing sufficient incentives to contributors on the bottom layer.
I also think miners will mature, they will actually know what they're on about instead of say 'just tell us what software to run and we'll run it, we'll also leave all defaults unchanged and irresponsibly focus on nothing-but-short-term profits'. That would massively mitigate 'spam/stress attacks', aswell as make the chance of a reoccurence of a July 4th fork negligible. They will develop appropriate fee policies according to all manner of constraints. Quite possibly orphan risk will be a part of that, though I think by that time we'll have O(1) block propagation - so the size of the blocks will not be as relevant. Instead, I think we'll see fee policies according to some 'time of day/week' schedule; we'd be seeing low priority transactions form that can wait for, say, half a day before being included.
As for user demand: there's always money in the banana stand. Bitcoin provides unique utility and it is only logical a market would form around it so long as that is true.