Mobile bitcoin wallets users might not realize it, but their money might be at a heightened risk this November.
While advertised as a tool bitcoin users can tap to achieve an experience more akin to a conventional financial product, mobile bitcoin wallets today send transactions to the bitcoin blockchain, though in a way that differs from the default wallet options. But come November this construction could cause turbulence, because thatâs when the bitcoin protocol is aiming to undergo yet another major change to its software.
Following this summerâs activation of the code upgrade SegWit, a group of businesses are now seeking to trigger a hard fork to increase bitcoinâs block size and further expand its transaction capacity. The code, part of a larger upgrade called Segwit2x, could lead bitcoin to split into two (again), that is, if not everyone decides to support the upgrade.
Still, the difference is that, unlike bitcoin cash, Segwit2xâs developers are doing everything they can to keep all bitcoin users on the same blockchain.
Segwit2x lead developer Jeff Garzik told CoinDesk:
âThe design goal of Segwit2x â just like [the latest] ethereum fork â is to upgrade bitcoin, not create a new currency.â
To do so, developers backing the project also have made a couple of key (if controversial) design decisions that have to do with maintaining compatibility with âsimplified payment verificationâ wallets, the technical term for smartphone-based bitcoin wallet applications.
But developers argue that there are pros and cons of how they are trying to accomplish this.
For one, it might not exactly be safe for mobile wallet users to make transactions immediately after the hard fork is enacted.
The first design decision is omitting so-called âreplay protection.â
A bit of a political term, itâs meant to describe what happens when a blockchain splits in two, as users suddenly have equal value on both blockchains. This means that when users move tokens on one blockchain, the tokens also move (or âreplayâ) on the other.
But this isnât visible to people who might not know that they have money on two networks during a network split. Worse case: users might lose some of their money and not even notice.
âIt becomes unpredictable what money youâre moving and when,â Bread Wallet CMO Aaron Lasher explained in conversation with CoinDesk.
Since not everyone agrees with the Segwit2x hard fork â some are even going as far as to write up manifestos in opposition â itâs likely to split into two competing networks, and this could be confusing for general users.
However, Segwit2x developers have a reason for leaving replay protection out: to keep Segwit2x compatible with SPV mobile wallets.
ââReplay protectionâ, as you call it, splits the chain. It simply doesnât make sense. Youâd suddenly be breaking [more than 10 million] SPV clients that otherwise work just fine. It is a goal of Segwit2x to help avoid this,â BitGo CEO Mike Belshe wrote in an email debate between developers of the project.
In other words, replay protection would cause inconvenience for mobile wallet users who want to shift over to the Segwit2x blockchain, so Segwit2x developers donât plan on adding it.
Mobile wallets are the subject of debate in another area as well.
Many providers of this wallet option, such as Electrum and Bread Wallet, rely on SPV. This does away with need to hold a full copy of the blockchain, making the data far easier to store on storage-strapped cellphones.
But, they have some drawbacks. (Coinkite co-founder CEO Rodolfo Novak went as far as to quip that âthe âVâ in SPV stands for Victim.â)
As implemented today, SPV wallets will automatically follow whatever version of bitcoin has the most miners backing it. So, if bitcoin splits into two, and Segwit2x attracts more computing power than the legacy bitcoin chain, then all of the SPV wallets will follow along. Thatâs by design.
But some mobile wallet providers arenât so happy about this, as itâs hard to explain to users whatâs happening.
âItâs really tough for us because we are so direly affected,â said Lasher.
This also has the potential to lead to some technical problems. If there are two bitcoins, mobile wallet software might get confused about which chain to follow, especially if miners switch between blockchains over time (as happened in the aftermath of the bitcoin cash fork).
âIt could confuse SPV clients and result in clients switching back and forth between chains, making them lose money depending on which chain has more work at what point,â Chaincode engineer Matt Corallo said.
Novak painted another scenario.
âWith SVP you donât know if the node you are connected to is lying to you. For example, a Segwit2x node can spoof as a [bitcoin] node [on the other chain], this means that without replay protection your wallet may spend the funds in the wrong chain and lose them on the correct chain,â Novak told CoinDesk.
Overall, developers paint an assortment of âif-thenâ scenarios. Lasher admitted as much, noting that itâs unclear which ones will actually play out.
âItâs really this decision tree of many, many things that can happen. And all of them are on the scale of somewhat annoying to downright dangerous,â he said, adding that Bread Wallet plans to encourage users to stop making transactions during the hard fork, âif they can manage.â
But with disarray at the application layer, protocol developers have been arguing about how best to handle what might come.
Bitcoin contributor James Hilliard, well-known for helping to prevent a bitcoin split earlier this year, suggested a change to the Segwit2x codebase that he argues would give mobile wallets more control over the which bitcoin they ultimately land on.
Again, though, Segwit2x developers argue that this change would make it more difficult for users to transition to a blockchain with a block size increase â something they believe many users want to do, so that they can make cheaper transactions. (Garzik argued that is the most âneutralâ metric for determining which chain SPV wallets should follow.)
But, again, others believe that this will confuse users and perhaps even lead those that are unaware of the situation to lose money.
Some developers even agree that there needs to be a block-size parameter increase, but simply disagree with some of Segwit2xâs design decisions.
As such, the statements highlight that, while often portrayed as black and white, the scaling argument still has its shades of gray.
Lasher concluded:
âThere might be some merits to a block-size increase. But we donât agree with the current way itâs being pushed through.â
Disclosure: CoinDesk is a subsidiary of Digital Currency Group, which helped organize the Segwit2x proposal and has an ownership stake in BitGo.
Fishing net image via Shutterstock