Translate

domenica 4 giugno 2017

SegWit in 60 Days: How to ensure the BIP 148 User Activated Soft Fork succeeds

Update: You can read some of the conversation around this post happening on social media here and here.
The first section of this post is a background on the SegWit UASF and the two main proposals that would enforce it, BIP 148 and BIP 149. If you are already familiar with these details, you can skip to the section called “What you need to do to help BIP 148 succeed”.
P.S. I would love help translating this whole post, including the message templates at the end, into Chinese, Japanese, Korean, and Spanish, in particular. If you can help translate these posts into these or any other language, please get in touch, or just do it, publish it somewhere prominently, and share widely!
On February 25, 2017, bitcoin developer shaolinfry introduced a proposal to the bitcoin-dev mailing list suggesting the use of a technique referred to as a “User Activated Soft Fork” or “UASF” to activate the SegWit soft fork in bitcoin. (You can read more background about SegWit and the surrounding scaling debate in this post).
The concept of a UASF is not new, having previously been used to activate the BIP 16 P2SH soft fork. A UASF relies on the fact that it is not the miners but the economy of bitcoin users that set the rules of the bitcoin network by throwing their economic weight behind one rule set over others.
Once a UASF is enforced by a given full node, any blocks produced by miners that do not comply with the rules of the UASF will be rejected by that node. If enough economic nodes enforce the UASF, then miners will be strongly incentivized to comply with the rules so that they’ll be able to sell the bitcoin mined in their blocks (and avoid losing their block rewards in a reorg).
Shaolinfry has proposed two Bitcoin Improvement Proposals (“BIPs”) that enforce a UASF: BIP 148 and BIP 149. The difference between the two is that the BIP 148 UASF activates the current SegWit deployment on August 1, 2017, while the BIP 149 UASF activates a new SegWit deployment in July 2018 at the latest, the rationale for the latter being that it could be less disruptive since there is more time for nodes to upgrade.
You can read more about these proposals here and here. You can read bitcoin developer Luke Dashjr’s post about “BIP 148 and the risks it entails for you” here. I am aware that these proposals are also happening in the context of a “Segwit2x” agreement recently made between many companies. I believe that a UASF is still important in case that agreement breaks down or the code is not ready in a timely manner, and encourage all signatories to the agreement to use full node software enforcing the BIP 148 UASF.
What you need to do to help BIP 148 succeed
Throughout this section, wherever it says “enforce BIP 148” you should read this as “enforce BIP 148 before August 1”.
If you feel as I do that waiting until July 2018 at the latest to activate SegWit on bitcoin is an unnecessarily long time, then this section is relevant to you. As stated above, for a UASF to succeed, it needs the weight of the bitcoin economy behind it. This means that if you are a bitcoin user, you need to do three things:
Step 1. Update the full node your wallet uses.
If your bitcoin wallet uses your own full node to validate incoming transactions, update your node to enforce BIP 148. You can find the code for this at uasf.co. If your wallet does not use your own full node to validate incoming transactions, then either the wallet developer in the case of p2p SPV wallets or the operator of the node your wallet is connected to will need to update their software to enforce BIP 148 (the node operator for wallets is usually the wallet developer, but if you have doubts, check the settings or just ask the wallet developer). You should contact them and encourage them to update their software to enforce BIP 148. A template for this is included at the end of this post.
If you want to add some teeth to your message, let the node operator know that if they do not update their node infrastructure to enforce BIP 148 then you will have to switch to a service provider that does (you can find a list of companies who have taken a public position about BIP 148 at uasf.co). If the wallet developer is the node operator, and they do not update their node infrastructure, then after uninstalling the wallet you can also leave a review for them on the app store warning other people against using the app since it does not enforce BIP 148.
Step 2. Contact the economic nodes you do business with.
If you are a customer of a bitcoin exchange, OTC trader, or merchant payment processor, you should contact them and encourage them to update their node infrastructure to enforce BIP 148. Assume any companies not listed as “Ready” on uasf.co have not updated their software and need to be encouraged to do so.
When you contact them, be sure to respectfully but firmly remind them of all the transactions you have done using their service and let them know that despite how great you think they are that you will have to take your business elsewhere if they do not update their nodes to enforce BIP 148. A template for this is also included at the end of this post.

If you intend to use threats of boycott to persuade economic nodes to update their software, make sure you go through with it! The financial pain they will feel will make them question whether it is worth it to continue blocking progress in bitcoin.
Step 3. Sell your non-SegWit bitcoin.
If there is a long-lasting chain split after August 1, then you will have coins on both chains in any addresses that held a positive balance before the split. Using a wallet that supports spending on both chains, transfer the coins that are on the non-SegWit chain to an exchange that supports that chain and sell the coins for SegWit bitcoins. This will put sell pressure on the price of non-SegWit bitcoin and add buy support to SegWit bitcoin, increasing the chances of SegWit bitcoin’s success.
There is one additional step if you are a miner. If you are a solo miner, update your mining software to enforce BIP 148. If you mine on a pool, encourage your pool operator to enforce BIP 148. If they don’t, switch to a pool that does.
Stretch goal: add BIP 148 support to Bitcoin Core
If we really want BIP 148 to succeed, we should try hard to get it added to an official release of Bitcoin Core before August 1. This should be considered a stretch goal that comes after proving massive grassroots support via the steps taken above, and will nonetheless be a major accomplishment to achieve before August 1. This is not a necessity but a very important goal since Bitcoin Core’s developers are widely respected in the technical community.
Summary
To help BIP 148 succeed:
  • Update your full node to enforce BIP 148. Signaling is also good, but only enforcement matters.
  • If you do not run a full node, encourage the full node operator your wallet relies on to enforce BIP 148 if they do not already.
  • Encourage any bitcoin businesses you are a customer of to also update their full nodes to enforce BIP 148. If they do not run their own full nodes, then encourage them to encourage their full node operator to enforce BIP 148.
  • Sell your non-SegWit coins if there is a long-lasting chain split.
  • If you are a solo miner, update your mining software to enforce BIP 148. If you mine on a pool, encourage your pool operator to enforce BIP 148. If they don’t, switch to a pool that does.
  • Boycott any economic nodes that are not enforcing BIP 148 after August 1. Only do business with the economic nodes listed as “Ready” on uasf.co.
Remember, BIP 148 will only succeed without a chain split if it is supported by a majority of miners on August 1, and getting the economic majority of full nodes to enforce UASF is a great way to convince miners of how important SegWit is to bitcoin users. The whole reason SegWit was done as a soft fork was to minimize disruption, so let’s make sure that incentives are aligned to prevent a chain split.
Templates
Here are some suggested message templates that you can take and fill in the blanks and modify however you want to suit your particular purpose. Once you’ve modified the message to fit your purpose, you can send it in an email to the intended recipient.
Remember to be respectful but firm in all of your communications supporting BIP 148. Do not use ad hominem attacks, name-calling, or assume bad faith. Everyone is entitled to their opinions and it’s only natural that there is a diversity of opinions in a decentralized network like bitcoin. Vires in numeris!
Wallet node operators
Dear [wallet node operator],
My bitcoin wallet relies on your full node to validate incoming transactions, and I greatly appreciate the service you provide to make this possible. As you are probably aware, there is an upgrade to bitcoin called Segregated Witness that offers a lot of benefits to bitcoin users such as myself, and I would very much like to start getting the benefits of this upgrade as soon as possible.
Can you please update your node software to enforce the BIP 148 User Activated Soft Fork (UASF) before August 1 and post an announcement to your website when you have made this update? This would give miners the signal they need to show support for SegWit and help activate this important upgrade.
I am interested in using a wallet that enforces BIP 148 so that the bitcoin network can soon benefit from all the improvements Segregated Witness has to offer. If your node software is not updated to enforce BIP 148 then I will have to switch to using a wallet that does.
I have included links below with more information about Segregated Witness and the BIP 148 UASF.
Thank you for your consideration,
[your name]
Exchanges
Dear [exchange operator],
I have been trading bitcoin on your exchange for a while now, and I greatly appreciate the service you provide to make this possible. As you are probably aware, there is an upgrade to bitcoin called Segregated Witness that offers a lot of benefits to bitcoin users such as myself, and I would very much like to start getting the benefits of this upgrade as soon as possible.
Can you please update your node software to enforce the BIP 148 User Activated Soft Fork (UASF) before August 1 and post an announcement to your website when you have made this update? This would give miners the signal they need to show support for SegWit and help activate this important upgrade.
I am interested in using an exchange that enforces BIP 148 so that the bitcoin network can soon benefit from all the improvements Segregated Witness has to offer. If your node software is not updated to enforce BIP 148 then I will have to switch to using an exchange that does.
I have included links below with more information about Segregated Witness and the BIP 148 UASF.
Thank you for your consideration,
[your name]
Merchant payment processors
Dear [merchant payment processor],
I greatly appreciate the service you provide that enables me to accept bitcoin as a form of payment from my customers. As you are probably aware, there is an upgrade to bitcoin called Segregated Witness that offers a lot of benefits to bitcoin users such as myself and my customers, and I would very much like to start getting the benefits of this upgrade as soon as possible.
Can you please update your node software to enforce the BIP 148 User Activated Soft Fork (UASF) before August 1 and post an announcement to your website when you have made this update? This would give miners the signal they need to show support for SegWit and help activate this important upgrade.
I am interested in using a merchant payment processor that enforces BIP 148 so that the bitcoin network can soon benefit from all the improvements Segregated Witness has to offer. If your node software is not updated to enforce BIP 148 then I will have to switch to using a merchant payment processor that does.
I have included links below with more information about Segregated Witness and the BIP 148 UASF.
Thank you for your consideration,
[your name]
Mining pool operators
Dear [mining pool operator],
I have been a loyal miner in your pool for a while now, and I greatly appreciate the service you provide to make this possible. As you are probably aware, there is an upgrade to bitcoin called Segregated Witness that offers a lot of benefits to bitcoin users, and I would very much like to start getting the benefits of this upgrade as soon as possible.
Can you please update your pool software to enforce the BIP 148 User Activated Soft Fork (UASF) before August 1 and post an announcement to your website when you have made this update? This would give other miners the signal they need to show support for SegWit and help activate this important upgrade.
I am interested in using a mining pool that enforces BIP 148 so that the bitcoin network can soon benefit from all the improvements Segregated Witness has to offer. If your mining software is not updated to enforce BIP 148 then I will have to switch to using a mining pool that does.
I have included links below with more information about Segregated Witness and the BIP 148 UASF.
Thank you for your consideration,
[your name]

https://lightco.in/2017/06/02/segwit-uasf/