Pages:
Author

Topic: review of proposals for adaptive maximum block size - page 3. (Read 5250 times)

Ari
member
Activity: 75
Merit: 10
That might work, though I'm worried that with such rules blocks would become gradually larger and over time the number of full nodes would shrink dramatically as weaker computers get separated from the network. For example, dial-up nodes would get separated right away. No one would care that dial-up users can no longer run full nodes, and they would themselves mostly just say, "Oh well, I guess my setup is too slow to run a full node. Time to switch to a lightweight node." This is probably reasonable for dial-up, but I think that it might over time spread to most people. As blocks become larger, people on average PCs would have to switch to lightweight nodes, then even hobbyists, and then even small businesses.

We're a long way from that.  Even something at the scale of Paypal (~85 tps) could run on an average desktop PC with 1mb/sec internet connection.

The post from Gavin that I was referring to is here:

https://bitcointalksearch.org/topic/m.1503099
newbie
Activity: 37
Merit: 0
Compound interest is a bitch.

The progrssive doubling proposals are suspicious for the same reasons, percentages instead doesn't really change the fundamental unsustainability of compound interest.

Better to be a backward nation with an unassailable infrastructure than a wet paper bag any superpower or axis of allied determined enemy nations will blow right through simply as a side-effect of catering to the endless greed/gluttony of their ever more obese moar moar moar proletariat. Huh

-MarkM-


You give no logic reasons.
The miners have incentives to keep the size to a realistic size and also include as many transactions as possible.

The market will clearly find the right size based on what is possible and what makes the most money. Evil miner Attackers that can create 10 blocks in a row and increase size to problematic size is not realistic.
legendary
Activity: 2940
Merit: 1090
Compound interest is a bitch.

The progrssive doubling proposals are suspicious for the same reasons, percentages instead doesn't really change the fundamental unsustainability of compound interest.

Better to be a backward nation with an unassailable infrastructure than a wet paper bag any superpower or axis of allied determined enemy nations will blow right through simply as a side-effect of catering to the endless greed/gluttony of their ever more obese moar moar moar proletariat. Huh

-MarkM-
newbie
Activity: 37
Merit: 0
The miner that mines a block should be able to choose the block size.
Max size limited to: ( previous_block_size * 2 )

If most miners choose to double the size more transactions can be processed.
If most miners keep a small block size fees will have to go up to incentivise the miners to increase the block size.

The miners have an incentive to keep the block size to a realistic size to keep the network working and also earn as much as possible by processing as many transactions as possible.
This will let the market deside the best block size.

No. First, as a matter of national security, we need a hard limit no terrorist miner coalition or axis of allied enemy nations can exceed to disable the nation's financial infrastructure.

Within that, miners can go ahead and double and halve and bicker and moan all they like.

-MarkM-


Well. The scale up factor could be set lower. Example: Max size limited to: ( previous_block_size * 1.1 )

No attacker would be able to mine every block in succesion and increase the size to unrealistic size.
Once in a while a frendly miner would keep the size to a realistic size and prevent a size increase attack.

Problem solved.
legendary
Activity: 2940
Merit: 1090
The miner that mines a block should be able to choose the block size.
Max size limited to: ( previous_block_size * 2 )

If most miners choose to double the size more transactions can be processed.
If most miners keep a small block size fees will have to go up to incentivise the miners to increase the block size.

The miners have an incentive to keep the block size to a realistic size to keep the network working and also earn as much as possible by processing as many transactions as possible.
This will let the market deside the best block size.

No. First, as a matter of national security, we need a hard limit no terrorist miner coalition or axis of allied enemy nations can exceed to disable the nation's financial infrastructure.

Within that, miners can go ahead and double and halve and bicker and moan all they like.

-MarkM-
legendary
Activity: 2618
Merit: 1007
there are fees paid even though there is still quite some room to grow and block subsidy is high.

Did we forget that clients will only relay transactions through the overlay network if they have a minimum fee attached (computed based on the size of the transaction and the age of the coin)?

Tsk...tsk...

This is not a hard rule and you could directly connect to a "friendly" miner who also mines spammy transactions to get these into the block chain. Also I can be that miner myself. This is like the 250kB "limit" that currently seems to be something where people bump against.

I see your point that the network forces some people right now to pay fees, but the same effect could be done if miners start to claim that they won't mine these spammy transactions.
newbie
Activity: 37
Merit: 0
The miner that mines a block should be able to choose the block size.
Max size limited to: ( previous_block_size * 2 )

If most miners choose to double the size more transactions can be processed.
If most miners keep a small block size fees will have to go up to incentivise the miners to increase the block size.

The miners have an incentive to keep the block size to a realistic size to keep the network working and also earn as much as possible by processing as many transactions as possible.
This will let the market deside the best block size.

administrator
Activity: 5222
Merit: 13032
I like Gavin's proposal.  (I mean his actual proposal, not the "half-baked thought" quoted above.)

No hard limit, but nodes ignore or refuse to relay blocks that take too long to verify.  This discourages blocks that are too large, and "spam" blocks containing lots of transactions not seen on the network before.

This might create an incentive to mine empty blocks.  To discourage this, in the case of competing blocks, nodes should favor the block that contains transactions they recognize, and ignore (or delay relaying) the empty block.

That might work, though I'm worried that with such rules blocks would become gradually larger and over time the number of full nodes would shrink dramatically as weaker computers get separated from the network. For example, dial-up nodes would get separated right away. No one would care that dial-up users can no longer run full nodes, and they would themselves mostly just say, "Oh well, I guess my setup is too slow to run a full node. Time to switch to a lightweight node." This is probably reasonable for dial-up, but I think that it might over time spread to most people. As blocks become larger, people on average PCs would have to switch to lightweight nodes, then even hobbyists, and then even small businesses.

Maybe there should just be a planned hardfork every 4 years (or whatever) where the max block size is set to something reasonable and other fixes are made.
legendary
Activity: 1064
Merit: 1001
there are fees paid even though there is still quite some room to grow and block subsidy is high.

Did we forget that clients will only relay transactions through the overlay network if they have a minimum fee attached (computed based on the size of the transaction and the age of the coin)?

Tsk...tsk...
legendary
Activity: 1064
Merit: 1001
How can we know at what % of the entire monetary base spent on mining is enough security?

We can't. Which is why I revoked my approval for my own proposal for adjusting the block size in order to drive the sum of the subsidy plus transaction fees per block to a constant amount. Note that my scheme is identical to the one you proposed (it is just more prescriptive with respect to actual implementation).
legendary
Activity: 2618
Merit: 1007
The name of the game is keeping the block space as scarce as possible, encouraging fees that will eventually have to cover the costs of securing the network but not making it too scarce so that Bitcoin can scale batter.

If blocks are basically limitless (= have a limit that only serves for DoS protection of somebody mining a 10 TB block, i.e. a hard limit for the next decade of 1 GB/block), your argument would be that this means the total fees per block would be lower than if the limits are tight (= users actually not only have to convince miners with their fees to include their transaction but they also need to make their trasaction as small as possible or for example fitting in between existing transactions or combining a lot of these to make sure they are as efficient as possible)?

Block space currently is quite arbitrarily chosen at a quarter of the actual limit in bitcoin-qt and most miners even follow this ruleset. Still there are fees paid even though there is still quite some room to grow and block subsidy is high.

I'd also like to see a comment on a "too high to reach without malicious intent" block size that does not limit miners to include transactions based on scarce block size but only on their own metrics (e.g. "spammyness", "fees per kB"...). Something maybe along the lines of "10 (100?) times the median (not average, to remove potential outliers) block size of the past 4 years" adjusted together with the block subsidy every 4 years or even adjusted every 2 weeks (then it might be too easy for attackers to shift the median, but it might be easier to recover/grow as well) with the difficulty. Again the goal should be that the block size never limits miners at all on deciding which transactions to include.
legendary
Activity: 1078
Merit: 1003
So quite possibly mining will be completly covered by subsidies, maybe even ever-growing subsidies

False.

A certain amount of mining will be covered which we cannot know whether or not it would be enough to not give the proper profit incentives to someone thinking about attempting an attack. With the growth of value of bitcoins it becomes more and more lucrative to perform an attack therefor mining should also bring in more and more profits encouraging more and more mining.

My proposal at max costs 12,5% and at minimum 6,25% of the entire monetary base anually (if the block size has been increased at least once). It's pretty hard to imagine someone would want to spend 25% or at min 12,5% of the value of the entire monetary base just to perform an attack. Now maybe this is overkill, but how can we know? How can we know at what % of the entire monetary base spent on mining is enough security?
legendary
Activity: 2940
Merit: 1090
Exchange rates determine whether a decreasing subsididy is a larger or smaller actual real income; double the exchange rate every four years and the subsidy is not shrinking at all, it is growing. Quadruple the exchange rate over the course of four years and the halved subsidy is actually double what the previous halving had adjusted it to.

So quite possibly mining will be completely covered by subsidies, maybe even ever-growing subsidies, until all the coins have been minted, in what is that, 136 years or so from now?

If the block size is to increase to fit more transactions into the money-supply, then unless we deliberately try to spam that size with trivial transactions wouldn't it be more reasonable to suspect that each increase in exchange rate could drive block size up, maybe not linearly but maybe somewhere between some value just under linear and some value down near the square root (some exponential function anyway) of the amount the exchange rate multiplied?

(Four times exchange rate = size multiplies by something between two and somewhat less than four.)

-MarkM-
member
Activity: 113
Merit: 11
I also proposed something similar to Mr Big, but it would also take into consideration whether the difficulty has gone up or down between the current and last period. All of the proposals thus far consider the economic case, but not the propagation health of nodes in the network, and I reckon that difficulty can actually be used as a canary in the mineshaft warning that increasing the max block size, even given other conditions being met, will potentially cause network problems and put strain on nodes in the network because during that period were not able to safely propagate blocks fast enough and the max block size increase should be either avoided or even reduced in such cases, differences in difficulty and the sizes of blocks over the current and previous difficulty periods should reflect this.

I mention it briefly here:
https://bitcointalksearch.org/topic/m.1555072

And fully flesh out my argument for incorporating difficulty here:

https://bitcointalksearch.org/topic/m.1538386

Sorry if I sound like a broken record re-mentioning this again, but no-one has even commented or criticised why my approach is good or bad, makes me wonder if I'm deluding myself.
legendary
Activity: 1078
Merit: 1003
You are still talking about the ideal size of blocks miners should make if they want mining to be a viable business.

The hard coded block size limit is not motivated by that.


I realize that but looking to get a certain amount of fees before a higher limit is allowed ensures that the networks gets a certain amount of funding to be hopefully able to buy the necessary hardware in order to handle the size limit increase. How high and how far this can go before it reaches the hardware limits regardless of how much money you throw at it I have no idea.. But that's a different problem entirely.


My goal was only to show a middle road between Bitcoin not scalling within it's peer to peer infrastructure and eventually requiring super expensive transactions fees due to a limited block size and between Bitcoin scaling as much as desired at the expense of many peers and at the expense of the incentive to pay enough fees to ensure miners get the needed funding despite the decreasing subsidy.

If there is such a middle road it has to be with somewhat higher transactions fees as a requirement for the ability to handle more tps.
full member
Activity: 238
Merit: 100
You'll all have to excuse my stupidity, but what's wrong with unlimited (*) blocks? Let each miner set his own transaction fees and free market competition will ensure that transaction fees are kept low while still keeping the network secure. Surely putting some artificial limit on blockchain size in order to drive up fees is little different to central bankers imposing QE or inflation targets on a currency.

Of course, bitcoin mining will migrate to where there is cheap energy, but this might have a beneficial side effect - more effort will be put into building cheap energy sources (read: renewable (**)) so any given geographical region can contribute to mining and so benefit from incoming tx fees ("free money" for want of a better description).

(*) up to some reasonable limit that shouldn't ever be reached, which will depend on how widespread bitcoin adoption is - visa handles a peak of about 10000 tx per second, assume normal use is 3000 tx/sec, assume 250 bytes per transaction and you'd need on average 0.5GB sized blocks every 10 minutes. For the immediate future, I think there's no reason the blocksize should increase beyond 10MB at the outside.

(**) hopefully renewable but admittedly, not necessarily so.

Why should ordinary users be forced to subsidise visa or even SD spam ? This is akin to the current system where corporations offload as much cost and risk as possible onto the public via government subsidies derived from taxation.
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
markm,

you are introducing a new debate which is about the maximum block size the network can handle. This needs to be kept separate from the max block size constant debate which is big enough already.

It might be that when the average block size is 700Kb the network begins seriously degrading because blocks are not being received/retransmiited effectively, it might be that this happens when they are an average of 12Mb each. If it is the lower size then we have been debating the wrong issue lately. If it is the upper size then, hopefully, the network will be wealthier (I am assuming that most owners of full nodes have BTC holdings) and some of that could be converted to fiat to buy better hardware.

This debate really needs to be in a new thread, and the results of models/testing made known there.
legendary
Activity: 2940
Merit: 1090
You are still talking about the ideal size of blocks miners should make if they want mining to be a viable business.

The hard coded block size limit is not motivated by that.

So your guesses might help figure out whether miners can attract enough transactions to have any hope of filling the existing blocks instead of not even coming close to using the whole size already available, but the hard limit is a backwards looking limit in a way, it looks at what the existing network can handle, not at what the future network might be able to handle if all the nodes were upgraded.

We have not even actually proven the network can handle one-megabyte blocks, have we?

How many back to back full one-megabyte blocks have been pumped through so far to demonstrate it really can handle the current max size?

How long can we keep up such blocks back to back without encountering any problems?

-MarkM-
legendary
Activity: 1078
Merit: 1003

So essentially fees have a ceiling, once it's reached miners get more breathing room and fees will drop. Once that ceiling is reached again indicated by the fees collected miners again get more breathing room. If ever there's too much room and fees start getting lower then the space is made scarce in order to encourage higher fees.

What do you think?


While fees have a ceiling, they also have a floor, which I think is too high.  12.5% of the monetary base per year?


It's not 12,5%, it 12,5 at max. If this max is reached block space is made more available causing fees to likely drop significantly.

For a mature economy that would be way too high.  

I'm guessing a range between 12,5% and 6,25% is what you'd still think is too much but there's just no way to know this. Just like there was no way to know that 50BTC would be enough or that now 25BTC would be enough. Btw with 25BTC we are currently paying 12,28% in monetary inflation per year for security and a little bit in fees. So such a percentage isn't too unreasonable, it's what we have right now!

So to modify your proposal, I'd say that until the block subsidy drops down into that 2% range, the range for doubling or halving the blocksize limit should be between the actual subsidy plus 5% and double the subsidy.

I don't quite understand. Can you show an example?


BTW I get the gist of your post it's just that you can't know what a good balance is between fees accumulated and the scarcity of the block space. Your solution while I don't entirely understand it strikes me as way too cheap to have the block size limit raised.. And btw if a competitor can find a better balance algo for this issue I'd actually welcome this, I think that given this problem and other problems Bitcoin is not the last cryptocurrency and will not stay the most popular cryptocurrency for ever, there likely will be better ones and I welcome that. But better ones will become better onea by trial and failure and not because someone knew in advance some formula is better suited to keep the relationships between incentives exactly right.. I think that's just impossible to know.
legendary
Activity: 2940
Merit: 1090
Let's say, again arbitrarily, that if subsidy + fees on average in the last evaluation period of 2016 blocks exceeds 50BTC, block size limit is doubled and because more transactions fit into a block the fees per transaction to reach the threshold are now less and inline with the theory that more activity means rising value of bitcoins. And every time subsidy + fees per block on average in the last 2016 falls under 25BTC, the block size limit is divided by 2 to the minimum of 1mb.

Halving ought not be needed, if max is truly properly hard max, and truly properly never raised too much, once it goes up it should never need to go down.

For one thing, anyone who cannot handle the current max will be out of business when the current max does actually get fully used. In fact maybe even before then, as maybe just a few stretches of full blocks in a row each day might choke them up too much to keep up, and if such stretches are long enough, often enough, they might never be able to get caught up on the backlog before the next solid stretch of back-to-back max-size blocks arrives.

So basically, modulo any wiggle room (like max being big enough that only at Christmas or whatever "busy season" do you ever get close to max sized blocks, let alone all in a row day in day out) everyone who cannot handle the current max is out of the game long before a new max comes along.

So whatever the max is at any given period of history, it is already small enough that everyone in the game at that point in history can handle that size.

Therefore there is no need to lower it unless world war, global catastrophe or somesuch causes a devolution back into the barbaric ancient times when people had to get by with a lower max block size.

-MarkM-

EDIT: We are talking about ABSOLUTE MAX BLOCK SIZE here, not the size miners actually happen to make for maximising their profit.
Pages:
Jump to: