How to use escrow with Bitcoin
Business with Crypto 101—Escrow and Key Signatures
If you’re not waiting for mass adoption, but are ready to seek, or promote, services to be paid in cryptocurrency — you should know of a few tools that can help to secure those transactions.
While cryptocurrency is relatively new, people used escrow agents to facilitate Bitcoin transactions - between anonymous parties online - since as early as 2013.
This article will explain what is escrow, how to find an escrow agent, and using key signatures to verify who you are communicating with — including the use of Bitcoin and Ethereum signatures to prove (and verify) ownership of a particular address.
With the knowledge of locating a reputable escrow agent, and familiarity with the use of key-signatures for verifying identity, our potential for using cryptocurrency to engage in valuable transactions is greatly increased.
What is Escrow?
An escrow agent is a trusted third party, who acts as an impartial mediator between two mutually distrusting parties. One party gives funds to the escrow agent, and the agent releases funds to the other party once the terms of their agreement have been met. In the case that a dispute should arise, the escrow agent uses their judgement.
Since Bitcoin enables peer-to-peer transactions, we must use and create our own systems for mediating transactions. While many are working to create decentralized applications for commerce, to rival their centralized counterparts, those applications are in their infancy.
How do I Find an Escrow Agent?
Bitcointalk.org is the oldest forum in the Bitcoin community, and among the first places that you could find an escrow agent dealing in Bitcoin. To this day, Bitcointalk and has an active, peer-reviewed, community of escrow agents.
There have been any number of forum threads, ranking escrow agents, throughout the years. Currently, there seem to be two main threads on the subject (search for yourself to be sure).
BitcoinTalk’s Escrow Providers: Ranking & Blacklist - (Started `13 — Updated 9/18)
hedgy73: Recommended bitcointalk escrow services - (Started 11/17 — Updated 7/18)
Each escrow provider has their own thread, announcing availability, rates and other terms of service. You’ll want to browse these threads, and check out their rates, trust ratings, and terms of service.
Each users trust ratings is found in their profile, and next to their messages on the forum. Click “Trust,” to see what feedback they’ve received, and from whom.
Select “All” so that the entire thread shows up on one page. This way you can search for terms like “scam,” “lie,” “cheat,” “dishonest.” I usually scan an entire thread, when possible, as well. Pay particular attention to the end (most recent messages) of the thread. You must do your research on this, but it’s pretty straightforward.
Forums and email accounts are commonly hacked. There are any number of ways an attacker could intercept your communications. Once you find an escrow agent that suits your needs, you’ll want to verify that you are communicating with who you think you are, before entrusting them with funds.
That’s where public key cryptography comes in for the win. (source)
When you find an agent that you are interested in, first, check their PGP signed message.
If the escrow agent is a Keybase user, verifying their signature is simple.
Head over to keybase.io/verify, and you’ll see the following window. All you have to do is paste a signed message in that box and click verify.
If they are not a Keybase user, then you’ll need to verify via GPG, or the Keybase command-line app.
All you have to do is copy paste the public key into
signing_key.pub, and the signed message in
signed_file.sig. Assuming you have gpg installed — import the public key, and then verify the signed message:
gpg --import singing_key.pub gpg --verify signed_file.sig
That warning is because PGP was designed so that users would sign each other’s keys, attesting to the identity of other PGP users that they know. That design is known as Web-of-Trust, where each user who signs your key, attesting to your ownership of it, becomes a strand in your web-of-trust. As PGP never gained wide adoption for the encryption of personal communications, Web-of-Trust never achieved its full potential.
The important thing is, if I give you my public key, you can verify that future messages from me were signed by its corresponding private key.
Keybase has helped in the matter by creating a social network around public key cryptography. Their app acts as a public directory of PGP public keys, and hides most of the cryptographic dirty work behind its slick UX. Keybase is a more user-friendly (and centralized) workaround to the difficulty of getting a bunch of people to sign your PGP pubkey.
If your chosen escrow agent is a keybase user, you can use keybase.io/encrypt to encrypt a message for them, before sending it through the forum. This way, you know that an attacker can’t intercept your message.
You can also encrypt messages for any user whose public key you’ve imported, via gpg in your terminal.
Verifying Bitcoin Addresses
In case someone ever wants to prove they own a Bitcoin address, or have it proven that you own a certain Bitcoin address, there are a number of tools available signing and verifying messages.
Just like in PGP, we use our private signature, along with our public key, to produce a signature that verifies control over that address.
I grabbed this message, from somewhere on the forum, to show an example using blockexplorer.com to verify a Bitcoin signed message.
-----BEGIN BITCOIN SIGNED MESSAGE----- This is SFR10, from bitcointalk.org. Today is 11/14/2016 and officially I'll be providing my escrow service from now on. -----BEGIN SIGNATURE----- 1Gm5K2H2fjD2oiTn4rWC5GwQMn2xMUBc5g IB3olT0yUiSAuFKtOpRTTanVMIyV6BlUMeNsHEA4OYgHfMEp9SBwXMFIIrEc2dWfarF9uJqfmpAPi9hrLIFftBs= -----END BITCOIN SIGNED MESSAGE-----
You can also use your Electrum Bitcoin wallet to sign and verify messages. I imagine other cryptocurrencies can be used in the same way.
Besides BitcoinTalk Escrow
Besides BitcoinTalk forums, r/Jobs4Bitcoins/ also has an escrow service:
Commissioned by the admin of the subreddit, /u/matthew_boyd, […] providing the service of trusted escrow for a small fee.
When some work is uploaded, a community-trusted programmer will check through it, to make sure that the project has been successfully completed.
Additionally, you might consider using Bitrated.com. Bitrated was the first multi-signature application released to the public, having launched in 2013.
Using multi-signature ensures that the trust agent never has full control over the funds and cannot take them to himself. In addition, when everything goes well, the funds can be released with no intervention by the trust agent.
Using Bitcoin escrow, and verifying signatures, we can engage in increasingly valuable transactions — making Bitcoin and cryptocurrency, more a part of our every day lives.
Where is FreelanceForCoins in all of this?
FreelanceForCoins is the place where buyers and freelancers using cryptocurrencies like Bitcoin (or Ethereum, Bitcoin Cash, Monero and stablecoins) can find each other. We believe that every freelancer in the future will have had at least one project done for crypto. Every year cryptocurrency adoption grows with no stopping in sight.
However, it's really hard to find freelancers accepting cryptocurrencies. It's a hard task even for us. We plan to take it slowly and attract users and earn their trust over time, adding new features and making this site more and more usable every day.
Join us in this journey
We hope you join us in our journey.