I think, keeping the reduction part is necessary to have it demand driven. Otherwise, we could just increase it to a fixed size. If the max cap is high, but there is not enough Tx in the mempool, then after one big block many will go small. This will not be good when block reward become small and mining revenue become dependent on Tx fee. But, if reduction is there, max cap will come down soon and all miners will see revenue from Tx fee again.

Proposal details: http://upalc.com/maxblocksize.php

On Wed, Aug 19, 2015 at 2:28 AM, Danny Thorpe <danny.thorpe@gmail.com> wrote:
I like the simplicity of this approach.  Demand driven response.

Is there really a need to reduce the max block size at all?  It is just a maximum limit, not a required size for every block.  If a seasonal transaction surge bumps the max block size limit up a notch, what harm is there in leaving the max block size limit at the "high water mark" indefinitely, even though periods of decreased transaction volume?

I'd argue to remove the reduction step, making the max block size calculation a monotonic increasing function. Cut the complexity in half.

-Danny

On Tue, Aug 18, 2015 at 5:13 AM, Upal Chakraborty via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
Regarding: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010295.html


I am arguing with the following statement here...

I see problems to this approach. The biggest one I see is that a miner with 11% of hash power could sabotage block size increases by only ever mining empty blocks.


First, I would like to argue from economics' point of view. If someone wants to hold back the block size increase with 11% hash power by mining empty blocks, he has to sacrifice Tx fees, which is not economical. 11% hash power will most likely be a pool and pool miners will find out soon that they are losing Tx fees because of pool owner's intention. Hence, they'll switch pool and pool owner will lose out. This is the same reason why 51% attack will never happen, even if a pool gets more than 51% hash power.


Next, I would like to propose a slightly modified technical solution to this problem in algorithmic format...

If more than 50% of block's size, found in the first 2000 of the last difficulty period, is more than 90% MaxBlockSize
         Double MaxBlockSize
Else if more than 90% of block's size, found in the first 2000 of the last difficulty period, is less than 50% MaxBlockSize
         Half MaxBlockSize
Else
         Keep the same MaxBlockSize

This is how, those who want to stop increase, need to have more than 50% hash power. Those who want to stop decrease, need to have more than 10% hash power, but must mine more than 50% of MaxBlockSize in all blocks. In this approach, not only miners, but also the end user have their say. Because, end users will fill up the mempool, from where miners will take Tx to fill up the blocks. Please note that, taking first 2000 of the last 2016 blocks is important to avoid data discrepancy among different nodes due to orphan blocks. It is assumed that a chain can not be orphaned after having 16 confirmation.

Looking for comments.





_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev