[Bitcoin-segwit2x] F2Pool backing out of NYA - Fork still happening?

Dr Adam Back adam at blockstream.com
Sun Oct 15 12:20:15 UTC 2017

My other point was as per breadwallet's explanation of the
malfunctions they so far expect of their SPV wallet, which chain
followed is chaotic and dynamic because the Bitcoin nodes will ban
nodes that send them invalid blocks, and phone wallets select nodes
somewhat at random from peer caches and seeds.

It is a dynamic and high risk situation, and also existing wallets
will be changing in a rush to avert disaster so that there is not a
stationary behaviour to test with.  (Most phone wallets have auto
upgrade features).

The node ban has bi-directional effect, but given Bitcoin2x lacks
wipe-out protection there is risk of full re-org incurring funds loss
for 2X users.

Greg Maxwell wrote about some other scenarios here

The full matrix of what can fail in this dynamic situation not fully
understood and analysed (by anyone).

Ben Davenport and James Lopp (CTO and lead architect at BitGo), are
also warning about these kinds of issues.


On Sun, Oct 15, 2017 at 1:57 PM, David A. Harding <dave at dtrt.org> wrote:
> On Sat, Oct 14, 2017 at 10:13:01AM -0700, Mike Belshe via Bitcoin-segwit2x wrote:
>> a) The SPV wallets will follow the longest chain
>> [...]
>> c) You claim that "most smart phone wallets" will not follow the longest
>> chain.  I believe this is untrue.  Can you tell me which wallets you're
>> referring to?
> I'm not Adam, and I don't even know if these two points were supposed to
> be related, but I did want to note that several SPV wallets don't use
> the peer-to-peer network even though they do check SPV inclusion proofs.
> For example, an Electrum wallet connects to an Electrum server that
> itself gets information from a particular Bitcoin Core-compatible full
> node (Core, ABC, Unlimited, btc1, etc).
>     Wallet <-> Electrum Server <-> Node
> Whatever node the server operates determines which chain the wallet user
> sees transactions for.  Electrum does provide SPV proofs to wallets to
> prove to the user that their transactions connect to the node's header
> chain, and there is a secure initial header download that prevents
> someone from tricking clients with a difficulty-1 chain, but ultimately
> Electron users don't necessarily follow the strongest chain.
> We saw this particularly at work during the 4 and 5 July 2015 accidental
> forks where some pre-0.10 Electrum servers would return the invalid
> chain and some 0.10+ servers would return the valid chain.
> Of the 11 mobile wallets currently listed on
> https://bitcoin.org/en/choose-your-wallet, five connect to the P2P network
> directly and so are likely to follow the strongest valid chain of headers
> they see[1]:
>     user at devbco:~/bitcoin.org/_wallets$ git grep -l 'compat.*mobile' | xargs grep -l spvp2p
>     bitcoinwallet.md
>     bither.md
>     breadwallet.md
>     greenbits.md
>     simplebitcoinwallet.md
> Seven do not use the P2P network and will not follow a chain their
> server's nodes consider invalid.
>     user at devbco:~/bitcoin.org/_wallets$ git grep -l 'compat.*mobile' | xargs grep -L spvp2p
>     airbitzwallet.md
>     arcbit.md
>     coinspace.md
>     electrum.md
>     greenaddress.md
>     mycelium.md
> This is obviously not a comprehensive survey of all mobile wallets.
> Hopefully that helps,
> -Dave
> [1] As discussed elsewhere in this thread, this may not necessarily be
> the strongest chain in existence if the P2P SPV clients are unable to
> connect to nodes serving that chain.

More information about the Bitcoin-segwit2x mailing list