Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: donno20 on February 22, 2018, 08:06:37 PM



Title: How to handle more than 2k plus number of transactions in 10 minutes
Post by: donno20 on February 22, 2018, 08:06:37 PM
We know that a block size is 1M, and produced about 10 minutes. 1 block consists of 2 thousands transactions. My question what if more than 2 thousands transactions done globally within 10 minutes? How bitcoin system handle this?


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: Xynerise on February 22, 2018, 09:06:05 PM
We know that a block size is 1M,and produced about 10 minutes.
There is nothing like "block size" anymore in bitcoin since Segwit got activated, instead there is the concept of block weight (https://medium.com/@jimmysong/understanding-segwit-block-size-fd901b87c9d4)
There is a block weight of 4MB.
So blocks can be larger than 1MB in size (https://www.smartbit.com.au/block/0000000000000000001bbb529c64ddf55edec8f4ebc0a0ccf1d3bb21c278bfa7)
Quote
1 block consists of 2 thousands transactions.
A block can have way more --or less -- than  2,000 transactions depending on the block weight of the individual transactions.
 
Quote
My question what if more than 2 thousands transactions done globally within 10 minutes? How bitcoin system handle this?
They transactions that don't fit in a block wait in the "mempool" until they are added to a block by a miner.
Because of the scarce block space, miners are incentivized to pick high-fee transactions over low-fee ones, so the transactions that pay higher fees usually get added to a block while the ones with lower fees wait in (the) mempool until they are added.
The mempool of a node can grow large (past 180MB at times) and if it gets filled up, transactions with low fees are dropped and have to be broadcast again.


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: ABCbits on February 23, 2018, 03:48:06 AM
We know that a block size is 1M,and produced about 10 minutes.
There is nothing like "block size" anymore in bitcoin since Segwit got activated, instead there is the concept of block weight (https://medium.com/@jimmysong/understanding-segwit-block-size-fd901b87c9d4)
There is a block weight of 4MB.
So blocks can be larger than 1MB in size (https://www.smartbit.com.au/block/0000000000000000001bbb529c64ddf55edec8f4ebc0a0ccf1d3bb21c278bfa7)

Actually, maximum block weight is about 4000 kWU (unit measurement), not 4MB. With block weight, maximum block size we can see is near 4MB , not 4MB, but it's possible on specific transaction scenario and every transaction use Bech32. So, ideally we can see 2MB block size even if majority transaction use SegWit.

Quote
1 block consists of 2 thousands transactions.
A block can have way more --or less -- than  2,000 transactions depending on the block weight of the individual transactions.

True, also SegWit P2SH (which have backward compability) and SegWit Bech32 also a factor how much transaction can fit into a block.


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: nc50lc on February 23, 2018, 04:29:52 AM
A block can have way more --or less -- than  2,000 transactions depending on the block weight of the individual transactions.
This goes back to the Topic Question, How to handle more than 2k plus number of transactions in 10 minutes?
See, if we go back to December when there were more than 2000 transactions happening approximately every 10 minutes, today's smooth-flowing mempool could get clogged again.
I'm curious too if they are working for some solutions in case of another micro-transactions rush. Since LN is currently unavailable for the mainstream 3rd party client users.

Is SegWit enough to fit more transactions in a block?


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: Kakmakr on February 23, 2018, 06:18:10 AM
A block can have way more --or less -- than  2,000 transactions depending on the block weight of the individual transactions.
This goes back to the Topic Question, How to handle more than 2k plus number of transactions in 10 minutes?
See, if we go back to December when there were more than 2000 transactions happening approximately every 10 minutes, today's smooth-flowing mempool could get clogged again.
I'm curious too if they are working for some solutions in case of another micro-transactions rush. Since LN is currently unavailable for the mainstream 3rd party client users.

Is SegWit enough to fit more transactions in a block?

Even during that time, we saw only a few Blocks being filled to 2MB, so most blocks was not filled to capacity back then. SegWit also made spamming more expensive. The scenario has changed a bit since then, because SegWit adoption has grown and I think Coinbase's adoption of SegWit will also help.

A lot of the other exchanges has also implemented "Batching" & "SegWit", which will help, when we have a repeat of those kinds of volumes.


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: STT on February 26, 2018, 05:26:31 AM
Is the Bitcoin core client all compatible with segwit address use.  I used the addwitnessaddress to get it imported but would that also mean I can in future receive on the original segwit address and then rescan on the QT to see it.    I assume yes I can but Im just reading till I find someone who did the same


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: Xynerise on February 26, 2018, 10:25:34 AM
Is the Bitcoin core client all compatible with segwit address use.  I used the addwitnessaddress to get it imported but would that also mean I can in future receive on the original segwit address and then rescan on the QT to see it.    I assume yes I can but Im just reading till I find someone who did the same
Yes, Core 0.15.1 is compatible with Segwit addresses.
In the next release, 0.16, segwit addresses will be the default.


Title: Re: How to handle more than 2k plus number of transactions in 10 minutes
Post by: achow101 on February 26, 2018, 04:12:32 PM
In the next release, 0.16, segwit addresses will be the default.
0.16.0 was just released, so if you upgrade to that now, you can start using segwit addresses by default.