-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Alerts: add warning for potential 2017-08-01 BIP148 split #1674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
payments to confirm on the Bitcoin block chain before the event. | ||
|
||
1. If you send bitcoins as payments, note that many services may stop | ||
accepting bitcoins at 00:00 UTC on August 1st or earlier. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Due to replays, this is probably insufficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous item recommends that people accepting payments stop doing so 24 to 48 hours early; I think that addresses your concern.
This line warns people that the consequences of receivers stopping the acceptance of new payments is that they won't be able to pay. We can't say for sure when that will happen, as different services may develop different policies.
## Before August 1st | ||
|
||
1. If you accept bitcoins as payments, we recommend that you stop | ||
accepting Bitcoin payments at least 12 hours before 00:00 UTC on August |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It may be beneficial to link to a site which converts the UTC time to the local times for different timezones. People may not know when 00:00 UTC is for them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea! Actually, let me first see if I can find some freely-licensed javascript that will do the conversion to localtime in the browser.
@harding Thanks for working on this. I agree there are certainly risks with the upcoming dates, however, I'm concerned in that Bitcoin.org has received just over half a million visits in the past week alone (~73,000 visits/day) and the TLDR on this alert (unless I am reading it wrong) is to not doing anything with Bitcoin on or after August 1, anywhere, and to wait for further instructions from multiple trustworthy sources or you could lose your bitcoin. It sounds very cataclysmic. Multiple trustworthy sources also sounds subjective and vague. I'm not sure this is good UX, it seems very confusing from a site visitor's perspective and provides no long term reassurance or solutions. |
That is exactly the intended TLDR. Do you think I should summarize it at the top?
I can clarify to say "sources you personally trust". Will that help? In my attempt to be neutral here, I'm trying to encourage people to pick their own news sources, as surely there will be various spins on whatever events happen. (Though I do link to our news site listing as a start for any real newbies.) I'm also trying to make sure we don't set up Bitcoin.org as some sort final arbitrator of what to do. People are responsible for their own bitcoins; we're just here to help when we can.
In what regard? Your TLDR grasps the point completely.
There are none that I'm aware of. This is a wait-and-see scenario. Potential economic splits are scary as fuck, and I don't think we should dilute that message. |
I consider a significant BIP148 fork to be rather unlikely, but this is a prudent warning just in case. Better safe than sorry. Maybe the page should warn people to move their BTC to a wallet that at least allows exporting private keys, since if you can't export private keys, then the service will be deciding how your coins are handled in a split for you. In stuff I've been writing on this, I've preferred to use the term "split" rather than "fork", since the term "fork" focuses on the block chain, which may not be quite right. |
@theymos the current text includes the following point:
Do you think I should also mention private keys? Maybe say something about making a wallet backup, so it doesn't sound so technical?
Good idea. I'll make that change. Thanks! |
@harding If we are going to have criteria for this type of alert, we should probably also have something objective that we can agree on that will enable it to be removed. A bright orange or red alert indefinitely on Bitcoin.org at the top of all pages is not a good first time experience. It is going to introduce users to many warnings and terms that they simply aren't going to be familiar with. For example, one of our top pages is the Getting Started page (there have been 450k+ visits to that page in the last month). No doubt people are going to click on the warning before they read how to get started. The warning assumes they already have and will understand what you're suggesting they do. |
@harding Yeah, recommending making a wallet backup (or switching to a wallet that supports it) might be a good way to go about it. I think that a lot of people don't even realize that they're using a bank rather than a real wallet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@harding Left a few comments on some components to the alert for when you have time to review.
## This file is licensed under the MIT License (MIT) available on | ||
## http://opensource.org/licenses/MIT. | ||
|
||
title: "Potential disruptive chain forks" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As @theymos mentioned, let's change instances of fork
to split
.
title: "Potential disruptive chain forks" | ||
shorturl: "disruptive-forks" | ||
active: true | ||
banner: "Warning: Bitcoin may be unsafe to use on August 1st (click here for details)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better to say something like:
Warning: A potential chain split may occur on August 1st.
Also, users don't need to "click here for details" if it's an active link.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the current title is better because it describes the consequence in plain English rather than the cause in technical jargon.
For the parenthetical, we've done that with previous alerts because it isn't clear that the banner can be clicked. E.g.:
user@devbco:~/alerts/_alerts$ git grep 'click here'
2015-07-04-spv-mining.md:#banner: "WARNING: many wallets currently vulnerable to double-spending of confirmed transactions (click here to read)"
2015-10-12-upnp-vulnerability.md:#banner: "WARNING: serious vulnerability in UPnP library used by Bitcoin Core (click here to read)"
2016-11-01-alert-retirement.md:## banner: "Alert system is being retired (click here to read)"
2017-07-12-disruptive-forks.md:banner: "Warning: Bitcoin may be unsafe to use on August 1st (click here for details)"
I continue to think that it's a good idea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's also change the title from:
2017-07-12-disruptive-forks.md
To:
2017-07-12-chain-split.md
|
||
## After August 1st | ||
|
||
No information available yet. Please wait for multiple trustworthy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's revise this to say that we'll update this section with more information after August 1st.
@wbnns Criteria for removal is a good idea. It's difficult to commit in advance to hard criteria, but I suggest that we keep the warning up until all but one side of the chain split appears to be abandoned. Alternatively, if more than a week passes and both chains still are being extended at a reasonable rate, we should consider providing instructions for splitting coins and ensuring normal transacting occurs on the user's preferred chain (or link to someone else's instructions for this); in that case, we'll probably have to keep the warning up for at least a month more so that we can try to stop users from making transactions without reply protection. Regarding bad UI, I think the second sentence of the alert boils it down in plain English:
I think the rest of the post is pretty non-technical too, since that was a primary goal, although I'm happy to receive any suggested phrasing changes you have. I can also write a section or a separate document with a short explanation for non-Bitcoiners if you think that would be useful. (I don't think it would be myself; I think the current document should make anyone hesitant about using Bitcoin at the moment, which is the correct response, even if they don't know all the terms.) |
I do not recommend this. Bitcoin.org is one of the most highly trafficked bitcoin websites with millions of visits a month. Many people in the media and users alike around the globe often cite it each week - on TV, in print, on web pages around the world. If this alert is too stark (in it's current version, as you mentioned, the TLDR you've intended to communicate is basically, don't use Bitcoin on or after August 1st), it risks spreading a lot of FUD and panic selling before August 1st that could wipe billions off Bitcoin's market cap and who knows how much out of people's pockets. |
I refuse to evaluate my writing based on how it might affect Bitcoin's market cap. I resolve only to tell the truth as best as I am able, and in this document I suggest to users exactly the concerns I hold for myself and exactly the same steps I plan to take myself---specifically that potential chain splits are scary and that I will not accept bitcoins from August 1st until I believe the situation is resolved. |
@harding I understand, but disagree - there is a difference between what you are terming as a "correct response" (your assertion about what you wrote) and speculation. You're speculating on a personal belief that Bitcoin shouldn't be used for an indefinite amount of time on or after August 1st and manifesting that as a Bitcoin.org alert to millions of people: I do agree there are risks associated with a chain split that we can inform users about, but you'll need to compromise and work on the wording so it doesn't read with so much FUD. |
Looks good to me. We will just remove the alert if nothing happens, so I think it's good to be safe and warn users based on the worst case scenario. Many people don't even know there will be a split. Let's try to merge this today, we can make small changes later, but I think an alert like this is long overdue. It's our duty to inform users and not sugar coat the harsh reality. This situation sucks, but we have the the triumvirate of evil (Roger, Jihan, Craig) to blame for the current mess we found ourselves in... |
@Cobra-Bitcoin We should update the wording before, though. As it stands now, it says not to use Bitcoin on or after August 1st with no clear definition of when it can ever be used again. |
I'm just fixing some of the issues identified above now and will push the commits to my branch within the next 30 minutes. |
Pushed some new commits and setup a live preview particularly for anyone who wants to help test the Javascript-based localized dates. @achow101 I addressed the localtime issue using some Javascript. If JS is enabled, the dates should be displayed in localtime (works here). If JS is disabled or if the code is unable to parse the date, the original string is left unchanged (the base string is in this required format: I've only tested this on Firefox so far. This change required some rewriting to not mention August 1st specifically in the text and also to deal with the full datetime string. I noticed when testing this change that the fork starts for me on July 31st, which means it starts then for other people too, so I changed the banner message from "August 1st" to "July 31st". @theymos I changed the filename and the text to use "split" instead of "fork". I also mentioned wallet backups as a criteria for deciding whether or not you're using a third-party service. @wbnns In the "After" section, I mentioned that we would updated; thank you for suggesting that clarification. If you would like to suggest any other phrasing changes, even after this is merged, I'd be happy to consider them. Thank you everyone for review. Please feel free to suggest further changes and I'll either update before merge or open a new PR after merge. |
I think the definition is clear---you even cited it in your TLDR: for users, the situation is resolved when multiple news sources they trust say that the situation is resolved. That's the best I think we can give non-experts. Actually, it's probably the best we can give experts too, as this will be an interactive event with multiple people trying to affect the outcome---some of them in ways we may not be able to predict right now. |
LGTM. |
ACK Sent from my Google Pixel using FastHub |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@harding Thanks for updating your PR, I just left a few more changes.
title: "Potential disruptive chain split" | ||
shorturl: "potential-split" | ||
active: true | ||
banner: "Warning: Bitcoin may be unsafe to use starting July 31st (click here for details)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's:
- Change the banner text to:
Warning: Potential Disruptive Chain Split on July 31, 2017
- this is more indicative of the content of the alert. - As mentioned in the previous commits, please remove "click here for details" - I know you said that has been done on previous alerts, but that is bad practice - people will know it's a link when they touch it (mobile/tablet users don't "click") or hover over it and it becomes underlined (https://www.w3.org/QA/Tips/noClickHere | https://www.smashingmagazine.com/2012/06/links-should-never-say-click-here/ | http://uxmovement.com/content/why-your-links-should-never-say-click-here/)
At {{start}}, Bitcoin confirmation scores may become unreliable for | ||
an unknown length of time. This means that any bitcoins you receive | ||
after that time may later disappear from your wallet or be a | ||
type of bitcoin that other people will not accept as payment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also add a sentence to the effect of:
Leading up to, during and after this period, bitcoin may also experience significant price fluctuations in relation to other currencies.
## After the event | ||
|
||
We will update this section with more information after {{start}}. | ||
Please wait until multiple news sources that you trust have stated that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's change this to:
Please wait until multiple news sources that you trust have stated that the event is resolved or this alert has been updated to indicate as such before returning to normal Bitcoin use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. It's important that users consult with multiple sources and not simply trust us.
Apologies if I wasn't clear, I was referring in disagreement to what you said. We should focus on what it is - a potential disruptive chain split - and what users can do about it (as described in the content of the alert), rather than inferring with the alert headline that Bitcoin shouldn't be used after July 31 for an indefinite period of time. |
Oh, sorry, I replied to that on your review comments so it got threaded rather than put into the main thread: "I think the current title is better because it describes the consequence in plain English rather than the cause in technical jargon." Would adding "temporarily" in there be acceptable to you?
(emphasis just for illustration here; won't be in the headline) |
page will be updated when new information becomes available. See the | ||
[list of updates][].* | ||
|
||
At {{start}}, Bitcoin confirmation scores may become unreliable for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also add a few sentences at the very beginning about what a chain split is and what bitcoin confirmation scores are. This will be really confusing to people who don't know.
@harding Regarding the title, if we focus on what it is and provide a few sentences at the beginning of the alert explaining, I think it will be more helpful to users:
|
If this alert is to be about potential chain forks happening soon in general, then we need to include information about BIP 91 (implemented in segwit2x). BIP 91 requires 269 of the last 269 blocks. Since BIP 91 has already started, there could be many mini-forks that happen between now and August 1st. |
@wbnns I dropped the term "split" from the title, calling it just a network disruption, and added a link to our section about confirmation scores. I think putting technobabble in the banner and the beginning of the article would just confuse non-technical people into thinking those things are important, when they aren't. What's important is that Bitcoin will be unsafe to use starting 8/1 00:00 UTC until the outcome is clear. |
@achow101 I was thinking that we didn't need an alert for that, given BIP91 requires about 80% of hashrate to signal onchain, more than 90% of hashrate has verbally agreed, and the only change any miner needs to make in the short term once BIP91 activates is setting bit 1 in their block headers---a change most of them can make without upgrading their underlying node. Given that, I expected it wouldn't be much more turbulent than an old IsSuperMajority soft fork, with maximum fork lengths of fewer than 6 blocks with >99% probability. And of course, that all assumes that BIP91 reaches 80% before August 1st. Currently, no one is signaling it.[1] Were you thinking differently? [1]
|
@harding I was thinking that even though 80+% of the hash rate has verbally agreed to support BIP 91, given the low window and threshold, BIP 91 could activate with less than 80% hash rate support just due to luck and variation. My concern is that if BIP 91 did activate, even with 80% hash rate support, there is still 20% that are not supporting it, and that could cause problems. With the prevalence (still) of spy mining (aka SPV mining), we could have ourselves a repeat of the July 2015 fork which happened when less than 5% of the hash rate was not supporting BIP 66. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@harding We still need to update the banner.
title: "Potential network disruption" | ||
shorturl: "potential-split" | ||
active: true | ||
banner: "Warning: Bitcoin may be unsafe to use starting July 31st (click here for details)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's update the banner to match the title (I left a couple of suggestions in previous comments) and remove the "click here" as mentioned in the previous review.
@harding Maybe you can just add a paragraph that mentions that BIP 91 could be a concern, but since no one is actually mining it now, it isn't all that important. We can update later once segwit2x actually releases software with all of their changes or once BIP 91 is actively being mined. |
How about this at the end of the opening section:
|
That looks good. Perhaps mention BIP 91 or segwit2x in that? |
@achow101 I tried to keep the post non-technical by not mentioning BIP148 or other details that are already known by the people who can understand them. I think BIP91/segwit2x fits in with that. What do you think? I admit, I think maybe we could add a "see also" section at the bottom that links to some non-technical and medium-technical news stories, like the story stickied in /r/Bitcoin right now. |
@harding Ah, I see. Since none of the BIPs are actually mentioned, then that text is fine then. |
@harding Thanks for the revisions. The remaining ones are:
|
The reason the part about sending is insufficient, is that if there is a split, each chain will likely vary in value, and users probably only want to send coins on one chain and not the other, if they send at all. |
@luke-jr excellent point, thank you! How about this as a rephrasing:
|
Note: I object to this change, which I think makes the alert less clear, less forceful, and degrades alert usability. I make this change only because the Bitcoin.org site maintainer insists upon it.
Pushed three commits. @wbnns I mentioned the volatility risk. I also made the title change, even though I object to both parts of that request. I did not make the change to the part about consulting multiple sources per my previous reply to you; you may suggest alternative phrasing, but I will in no case revise the document to suggest Bitcoin.org as a single authoritative source for whether or not the event is over. I had only a spectators' view of the Ethereum hard fork, but there were a lot of people in that case blindly trusting the Ethereum Foundation and a handful of other insider sources when they said ETH-HF had won. I think we should try to make Bitcoin better than that by encouraging people to check multiple sources. I also added the send warning based on @luke-jr's useful criticism. I will not be making any further edits for at least 12 hours. Edit: I also updated my preview. |
LGTM |
@harding Thanks for the updates and also for spending time to help users be aware with the alert.
Regarding the above, no one said Bitcoin.org was a single authoritative source so don't worry about that, but if an alert is getting posted that millions of the site's own visitors are going to see (2,000,000+ people visited the site last month), then we also have a responsibility to let them know how to determine if it's over beyond telling them to go read the news. @Cobra-Bitcoin mentioned getting this up today and we've done some revisions so I'm going to merge this. I will submit a PR for the above change about referencing the alert for future updates and anyone else please feel free to open an issue or submit a PR with additional changes to the wording, if they'd like to do so. |
This PR adds a warning for the chainsplit that may occur on 1 August 2017. It's focused on describing to non-expert users what they should do to secure their funds and does not advocate any particular position on the fork or attempt to describe the background of the situation.
The warning is displayed in orange above every regular page on Bitcoin.org; a comment in the file suggests changing the warning to red 72 hours before the beginning of the potential chain split. I will submit a PR for that on the 28th.
I will do my best to submit PRs with changes to the page on and after August 1st, although of course anyone else can submit a PR to Bitcoin.org too.
Preview: