46 Days to SegWit: Growing Consensus in the Bitcoin Economy

You can read previous posts in this series here and here. You can find my guide about how to enforce the BIP148 UASF with your Electrum bitcoin wallet here. For templates that you can use to fill-in-the-blank and request that your favorite economic nodes and mining pools support the BIP148 UASF, scroll to the bottom of this post.

A lot has happened since last week’s blog post about the BIP148 UASF. Bitmain, the largest ASIC miner manufacturer, released their “contingency plan” for a “User Activated Hard Fork” in case the BIP148 UASF activates before the Segwit2x soft fork. The way I read this is that Bitmain is willing to do whatever it takes to avoid activating SegWit, which is quite surprising given that less than a month ago they signed the Segwit2x agreement to activate SegWit. If Bitmain would just signal for SegWit via BIP141 now, that would go a long way towards preventing a chain split on August 1. But I digress.

In more positive news, bitcoin developer James Hilliard submitted a pull request to the Segwit2x GitHub repository yesterday with code that attempts to make the Segwit2x deployment compatible with BIP148. While it’s not as good a solution as it would have been to make the proposal compatible from the start, this is likely the next best thing at this juncture. For that, I thank James for making the effort.

Continuing the theme of support for SegWit and BIP148, several important economic nodes have recently announced their support, undoubtedly thanks to the many supporters who have voiced their preference in public and private messages. These economic nodes include Ledger, a hardware wallet manufacturer, and the team behind Bitsquare, a decentralized exchange application. You can learn more about the growing support for SegWit and BIP148 among developers and economic nodes on this page of the bitcoin wiki.

If you support the BIP148 UASF, you should contact the folks behind your favorite wallets and exchanges if you haven’t already and ask them to enforce the BIP148 UASF. You can find fill-in-the-blank templates to do this at the bottom of the post here.

Since last week’s blog post I was also invited onto three different YouTube shows to discuss SegWit and the BIP148 UASF. You can watch these episodes below:

Hungarian Crypto Show

https://www.youtube.com/watch?v=dmtaQ55AZac

This Week in Bitcoin

https://www.youtube.com/watch?v=0wiWWQKswuY

Bitcoin News #42

https://www.youtube.com/watch?v=fXxW5wyeGrk


Email is probably the most popular decentralized messaging protocol. Add yourself to my email contacts if you would like to stay in touch!

How to enforce the BIP148 UASF with the Electrum bitcoin wallet

During a recent interview I did on This Week In Bitcoin, I was asked how to enforce the BIP148 UASF with the Electrum bitcoin wallet. I didn’t have a quick answer at the time so I decided to write up this guide.

Here are some easy instructions for how to do that:

(You can skip to step 3 if you already have the Electrum bitcoin wallet installed.)

Step 1. Install Electrum

Step 2. Create a new wallet and save your master seed in a safe place. You can also hook up your hardware wallet if you have one. [Ledger] [Trezor]

Step 3. In the menu bar click Tools -> Network

Step 4. Uncheck “Select server automatically”, paste electrum.satoshiportal.com into the Server field, then click OK.

Screen Shot 2017-06-10 at 12.57.56 AM

That’s it! The wallet is now talking to a server run by Francis Pouliot that will automatically enforce BIP148 for you. Use this wallet for all of your transactions to ensure that your wallet is enforcing BIP148. If you’re really tech-savvy you can also run your own Electrum server and configure it to enforce BIP148 for you.

WARNING: In the event that neither the economic nor hashpower majority supports BIP148 by August 1, you should undo the steps taken here to enforce BIP148. You can do that by checking the “Select server automatically” box on the Network page as in Step 3 above. If you don’t check this box, you could end up transacting on a minority blockchain after August 1, and your transactions will be at risk of getting reversed.

If you want to better protect your privacy when using Electrum, then on the Network screen select “SOCKS5” proxy on localhost port 9150 then click OK. Close Electrum then open Tor on your computer. Restart Electrum and it should sync with the Electrum server over Tor. Make sure whenever you use Tor with Electrum that you start Tor BEFORE you open Electrum and close Tor AFTER you close Electrum.

For more info about the BIP148 UASF you can read through these posts and the links contained therein:

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

https://lightco.in/2017/06/09/no-chain-split/


Email is probably the most popular decentralized messaging protocol. Add yourself to my email contacts if you would like to stay in touch!

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]

https://bitcoincore.org/en/segwit_adoption/

https://segwit.org/

http://www.uasf.co/

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]

https://bitcoincore.org/en/segwit_adoption/

https://segwit.org/

http://www.uasf.co/

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]

https://bitcoincore.org/en/segwit_adoption/

https://segwit.org/

http://www.uasf.co/

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://bitcoincore.org/en/segwit_adoption/

https://segwit.org/

http://www.uasf.co/


Email is probably the most popular decentralized messaging protocol. Add yourself to my email contacts if you would like to stay in touch!