Pages:
Author

Topic: How a floating blocksize limit inevitably leads towards centralization - page 18. (Read 71641 times)

legendary
Activity: 2940
Merit: 1090
Yes, but, if we the people cannot ourselves examine the gold-plated bars of tungsten n Fort Knox are we fools to think it is actually gold, as some traditions or propaganda claim but none of our friends or family, or in general no-one we actually trust, is able to assay the stuff?

If we cannot validate blocks aren't we in the position of risking every ten minutes that our "gold" has been replaced, behind our backs and by means of deliberately bloating the network instead of using scalable solutions such as a plethora of merged-mined chains, any one of which we could be careful to ensure is within our means to verify, and thus can monitor it 24/7, checking all of its blocks?

Why this determination to prevent we the people from assaying those bars of unknown but possibly somewhat gold-like in appearance material?

Multiple chains is very scalable. Trying to create one monolithic chain too vast for an ever growing fraction of the people to verify is, it seems, almost deliberately trying to keep the people in the dark, maybe motivated by the lure of one massive ("too big to fail"?) chain.

What is next? Maybe "sorry, you cannot examine the blockchain because that would violate the privacy of our users, only we the lords and masters are permitted to do that" ?

-MarkM-
legendary
Activity: 1232
Merit: 1001
I still fail to see how this max Block chain limit could work longterm. The 1MB Limit allows for ~500K transaktions a day.

Now Imagine 180 Mil. People using Bitcoin. That would mean on average every User could make only one Blockchain transaction a Year.

If Bitcoin could still work that way thanks to off Blockchain services. It could possibly even work without the Blockchain at all.
If there are enough off Blockchain services that the average User never needs to make a Blockchain transaction, thus has the possibility to verify his BTC actually exits, where is the difference to the system we already use now?

And if maybe a few Transactions on the Blockchain per month for our off Blockchain BTC services are enough, why should this create high fees?
sr. member
Activity: 426
Merit: 250
I like what Maged is saying. It makes the block size future proof, while insuring that the network is less vulnerable to a single malicious miner.
legendary
Activity: 1036
Merit: 1000
Also, I can't help but think that there is some fallacy in assuming that Bitcoin is reliable because it's "legislated." Even the 21-million BTC limit, which is the very backbone of its value as a currency, can be seen as not being maintained due to legislation, but due to consent. What really is the difference between tens of thousands of nodes consenting to a legislated protocol, and those nodes simply consenting to "a" protocol? The 21M BTC limit being set in stone isn't what makes Bitcoin a reliable store of value; it's simply that people choose to support that hard limit.

What users are relying on is not any kind of contractual obligation or unbreakable rules, but rather just the will of the preponderance of nodes to stick to those rules. It is that social phenomenon, that will, that is the source of Bitcoin's ironclad value guarantee.

When we tell people, "Only 21 million bitcoins will ever by created in the Bitcoin system," we are speaking not of a set of rules per se, but of something more like a social movement that is characterized by its dedication to those rules. That may not sound very reliable, but it has proven to be.
sr. member
Activity: 430
Merit: 250
Wouldn't something like just distributing block headers solve the "some miners have incentive to make big blocks"?

Obviously, with unlimited block size blockchain would become too large for the average user to store, but we don't need that many complete blockchains. If I'm correct a fully pruned blockchain would contain all the necessary information to keep the network safe and would still be small enough for an average user to store?
legendary
Activity: 1036
Merit: 1000
Gavin and co, drop your silly suggestions of using an idea that can't be globally synchronized without a central authority. This suggestion does exactly what you are looking for in a decentralized manner and it's globally synchronized:
[snip]

An automatic adjustment is definitely better than keeping the limit as is, for sure. I used to support it.

Until I realized there's actually no better "automatic adjustment" than spontaneous order. Allow miners to set their own limits, together with "tolerance levels" (a way to say that if an "offending chain" is 2 or 3 or N block longer than mine already, I end up accepting it). Also allow them to define how large the block they build will be.
That's what you need.

I don't believe that pool operators would voluntarily decrease their revenues (by increasing the chance of losing their blocks) and increase their expanses (by paying for wider than necessary bandwidth) in the hope of kicking out lower-bandwidth pools. That's pretty much like price dumping, and price dumping doesn't work. (also, botnet operators have already kicked low-bandwidth pools out anyway... what's the percentage of bandwidth-expenses a pool must have just to be resilient against DDoS? That's likely to be more than what it takes to upload their blocks ).

Yes, why not let the miners deal with it? They'd develop best practices. I'm automatically suspicious of any argument that sounds like "laissez faire = chaos." Many speculations about miner incentives are likely to fall prey to central planning fallacies, ignoring the unseen and long-term adaptive measures miners would take as the market situation unfolds dynamically. Rogue miners who tried to pad or whatever would likely be dealt with by the response from the rest of the miners. Solutions evolve spontaneously.
legendary
Activity: 1106
Merit: 1005
Or p2pool?
Which doesn't scale AFAICT.
Huh? That is news to me, where did you discover that very important tidbit?

AFAICT P2Pool requires each participant to be a full validating node. Maybe that changed and I'm not aware of it. But if such requirement still exists, then it cannot scale as is.
Of course, P2Pool protocol per se could remain. But its participants would eventually be pool operators, and the actual miners (owners of processing power) would connect to these pool operators participating in P2Pool. It would fallback to the model of centralized pools, with the difference that they would be constrained by P2Pool protocol, what might convince some miners to support them. Or not. Can't tell that. What I can tell is that all individual miners doing full validation is not something that scales.
For instance, if BFL really ships their products, I might consider buying the USB-miner thingy. But that would have to run without a full node.
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code

*To increase max block size by n%, more than 50% of fee paying transactions(must meet a minimum fee threshold to be counted) during the last difficulty window were not included in the next X blocks. Likewise we reduce the max block size by n% whenever 100% of all paying transactions are included in the next X blocks.


This is a smart idea as it keeps the max block size to a minimum which still allows bitcoin to grow, so is TierNolan's solution. SimonL's solution seems a variation on this theme too.  Even a pathetic solution: the 1000000 constant is changed to a 1000000 config variable (which can then be changed quickly) is an improvement over what exists today.

All I care about here is helping to prevent bitcoin hitting a wall.

Thus far, all the scams, hacking of sites, lost/stolen coins etc are "user error". Despite all this bitcoin itself has performed perfectly, and this is regularly pointed out to critics. However, if transaction throughput chokes up due to the max block size limit then the "Great Bitcoin Failure of Late 2013" will be written in the history books. Critics will always be able to point out this event whenever bitcoin is promoted to new users. It will not be as good as "virtual gold" anymore, and that would be terribly sad.
legendary
Activity: 1232
Merit: 1094
One reasonable concern is that if there is no "block size pressure" transaction fees will not be high enough to pay for sufficient mining.

Here's an idea: Reject blocks larger than 1 megabyte that do not include a total reward (subsidy+fees) of at least 50 BTC per megabyte.

"But miners can just include a never broadcast, fee-only transactions to jack up the fees in the block!"

Yes... but if their block gets orphaned then they'll lose those "fake fees" to another miner. I would guess that the incentive to try to push low-bandwidth/CPU miners out of the network would be overwhelmed by the disincentive of losing lots of BTC if you got orphaned.

Since this locks in a minimum fee per transaction MB, what about scaling it with the square of the fees.

For example, every 2016 blocks, it is updated to

sqrt(MAX_BLOCK_SIZE in MB) = median(fees + minting) / 50

or 1MB if lower.

Also, a maximum change from the last value of +/- 25%.

So, MAX_BLOCK_SIZE would be

<=50 median gives 1MB (cost per transaction 1.0X)
100 median gives 4MB (cost per transaction 0.5X)
200 median gives 16MB (cost per transaction 0.25X)

This allows the fee size per transaction to decrease, but only as the total fees increase.

I also agree with the "public good" issue with a miner cartel.   Trying to push up the MAX_BLOCK_SIZE might benefit the cartel, but each individual member has an incentive to defect.
sr. member
Activity: 294
Merit: 250
So leaving the limit in place and forcing most peoples transactions to go through clearinghouses is going to suddenly make miners rich or give them an incentive to mine? Do people here really want to see transaction fees having to be 20 or more dollars each on the bitcoin network? And sure the fees might be enormous. The users will take the brunt of that blow. But will miners actually gain from such large fees? Isn't the amount miners are "incentivized" to mine from profit come not only from the size of the transaction fees but the quanity and wouldn't the quantity be reduced if you forced the majority of real world usage transactions to take place totally off the bitcoin blockchain?

The miners can mine a secondary chain pretty much as easily as they could mine double-sized blocks on the primary chain.

The primary good provided by the primary chain is the most difficult proof of work on the planet. Providing that with as few overhead costs such as bandwidth and storage as possible seems like a very good idea, the old do one thing and do it well approach. Accommodating day to day expenses, maybe even accommodating monthly salary paycheques, can easily be delegated to a secondary chain, and even smaller amounts to more secondary chains, allowing the primary chain to as efficiently as possible enable as many hashers as possible to contribute to the difficult work, fully verifying not just blindly rubber-stamping, while accommodating no more transactions, of no less value per transaction, than is absolutely necessary, taking into account the ability to apply that work to as many secondary chains as might turn out to be needed to accomodate any amount of increase in transaction volumes, even all the way down to children buying penny-candy on the latest and leastest secondary chain with its brownie-point coins that kindergartens and homeschoolers worldwide use to incentivise children to learn and teach them how the vast and variegated world of cryptocurrency works and thus to reap transaction fees on as many chains as they choose to scale themselves up to be able to merge all at once.

-MarkM-


I think we might be talking about different things... it sounds like you are talking about something like litecoin. Another chain. A currency for maybe smaller transactions. What I was mentioning was what someone mentioned earlier "bitcoin clearing houses" . Essentially mtgox is already sort of a clearing house from what I gather because when bitcoins exchange hands on the site they just do it all internally off of the blockchain. There is no "secondary chain" to mine.
legendary
Activity: 2940
Merit: 1090
Quote
* By the way, for totally different reasons, it's already not really possible to be a low-badwidth pool. The reason for this is not the Bitcoin protocol per se, but DDoS attacks from bot operators mining on different pools. Unfortunately most major pools were already DDoSed. Ultimately the only defense against such kind of attach is large bandwidth.

Or p2pool?

Which doesn't scale AFAICT.

Huh? That is news to me, where did you discover that very important tidbit?

-MarkM-
legendary
Activity: 1106
Merit: 1005
Gavin and co, drop your silly suggestions of using an idea that can't be globally synchronized without a central authority. This suggestion does exactly what you are looking for in a decentralized manner and it's globally synchronized:
[snip]

An automatic adjustment is definitely better than keeping the limit as is, for sure. I used to support it.

Until I realized there's actually no better "automatic adjustment" than spontaneous order. Allow miners to set their own limits, together with "tolerance levels" (a way to say that if an "offending chain" is 2 or 3 or N block longer than mine already, I end up accepting it). Also allow them to define how large the block they build will be.
That's what you need.

I don't believe that pool operators would voluntarily decrease their revenues (by increasing the chance of losing their blocks) and increase their expanses (by paying for wider than necessary bandwidth) in the hope of kicking out lower-bandwidth pools. That's pretty much like price dumping, and price dumping doesn't work. (also, botnet operators have already kicked low-bandwidth pools out anyway... what's the percentage of bandwidth-expenses a pool must have just to be resilient against DDoS? That's likely to be more than what it takes to upload their blocks ).

Quote
* By the way, for totally different reasons, it's already not really possible to be a low-badwidth pool. The reason for this is not the Bitcoin protocol per se, but DDoS attacks from bot operators mining on different pools. Unfortunately most major pools were already DDoSed. Ultimately the only defense against such kind of attach is large bandwidth.

Or p2pool?

Which doesn't scale AFAICT.
legendary
Activity: 2940
Merit: 1090
So leaving the limit in place and forcing most peoples transactions to go through clearinghouses is going to suddenly make miners rich or give them an incentive to mine? Do people here really want to see transaction fees having to be 20 or more dollars each on the bitcoin network? And sure the fees might be enormous. The users will take the brunt of that blow. But will miners actually gain from such large fees? Isn't the amount miners are "incentivized" to mine from profit come not only from the size of the transaction fees but the quanity and wouldn't the quantity be reduced if you forced the majority of real world usage transactions to take place totally off the bitcoin blockchain?

The miners can mine a secondary chain pretty much as easily as they could mine double-sized blocks on the primary chain.

The primary good provided by the primary chain is the most difficult proof of work on the planet. Providing that with as few overhead costs such as bandwidth and storage as possible seems like a very good idea, the old do one thing and do it well approach. Accommodating day to day expenses, maybe even accommodating monthly salary paycheques, can easily be delegated to a secondary chain, and even smaller amounts to more secondary chains, allowing the primary chain to as efficiently as possible enable as many hashers as possible to contribute to the difficult work, fully verifying not just blindly rubber-stamping, while accommodating no more transactions, of no less value per transaction, than is absolutely necessary, taking into account the ability to apply that work to as many secondary chains as might turn out to be needed to accomodate any amount of increase in transaction volumes, even all the way down to children buying penny-candy on the latest and leastest secondary chain with its brownie-point coins that kindergartens and homeschoolers worldwide use to incentivise children to learn and teach them how the vast and variegated world of cryptocurrency works and thus to reap transaction fees on as many chains as they choose to scale themselves up to be able to merge all at once.

-MarkM-
legendary
Activity: 2940
Merit: 1090
Quote
* By the way, for totally different reasons, it's already not really possible to be a low-badwidth pool. The reason for this is not the Bitcoin protocol per se, but DDoS attacks from bot operators mining on different pools. Unfortunately most major pools were already DDoSed. Ultimately the only defense against such kind of attach is large bandwidth.

Or p2pool?

-MarkM-
sr. member
Activity: 294
Merit: 250
For the blocksize limit removal proponents: What are you afraid of?

That you cannot make transactions for basically free anymore? Don't you get it?
The limit is there for a reason... some of which were already mentioned in this thread.

Maybe once we reach the limit there will be finally some steady income for miners (read not related to the initial block reward).
If the limit is reached consistently there would finally be a market for transactions which wasn't there before. You preach free markets and shit, but when it comes down to it you are afraid of them.

So leaving the limit in place and forcing most peoples transactions to go through clearinghouses is going to suddenly make miners rich or give them an incentive to mine? Do people here really want to see transaction fees having to be 20 or more dollars each on the bitcoin network? And sure the fees might be enormous. The users will take the brunt of that blow. But will miners actually gain from such large fees? Isn't the amount miners are "incentivized" to mine  come from the product of the size of the transaction fees but also  the quanity and wouldn't the quantity be reduced if you forced the majority of real world usage transactions to take place totally off the bitcoin blockchain?

legendary
Activity: 1106
Merit: 1005
I'm sorry for cross-posting, but unfortunately I have a hard time seeing this thread as a "Technical Discussion". This is much more an economical discussion than a technical one by now. And in another thread I said what I think about it while replying to hazek:

You don't understand. I use Bitcoin because it is built upon certain principles and built in such a way that those principles can't be "legislated" away with a rule change. If this isn't the case I have no use for Bitcoin.

The main economical principles of Bitcoin are not being threatened. If they were, I would be among the "resistance" for sure.
What happens is that there's this damn constant limit Satoshi inserted in the code because he couldn't think of something better at the moment he was coding, and now this thing is haunting us.

Wanting to cripple Bitcoin scalability just because you fear that a super-cartel of pool operators would pop up without such handicapping limit? Seriously?
That looks very much too me like the argument for anti-trust laws. This talk that high-bandwidth pool operators would voluntarily pad their blocks with useless data in a desperate attempt to kick out low-bandwidth pools*, risking with that to increase their propagation time and thus also increase the chance of losing their reward... to me it sounds just like the argument that price dumping works. History and economical theory show us that price dumping doesn't work.

That summarizes it in economical jargon for me: the resistance against dropping the limit believes that "dumping techniques" can work, and fear that dropping the limit would be like dropping anti-trust laws. They are wrong.

* By the way, for totally different reasons, it's already not really possible to be a low-badwidth pool. The reason for this is not the Bitcoin protocol per se, but DDoS attacks from bot operators mining on different pools. Unfortunately most major pools were already DDoSed. Ultimately the only defense against such kind of attach is large bandwidth.
full member
Activity: 150
Merit: 100
*To increase max block size, global orphan rate must be below 1%.
*To increase max block size, 95% of the blocks in the last difficulty period must be at/very near the current max size.
*Max block size can only increase by a factor of 2 over four years.

If you always increase block size to meet all demand, TX fees will inevitably fall towards 0.
But as i've said, i like the direction of having an automated block adjustment algo if it does not compromise on security and decentralisation of mining.

How about
*To increase max block size by n%, more than 50% of fee paying transactions(must meet a minimum fee threshold to be counted) during the last difficulty window were not included in the next X blocks. Likewise we reduce the max block size by n%(down to a minimum of 1MB) whenever 100% of all paying transactions are included in the next X blocks.

Basically it means that we only increase block size if the majority of paying TXs are not being included within X blocks. The minimum fee threshold could be the average of all fees paid in the last difficulty window with a hardcoded floor like it is now(0.0005) to prevent abuse. If the % of fee paying TXs not being included in X blocks is less than 50%, then we do not increase the block size to allow competition for express block inclusion.

Obviously the 50% number could be higher or lower but i chose a middle ground. 50% means Bitcoin will adapt the block size to confirm atleast half of all paying TXs as fast as possible.

X should be small enough for express to mean express. But it cannot be too small to allow 1-2 miners to collude and manipulate the block size. Given Satoshi's proof of Bionomial Random walk for double spends, i suggest X be 6 blocks.
n could be a conservative number like 5% to prevent any revenue shock to miners.
legendary
Activity: 2940
Merit: 1090
TL;DR: Maybe factor in exchange-rates, since the more massively and swiftly the value of a coin skyrockets the more enthusasts who picked up a few coins while they were still available for less than a hundred bucks each might become rich enough to be able to consider setting themselves up a full node...


If bitcoin exchange rates continue to skyrocket, at some point even people who only managed to scrape together a fraction of a coin, or lets say, maybe such a huge fraction of a coin that we might as well call it a whole coin to keep our numbers simple, could be in a position to blow that entire coin, which might have taken them many months to accumulate by applying all their included-in-rent electricity and all the hardware they could scape up, on a full-node-capability home-internet system, *if* we don't raise the bar faster than even such devoted enthusiasts are able to keep up.

Do we want a full node to be forever out of such a devoted follower's reach, or would it be preferable that that carrot hovering before their eyes be attainable if they are actually able to make use of their existing hardware budget and pre-paid electricity efficiently (and never spend a satoshi of the satoshis p2pool doles out to them) Huh

Just trying to get some soundings of various data-points. Right now, without increasing the maximum block size, and actually maybe even if we do increase it in a Moore's Law fashion of 50% per year or 100% per eighteen months, it does not seem inconceivable that a truly dedicated and technically competent enthusiast could dream of eventually buying a full node with their strictly hoarded bitcoins...

-MarkM-
legendary
Activity: 1204
Merit: 1015
I think it is clear that throwing vast sums of money into slim chances of even a slight edge is not at all unlikely behavior for miners.
Agreed, which is why the requirements for increasing the maximum block size need to be difficult, but not impossible. Luckily, if we fail, we can just implement a soft-fork with either a manual limit that's lower than the automatic limit, or we can add new requirements for raising the maximum block size.

In fact, that just gave me another idea, we can make it so that whatever we end up doing, it will expire at a certain block a few years in the future and revert to unlimited block size. That way, if we screw up, we can keep trying again via a soft-fork at that expiration point.
legendary
Activity: 2940
Merit: 1090
Well for starters they need not use "previously unheard-of transactions" to pad blocks, they can spam their spam like Satoshi Dice does, heck they can even buy shares of Satoshi Dice and promote Satoshi Dice and lobby the Foundation for the inalienable right of every two-bit loser's losses to be primary-blockchain news items (which is kind of, like, way the heck more massively globally important than mere front-page-news items).

Where does the idea one has to hide one's padding come from? The pathetically trivial transaction fees that increasing the block size kind of undermines the justification for?

Observe historical behavior of miners: spending ten million dollars up front in order to have a slight edge a year down the line, for example as they have done with Butterfly Labs in the ASIC saga. And still they are enthusiastic, still thinking its a good thing they blew that ten million way back when because this year, finally, they might actually start to see some of that hoped-for edge. Meanwhile just holding coins would have appreciated how much in that same span of time?

I think it is clear that throwing vast sums of money into slim chances of even a slight edge is not at all unlikely behavior for miners.

So we could start out with a guess at how much spam ten million dollars would buy, then maybe allow for bitcoin appreciation to realise that those who did not blow the ten million on that saga back when it was many more bitcoins that it would be now or maybe will be soon and who smart from failing to get in on that saga from the moment it became possible to attempt it could amount to much much more itching to be spent on the next slim chance of an edge saga. Unlimited block size just by paying pathetically low transaction fees? How many millions is that gonna cost, an edge is an edge, man, anyone want to throw money at me so I can build myself a city of datacentres in Iceland? (I'll pay 7% a day in dividends once I control the entire network! Wink Smiley)

-MarkM-
Pages:
Jump to: