Subject: Re: [bitcoin-dev] new BIP: Self balancing between excessively low/high fees and block size

From: simondev1 <[email-masked]>
Date: Fri, 12 Apr 2019 17:49:57 +0200

True in case of hardfork to remove the current limit we still need a limit of lets say 8 Mbyte. To achive a valid 8MB block with this formula, the block would need to contain about 8 million btc fees. This will never happen. So probably a hard limit of 8MB would be good to avoid 1TB attacks.

Regards,

Gesendet: Montag, 08. April 2019 um 02:55 Uhr
Von: "ZmnSCPxj" <[email-masked]>
An: simondev1 <[email-masked]>, "Bitcoin Protocol Discussion" <[email-masked]>
Betreff: Re: [bitcoin-dev] new BIP: Self balancing between excessively low/high fees and block size

Good morning simondev1,

It seems the algorithm would greatly increase validation time.
In particular, if the current limit is removed (as in hardforked proposal) then a 1Tb block can be used to attack the network, since sorting would require looking through the entire block.
Thus, validation time would still limit the practical block sizes that can be deployed with this.

Regards,
ZmnSCPxj

Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, April 7, 2019 4:50 PM, simondev1 via bitcoin-dev <[email-masked]> wrote:

> Dear bitcoin developers,
>
> New BIP: https://github.com/bitcoin/bips/pull/774
>
> ==Abstract==
> Logarithm of transaction fee limits block size.
>
> ==Motivation==
> Keep block space small.
> Waste less with spam transactions.
> Auto balance Fees: Increase very low fees, Descrease very high fees.
> Allow larger size when sender pays a lot.
> Allow wallets to calculate/display how much average free block space there is for each fee price.
> Allow senders to have more control about how the fee/priority of their transaction will behave, especially in the case of increased adoption in the future.
>
> ==Specification==
> Every transaction has to fit into the following block space:
> Input variable 'FeeInSatoshiPerByte': Must be positive or 0
> type: double
> unit: Satishi per byte
> Output:
> type: uint
> unit: bytes
> Formula:
> floor( log10( 1.1 + FeeInSatoshiPerByte ) * 1024 * 1024 )
>
> ==Implementation==
> Sort transactions by FeeInSatoshiPerByte (lowest first)
> For each transaction starting from lowest FeeInSatoshiPerByte: Sum up the bytes of space used so far. Check if summed up bytes of space used so far is smaller or equal than the formula result.
> If this is valid for each transaction then the blocksize is valid.
>
> ==Backward compatibility==
> Soft fork: If applied AND old hardcoded block size limit is kept.
> Hard fork: If applied AND old hardcoded block size limit is removed.
>
> Regards, simondev1
>