I never agree with the number (plan next 40+ years or 17.7% as average growth rate), but the idea of BIP 103 isn't bad and more likely accepted considering Bitcoin community care about running full node at low-cost.
Besides, comparing predicting Bitcoin price and predicting computer/internet growth are like comparing apples and oranges.
There's is the cost of running a full node but there's also the cost of making an on chain transaction which seems to go up as btc gains in popularity. My point is just that it's still too early to make long term predictions. We should try new stuffs and learn from our mistakes, it's the only way we can improve a new tech such as btc.
If you want to call it proposal, there are many missing technical details,
1. What's the reason behind 0.1MB as min and 10MB as max?
2. How many previous block should be considered to calculate average transaction fee?
3. How often should block limit changed?
4. Do you have proposed formula/logic/code to set block size? Here's a very quick example of mine
A = 5 (acceptable fee/vbyte)
B = 144 (most recent blocks to be considered)
I = average transaction fee (in sat/vbyte) in last B block
N = old block size limit
N+ = new block size limit
IF I less than A THEN
N+ = N * (I/A * 0.2)
ELSE
N+ = N + N * LOG2(I/A+1)
I think we're making progress here. Ok, let's just call it an idea for now.. I'll answer your questions.
1. What's the reason behind 0.1MB as min and 10MB as max?
These limits will allow the network to adapt to the demand in real time. I understand that the block reward is gradually disappearing so we need a system that will force the user to kind of "tip the waiter". The 10MB limit seems reasonable and a 0.1MB precision is acceptable.
2. How many previous block should be considered to calculate average transaction fee?
One.
3. How often should block limit changed?
On every block.
4. Do you have proposed formula/logic/code to set block size?
No. We can discuss it first then move on to the next step. I will review your codes..
A = 5 (acceptable fee/vbyte)
B = 144 (most recent blocks to be considered)
I = average transaction fee (in sat/vbyte) in last B block
N = old block size limit
N+ = new block size limit
IF I less than A THEN
N+ = N * (I/A * 0.2)
ELSE
N+ = N + N * LOG2(I/A+1)
Ok so I'll bring some modifications since we didn't agree on everything..
I = old tx avg fee
I+ = new tx avg fee
N = old block size limit
N+ = new block size limit
IF N *(I+/I) =< 0.1 THEN
N+ = 0.1
IF N *(I+ / I) => 10 THEN
N+ = 10
ELSE
N+ = N *(I+/I)
The logical is there. I think that an immediate adjustment to the blocksize cap would be better than an adjustment every 144 blocks...