I have tried to solve the maximum block size debate in two different proposal.
i. Depending only on previous block size calculation.
ii. Depending on previous block size calculation and previous Tx fee collected by miners.
Proposal 1: Depending only on previous block size calculation
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
Proposal 2: Depending on previous block size calculation and previous Tx fee collected by miners
TotalTxFeeInLastButOneDifficulty = Sum of all Tx fees of first 2008 blocks in last 2 difficulty period
TotalTxFeeInLastDifficulty = Sum of all Tx fees of second 2008 blocks in last 2 difficulty period (This actually includes 8 blocks from last but one difficulty)
If ( ( (Sum of first 4016 block size in last 2 difficulty period)/4016 > 50% MaxBlockSize) AND (TotalTxFeeInLastDifficulty > TotalTxFeeInLastButOneDifficulty) )
MaxBlockSize = TotalTxFeeInLastDifficulty * MaxBlockSize / TotalTxFeeInLastButOneDifficulty
Else If ( ( (Sum of first 4016 block size in last 2 difficulty period)/4016 < 50% MaxBlockSize) AND (TotalTxFeeInLastDifficulty < TotalTxFeeInLastButOneDifficulty) )
MaxBlockSize = TotalTxFeeInLastDifficulty * MaxBlockSize / TotalTxFeeInLastButOneDifficulty
Else
Keep the same MaxBlockSize
Requesting for comment.