In recent days, the launch of Electrum 3.0 occurred, a version that, in addition to being compatible with SegWit, also uses the new Bech32 address format. Electrum 3.0 becomes the first wallet with the native address format of SegWit Bech32.
For those who wish to start using this wallet, we recommend you download the new version of Electrum here. Below we will briefly explain some of the technical challenges that this new version entailed.
SegWit is an update to the Bitcoin transaction format that organizes data more efficiently by segregating the signature of the transaction content. This allows SegWit transactions to bypass the 1 mb limit for the block size.
However, to work as the advertised capacity increases, the new format must be used. To do so, users must transfer their currencies to a new SegWit address, from which they can write SegWit transactions.
The challenge for wallet developers is to implement SegWit so that users can easily and without too much interruption migrate their entries to SegWit addresses. So far, all wallets that allow SegWit addresses – Ledger, Trezor, Core, GreenAddress – use the so-called “nested P2SH addresses”, which means that SegWit transactions need around 10 percent more space. Obviously, this contradicts the goal of increasing capacity. Electrum 3.0 is the first to not use the nested p2sh addresses.
If you want to use SegWit with the new version of Electrum, you must first create a new wallet. Since Electrum uses a seed to generate keys and private addresses, the implementation of a new address format in an existing wallet would cause problems. Therefore, you must create a new wallet and accept the option to generate a segWit wallet. Electrum’s SegWit wallet addresses are in the so-called bech32 format, which was adapted for SegWit by BIP173. Bech32 addresses consist of around 42 signs and begin with bc1.
In addition to the nested P2SH addresses, the Bech32 addresses are compatible with SegWit. This means that the transaction does not need additional space to place SegWit in the P2SH address. Bech32 addresses have several advantages over old addresses: the QR code is smaller, the protection against typing error is stronger, it allows autocompletion and, because it only consists of smaller cases, it should be easier to write and understand when it is read aloud.
However, the weak point is that outside Electrum, there is no wallet that uses this format, and most of the block explorers get confused with the new format.
As a result of these circumstances, the migration of standard currencies to SegWit currencies in Electrum is likely to take some time, and for a long time, both directions will coexist in parallel.
In any case, evolution is constant, and from all these circumstances the experience that motivates future improvements is nurtured.