Pages:
Author

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

legendary
Activity: 1722
Merit: 1217
sr. member
Activity: 322
Merit: 250
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
Isn't it possible to have a better happy medium though? Where transactions are say........ a dollar at most? Or maybe a few?  Just how big would they get? Maybe that's why all the devs are saying wait and see. :T
But yeah it would still be an achievement to actually need a greater block size

* "the devs" do not even agree amongst themselves Smiley

* There is no immediate need to change the block size (as you point out), only a perceived, debatable future need.

* Until that point happens, it is impossible to know what is a happy medium.  And how will we know that happy medium?  The free market and user choice will decide, not some cabal of miners or devs.

It is entirely within the realm of possibility that the userbase would refuse to change the block size.  It is inevitable that some users will indeed refuse to upgrade, thereby rejecting all (in their opinion) oversized blocks, thereby creating that most undesirable of outcomes, the long-lived chain fork.

Will a majority endorse the block size change, or refuse?  An unanswerable engineering question, for the moment.  And given the present lack of need for a hard forking change, there is not much point in speculation.



+1 agree with you jgarzik
legendary
Activity: 2184
Merit: 1056
Affordable Physical Bitcoins - Denarium.com
That being said, here is how we need to proceed:

...
2) We wait and see what happens when the current hard limit is pushed. We let the fees go up a bit. We study the reaction from Bitcoin users and see what kind of incentives and solutions higher fees encourage. This is when we start deciding which of the alternative models is actually best.

3) We decide a timetable for the change, if we decide to make a change, and put it in motion.

Huh? Let's see how bad it is first, how bad it destroys what bitcoin is.... then let's see what we should do about it?

I don't understand why you didn't quote number 1, which is the most important part. The plan I outlined involves modeling the different options before the issue becomes a problem. Once it starts to become one, we have a better idea of which option to pursue further, and we can move on it fairly quickly.

Right now I find it hard to believe that a "clearly superior" solution emerges. If one does emerge and it still remains as "the solution" once the blocks become crowded, then so be it. I just think that the more data we have, the easier it is to choose a model that will work on the long run.
legendary
Activity: 1232
Merit: 1094
What about multiple blockchains? And i dont mean competing blockchains, i mean other bitcoin blockchains that use the same bitcoins we use now. These blockchains wouldn't add any coins to the economy and would work entirely on transaction fees. Coins would be added to these blockchains by sending coins from the original blockchain to an address on the new blockchain and coins could be sent back to the original blockchain at any time.

I made a similar suggestion, though it was based on hierarchy.  All chains would have a 1MB limit.

There would be a top-level parent chain.  Each chain would have 4 children chains.

Coins could be swapped internally in a chain.  In addition, there would be promote and demote transaction outputs.  This would send coins upwards and downwards.

The problem is that if you require "upward" coins to be verified by the parent chain, then you are effectively including the child chain in the parent chain, which defeats the purpose.

One way around it is to use the simplified payment system to move coins back to the parent chain.  This is where you assume the child chain blocks are valid, as long as there is a reasonable number of confirmations.

Miners on the toplevel chain would include the headers for the lower level chain in the parent chain somehow (say adding a merkle root to the coinbase code).

Once a header is included in the parent chain, then it becomes a "soft" checkpoint in the child chain and must be mined against, unless it is invalid.  Effectively, a child chain header in the parent chain has higher PoW than one that isn't in the header.  Validity checks are still needed so if an invalid child-block is included, it can still be orphaned.

As long as no reorg happens on the parent chain, this makes it much less likely that a re-org would happen on one of the child chains.

The parent chain would checkpoint the children every 1-2 blocks on average.

Downward payments are easy, a child chain needs to just monitor its parent and itself.

Upward payments could have a rule that they are accepted, as long as the transaction is buried at least N blocks deep in the child chain.  This can be checked without having to download the entire child chain.  N could be set to 120 or even higher.  

A balance would be maintained for each child chain.  The total sent upwards from a child chain could never exceed the total sent downwards.  Child chains might end up with reduced coin value.  This would happen if the chain confirmed a transaction that wasn't properly backed (and didn't orphan that transaction).  This protects the parent chain and maintains an incentive for child chains to keep proper track of things.

If a child chain has 5,123,456 coins in various balances (including grandchildren) but only 4,999,124 was actually demoted on net from the parent chain, then it would have to rescale all coins by 4999124/5123456.

Also, child chains would have to be tx fee supported, there would be no minting fee.
hero member
Activity: 504
Merit: 500
WTF???
That being said, here is how we need to proceed:

...
2) We wait and see what happens when the current hard limit is pushed. We let the fees go up a bit. We study the reaction from Bitcoin users and see what kind of incentives and solutions higher fees encourage. This is when we start deciding which of the alternative models is actually best.

3) We decide a timetable for the change, if we decide to make a change, and put it in motion.

Huh? Let's see how bad it is first, how bad it destroys what bitcoin is.... then let's see what we should do about it?

legendary
Activity: 1078
Merit: 1003
legendary
Activity: 1400
Merit: 1013
Increasing the size prematurely isn't scalability, its actual scaling. Heck even when it is time to do it (when it is no longer premature) it still will be actual scaling, not mere scalability. Get the difference? Scaling (actually increasing the size) awaits scalability (the mythical or vaporous or simply not quite yet ready to be merged-in optimsations).
I agree that simply raising the block size limit does not solve the scalability problem. That's why I posted in this thread:

https://bitcointalksearch.org/topic/m.1549439
legendary
Activity: 1722
Merit: 1217
What about multiple blockchains? And i dont mean competing blockchains, i mean other bitcoin blockchains that use the same bitcoins we use now. These blockchains wouldn't add any coins to the economy and would work entirely on transaction fees. Coins would be added to these blockchains by sending coins from the original blockchain to an address on the new blockchain and coins could be sent back to the original blockchain at any time.

The reason i suggest this is because eventually if bitcoin became a global phenomena, even while pushing the upper bounds of blocksize that the network could handle it could still be the case that transaction fees could be in the range of hundreds or thousands of dollars to get 1 tx included in a block. I dont really know what the solution to this is and admittedly i am grasping at straws here but who knows maybe you guys can take the idea and run with it.

Unless there where reasons to fafour inner blockchain transactions more than others, this would on average increase the total size by ~50% for the same amount of transactions.

25% Chain A to Chain A transactions
25% Chain A to Chain B transactions
25% Chain B to Chain A transactions
25% Chain B to Chain B transactions

So 50% of all Transactions would have to be noted in two chains.

Unless I understand this proposal wrong.

hell i dont even really understand the proposal. its just process of elimination that leads me to this proposal (since everyone elses proposals have serious problems). But i imagine that blockchains would be regional. Since most trades would be with people in your area than most transactions would remain on the same blockchain. You are right though that if you wanted to send coins to someone on another blockchain you would need to pay 2 tx fees. Which would mean inorder to have the total fees cut in half we would need to ~ quad-ripple the total number of chains not double it.

this would also create a market for firms to store up large amounts of coins from each blockchain and make big transactions instead of a lot of little ones. This would really encourage people to use services like bitpay rather than sending the coins directly.
legendary
Activity: 1232
Merit: 1001
What about multiple blockchains? And i dont mean competing blockchains, i mean other bitcoin blockchains that use the same bitcoins we use now. These blockchains wouldn't add any coins to the economy and would work entirely on transaction fees. Coins would be added to these blockchains by sending coins from the original blockchain to an address on the new blockchain and coins could be sent back to the original blockchain at any time.

The reason i suggest this is because eventually if bitcoin became a global phenomena, even while pushing the upper bounds of blocksize that the network could handle it could still be the case that transaction fees could be in the range of hundreds or thousands of dollars to get 1 tx included in a block. I dont really know what the solution to this is and admittedly i am grasping at straws here but who knows maybe you guys can take the idea and run with it.

Unless there where reasons to fafour inner blockchain transactions more than others, this would on average increase the total size by ~50% for the same amount of transactions.

25% Chain A to Chain A transactions
25% Chain A to Chain B transactions
25% Chain B to Chain A transactions
25% Chain B to Chain B transactions

So 50% of all Transactions would have to be noted in two chains.

Unless I understand this proposal wrong.
legendary
Activity: 1722
Merit: 1217
What about multiple blockchains? And i dont mean competing blockchains, i mean other bitcoin blockchains that use the same bitcoins we use now. These blockchains wouldn't add any coins to the economy and would work entirely on transaction fees. Coins would be added to these blockchains by sending coins from the original blockchain to an address on the new blockchain and coins could be sent back to the original blockchain at any time.

The reason i suggest this is because eventually if bitcoin became a global phenomena, even while pushing the upper bounds of blocksize that the network could handle it could still be the case that transaction fees could be in the range of hundreds or thousands of dollars to get 1 tx included in a block. I dont really know what the solution to this is and admittedly i am grasping at straws here but who knows maybe you guys can take the idea and run with it.
legendary
Activity: 2184
Merit: 1056
Affordable Physical Bitcoins - Denarium.com
There needs to be a clear idea of how some of the transactions that the blockchain can't handle, can be substituted. I've heard two versions of the story. The first one is that different blockchains, such as Ripple, start complementing Bitcoin. This idea is actually good, and I don't have a major problem with it. Ripple is an excellent complement to Bitcoin.

The second story however, is extremely undesirable. There is talk of people doing increasing amount of transactions within centralized services such as exchanges. That is a disaster which completely destroyes the central ideas behind Bitcoin. Bitcoin is a system without 3rd party trust (this would be destroyed), and it's also a system where using fractional reserve is very impractical (this would be destroyed as well). This second point would lead to the 21M coin limit meaning much less than it does now.

d'aniel had excellent points on this, which are exactly the arguments I'm most concerned about. It's real centralization, not some vague claims of a theoretical mining monopoly. Ripple as a complementary system is not that worrysome though.

That being said, here is how we need to proceed:

1) We come up with alternative models for what we're going to with the block size when this issue hits the fan. One of the options is clearly to do nothing.

2) We wait and see what happens when the current hard limit is pushed. We let the fees go up a bit. We study the reaction from Bitcoin users and see what kind of incentives and solutions higher fees encourage. This is when we start deciding which of the alternative models is actually best.

3) We decide a timetable for the change, if we decide to make a change, and put it in motion.

*We can also be substituted with "the dev team", however this issue is bigger than just the dev team. It's about which direction the users want to steer Bitcoin towards. It's a monumental decision.
legendary
Activity: 1232
Merit: 1001
As a slight tweak on the pay for space rule, what about making it exponential.

When difficulty is updated, update the max block size for the next period based on the total fees for the previous period.
...

I don't think making the Blocksize a function of a fixed BTC fee amount would be a good Idea.

1. We can impossible know how much 50 BTC will be at some point. This could mean (unlikely, but still) at some point that you would have to pay 1000st of Dollars to get a Transaction processed.

2. This directly contradicts that lost coins are not a problem.

3. Lets look at the 50 BTC total reward example. That would mean at some point that each Year 6.75% of all BTC to ever exist would have to be spend as fees.
legendary
Activity: 1232
Merit: 1094
As a slight tweak on the pay for space rule, what about making it exponential.

When difficulty is updated, update the max block size for the next period based on the total fees for the previous period.

MAX_BLOCK_SIZE (MB) = pow(2, ((tx + minting fees for the last period) / 50 / 2016) - 1)

This would allow reasonably fast growth, but still guarantee tx fees.

In fact, in the extreme, you could just remove the block size limit for any block that is has at least 50 total fees.

By averaging it over a period, it prevents combing lots of transactions into 1 block to bypass the rule.

-> -> -> -> ->

OTOH, maybe that is a good thing.  Most "small" miners could still mine the small fee txs.

The sizes would be

6.75:
12.5: 0.59MB
25: 0.7 MB
50: 1 MB
100: 2MB
150: 4MB
200: 8MB
250: 16MB
300: 32MB
350: 64MB
400: 128MB

To use up the entire bitcoin coinbase each year in fees requires around 400 BTC per block on average, so it is still hitting a hard limit.

The dynamic system could be that if the (tx + minting) fees are > T per block in the last period, then increase by 10% and if less than 0.5T, then decrease by 10%.
legendary
Activity: 1204
Merit: 1015
I don't know that I'd agree that a 1% change per difficulty adjustment is going to be enough.

All of the baked in constants are of course subject to tuning before final implementation. I used 90% and 1% as examples.

Granted.

Upon further consideration, I think that this might be a great way to move the soft limit, but I still think we need to have a (much higher) hard limit.  For the reasons that I stated before, and others, a hard limit removes many of the incentives for big players to engage in anti-competitive activities; since it puts a very real limit to the long term effectiveness of such underhanded methods.
As I mentioned before, we could have it so that the current hard limit is the least of several hard limits. Therefore, we could add in expiring hard limits that get removed after a certain block, allowing us to set it to a new value manually via soft-forks after that point.
legendary
Activity: 1204
Merit: 1015
if we scale up to a point where only the Googles of the world are capable of keeping up, what does that buy us?

We should

1) Have a more rigorous argument / test data that shows how a block size above a certain threshold will push miners off the system

2) Figure out how to relate measurements of the network to estimating the largest block size threshold

The algorithm itself can do that by watching the global orphan count from, say, the last difficulty period.
legendary
Activity: 1204
Merit: 1015
Another method would be to permit an un-limited block based upon an interval that miners could not depend upon.  For example, the difficulty is adjusted every two weeks or so, but the difficulty adjustment block could also be an unlimited block, also permitting (perhaps expecting) the miner that finds that block to not only include every single fee paying transaction in the block, but also every single transaction still in his queue.  This would limit the delay for free transactions to a two week maximum, and only burden the bandwidth challenged clients and miners once every two weeks and on a predictable schedule.

Occasionally flushing the transaction queues would benefit all players, without significantly impacting the scarcity of transaction space for the remainder of the time period.  However, the second method is likely to encourage free transactions leading up to the unlimited block's expected arrival; whereas the prior method of permitting unlimited blocks based upon a fee-less transaction queue would not encourge same, but nor could users be certain that their free transactions be processed in any reasonable time frame, as there is not way to be certain that any miner would be willing to do this.
You could use block hashes as a random number generator to make it so that the unlimited block will happen on average every 2 weeks, but not at any specific time. Each block could have a field for the hash of an "additional block" which would be added onto the mined block if the block hash met the random condition (otherwise, the field would just be ignored and the "additional block" wouldn't even be transmitted).
hero member
Activity: 501
Merit: 500
I kind of like the idea of high transaction fees. Bitcoin is a premium service requiring high amount of computing and networking resources.

But when I say that, I mean I like the idea of $10 fee per transaction, not $100 per transaction. (USD-2013 for nitpickers.)

If Bitcoin ever becomes even moderately widely adopted and the 7tps in-chain transaction limit is kept, we're talking about very high fees.

This is why I support misterbigg's voting proposal.
legendary
Activity: 1596
Merit: 1100
Isn't it possible to have a better happy medium though? Where transactions are say........ a dollar at most? Or maybe a few?  Just how big would they get? Maybe that's why all the devs are saying wait and see. :T
But yeah it would still be an achievement to actually need a greater block size

* "the devs" do not even agree amongst themselves Smiley

* There is no immediate need to change the block size (as you point out), only a perceived, debatable future need.

* Until that point happens, it is impossible to know what is a happy medium.  And how will we know that happy medium?  The free market and user choice will decide, not some cabal of miners or devs.

It is entirely within the realm of possibility that the userbase would refuse to change the block size.  It is inevitable that some users will indeed refuse to upgrade, thereby rejecting all (in their opinion) oversized blocks, thereby creating that most undesirable of outcomes, the long-lived chain fork.

Will a majority endorse the block size change, or refuse?  An unanswerable engineering question, for the moment.  And given the present lack of need for a hard forking change, there is not much point in speculation.

sr. member
Activity: 461
Merit: 251
What changed in your understanding of marketing during the last three years?

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

The block size is an intentionally limited economic resource, just like the 21,000,000-bitcoin limit.

Changing that vastly degrades the economics surrounding bitcoin, creating many negative incentives.


One of the most lucid comments I have read so far. Thank you jgarzik
Haha, I asked him to elucidate that comment.
Pages:
Jump to:
© 2020, Bitcointalksearch.org