If you don’t know who Andreas Antonopoulos is, let me give you a quick introduction. Since 2012, he’s been a full-time advocate for cryptocurrency. He speaks at conferences, writes books and articles about cryptocurrency. His works include content aimed at developers like Mastering Bitcoin and introductory resources like The Internet of Money.
He also has a YouTube channel with hundreds of videos and millions of views. Last week, he posted a video called Bitcoin Q&A: BitPay and BIP-70 controversy:
As most familiar with his work would expect, Andreas explained the issues clearly and examined the controversy in a fair and balanced way. He explained the security tradeoffs between BIP-21 and BIP-70 (or Payment Protocol). He provided excellent insight and ( even we’ll admit) a valid critique of our decision to enforce BIP-70.
What Andreas Missed
However, Andreas did not touch on the main reason BitPay started enforcing BIP-70. The primary motivation was not security, but usability.
BitPay’s goal is to increase the adoption and use of cryptocurrency for payments. Allowing our users the option of BIP-21 addresses undermined that goal. How?
With traditional payments online, you never actually send a payment. That sounds shocking, but it’s true. The payment processor pulls the required funds from your account. With Bitcoin and cryptocurrencies, it’s like handing cash to a cashier. You initiate or push the payment. That means you can give too much or too little and the mistake is instantaneous.
Customers have to pay the exact amount owed in the expected amount of time. That’s how businesses work. Before Payment Protocol, BitPay was flooded with payment errors. These errors caused our users constant headaches as we had to refund their order and tell them to try again. A year ago, these errors in combination with high miner fees on the network led to Steam, the online video game store, to stop accepting cryptocurrency payments.*
By continuing to provide the option to use BIP-21 addresses, we were allowing these payment errors to continue. After requiring all payments to be made through the BIP-70 protocol¸ error rates stopped being a problem. With BIP-70, BitPay is also now able to perform additional checks on incoming transactions (minimum required miner fee and checking if unconfirmed inputs are used). These checks in combination with BIP 70 allow us to provide a smooth payment experience for our merchants and their customers.
With error rates of at least 6%, Bitcoin would never provide a payment experience that is even comparable to traditional payment providers. Would anyone expect merchants and their customers to switch to a new payment method that caused more problems for them than traditional payments?
The Controversy from our Point of View
As far as we can tell, the criticism of our decision to enforce BIP-70 that Andreas talks about is not the majority of the criticism BitPay receives. There absolutely are wallet developers who disagree with BIP-70 on an ideological or political level, but they do not seem to be the majority of our users.
Rather, the main criticism we have seen is from individuals using exchanges like Coinbase to both store and use their cryptocurrency. These users caused a significant percentage of our payment errors precisely because they didn’t have direct ownership of their cryptocurrency which led to a slower and less reliable payment process. In short, the majority of criticism seems to have more to do with UX than politics.
Near the end of the video, Andreas pointed out that people are using third parties to unwrap the BIP-70 protocol to get to the BIP-21. This creates additional security concerns for BitPay users by introducing additional trusted parties. This point is not only valid, but, if our sole and primary motivation for enforcing BIP-70 was about security, would present a compelling case to roll-back enforcement until more of or all of the Bitcoin ecosystem adopted Payment Protocol.
But as we said before, BIP-70 is not only about security for BitPay, but about usability. And the usability of cryptocurrency is not just about the short-term success of BitPay, but also the long-term success of cryptocurrency.
Interested in the simplified implementation of Payment Protocol BitPay created? Check out our JSON interface.
Want to learn more about Payment Protocol? Check out our Payment Protocol FAQ page.
* Steam cites high fees and the volatility of Bitcoin as their reasons to no longer support Bitcoin payments. The second and third paragraphs that deal with Bitcoin’s volatility are a perfect depiction of a payment error and why payment errors are unacceptable for merchants and their customers.