BitPay and the BIP-70 payment protocol
Recently, there have been a lot of questions about bitcoin payments using BitPay and, in particular, using BIP-70 protocol. Some of our clients have found the BIP-70 Payment Protocol to be inconvenient to use. As a result, they had to use one of the compatible wallets to make payments. Let's look at why BitPay made the rapid switch to the mandatory Payment Protocol from BIP-70 protocol.
Significant reduction in costly errors
Historically, BitPay has aimed to reduce or completely eliminate payment errors in accounts. A transaction error usually occurs when a user pays too much or too little, or too late, or their payment does not include a sufficient miner’s fee (causing a delay in transaction confirmation). Such errors are not isolated incidents.
Prior to the implementation of the Payment Protocol, wallets or exchange accounts that were not designed for spending transactions (altogether with the mistakes made by regular Bitpay users) caused thousands of problems every week that were critical for BitPay customers. With Bitcoin's growth, more and more cryptocurrency users are using BitPay merchants.
Naturally, merchants rely on Bitpay's service to make successful payments, which means that any mistake can impact their business negatively. Despite automatic refunds in the case of an error, such moments are simply terrible for customers to handle as they cannot fulfill their orders.
Protecting users from unnecessary fees to miners
Aside from the negative experiences described above, the congestion of the Bitcoin network and the payment of unnecessary fees to miners have also contributed to problems in making transactions. As the load on the BTC network has increased dramatically over the last few years, these fees have increased significantly.
Often, when an initial transaction was made incorrectly, $10 was deducted from the user's account (a fee to miners). Upon recovering the deducted amount, the customer also paid a fee of ten dollars (a commission fee). As a result, the wallet user transferring cryptocurrency was forced to pay $20 just "for nothing." A solution to this problem of payment errors was necessary.
Although BitPay originally planned to use a simpler solution than BIP-70, due to the skyrocketing fees on Bitcoin transactions, it was necessary to act immediately. BIP-70 is already used in many wallets and, although this Payment Protocol is not perfect, it is available and completely solves the problem.
How the Payment Protocol solves the problem
In BitPay Payment Protocol wallets instantly record the exact amount sent and the Bitcoin address. Their use eliminates the possibility of making costly address errors.
The primary purpose of BIP-70 is to prevent payment errors. With the Payment Protocol, the wallet can coordinate payments directly with BitPay servers before they are broadcasted to the Bitcoin network. If there is something wrong with the transaction, BitPay can reject it.
In this scenario a user will not suffer any financial loss due to an erroneous payment as the transaction will simply not be executed. The payment protocol makes it possible to prevent incorrect payments from being made to BitPay accounts on the Bitcoin network.
BitPay originally intended to use a simpler solution than BIP-70, but due to the skyrocketing fees on Bitcoin transactions, it was imperative to act immediately. Although BIP-70 is not a perfect payment protocol, it is already available in many wallets and is able to completely solve the problem.
Protection from intruders
The BIP-70 protocol offers the advantage of being more secure than just copying and pasting addresses. Hackers have been attacking the Bitcoin ecosystem for many years. A suspicious third-party script or extension, a virus, or a malicious TOR browser output node can change the bitcoin address displayed on a web page. These attacks can result in funds sent by the user to end up in the wallet of attackers. This security threat is eliminated by the payment protocol.
Integrating the BIP-70 Payment Protocol into wallets
There are some challenges associated with integrating BIP-70 Protocol into wallets, but BitPay is already working with other wallet providers to achieve compatibility.
BitPay is going to roll out new features that will make this task easier in the future. Ultimately, BitPay's goal is to create a seamless Bitcoin payment system.
While BitPay continues to support BIP-70 for Bitcoin payments, it is actively working to simplify its JSON-based API implementation. It is hoped that more wallets will be compatible with BitPay accounts in the near future. This option will also help wallets of other cryptocurrencies to implement payments without any errors occurring during transactions, as support for other blockchains will be added as well.