Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 9661AA5E for ; Sun, 7 Apr 2019 08:50:48 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C57E863D for ; Sun, 7 Apr 2019 08:50:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1554627046; bh=M42CWOo6NA+0owxXOSPg4VD8nhK5JXN21uANuviJ5ws=; h=X-UI-Sender-Class:From:To:Subject:Date; b=XIg2FG5olMopgeBV7lcPlSZLxCfUFNiK409zn1WU6d1ESWF66O3N8dCREiktP4P5R W7UREgE7dCEvEDHMQgqTYyAdIwe+ebYUYKws/9wLbDf3/P/OHGSWN+r2iL1KTreq25 nItfatQpqfzOW6gf7kIPtZFsSrocEfm75sV1B04A= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [77.56.41.160] ([77.56.41.160]) by web-mail.gmx.net (3c-app-gmx-bs53.server.lan [172.19.170.137]) (via HTTP); Sun, 7 Apr 2019 10:50:46 +0200 MIME-Version: 1.0 Message-ID: From: simondev1 To: bitcoin-dev@lists.linuxfoundation.org Content-Type: text/html; charset=UTF-8 Date: Sun, 7 Apr 2019 10:50:46 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:fQprXpzCY9OpYL6QAe44qe3pQVc7RXQyN5jNCjFzilu6vaEM0jdroQ601j+6OtNoD6xyc wl5SSA5hrkfIxVDiPnD5g+7mxG1m9Km9Ijb02hhEkoWwXuYdkLWuZrgrFAznUNoEP1Py7LypApdf rM+NlsoUviBn/SaU7BFJzPWlMIHCTa8fKTJj0xr+RXKBXeHerybwDiZN8KtZddkQX6kIot5ceKqw yW3rcFcB8NCgUfiY5q4JzJEU0Y7SJtyKC0t79Uxl9o1+RsUCrTSGhE7rofaAo4umHT65RA4/mJ2X e0= X-UI-Out-Filterresults: notjunk:1;V03:K0:7LOYCQvxQ4E=:bhNSf8sI5R+/XXi2TJRzm9 gmH4LSrLa2ebXIc8AwbW4/5jKK/QteoB/wCjOa4VWv0RwPtc5BdBDzhMmPFr1t71d750paUuw w8zlhq31JBnZBrsvXJTS0y3HE1OVHr7aB7BtNaeghErg6f8TVE27jrUYqPOW//nDQ0/Lnhsxy pV0gDhL4Zlbra3hMRmQS4XWn/qtwqKh3QeMS6wi54bwMAiaW6gKSFgXd4h6J2iFvEFB6p4zsX 6X/SKg9KtFsLhejYf41lnYJeGKuJCHVWOxcROAAIf2d7AA1p7ql0vhdY7DGdYhfBbdOxPQN5c Ck59wq+CWwc7DeehOUPv1eRarGriYA0XeRyR3Jx+ns/An5Typly4VgUU8n54of3ltjh3tEJXv 5B+ns92TNEoZ0v/JLiFecgNc+bI0qHCElgIvMo/h/dgEk4vgA0dk1mSV7aVTmwvceEKPM5th5 SxI1c3uLBDsn7rZQL+5HCg6LyQloskJQgoVDJnMyxIYRHKp9c48qOB7oc6NQ5Kl45fep7X6ek voSPwpu9LDgnCGeM48/+Dt1Pxk2DpswwLvE5zGD53PU8mm3PutgWLq9G3aA56w8zBCYiUURnd BmH/xlTU8LRyc= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, FREEMAIL_FROM, HTML_MESSAGE, MIME_HTML_ONLY, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Sun, 07 Apr 2019 15:44:48 +0000 Subject: [bitcoin-dev] new BIP: Self balancing between excessively low/high fees and block size X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Apr 2019 08:50:48 -0000
Dear bitcoin developers,
 
 
==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