Bitcoin was always intended to be sent peer-to-peer. Today we are happy to announce that Handcash and Money Button have partnered to implement a peer-to-peer transaction protocol between both services leveraging paymail as the naming and query system.
The title of the whitepaper is, “Bitcoin: A Peer-to-Peer Electronic Cash System“. What “peer-to-peer” is referring to in this paper is that a user sends a transaction directly to another user. This is why Bitcoin is “electronic cash”: it is handed over from one person to another exactly like physical cash.
Oddly, most Bitcoin wallets do not send transactions peer-to-peer today. Most wallets send the transaction to miners first and expect the recipient to scan all transactions on the blockchain to look for their transaction.
However, this strategy is unscalable. As the transaction volume on the network increases, the burden on the recipient to find their transaction increases.
The original Bitcoin code had a technology called pay-to-ip, which was later removed by the Bitcoin Core developers. We have restored this technology and rebuilt it in a more secure and user-friendly way on top of paymail.
With the new peer-to-peer protocol we have designed, transactions are sent from one paymail to another. This is more secure than pay-to-ip because it uses the underlying HTTPS API of paymail to prevent MITM attacks, and it is more user-friendly because users see a human-readable paymail instead of a public key.
We invite all Bitcoin wallets to join us in our initiative to create more scalable, user-friendly wallets. We have created a Telegram group to facilitate discussion amongst wallet companies to help us continue to expand the peer-to-peer capabilities of Bitcoin.
Last year, Money Button partnered with Handcash, nChain, Centbee, Electrum SV, and other companies to design and launch paymail, which is like email that supports Bitcoin. Paymail is an email address with an HTTPS endpoint for sending and receiving information. The first two extensions we launched were the ability to to get an address to send money, and the ability to get a public key to sign or encrypt data.
Today we are launching a new extension for paymail that supports sending transactions p2p. It is a new endpoint for paymail that accepts transactions. Each paymail on Money Button and Handcash can now receive transactions.
In order to send a transaction to a paymail end point, first query the address using the existing paymail endpoint, then build and sign the transaction, and then deliver the transaction to the new paymail transaction receive endpoint.
By sending transactions this way, the recipient does not need to scan the blockchain to look for the transaction. Instead, the transaction is received directly. Note that in the case of Money Button and Handcash, the transactions are being delivered service-to-service, but in principle the protocol we have designed supports genuine peer-to-peer transactions for true SPV wallets. Handcash and Money Button are sending transactions service-to-service because that solves the scalability problem in a practical way.
The new protocol we have designed is one piece of BIP 270, but is not the entire thing and actually replaces BIP 270. We no longer plan to implement BIP 270 as-is, but instead we will implement the components one step at a time. The new protocols will fit together to complete what was intended for BIP 270 (a complete invoice, authentication, and p2p transaction system), but the details will be different as we implement each piece in an iterated way.
We would like to thank Handcash for being so forward-looking and aggressive to implement this so early. This partnership is only possible because both teams have been able to work closely together. Even though we are competitors, we have a lot to gain by working together. It was a pleasure working with you, Handcash, and we look forward to creating more protocols jointly with you in the future!