Hi Dave, I found your name among those contributing to the Bitcoin code. Would you be willing to field a question or two about the significance of this potential Bitcoin network outage?
I'm happy to answer questions by email, but please note that I can only speak for myself. I don't speak for the Bitcoin project, Bitcoin.org, or any other Bitcoin project, and nobody can speak for Bitcoin any more than someone can speak in general for something like gold or the Internet.
I'm trying to figure out why it may happen. Is it planned maintenance, [or] something else?
There's a proposal to correct a long-time deficiency in Bitcoin. That fix is bundled with a number of improvements which were convenient to make at the same time. The proposal is called "segregated witness" or "segwit" for short.
The development team for segwit, called Bitcoin Core, released it in late October 2015 with an activation method used for a previous successful Bitcoin upgrade. The method required Bitcoin miners signal that they support segwit; when 95% of mining capacity signaled their support within any of 26 scheduled two-week periods, segwit would activate.
Miner activation of Bitcoin upgrades is not required, but it does provide the least disruptive way known to make upgrades.
For a long time, no more than about 35% of miners signaled support for segwit. It's not clear to me why more miners didn't signal support; I have theories, but I don't want to mix them in with the bare facts.
After several months of segwit stuck at 35%, someone proposed we use a different activation method for segwit---one that didn't rely on miners. They called their method a "User Activated Soft Fork (UASF)" and pointed to a number of historic occasions where similar mechanisms were used to upgrade Bitcoin from 2009 to 2012.
A UASF is a boycott on steroids. Starting at a particular time (or other signal), a group of users boycotts any mining done by miners who haven't upgraded. By itself that would probably be ineffective, as most boycotts are, but the design of Bitcoin means that if you boycott a miner you also boycott everyone else who uses that miner or anything derived from that miner.
It's like being able to boycott not just a business but also all of their customers, the people the customers pay, the people those people pay, and so on.
That's a powerful advantage to the boycotters Eventually, everyone is forced to either go along with the boycotters or to cut them out of the economy. That's what's happening August 1st at 00:00 UTC: a UASF is proposed that will boycott any miners who don't signal support for segwit.
Now, if the USAF had near-universal support from the Bitcoin userbase, it would be a sure thing. There would be no disruption because miners could only be part of the economy if they upgraded. If the UASF had near-zero support, it would also be a sure failure as nobody would pay attention to the loonies.
Unfortunately neither of those happened. There's a moderate amount of vocal support for the UASF among Bitcoin's most active users on social media but it's not overwhelming support.
That means when the UASF starts on August 1st, we have to wait and see whether or not the people who say they support the UASF actually put their money where their mouth is and refuse to accept bitcoins from any boycotted miner or anyone associated with that miner.
Until the rest of us who aren't involved in the UASF know whether or not they've won, we have to be very careful about accepting bitcoins. If we accept bitcoins from someone who is boycotted and the UASFers win, that bitcoin will disappear from our wallet. The reverse is true; if we accept a bitcoin from a UASF supporter and they lose, that bitcoin could also disappear from our wallet.
Note that any bitcoins which are marked as "confirmed" in a wallet before the start of the UASF are completely safe.
It's a rather awful situation. Unfortunately the only advice we can give to users is in the notice, which is to stop using Bitcoin on July 31st until we know whether or not the UASF succeeded.
There are a million more details I can provide; please feel free to let me know if you have any questions.