Tuesday, June 28, 2011

PayPal, eBay, and Bitcoin Proof-of-Shipment

Certain e-commerce websites, such as PayPal and eBay, have prohibited the sale of Bitcoins through their services.

I suspect that the real reason for this is that Bitcoin is a potential competitor to PayPal, and eBay has a strong partnership with PayPal.

However, PayPal and eBay have given various lame excuses for their policy, such as their claim that a Bitcoin seller cannot provide a "proof of shipment" for the Bitcoins so there is no way to resolve a payment dispute.

This claim is manifestly false, as anyone with the merest understanding of how public-key cryptography and Bitcoin work should immediately be able to see.  I will explain.

The whole basis of Bitcoin is a public record of all Bitcoin transfers, which is shared with (and verifiable by) every node in the Bitcoin network.

Each Bitcoin transaction (transfer order) contained in this public record is digitally signed by the sender of the Bitcoins, using the sender's public-private key pair.  The sender's public key is openly published as part of the transaction details, and cannot be repudiated by any party.  Only the sender knows the matching private key, which is required to produce the digital signature.  This is how the Bitcoin network knows that the transaction was properly authorized by the original holder of the coins.

Each Bitcoin holder keeps, on their computer, an electronic "wallet" file that only they can access, which contains the entire set of private keys that they have used to sign their transaction orders.  These private keys can be easily extracted by the user from their wallet using freely-available tools (e.g., see here), and then used to digitally sign other documents, whenever the holder of those keys desires.

Therefore, it is quite easy for me (and only me) to prove that I was the one who initiated a particular transfer of a given number of Bitcoins to a given recipient address.

For example, I could do the following:

  • Step 1: Simply tape my driver's license to a piece of paper, and write below it something like, "I, Michael Frank, did authorize the transfer of so-and-so many Bitcoins from my address with public key so-and-so to address such-and-such (the receiver's address) on date blah-blah.  These transaction details (except my name) are publicly recorded in the transaction with ID #this-and-that which may be viewed by anyone in the public block chain."  I could even have this statement notarized.  (But the only really important part of it is my name, and the transaction ID.)
  • Step 2: Scan said document into a PDF file, and then digitally sign this document using the same private key that was used to order the original transfer, which could be accomplished using any number of free open-source public-key cryptography tools, such as PGP.
  • Step 3: Present the resulting digitally-signed document to whatever party requires a "proof of shipment."  All they have to do, to verify my proof, is run the same tool on the document, checking the digital signature against my public key (the one listed in the public transaction details).  They then have absolute proof that the person producing that document (namely me) is the same person who initiated the original transfer, because nobody else has access to my private key.  

In other words, Bitcoin transactions are only optionally anonymous.  Each and every Bitcoin transaction can be irrefutably tied to the sender's real-world identity, if the sender wishes to facilitate such a reveal, and he didn't lose the digital wallet in which those coins used to be stored.

The fact that eBay and PayPal apparently don't understand these simple facts about Bitcoin and the fundamental capabilities of public-key cryptography indicates that either:

(1) They are incompetent at the most basic lessons that they should have learned in Computer Security 101, OR...

(2) They know perfectly well that a Bitcoin "proof of shipment" is quite straightforward, and actually they are just blowing smoke in everyone's eyes, because PayPal wants to crush Bitcoin, since (if it were widely adopted) it would mean that no one need be forced to suffer PayPal's fees any more, if their service is anything less than stellar.

I personally suspect it is the latter, but I guess neither one of these possibilities would surprise me at this point.

Listen up, PayPal and eBay:  You need to quit fighting Bitcoin, or else you will make your customers increasingly hate you, for failing to provide compatibility with the world's first and only secure peer-to-peer cryptocurrency, which is a revolutionary, democratic new tool for electronic commerce, one that everyone should be free to use whenever they desire.

What I suggest to you is:  Don't be evil.  Join the good guys.  Embrace Bitcoin instead.  Provide full compatibility with it, and deploy tools which you and your customers can use to allow you to easily verify the authenticity of Bitcoin transactions, in case a dispute arises.  (You could even pass the buyer's Bitcoin receiving address through your site, so the buyer cannot deny what address he provided.) 

If you do these things, your most savvy, high-powered customers will love you for it.

4 comments:

  1. This proves the transfer took place, but not that it had anything to do with this particular sale. What stops the recipient from claiming that this transfer was for some other purpose and wasn't due to him winning the auction?

    Nor does this prove who the recipient is. The recipient can claim the transfer was to someone other than him.

    You could make something like this work, but it would require the recipient to provide a receiving address that is only used for this transaction and PayPal/eBay would have to store that receiving address. It would require a lot more effort on their part to make this secure than just processing receipts.

    ReplyDelete
  2. >> "What stops the recipient from claiming that this transfer was for some other purpose and wasn't due to him winning the auction?"

    In that case, the burden would be on the recipient to prove that I owed him that money for some other purpose.

    >> "Nor does this prove who the recipient is. The recipient can claim the transfer was to someone other than him."

    I agree, but it would not take much effort on eBay's part to present a text box to the winning bidder where they must enter their address information for receiving the goods, if this sort of thing doesn't exist already in eBay's interface. This would also be useful for physical goods, so the buyer can't claim that the items were shipped to an incorrect physical address.

    ReplyDelete
  3. I have sold a BitCoin on ebay and buyer has reported to paypal that there account has been hacked and that the purchase was not authorised by them.

    The wallet address was provided as a note within the paypal transaction, so the address can be proven to be with regard to the transaction which can be linked to the account owner.

    If they were indeed hacked then I believe that the fault is either the account holders for not securing their account, or PayPal's for have insufficient security. Either way, it will probably be me that ends up worse off even though I can prove the bitcoin was sent to an address provided by the account holder of the ebay and paypal account with reference to a particular sale.

    ReplyDelete
  4. Great test. Thanks for sharing. Very helpful as a woocommerce user. PayPal account 

    ReplyDelete