Bitcoin Forum
May 05, 2024, 12:07:27 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Block size question  (Read 2136 times)
pennywise (OP)
Member
**
Offline Offline

Activity: 73
Merit: 10



View Profile
January 14, 2016, 10:47:57 PM
 #1

Hi,

I have a question.

Am I correct to assume that miner operators can in this moment change the size of the blocks that their nodes produce by altering a certain constant somewhere in the core app?

So what would happen if say 51% of nodes would switch to 2MB blocks? What would be the consequences?

Thank you for your answers.

We went through a period where it was briefly tough and now there are 1400 new billionaires in the world - maybe some capital was misallocated... --Kyle Bass
Make sure you back up your wallet regularly! Unlike a bank account, nobody can help you if you lose access to your BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714910847
Hero Member
*
Offline Offline

Posts: 1714910847

View Profile Personal Message (Offline)

Ignore
1714910847
Reply with quote  #2

1714910847
Report to moderator
1714910847
Hero Member
*
Offline Offline

Posts: 1714910847

View Profile Personal Message (Offline)

Ignore
1714910847
Reply with quote  #2

1714910847
Report to moderator
1714910847
Hero Member
*
Offline Offline

Posts: 1714910847

View Profile Personal Message (Offline)

Ignore
1714910847
Reply with quote  #2

1714910847
Report to moderator
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6581


Just writing some code


View Profile WWW
January 14, 2016, 11:12:45 PM
 #2

Hi,

I have a question.

Am I correct to assume that miner operators can in this moment change the size of the blocks that their nodes produce by altering a certain constant somewhere in the core app?
Yes.

So what would happen if say 51% of nodes would switch to 2MB blocks? What would be the consequences?
Nothing would happen if 51% of the nodes switched to support 2MB blocks.

However the problems happen when 51% of the miners decide to start mining blocks larger than 1MB and 51% of the nodes supported blocks up to 2MB, then the blockchain would fork, specifically a hard fork. There would then be two blockchains. One blockchain would include blocks larger than 1MB while the other would not. The blockchain with larger blocks would be rejected by nodes that don't support larger blocks. If the blockchain with the smaller blocks happened to become longer than the blockchain with larger blocks, it could orphan that entire other blockchain. However, if the other larger block blockchain was longer than the smaller block one, then two blockchains would continue to persist until everyone agreed to use one or the other blockchain.

The consequences of having two blockchains means that the security of the blockchains would decrease due to each one having less hash power. Confirmation times on both blockchains would become longer as there is less hash power and thus less blocks on each blockchain will be produced in the same amount of time as before. Confirmations wouldn't be entirely reliable as the smaller block blockchain could at any moment overtake the larger block blockchain and orphan all of those blocks.

The problem with this is primarily psychological as many people will probably lose confidence in Bitcoin. It is also a major pain in the ass to fix, as we have experienced similar forking events in the past.

Because of the issues that can be caused by competing blockchains, the block size limit will only change with consensus. It only happens if nearly all of the miners and users agree to support those larger blocks and agree to upgrade to code that supports those blocks. Without consensus we would have competing blockchains which could be disastrous.

ZoomT
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
January 15, 2016, 03:04:54 AM
 #3

So what would happen if say 51% of nodes would switch to 2MB blocks? What would be the consequences?

If they simply changed the blocksize limit, this would be a hardfork, so the network will split into two incompatible versions as soon as a >1MB block is mined.

However, a firm softfork (sample code) achieves the same thing (2MB limit rise) except the network cannot split.  The code is a bit more complicated however.
vileygroun
Newbie
*
Offline Offline

Activity: 47
Merit: 0


View Profile
January 15, 2016, 05:49:00 AM
 #4

If 51% nodes started to process 2 MB blocks, then it will hard fork the blockchain. It will be a serious issue then, then many got forks by using the wrong chain. Many of the transactions gets processed may not be shown in the blockchain. They have to officially announce the hard fork and make sure all nodes are updated to the change in the block size.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6581


Just writing some code


View Profile WWW
January 15, 2016, 05:11:09 PM
 #5

If 51% nodes started to process 2 MB blocks, then it will hard fork the blockchain. It will be a serious issue then, then many got forks by using the wrong chain. Many of the transactions gets processed may not be shown in the blockchain. They have to officially announce the hard fork and make sure all nodes are updated to the change in the block size.
No. Nothing will happen if 51% of nodes support larger blocks. Problems only happen when miners do that. Please read the posts previous to yours before posting.

af_newbie
Legendary
*
Offline Offline

Activity: 2688
Merit: 1468



View Profile WWW
January 16, 2016, 11:31:43 AM
 #6

However the problems happen when 51% of the miners decide to start mining blocks larger than 1MB and 51% of the nodes supported blocks up to 2MB, then the blockchain would fork, specifically a hard fork. There would then be two blockchains. One blockchain would include blocks larger than 1MB while the other would not. The blockchain with larger blocks would be rejected by nodes that don't support larger blocks. If the blockchain with the smaller blocks happened to become longer than the blockchain with larger blocks, it could orphan that entire other blockchain. However, if the other larger block blockchain was longer than the smaller block one, then two blockchains would continue to persist until everyone agreed to use one or the other blockchain.
....

Because of the issues that can be caused by competing blockchains, the block size limit will only change with consensus. It only happens if nearly all of the miners and users agree to support those larger blocks and agree to upgrade to code that supports those blocks. Without consensus we would have competing blockchains which could be disastrous.

Are you saying if miners switch to Bitcoin classic (once available) or change the header file in their nodes we might end up with two chains?

If you did this today, your 2MB blocks would be rejected.  Unless they run their mining operations hoping others switch their nodes to higher limit so that they can accept larger blocks, confirming each other.  

They can decide to do just that, but the issue is of source control.  When you are a miner with X number of nodes, you want consistency in your setup.
You want fast, reliable setup.  Last thing you want is to be maintaining core code.

You don't want to solve orphaned or rejected blocks.  Waste of time and money.


VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 03:38:17 PM
 #7

Do not let these guys scare you to much. Hard forks should be embraced and they would only lead to a split if there is a significant amount of divergence on the matter. Therefore a split would only happen if enough people chose not to upgrade. This should be considered a positive thing, since it solves the problem of tyranny of the majority. The ability to split represents our right to self determination. The freedom to have the Bitcoin that we want, regardless of any minority or majority changing the code. Bitcoin is freedom, people are scared of this freedom. Trying to scare others to give up this freedom. Do not give in, embrace what Bitcoin is, embrace the genius of its design. The ability to hard fork exists exactly in order to resolve such disagreements, this is the governance mechanism within the protocol that ensures the freedom and continued decentralization of Bitcoin.
VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 03:45:17 PM
 #8

Hi,

I have a question.

Am I correct to assume that miner operators can in this moment change the size of the blocks that their nodes produce by altering a certain constant somewhere in the core app?

So what would happen if say 51% of nodes would switch to 2MB blocks? What would be the consequences?

Thank you for your answers.
To answer your question, if 51% percent of the miners started creating 2MB blocks then Bitcoin would have effectively increased its blocksize limit. Whether a split would happen or whether this chain has any value depends on whether users and business follow this new chain or not. Bitcoin Unlimited is actually based on this understanding, which is why it is my favored implementation. Bitcoin Classic is great as well, and it is the perfect implementation to reach far reaching consensus today, which is already evidenced by the majority of the mining power now supporting BC and 2MB blocks. BU is compatible with BC fortunately as it is compatible with all blocksize increase proposals.

There has already been a lot of discussion on this subject, just check my post history and you will find a wealth of information. If you look at the discussions I have taken part in you can also read my ideological opponents positions as well, so you can make up your own mind. Smiley
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 16, 2016, 03:48:51 PM
 #9

To answer your question, if 51% percent of the miners started creating 2MB blocks then Bitcoin would have effectively increased its blocksize limit.

If it was only 51% (and why not just say >50% as there is nothing magical about 51) then it would be very problematic as has already been pointed out that could easily be reverted (as you have to continue to control the hashing power).

This is why any hard-fork should require a lot more % of the hashing power (it costs miners a lot in electricity to create new blocks so they are not going to want to be creating invalid ones).

If a >50% attack like this happened then there would be two Bitcoins and you could literally spend your coins twice. IMO if that actually happened then Bitcoin would lose 99% of its value (which is most likely exactly what the banksters are hoping to achieve).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 04:04:45 PM
 #10

To answer your question, if 51% percent of the miners started creating 2MB blocks then Bitcoin would have effectively increased its blocksize limit.
If it was only 51% (and why not just say >50% as there is nothing magical about 51) then it would be very problematic as has already been pointed out that could easily be reverted (as you have to continue to control the hashing power).

This is why any hard-fork should require a lot more % of the hashing power (it costs miners a lot in electricity to create new blocks so they are not going to want to be creating invalid ones).

If a >50% attack like this happened then there would be two Bitcoins and you could literally spend your coins twice. IMO if that actually happened then Bitcoin would lose 99% of its value (which is most likely exactly what the banksters are hoping to achieve).
First thing you said here is accurate, it would indeed not be a good idea to fork the network at 51%, however theoretically this is possible. Having a higher hashrate like seventy five percent is better, which is what Bitcoin Classic is now aiming for.

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible, for you to say that is just baseless fear mongering.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 16, 2016, 04:06:44 PM
 #11

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible that is just baseless fear mongering.

I never said you could spend "on the same chain" (please don't put words into my mouth - I am not doing so to you).

You would be able to spend your pre-fork coins on both chains so this is not fear mongering but simple *fact* (have you not understood how it works?).

So if such a hard-fork situation arises then no vendor would want to accept any BTC purchases (nor should they) until a clear majority has taken control.

If that control is not taken smoothly and quickly then you would expect chaos.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 04:10:56 PM
 #12

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible that is just baseless fear mongering.

I never said you could spend "on the same chain" (please don't put words into my mouth - I am not doing so to you).

You would be able to spend your pre-fork coins on both chains so this is not fear mongering but simple *fact* (have you not understood how it works?).

So if such a hard-fork situation arises then no vendor would want to accept any BTC purchases (nor should they) until a clear majority has taken control.

If that control is not taken smoothly and quickly then you would expect chaos.
Fair enough I misread what you said there, was good that I clarified it anyway. I suppose our conceptions of economics disagree on this point then.

We should embrace the concept of Bitcoin being able to split. If you think that this would make Bitcoin lose its value then you should leave now. Even if this blocksize issue does not lead to a split I can guarantee that a split will happen in the future most likely over a different issue. It is this mechanism that actually gives Bitcoin more value in my mind since it ensures the continued freedom and decentralization of the protocol.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 16, 2016, 04:11:53 PM
 #13

We should embrace the concept of Bitcoin being able to split. If you think that this would make Bitcoin lose its value then you should leave now.

Thanks for the arrogant statement - how about you just leave instead?

(hint: you don't win hearts and minds the way you are going about things)

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6581


Just writing some code


View Profile WWW
January 16, 2016, 04:13:26 PM
 #14

Are you saying if miners switch to Bitcoin classic (once available) or change the header file in their nodes we might end up with two chains?

If you did this today, your 2MB blocks would be rejected.  Unless they run their mining operations hoping others switch their nodes to higher limit so that they can accept larger blocks, confirming each other.  
Yes. Part of the forking process is producing blocks with a version of a certain number or higher to indicate support for the fork. Once enough of the last n blocks (usually 750 of the last 1000 blocks, but that changes depending on how much consensus the developer wanted) have that version number, then nodes begin rejecting any lower version blocks and then some time after the fork actually occurs. This allows nodes to know that a fork is happening and that the fork is supported. Then there is the grace period for people to upgrade so that when the hard fork does happen, there is consensus and the blockchain doesn't actually split into two chains that could survive.

Do not let these guys scare you to much. Hard forks should be embraced and they would only lead to a split if there is a significant amount of divergence on the matter. Therefore a split would only happen if enough people chose not to upgrade. This should be considered a positive thing, since it solves the problem of tyranny of the majority. The ability to split represents our right to self determination. The freedom to have the Bitcoin that we want, regardless of any minority or majority changing the code. Bitcoin is freedom, people are scared of this freedom. Trying to scare others to give up this freedom. Do not give in, embrace what Bitcoin is, embrace the genius of its design. The ability to hard fork exists exactly in order to resolve such disagreements, this is the governance mechanism within the protocol that ensures the freedom and continued decentralization of Bitcoin.
Hard forks by themselves are not bad. However doing a hard fork without consensus can lead to a lot of problems. The problem now is that there isn't consensus on what to do, so at this time, a hard fork is probably not a good idea.

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible, for you to say that is just baseless fear mongering.
He doesn't mean spend the same coins twice on the same chain, he means that with two chains, the amount of Bitcoin you have essentially doubles. If you mix your prefork coins with post fork coins on both chains, then you have the same amount of currency on both chains. You have double of what you had originally and can thus spend more than what you should have been able to.

VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 04:15:39 PM
 #15

We should embrace the concept of Bitcoin being able to split. If you think that this would make Bitcoin lose its value then you should leave now.
Thanks for the arrogant statement - how about you just leave instead?
Since I do not have a reason to leave, it seems like you might have a reason to leave according to your own conceptions. If you think that a split will lead to Bitcoin having no value, and I think splits are guaranteed over the long run. It follows to reason that maybe you should not be in Bitcoin. Considering that anyone can split the chain even with a small minority, if you think that this would destroy Bitcoin then Bitcoin is already dead, anyone could manufacture a split. I do not think that Bitcoin is this vulnerable myself.

Thinking that Bitcoin will never split, is like thinking that we should all just agree with each other for the rest time till the end of time. History, economics and human nature does support this presumption. It also does not align well with my conceptions of freedom.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 16, 2016, 04:18:09 PM
 #16

Since I do not have a reason to leave, it seems like you might have a reason to leave according to your own conceptions.

Really?

Hmm... let me see - I remember now - Unwatch!

(so now that I have *left* feel free to carry on spouting your nonsense)

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 04:24:33 PM
 #17

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible, for you to say that is just baseless fear mongering.
He doesn't mean spend the same coins twice on the same chain, he means that with two chains, the amount of Bitcoin you have essentially doubles. If you mix your prefork coins with post fork coins on both chains, then you have the same amount of currency on both chains. You have double of what you had originally and can thus spend more than what you should have been able to.
This is a good thing, it protects the users of Bitcoin, since regardless of what chain becomes dominant Bitcoin holders will have a share in both chains, making it a win win for users. Surely it would not be better if users had to choose? Making it a win lose proposition. This scenario would effectively split Bitcoin into two currencies, therefore it does not increase the total supply and does not weaken the value proposition of Bitcoin, from my perspective it actually strengthens it.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6581


Just writing some code


View Profile WWW
January 16, 2016, 04:34:19 PM
 #18

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible, for you to say that is just baseless fear mongering.
He doesn't mean spend the same coins twice on the same chain, he means that with two chains, the amount of Bitcoin you have essentially doubles. If you mix your prefork coins with post fork coins on both chains, then you have the same amount of currency on both chains. You have double of what you had originally and can thus spend more than what you should have been able to.
This is a good thing, it protects the users of Bitcoin, since regardless of what chain becomes dominant Bitcoin holders will have a share in both chains, making it a win win for users. Surely it would not be better if users had to choose? Making it a win lose proposition. This scenario would effectively split Bitcoin into two currencies, therefore it does not increase the total supply and does not weaken the value proposition of Bitcoin, from my perspective it actually strengthens it.
But for the miners mining on one chain, if that were to lose, they would lose a lot of money. For businesses, which coin should they accept? Some people might take advantage of both and accept coins from both chains. Then people will have twice the money that they should have, essentially inflation. Other businesses might not know what to do and simply stop accepting Bitcoin until there is only one coin that is called Bitcoin.
Which coin is the "real" Bitcoin? You can't have two coins calling themselves Bitcoin.

Then there is another technical aspect, since both would still share the same magic bytes, the same port numbers, and some other stuff that I don't remember right now. That means that blocks and transactions for one chain will be broadcasted to nodes that support the other chain. This also means that it is possible for a node to be accidentally isolated from the network if all of its peers happen to be for the chain other than the one it uses. Then it wouldn't receive any blocks or transactions and any transaction it makes wouldn't be seen by the network. This can cause problems for both users and miners. Miners would have a higher orphan rate on both chains because their blocks would propagate slower as some nodes would relay them and some wouldn't. Same with transactions. Users would have a harder time with getting their transactions out. Both could simply become unsynced with the network. Having those two chains could probably cause some more problems that we haven't even thought of yet.

VeritasSapere
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500



View Profile
January 16, 2016, 04:51:19 PM
 #19

The second point you brought up is false. After the split it will not be possible to spend your coins twice on the same chain. The chains will have effectively split creating two separate currencies, it does not make double spends possible, for you to say that is just baseless fear mongering.
He doesn't mean spend the same coins twice on the same chain, he means that with two chains, the amount of Bitcoin you have essentially doubles. If you mix your prefork coins with post fork coins on both chains, then you have the same amount of currency on both chains. You have double of what you had originally and can thus spend more than what you should have been able to.
This is a good thing, it protects the users of Bitcoin, since regardless of what chain becomes dominant Bitcoin holders will have a share in both chains, making it a win win for users. Surely it would not be better if users had to choose? Making it a win lose proposition. This scenario would effectively split Bitcoin into two currencies, therefore it does not increase the total supply and does not weaken the value proposition of Bitcoin, from my perspective it actually strengthens it.
But for the miners mining on one chain, if that were to lose, they would lose a lot of money. For businesses, which coin should they accept? Some people might take advantage of both and accept coins from both chains. Then people will have twice the money that they should have, essentially inflation. Other businesses might not know what to do and simply stop accepting Bitcoin until there is only one coin that is called Bitcoin.
Which coin is the "real" Bitcoin? You can't have two coins calling themselves Bitcoin.

Then there is another technical aspect, since both would still share the same magic bytes, the same port numbers, and some other stuff that I don't remember right now. That means that blocks and transactions for one chain will be broadcasted to nodes that support the other chain. This also means that it is possible for a node to be accidentally isolated from the network if all of its peers happen to be for the chain other than the one it uses. Then it wouldn't receive any blocks or transactions and any transaction it makes wouldn't be seen by the network. This can cause problems for both users and miners. Miners would have a higher orphan rate on both chains because their blocks would propagate slower as some nodes would relay them and some wouldn't. Same with transactions. Users would have a harder time with getting their transactions out. Both could simply become unsynced with the network. Having those two chains could probably cause some more problems that we haven't even thought of yet.
There are downsides to this granted, I do not perceive this as inflation but I can understand how people can have different conceptions of this phenomena. However considering how important this governance mechanism is for Bitcoin, what would you suggest as an alternative to this problem? The tyranny of consensus and or possibly a singular implementation with centralized authority and control?
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6581


Just writing some code


View Profile WWW
January 16, 2016, 04:59:32 PM
 #20

The tyranny of consensus and or possibly a single implementation with centralized authority and control?
I think that the consensus rules shouldn't be tied to one implementation. I think it should still be consensus and essentially voting, but still have consensus as we do now. And instead of the current governance with the one reference implementation, we should move to how the IETF does standards for the internet.

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!