but then when features like confidential transactions become a thing. the mainblock will have extra data in it that only 1500 transaction would fit. not the old 2000 anymore. and
No, 99% additional data from CT is witness data (the range proofs). So what you're arguing would be true for "classic"'s 2MB direction, but not for Bitcoin Core's roadmap.
I suppose it's not an issue for classic: none of the people involved for it have ever proposed or implemented extensions like that to Bitcoin, none of them are likely to do so.
stop drumming on about the classic fanboys.. there are actually people that are not fanboys of any corporate brand, and just want real capacity increases.
rather then being helpful and telling the community which new features will add more data. you prefer to defend and argue the opposite and downplay the issues. and try to get the rest of the community to do the hard work
so how about be honest and tell the community what new features blockstream intend to release BEFORE they will do a REAL block limit rise. and how it would change the capacity.
yes segwit increases capacity INITIALLY, but be helpful and tell the community what will then add more data to the main block that can impact capacity that segwit meant to have increased.
like for instance how many new constants/variable/opcodes will be added to make sidechains work. how many extra bytes of data..
for instance OP_return was reduced in february 2014 to be 40bytes payload. (from memory so dont get pedantic if the date isnt accurate)
but for things like payment codes.. this is again raised to 80bytes.. so there is a 40 byte excess.
so please look at all the new features intended to be added and add up all the extra bytes that would suddenly be needed to perform these new features, compared to normal 2015 transactions(pre segwit)
EG show a demonstration of a basic one input to one output transaction(2015 pre segwit design).. and then show a transaction demo that represents how much extra data is needed in moving funds to a sidechain. and count the byte difference of the transactions.
do the same for payment codes.. (obviously highlighting the old OP_return 40 byte payload vs 80byte payload)