Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
Blockspace price for data of a simple transaction is higher than the one for data of other ("complex") transactions, e.g. 3=616 weight / 205 bytes aabbcce67f2aa71932f789cac5468d39e3d2224d8bebb7ca2c3bf8c41d567cdd vs 1.49=1140 weight / 767 bytes 1c35521798dde4d1621e9aa5a3bacac03100fca40b6fb99be546ec50c1bcbd4a.
As a result, there are incentives distorted and critical inefficiencies/vulnerabilities (e.g. misallocation of block space, blockspace value destruction, disincentivised simple transaction, centralization around complex transactions composers).
Expected behaviour
Price of blockspace is the same for any data (1 byte = 1 byte, irrespectively of location inside or outside of witness), e.g. 205/205 bytes in the example above. (The "weight" discrimination was unnecessarily introduced in 2017).
Perhaps, the solution (the same price, "weight" of any byte of data in a transaction) could be introduced as part of the next version of Segwit transactions.
Steps to reproduce
- Create two transactions: a simple (e.g. aabbcce67f2aa71932f789cac5468d39e3d2224d8bebb7ca2c3bf8c41d567cdd ) and a complex one (e.g. 1c35521798dde4d1621e9aa5a3bacac03100fca40b6fb99be546ec50c1bcbd4a )
- Measure amount of data of each transaction.
- Calculate blockspace price for both of them and compare to determine that they are not the same.
Relevant log output
How did you obtain Bitcoin Core
Pre-built binaries
What version of Bitcoin Core are you using?
26.0
Operating system and version
Not applicable.
Machine specifications
Not applicable