Bitcoin Forum
July 19, 2024, 10:19:38 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Block 1mb cap question  (Read 748 times)
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 01:35:47 AM
 #1

So I have been reading about this from googling, but I often get contradicting answers with arguments from both sides, no cap vs cap. I understand that as the block gets bigger, there is a higher chance that it becomes orphan. However, as the block gets bigger, your reward also increases from getting more transaction fees. In the end, there is a balance between them, and the miners will decide however big the block is to maximize their profits. I thought the idea of Bitcoin is free market, so why is there a limit of the block size? Why not just let the market decides how big the block is? If it's not beneficial to go over 1 mb then most miners won't do it, so there is no need for the block size limit in the first place. Why was the limit being imposed in the first place? For what purpose? Thank you! 

Please try to explain it in layman terms. I won't be able to understand too much technicality.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3458
Merit: 4737



View Profile
July 18, 2016, 02:51:23 AM
 #2

- snip -
I thought the idea of Bitcoin is free market, so why is there a limit of the block size? Why not just let the market decides how big the block is?
- snip -

Bitcoin has lots of artificial limits built in to it. This is done to create a functional usable system.

Some examples:
  • Total bitcoins that will be created
  • Average time between blocks
  • Mining dificulty
  • Transaction size
  • Block size
  • SigOps per block

phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 03:05:13 AM
 #3

I can see the reasons for most of the other artificial limits. I'm interested in what is the main reason for the block size limit? Bitcoin inventor is a genius, so I don't think anything is done for no reason. He/she must have a reason in mind for any limit set in place.
AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 03:13:19 AM
 #4

... He/she must have a reason in mind for any limit set in place.

My understanding is that Satoshi in 2010(?) put in the 1MB limit (from 32MB (?)) because of a blocksize attack vector.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 03:15:51 AM
 #5

What do you mean by that? I don't even understand what is the blocksize attack vector. Can you please elaborate more? Thank you!
AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 03:26:04 AM
 #6

What do you mean by that? I don't even understand what is the blocksize attack vector. Can you please elaborate more? Thank you!

More advanced members can answer your question properly with more detail and expertise.

Simply, Satoshi was made aware that allowing an unrestricted blocksize (at the time 32 MB)
was allowing possible attackers to flood the network with spam txs that could be designed to
increase the blockchain size faster than anticipated. Due to this, Satoshi placed the 1MB restriction.

By doing so, now attackers must pay a fee to attack the network.
The more the attacker wants to flood, the more they must waste their money and time.
Before Satoshi implemented the 1MB, the attackers could attack the network for free.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 03:31:24 AM
 #7

I'm still confused... What kind of fee do attackers have to pay? How is "increase the blockchain size faster than anticipated" bad? I don't understand the implication of this. Can you explain more? Thanks!
BlindMayorBitcorn
Legendary
*
Offline Offline

Activity: 1260
Merit: 1116



View Profile
July 18, 2016, 03:34:58 AM
 #8

New blocksize thread. Oh god. No.

Forgive my petulance and oft-times, I fear, ill-founded criticisms, and forgive me that I have, by this time, made your eyes and head ache with my long letter. But I cannot forgo hastily the pleasure and pride of thus conversing with you.
AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 03:44:13 AM
 #9

I'm still confused... What kind of fee do attackers have to pay? ...

Attackers now have to pay the "miner's fee". Originally, there was no fee, but a "donation" to the miner.
At one time, Miners would accept zero fee txs and include them within blocks, since the limit was not reached.
Due to the Satoshi limit of 1MB, if an attacker attempts to flood the network with txs, they will need to pay a fee,
to be included in the next (or a) block. This means that an attacker must spend their own money, to attack the
Bitcoin network. Paying competitive fees are a way to prevent a certain blocksize attack vector.


How is "increase the blockchain size faster than anticipated" bad? I don't understand the implication of this. Can you explain more? Thanks!

When a block is found and txs are included in that block, that block has filled its space with data.
As blocks are found and build upon each other, that is called a blockchain.
The blockchain has all the data ever transacted within the Bitcoin network.
When Satoshii placed the limit, he was ensuring that the blockchain size did not get too big, too fast.
The implication is that the Bitcoin network today, could have been entirely centralized and failed,
if he did not take the action that he did.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
tobacco123
Sr. Member
****
Offline Offline

Activity: 552
Merit: 250


View Profile
July 18, 2016, 04:10:19 AM
 #10

I think the increase in block size is definitely needed, and with the advancement in technology we should expect the issues/risks to be resolved.

Imagine we have been using 1Mb blocks for more than 7 years- I am sure the increase in bandwidth, reduction of cost of harddisk/memory and also increase in computational power must have been sufficient for the increase to larger blocks.

AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 04:24:24 AM
 #11

I think the increase in block size is definitely needed, and with the advancement in technology we should expect the issues/risks to be resolved.

Imagine we have been using 1Mb blocks for more than 7 years- I am sure the increase in bandwidth, reduction of cost of harddisk/memory and also increase in computational power must have been sufficient for the increase to larger blocks.

First of all, your comment is irrelevant to this thread.
The OP was asking for answers, not your opinion on a topic that is hotly debated and potentially outside
this OPs sphere of knowledge and definitely outside the questions that the OP has asked.

Second, risks such as described in this thread are never "resolved", they are only mitigated.
If they could be resolved, then they are just bugs waiting to be fixed.
The blockchain attack vector is something we must live with currently and attempt to mitigate.

Third, if/when we raise the blocksize, for example to 2MB, we need more txs that are paying fees to fill
that new blockspace to once again prevent a blockchain attack vector. (Cheap/zero fees allows attacks)
We will just be back to where we are now, assuming we get new user demand with 2x tx with fees.

Ultimately, described above, is only one small piece of a large complicated issue (blocksize debate).
We should not just wave our hand with certainty and say "it is safe and doable, so lets do this leeeroooy!"
Bitcoin is not as resilient as some would believe. We should take our time and do whats knowable.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 05:27:59 AM
Last edit: July 18, 2016, 05:48:44 AM by phu3vietkieu
 #12

I think I'm slowly getting your point. However, I have some counterarguments; maybe you can enlighten me some more. Let say there is no cap, and the attackers tries to flood the network with 0 fee transactions. Then this shouldn't matter. Why would any miner wants to include transactions without fee in their block? Isn't the smaller block the less likely it becomes orphan and more likely to discover new block? So miners would only include blocks with transaction fees that gives them higher trade-off. The market would bring itself into an equilibrium without external limitations; this is the idea of free market, right?
AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 05:53:21 AM
Last edit: July 18, 2016, 06:12:19 AM by AgentofCoin
 #13

I think I'm slowly getting your point. However, I have some counterarguments; maybe you can enlighten me some more. Let say there is no cap, and the attackers tries to flood the network with 0 fee transactions. Then this shouldn't matter. Why would any miner wants to include transactions without fee in their block?

This is a very complicated issue. So for the sake of time and simplicity:

When there is no cap, there is no need for fees. Satoshi understood this.
No cap = Zero fees = many txs = flooding = inclusion in blocks = large data added into blockchain = failure
There must always be a cap, it just needs to be slightly higher than the networks current demand.

Miners do not currently care about fees. They are actually worthless to them right now (but not in the future).
Miners are not required by the protocol to include txs, but wish to include anyway since that is what give the network its value.

Isn't the smaller block the less likely it becomes orphan and more likely to discover new block? So miners would only include blocks with transaction fees that gives them higher trade-off. The market would bring itself into an equilibrium without external limitations; this is the idea of free market, right?

Yes, the smaller the block, the lesser chance it will become orphaned and better chance to find the next block.
Miner's fee currently do not create a good enough trade-off. In fact, they would rather include no txs right now.
The current race is for the block reward. The future race will be for the Miner's fees.

I don't know what you mean by free market. I do not think there is a free market in Bitcoin mining.

Edit: I think I understand your free market statement. If we let the "miners decide" then they
will only decide to create malicious blocks to destroy their miner competition. For example, a Chinese miner
can create a 20MB block, send it to the network, and when the other miners are over whelmed, the Chinese
miner will find the next block, fill it to 20MB again and repeat. What you don't relies is that the miners could
also perform a block attack on other miners with an unrestricted cap. You are assuming that all miners will play fair.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 06:11:05 AM
Last edit: July 18, 2016, 06:22:36 AM by phu3vietkieu
 #14

"Miner's fee currently do not create a good enough trade-off. In fact, they would rather include no txs right now."

If including no txs is indeed better right now then how come the average block size is about .7 MB as of today? Shouldn't that be 0 if all miners care about is block reward and if the fees are really worthless.

" I think I understand your free market statement. If we let the "miners decide" then they..."
If a miner creates a 20 MB block and send it to the network to overwhelm other miners, but this is assuming the attackers are the first one to discover the block. How can a few attackers with a large MB block be faster than almost all the other miners (there are a lot more miners than attackers I'm assuming) with let say 0 MB block? And even if the attackers get lucky one time by discovering the block first, they won't repeatedly get lucky again and again. This won't be a problem since it happens rarely if at all.
AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 06:32:49 AM
Last edit: July 18, 2016, 06:54:15 AM by AgentofCoin
 #15

"Miner's fee currently do not create a good enough trade-off. In fact, they would rather include no txs right now."
If including no txs is indeed better right now then how come the average block size is about .7 MB as of today? Shouldn't that be 0 if all miners care about is block reward and if the fees are really worthless.
I previously said the following:
...Miners are not required by the protocol to include txs, but wish to include anyway since that is what give the network its value....


" I think I understand your free market statement. If we let the "miners decide" then they..."
If a miner creates a 20 MB block and send it to the network to overwhelm other miners, but this is assuming the attackers are the first one to discover the block. How can a few attackers with a large MB block be faster than almost all the other miners (there are a lot more miners than attackers I'm assuming) with let say 0 MB block? And even if the attackers get lucky one time by discovering the block first, they won't repeatedly get lucky again and again. This won't be a problem since it happens rarely if at all.

No. You don't understand this. I can not explain everything.
You need to do more reading about Bitcoin.

The mining attacker is only an attacker if they find a block before the other miners.
That attacker then relays their found block which includes txs that amount to over 20MBs.
Now, the other miners need to verify that, and begin building on that.
The attacker is already working on a new block, while the other miners are still processing all
the txs that the attacker miner included to slow them down. This gives the miner attacker an
advantage and the possibility of finding another block and then repeating the process.

It is a form of attack that the Satoshi blocksize limit also attempts to mitigate.

Currently, one of the three big Chinese Miners have enough hash now to do such an attack on
the other smaller miners and potentially ruin them and make them go bankrupt.

This is an exploit and an attack that would originate from allowing the miner free market to decide.

This "rarely" happens now because it is not possible to do now.
With a unlimited cap, it will be common place till there is only one miner left.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 06:54:35 AM
Last edit: July 18, 2016, 07:06:36 AM by phu3vietkieu
 #16

It takes 10 mins on average to find a new block. Processing a 20 MB new block is no problem; all miners would be back at the game within the matter of few seconds. I don't see any issue here. The way I see it is that for the attack to be successful the new block size would have to be an the order of GB and discover a new block of that size is virtually impossible. Like discovering a new block of 20 MB size is hard enough, imagine trying to do that with block size of GB... Not sure if that is even possible. Other miners with 0 MB block would most likely discover the new block first.

"Currently, one of the three big Chinese Miners have enough hash now to do such an attack on the other smaller miners and potentially ruin them and make them go bankrupt."
I don't think there is any miner (potential attacker) has enough processing power to overcome 50% of the total processing power of all the miners in the world. There are many many miners in the world. Even the most powerful processor is only a small fraction compared to all miners' processing power. Like the total processing power of all miners right now is about 1600 PHash/second. This is a humongous number that no individual or small group of individuals can even come close to half of that.
AgentofCoin
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
July 18, 2016, 07:05:45 AM
 #17

It takes 10 mins on average to find a new block. Processing a 20 MB new block is no problem; all miners would be back at the game within the matter of few seconds. I don't see any issue here. The way I see it is that for the attack to be successful the new block size would have to be an the order of GB and discover a new block of that size is virtually impossible. Like discovering a new block of 20 MB size is hard enough, imagine trying to do that with block size of GB... Not sure if that is even possible. Other miners with 0 MB block would most likely discover the new block first.

"Currently, one of the three big Chinese Miners have enough hash now to do such an attack on the other smaller miners and potentially ruin them and make them go bankrupt."
I don't think there is any miner (potential attacker) has enough processing power to overcome 50% of the total processing power of all the miners in the world. There are many many miners in the world. Even the most powerful processor is only a small fraction to all miners' processing power.

According to my understanding, 5 to 8MB is the minimum blocksize needed before they can successfully perform the mining attack described.
It would not take a few seconds, but tens of seconds if not a minute or more for some miners. In the world of mining tens of seconds is alot.
If it was not, then Satoshi wouldn't have set the blocktime to 10 minutes and we could have 1 minute blocktimes since its no big deal.

In order to perform the attack, you do not need to beat 50%, I think you need over 30%.
You do not need to consistently beat everyone at every block, you just need to weaken your opponents.
Over a matter of weeks of continuous attempts and successes, a few small miners will go belly up.


I am not an expert in this nor claim to be. I try to read and understand as best I can.
If you are interested in more complex discussions and details, you need to talk with an advanced member and
probably post your questions in the technical discussion section.

I support a decentralized & unregulatable ledger first, with safe scaling over time.
Request a signed message if you are associating with anyone claiming to be me.
phu3vietkieu (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2016, 07:19:30 AM
 #18

"If it was not, then Satoshi wouldn't have set the blocktime to 10 minutes and we could have 1 minute blocktimes since its no big deal."
Not sure if I get your point here. Tens of seconds is a lot for 1 minute yes, but it is not a lot for 10 minutes. It is a decent amount of time yes, but it is not a dominating advantage. So sure let just say the attackers get lucky and manages to discover a block size of 20 MB and get a minute head start than everyone else on the next block. There is still a very slim chance that the attackers can do this again when everyone is back in the game after 1 minute of delay. No matter how powerful the attackers are; they are only made up of a small fraction of the overall processing power of all miners. This is pretty much the way it is with 1 MB limit. The more powerful your computer can process the more likely you'll discover the new block first. This is always the case whether or not there is a limit.

"In order to perform the attack, you do not need to beat 50%, I think you need over 30%."
Even 30% is impossible. No supercomputer in the world can do 30% of 1600 PHash/second.

"Over a matter of weeks of continuous attempts and successes, a few small miners will go belly up."
You're assuming over time many miners would simply just give up. That doesn't seem to be the case. Competition has always been intense even with 1 MB limit, and miners don't just give up. They keep trying until they get the rewards, and in fact, more and more people are trying to mine over time.
Quickseller
Copper Member
Legendary
*
Offline Offline

Activity: 2940
Merit: 2358


View Profile
July 18, 2016, 07:31:32 AM
 #19

When there is no cap, there is no need for fees. Satoshi understood this.
No cap = Zero fees = many txs = flooding = inclusion in blocks = large data added into blockchain = failure
There must always be a cap, it just needs to be slightly higher than the networks current demand.
I don't agree with any of this.

>When there is no cap, there is no need for fees. Satoshi understood this.
One can only speculate why satosi did what he did, however at the time the maximum block size was lowered to 1MB, bitcoin was very cheap and the cost of running a full node was more expensive then it is today, especially when you consider the cost to amount of "legitimate" transaction volume ratio. There was simply not enough transaction demand to account for a 32MB block, it would be relatively cheap to fill blocks up with 32MB worth of transactions, and most miners likely had not customized their mining software sufficiently in order to prevent DDoS attacks on the network via blockchain spam.

>No cap = Zero fees = many txs = flooding = inclusion in blocks = large data added into blockchain = failure
This is outright false. For every additional transaction that a miner includes in their block, it will take an incremental unit of time for the block to propagate throughout the network, and will take an additional unit of time for nodes to validate the block. If a miner were to find a block that would take an hour to propagate and validate then it would be an almost certainty that the block will eventually get orphaned. When a miner includes an additional transaction in their found block, there is an increased chance that the block will end up getting orphaned. Therefore there are costs for miners to include additional transactions, and miners will not include an additional transaction unless it's fee is greater then the cost of including such transaction.

>There must always be a cap, it just needs to be slightly higher than the networks current demand.
See above. Network technology will force the miners to self-regulate in order to prevent an excess amount of their blocks from getting orphaned.
Kakmakr
Legendary
*
Offline Offline

Activity: 3486
Merit: 1963

Leading Crypto Sports Betting & Casino Platform


View Profile
July 18, 2016, 08:10:58 AM
 #20

It takes 10 mins on average to find a new block. Processing a 20 MB new block is no problem; all miners would be back at the game within the matter of few seconds. I don't see any issue here. The way I see it is that for the attack to be successful the new block size would have to be an the order of GB and discover a new block of that size is virtually impossible. Like discovering a new block of 20 MB size is hard enough, imagine trying to do that with block size of GB... Not sure if that is even possible. Other miners with 0 MB block would most likely discover the new block first.

"Currently, one of the three big Chinese Miners have enough hash now to do such an attack on the other smaller miners and potentially ruin them and make them go bankrupt."
I don't think there is any miner (potential attacker) has enough processing power to overcome 50% of the total processing power of all the miners in the world. There are many many miners in the world. Even the most powerful processor is only a small fraction to all miners' processing power.

According to my understanding, 5 to 8MB is the minimum blocksize needed before they can successfully perform the mining attack described.
It would not take a few seconds, but tens of seconds if not a minute or more for some miners. In the world of mining tens of seconds is alot.
If it was not, then Satoshi wouldn't have set the blocktime to 10 minutes and we could have 1 minute blocktimes since its no big deal.

In order to perform the attack, you do not need to beat 50%, I think you need over 30%.
You do not need to consistently beat everyone at every block, you just need to weaken your opponents.
Over a matter of weeks of continuous attempts and successes, a few small miners will go belly up.


I am not an expert in this nor claim to be. I try to read and understand as best I can.
If you are interested in more complex discussions and details, you need to talk with an advanced member and
probably post your questions in the technical discussion section.


First of all, thanks for the good explanation you provided here in this thread, you should consider a teaching job in Bitcoin related material, because you can explain the most complex thing, very well. ^smile^ I just want to know, why they do not want to increase the minimum block size to 5 or below 8MB atleast, if the blocksize is such a issue? Or is this a issue created, that are not supposed to be a issue? I know Satoshi wanted to scale this as deemed necessary by the demand and tx volumes, and seeing that blocks are not even 3/4 full most of the time, a 2 to 3MB blocksize, would be enough right now?

Once again, thank you for the good explanations, I thought I understood most of this, until I read your answers. ^smile^

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
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!