Pay to IP: what is and why it's important
The first versions of bitcoin had the possibility of carrying out P2IP ("Pay to IP") transactions: if the buyer and seller had the Bitcoin software installed and were connected to the network, it allowed establishing a communication channel between them, in which the seller could communicate to the buyer the bitcoin address to send the payment.
The communication was neither encrypted nor authenticated, so a MITM (man in the middle) attack was possible: the attacker was able to modify the message and overwrite the original bitcoin address with his own.
The "Pay to IP" was suppressed in bitcoin version 0.8.0 because of the possibility of this MITM attack (man a the middle). However, a better solution would have been to develop authentication and encryption methods to the communication channel to eliminate the possibility of MITM attack.
"Pay to IP" transactions do not mean that "I pay to an IP internet address" (like "xxx.xxx.xxx.xxx"), but rather that I pay to a normal bitcoin address (P2PKH, the normal addresses that start with "1 ...") AND, in addition, a communication channel was established between buyer and seller.
Why are "Pay to IP" transactions so important?
Precisely because a COMMUNICATION CHANNEL between buyer and seller is established .
That communication channel has many advantages:
1. A first advantage is that the buyer does not need to connect to the miners to transmit the transaction he has just signed, but sends it directly to the seller. The seller is the only one who needs to transmit the transaction to the miners, as well as he monitors the confirmations and transmits the evolution of these confirmations to the buyer. It also allows the seller to transmit the invoice, for example.
2. A second advantage -a great one- is that, for a $1000 payment, the buyer communicates his 1000 addresses, the seller adds his 1000 addresses, the seller creates the transaction, the buyer signs it ... And here we have transacted $1000 through 1000 transactions of $1 each one. Higher Fungibility!
3. The third advantage -and the greatest one, in my opinion- is that buyer and seller can transmit each other the Merkle routes of the transactions that concern them for that payment:
The buyer transmits to the seller the Merkle route of the origin of the funds with which he will make the payment. For the buyer, this Merkle route increases the certainty of the existence of those funds, which will be corroborated when the transaction is included in the mempool or in a block. This higher certainty can also allow the seller to accept 0 conf for small payments.
The seller then transmits to the buyer the Merkle route of the transaction that has just been carried out: after transmitting the transaction to the miners, and after consulting the miners if that transaction is in the mempool or in any block, the seller receives from the miners the Merkle route of the transaction (if it has already been included in a block) and can be communicated to the buyer.
The buyer, if he wants to, can ask the miners if that transaction is on the Merkle route that the seller has told him.
Neither the buyer nor the seller need to download the whole blockchain and, even less, neither they need to verify all the transactions that occur throughout the network. They do not need to be constantly "listeners" of the bitcoin network. They only need to consult the miners about the validity of these Merkle routes.
And that is why this COMMUNICATION CHANNEL between buyer and seller, that "Pay to IP" provides, is so important.
1 of 1 reviewers say it's worth paying for
0 of 1 reviewers say it's not worth paying for