bitcoin-dev
Clarification about SegWit transaction size and bech32
Posted on: December 18, 2017 16:40 UTC
The SegWit transaction size can cost more than legacy transactions, but it is still convenient to adopt SegWit because bytes are moved to the block weight part, resulting in smaller fees.
With 100% SegWit transactions, it's possible to approximately double the capacity of the blockchain. However, there are concerns about SegWit adoption by exchanges due to the fact that SegWit transactions cost 10 bytes more than legacy transactions for each output. When a transaction has at least 10 outputs, using SegWit does not save space and the total block weight increases, making it heavier. Without cheaper fees, exchanges have no incentives for SegWit adoption before they decide to adopt LN. Using SegWit only decreases the fee for specific kinds of transactions. Bech32 allows one to save about 22% of space, but it is not compatible with the entire ecosystem. While bare SegWit is not so different, outside of Bitcoin Core, it is difficult to predict its effects on other implementations. Upgrading takes a lot of time, especially when services are crowded. Bech32 could be a consensual upgrade, possibly together with a 2x block size, which could help in scalability while testing LN. It might be the only way to enforce SegWit adoption.