Bitcoin Magazine

Show Menu

Bitrated: You Can No Longer Say Bitcoin Has No Consumer Protection

One of the commonly cited problems that many people see with Bitcoin as a payment method is the fact that all transactions are final and irreversible. With credit cards, if you buy something but never receive the product, you can issue a chargeback to recover your funds potentially weeks after the transaction. With Bitcoin, on the other hand, no such option exists. Of course, in many cases the lack of chargebacks in Bitcoin is actualy an advantage; in transactions where the two parties have an established relationship, or one party is a reputable business, the possibility for any kind of fraud on the merchant’s side is quite low, and the lack of an institution to mediate chargebacks is what allows Bitcoin to avoid the high fees charged by credit cards and Paypal. But nevertheless, there are definitely many industries in which the level of consumer protection that credit cards offer is very useful – and, so far, in those cases Bitcoin has had little to offer. Now, however, Bitrated is positioning itself to be the first mainstream Bitcoin service to change that fact.

Bitrated’s solution to consumer protection is in some ways an old one: escrow. Rather than a customer sending a payment to a merchant directly, the customer sends the payment into escrow, and the funds are released from escrow only when the customer confirms that they received the product or service. However, Bitrated makes one major addition to the model: multisignature transactions. Rather than the customer sending money directly to a trusted escrow agent, the customer sends the money to what is called a “2-of-3 multisignature address” constructed using the customer, merchant and escrow agent’s public keys. The mechanics behind a 2-of-3 address are exactly what one might guess from the name: funds sent to this address can only be spent with the cooperation of any two of the three parties.

The process for making an escrow transaction in Bitrated works roughly as follows:

  1. Suppose that Alice wants to send money to Bob through escrow. To start off, Alice goes to the Bitrated website and goes to “Browse arbitrators”. She then selects an escrow agent (say, Trent) and clicks “Start transaction”.
  2. Alice pastes the conditions of the transaction (eg. “in exchange for the 0.5 BTC, Bob ([email protected]) agrees to send Alice ([email protected]) a new Samsung Galaxy S4 smartphone, still in the box and undamaged”; for actual escrows, Bitrated offers a helpful page listing important details to include in the contract). She clicks “start”,
  3. The Bitrated interface provides Alice with a link. Alice sends this link over to Bob, and Bob opens the link in his web browser, and accepts the contract.
  4. At this point, the Bitrated interface generates the 2-of-3 multisignature address between Alice, Bob ad Trent (because only Trent’s public key is required to make such an address, this can be done without Trent’s participation). Alice sends funds to the address, and after one confirmation (usually 0-15 minutes) Bob sees that the funds are in escrow.
  5. When Alice wants to release the funds, she enters Bob’s address and an amount to release, and clicks “release”. The interface creates a transaction sending the specified amount to Bob’s address, and signs it with Alice’s private key.
  6. Bob sees a pending transaction in his interface, and he clicks on it to inspect it. Seeing that the transaction is sending funds to his address, he clicks “approve”. The interface signs the transaction with Bob’s private key and the transaction is published, completing the transfer.

If Alice and Bob have a dispute, at the bottom of the page the interface presents a link which either of the two can send to Trent. At that point, Trent will contact Alice and Bob to gather evidence from both of them, and adjudicate the dispute. If he rules in favor of Alice, he will construct a transaction sending the funds to Alice’s address and sign it. Alice will then need to approve the transaction, at which point she will have her funds back. If Trent rules in favor of Bob, the same process occurs between him and Bob.

What are the advantages of this multisignature escrow process? There are three main factors to consider. First, in all cases where there is no dispute Trent is not involved at all. As a result, nearly all transactions will have no fee. If Trent gets involved, he will likely charge a fee, but the fact that fees are charged only when the escrow agent is actually brought in ensures that the system is paid for primarily by the very same people who make the heaviest use of it – a drastic change from the credit card system, where the fallout from fraud is evenly spread across everyone in the form of a 2.9% fee charged to every merchant and ultimately passed on to every consumer, regardless of how much due diligence each individual consumer does to deal with reputable merchants. Second, even if Alice and Bob bitterly disagree over whether or not Bob adequately fulfilled the conditions to receive the payment, if they both agree that Trent is doing a bad job of adjudicating, or is charging excessive fees, the two can sign a transaction together to send the funds directly into another escrow with another escrow agent. Finally, Trent himself has no opportunity to run away with the funds. In theory, Trent can conspire with Alice to split the funds fifty-fifty and leave Bob with nothing, but such a situation would require two of the three parties involved to be dishonest, rather than only one.

If multisignature escrow is so attractive, why has it not been done before? The answer is, of course, that it has been done; the tools to do so have existed since 2012, and are now available in the form of moderately easy-to-use command line tools such as sx and my own pybtctool. Bitrated innovates over such cruder “do-it-yourself” escrow solutions in several places. First, the service is very easy to use. Anyone can understand how to use Bitrated even if they have no idea how multisignature transactions or public and private keys work. And for those users who are more advanced, Bitrated provides the option for users to add their own public key instead of having one generated for them by the service.

Second, the service is very well-designed from a security standpoint; although Javascript web applications do have some inherent weaknesses, with the exception of those flaws (which can also be avoided if Bitrated chooses to release a version of their service as a Chrome extension rather than a website) Bitrated appears to be doing everything right. Bitrated itself keeps no data on its server; all of the information associated with any particular escrow transaction is stored in Alice or Bob’s URL. Here’s one example of what Bob’s URL looks like:

The first thing that we see is that most of the data is hidden behind a “hashtag” (a technical term for a number sign). This is an idea originally conceived by the creators of RushWallet, an online “instant wallet” service requiring no username or password. The reasoning behind this choice is that the data behind the hashtag is actually not sent to the server, meaning that the server learns almost nothing about any of the transactions that take place over its site. Right now, the server does see partially signed transactions, but in future versions even that data transfer would be encrypted. Then, we see five parameters: “alice”, “trent”, “terms”, “proof”, “bob-priv”, each with a value that is made up of around fifty letters and numbers. All five of these parameters are base64 encodings; the value of the “alice” parameter represents Alice’s public key, the “trent” parameter Trent’s public key, “terms” the terms, “proof” a signature of the terms by Alice (proving that the terms were not modified in transit) and “bob_priv” Bob’s private key. Alice has a similar URL but with her private key and a signature from Bob instead of herself. Thus, even if BitRated shuts down, Alice and Bob can still decode their URLs and, perhaps with the help of a more technical user, get their funds out.

One area where Bitrated is still lacking, however, is in the choice of escrow agents. The escrow agent list is essentially unmoderated, and although a sort of reputation system is present it is still difficult to determine how trustworthy an escrow agent is. A partnership with professional escrow agents that are vetted by Bitrated may improve the service in the short term, especially if Bitrated intends to target those users who are not yet used to the concept of evaluating and choosing their own escrow agents. Bitrated’s current architecture also presents a problem on the escrow agent’s side: escrow agents have no way of filtering escrows. In fact, it is technically possible to use literally anyone who has ever sent a Bitcoin transaction as an escrow agent without their permission. On the one hand, this does make life easier for Alice and Bob – Alice does not need to wait for her escrow transaction to be approved before sending the funds. On the other hand, many escrow agents will likely want to set restrictions on the kinds of deals that they adjudicate – perhaps even limiting deals to a few standard transaction types. Although escrow agents can certainly simply state their policies on their webpage and refuse to even look at arbitration requests from noncompliant escrows, the service could be improved by creating a more explicit interface for escrow agents to set their policies.

What is the future of Bitrated going to be? At this point, Bitrated is still limited in scope; the service as it stands is designed only for person-to-person transactions with an active participant at each end. One possible next step that Bitrated may wish to target is facilitating semi-automated transactions such as e-commerce setups. If Bitrated is correctly set up to deal with such transactions, online e-commerce startups should be able to “plug in” to third party arbitration with minimal effort. All they would need to do is show the customer a multisignature address instead of their address, and provide an interface for the customer to confirm that they received a given product. If Bitrated reaches that stage, then multisignature arbitration may well become a mainstream, low-cost alternative to traditional credit card transactions with chargebacks. Such a system would protect the merchant and the customer, and if a given merchant always delivers what they promise and never gets into a dispute the fees on both sides would be quite low. The future of consumer protection with cryptocurrency is only just beginning.

Get Top Stories Weekly

We respect your email privacy

  • Ad

    Great to see attention for Bitrated. But it could be clearer that using an arbitrator is not the same as using escrow. The articles mixes up the terms arbitrator and escrow party which I think is confusing.

    The money is never signed over to the arbitrator, there is no counterparty risk to the arbitrator party ever unlike with escrow, they cannot run away with the money!

    • Yakov

      and this is important because regulation. Escrow services are heavily regulated.

    • Nadav

      Yes, the distinction is very important (as Yakov mentioned below, other than the difference in the amount of trust you need to have in the arbitrator, this also makes a lot of difference from a legal standpoint) and there is definitely some confusion about the two terms. A lot of people are much more used to the term “escrow” (when I’m talking about bitcoin arbitration, a lot of people confuse that with arbitrage…) and will probably continue using it, even if its not quite accurate. (I’m the creator of Bitrated)

    • miss j

      well, they admitted though if two people conspire to cheat the third person, there is no recourse.

  • Spotted Marley

    This is the best new idea I’ve seen in weeks. If escrow can be accomplished without fee and without complication Bitcoin’s currency characteristics can finally begin to shine.

    • dkmdlb

      This is the power of bitcoin – it’s non-monetary functions. It solves so many problems in a low-cost and simple way.

  • randybrito

    What about the Google Chrome caching and sending all the contents of the address bar to their servers (even those that are suppose to be local-only “#”). Wasn’t Instawallet compromised by this Chrome “feature”?

    • you’re not smart are you?

      If you know google does that than why the fuck are you using it?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!? Just use a web browser that uses the mozilla browser engine.

      • randybrito

        ¬_¬ yeah, tell the same to the Bitcoin potential users. You fckn expert.

        BTW it is spelled THEN not THAN.

    • Nadav

      Hey, I’m the developer behind Bitrated. This is an excellent question, and I did some digging to check what’s the situation exactly with Chrome and how that could effect Bitrated security. Here’s what I found:

      1. Google does not send a copy of *every* URL you visit to their servers. This happens with the auto-complete feature they have, when typing URLs manually in the address bar, but not when you follow a link or open a bookmark.

      2. URLs that use SSL aren’t sent to their servers, even when typed manually. I verified this with a packet sniffer. This means that even when typed/copied manually, Bitrated addresses should never be sent to Google.

      3. Even when URLs from autocomplete are sent to their servers, this shouldn’t cause Google to index it, according to them. The Instawallet URLs probably got indexed by other means.

      4. Even though sensitive URLs are never sent, Chrome users can disable the autocomplete behavior completely (untick “Use a prediction service to help complete searches and URLs typed in the address bar” in the settings page)

      5. Chrome’s malware protection does check *every* URL you visit, but they do this by downloading a list of black-listed URLs to your computer, and not by sending URLs to their servers.

      6. Sensitive URLs could still get indexed in search engines by other means, as happened with Instawallet. To prevent this, I’ll be blocking requests made to URLs that could contain sensitive information from search engine spiders (according to their user-agent).

      I hope this made the issue clearer. If you have any more questions about this or other subjects, don’t hesitate contacting me (the email is available on Bitrated).


  • Peercover

    They need to change their color scheme.

  • Guest

    I must have missed the part where a $20 federal reserve note has built-in consumer protection. Next time I pay cash and get ripped off, I’ll be sure to ask the Bernank to refund me the money.

  • Matt B.

    Yes! A great news indeed. Now I’m anticipating just how far this can all go and where bitcoins as a virtual currency will potentially be heading. Betting on a positive feedback thanks to bitrated.

  • panonym

    Very interesting.
    Unfortunately for exchange between different cryptocurrencies, we might have to rely solely on escow and centralized exchange.
    With all the risk that are link with them.
    Hopefully innovative solution will appear one day.

  • bob

    bitrated is a fraud i used there service today and the ARBITRATOR fucked me out of 600 dollars. the seller sent a email to ask for a refund so i told the arbitrator i would like refund he said ok then sent the money i put into the account to the seller and didnt respond. 2 people can scam alot of others on this site and they dont care or do anything to validate there arbitrators turstfulness

  • bob

    i told the arbitrator that the seller told me to request a refund because he didnt have the item. i the buyer put the money into the multi account and i the buyer got screwed by the site and the arbirator i lost 600 dollars and only thing i got was a few emails from the site owners or mods saying nothing we can do sorry u lost your money

  • bob

    email from bitrated
    Nadav Ivgi12:11 PM (8 hours ago)
    to me

    The 2-of-3 multisig arbitration model works such that instead of trusting one person, you’re trusting 2 of the 3 to be honest. If the trusted third party can’t be trusted and he’s colluding with the one of the other parties, they can indeed cheat together.

    When it comes to human nature, there’s no computer system that can give a 100% guarantee. It is simply impossible. Bitrated’s model of operation makes it harder for scammers to scam, but requires the third party to be trustworhy – and it is the parties responsibility to ensure that he is.

    • miss j

      pffft. so its your fault if you get scammed? no recourse? its impossible to ensure someone is trustworthy… especially if they are colluding with others to scam you. all it takes is one scam.

      oh and fyi

      “bob • 8 months ago

      i told the arbitrator that the seller told me to request a refund because he didnt have the item. i the buyer put the money into the multi account and i the buyer got screwed by the site and the arbirator i lost 600 dollars and only thing i got was a few emails from the site owners or mods saying nothing we can do sorry u lost your money