I think the idea of a size limit is not the same as censoring transactions.
Let me explain...
Everything has size limits. Blocks were originally limited to 1MB/10min. There was no jpegs in there, but still the number of transactions was limited. The blocksize was eventually raised in 2017 to be effectively 4MB/10min. There are downsides as the blockchain can grow up to 4x faster. Nodes have to store these blocks forever.
Each transaction has a maximum total size limit of roughly 100KB. If each transaction used the maximum of 100KB, you could only have about 40 transactions every 10min. Luckily the average transaction only uses about 225b. The average number of transactions per block is around 3k/10min.
When OP_RETURN was first introduced by Core it had a default size limit of 40b. The default was later changed to 80b by Core. Knots kept the default of 40b. Node runners could change this to anything, including zero.
Core v30 will change the default to be effectively 100KB. Node operators can still change it. However it has been marked as deprecated, meaning in future versions of Core the setting will be ignored. Which has the same effect as setting it to 100KB.
The more 100KB transactions you try to cram in 4MB of space, the less average size 225b transactions can fit. This can cause transactions to be delayed and have higher fees.
Knots nodes want to have as many transactions as possible by limiting the size of transactions they way they always have been previously. Not to censor. This keeps it fast and fees low. The goal is to use Bitcoin as money not for sending JPEGs.
Core wants to allow these large JPEGs by default, which can clog up the blocks with unnecessary data. It still has size limits, just much larger.
Login to reply