bitcoin core – what does segwit remove?


If SegWit removes signature data, where does it put it exactly ? what does it mean that it puts at the end of the transaction ? and how does it make a block to contain more transactiosn?

It doesn’t remove anything. It moves witness data to a separate area, the segregated witness, which (a) does not contribute to the txid and (b) is counted differently.

But, the witness data is still an integral part of the transaction. It’s not covered by the txid, but it is covered by a new separate identifier, the wtxid. These wtxids are committed to by segwit blocks. So you still can’t change/remove/… the witness data without it invalidating the block that contains them.

By reading this, it still doesn’t make sense how block size limit has been increased. if we count the size in MB, segwit implementation might need more MB than non segwit implementation(older bitcoin).

Yes, absolutely. From the perspective of newer nodes, it is a block size increase. It’s not a blunt multiply-by-4, but segwit blocks do permit more transactions, and their total size in bytes can be (and is) larger than 1 MB.

The important part is that this extra space is all in witness data, which old nodes don’t see. Thus, their 1 MB limit requirement is still satisfied.