How to use Decentralized Exchanges

As we have seen in the recent past, many cryptocurrency fellows believe it is hard or complicated to use so called “decentralized exchanges” (short: DEX). Thus most traders not even try them out and still rely on centralized exchanges. In fact DEXs are absolutely easy to use and they are generally not more complicated than conventional centralized exchanges like Bittrex or Binance.
Because of this we would like to show you how to get started with DEXs.

Skip the blabla and go to “Getting started”!

What are the benefits of DEXs?

You may have heard about Mt. Gox, the largest and most popular bitcoin exchange by the beginning of 2014. But then, out of the sudden and without any indication, the website closed and since then never came back online. All deposited funds (approximately 850,000 Bitcoins) in the Mt. Gox exchange were locked up in their centralized wallets, out of control of their legitimate owners. The Mt. Gox staff said they were hacked, but until today there is no real evidence proving such a hack.

Anyway, the Mt. Gox debacle highlights the high potential risk of using unregulated centralized exchanges: You have to trust them, because you have to transfer your valuable funds into a foreign systems outside your control and maybe even outside of the jurisdiction of your home country!
As you may have experienced yourself, if one of the larger centralized exchanges simply has some bandwith or server issues (which just happens from time to time) the crypto-community is becoming nervous as hell. They fear to see another Mt. Gox debacle and to lose all of their deposited funds.

The most important benefit of a DEX is just this: There is no single point of failure! Another Mt. Gox scenario is virtually impossible.
The following list summarizes some of the benefits a DEX has against centralized exchanges:

  • They are decentral: You don’t have to rely on and trust in one central operator or entity which is maintaining the exchange. If in a DEX-system one node goes down you can quickly switch to another node and keep trading.
  • Control: You are in control of your private keys. Thanks to smart contracts, you are able to hold your private keys of the assets you are holding.
  • No KYC: Centralized exchanges are forced by law to do so called “Know Your Customer” (short: KYC) verifications to keep track of their users identity, for the case of money laundering suspicions or something else. Because a DEX has no official central entity there is no need or technical possibility to do or enforce KYC verifications.

As anything, also DEXs have downsides you should know about

  • You alone are in control of your private keys! If you lose them or the encryption password for them your funds are irretrievable lost!
  • There is no “password lost” function or something else. You are responsible to store your password safe!

How a BitShares DEX works

At this point you may be interested in how a DEX technically works.
At the moment there are many different DEX technologies in development or testing phase (for e.g EtherDelta, 0x, Kyber, AirswapOmega One and many more).
The most advanced approach is the BitShares protocol, a financial blockchain protocol used by a variety of different DEX implementations. We will give you an introduction into BitShares and show you the most important things to become a DEX trader.

General Architekture

The following diagram shows how the single parts of the BitShares Exchange ecosystem work together:

In the center you can see the BitShares Exchange Blockchain. This blockchain is used for all transactions (orders, order book, trade executions, deposits, withdraws, accounts etc.).

Next to that blockchain you can see so called Gateways “running on” the BitShares blockchain. A gateway can be imagined like the gate through which external cryptocurrencies can flow into the BitShares Exchange.
If you deposit some cryptocurrency funds through a gateway, the gateways will accept the amount of coin and add the amount as a plain number of the corresponding Smartcoin to your BitShares wallet (see next chapter).

The DEX clients (e.g. on your PC or smartphone) are connected to one of the gateway nodes. Simply said this DEX client is just a graphical user interface for using the DEX blockchain and can be a web application in your browser or a native application installed on your PC or smartphone.

Because everything is done on a blockchain you also have to pay the usual transaction fees (very low compared to centralized exchanges) for placing orders and moving funds around. These fees are paid in the BitShares currency with symbol BTS. It is also used as collateral for loans and margin trades.

Smartcoins and Gateways

Smartcoins (also called “Market Pegged Assets”, or short MPAs) are smart contract based “replacement assets” which track the value of their corresponding counterparts (e.g. 1 USD = 1 bitUSD and so on).
Smartcoins are necessary, because it is technically not possible to trade the “real currency”on the BitShares blockchain.

A very similar procedure is done by centralized exchanges, where your deposited coins are collected in a common exchange wallet and your account balance gets credited the corresponding amount. This “plain number” is then used for trading. As soon as you withdraw the coins again, the withdrawn amount is substracted from your account balance and the coins are transfered out of the common exchange wallet.

In BitShares this is done by gateways and smartcoins. For e.g. if you deposit 2 BTC through a gateway, the gateway provider will accept your deposited funds (the 2 BTC) and credit the same amount (2) of the corresponding smartcoin (something like openBTC or bitBTC) to your BitShares wallet.
The following diagram should illustrate the deposition of 2 BTC from a BTC wallet to the BitShares wallet:

A smartcoin guarantees that you can redeem (withdraw) your real asset anytime through a gateway.

Different gateways issue different “altcoin-smartcoins”. Usually

The first part of each smartcoin symbol (e.g. openBTC, bitBTC) indicates the gateway used. For expample “open” indicates the OpenLedger gateway, “bit” the BitShares and so on.

User-Issued Assets

User-Issued Assest are assets which are not smartcoins. Each user can create such assets for ICOs and so on. They are yet not very interesting for us and we ignore them here.

Getting started!

Creating a user account and wallet on a BitShares based DEX is super easy and a lot faster than traditional centralized exchanges.

For this tutorial we used BitShare’s own exchange implementation, the BitShares Exchange. But you can also use the exchanges of other BitShares gateways like CryptoBridge (is issueing many new altcoin-“smartcoins”), OpenLedger (very smooth UI) or RuDEX. They all use the BitShares blockchain and the local wallet we create in this tutorial can be imported in each of them! You are also able to use the RuDEX interface to trade for e.g. CryptoBridge coins.

Note: If you are using the browser exchange, then you are using is a large javascript based web application (written in reactJS), so it could take a few seconds to load and show you the following screen.


Give it some time to load and initialize.

Types of wallets

You have the following choices to create a wallet:

  • Cloud wallet: This is the default if you click “Create Account” button. It will create an “On-Chain” wallet which is accessible from everywhere (each PC or browser) with a simple username + password combination.
  • Local wallet: Will create an encrypted wallet stored in your browsers local storage. It can be exported and saved wherever you want.
    • Using a local wallet allows you to generate a brain key which you can (and should) write down on paper to restore your local wallet any time in the future!

We recommend to generate the local wallet because it is more secure.

Creating local wallet account

Click the “advanced form” link in the lower right corner. This is important to generate an encrypted local wallet instead a cloud wallet!

In the shown form you have to enter a username which contains a number, e.g. username123 and a password.
This password is used to encrypt your wallet as you may know it from other coin’s wallets. So keep it safe!

Congratulation! That’s all!
Generally you are done! You have created an account with a local wallet and can start depositing funds and trade them!

The next steps are optional but recommended. You should now go into the settings and backup the local wallet.

Backup your local wallet

Click the menu icon in the upper-right corner and select settings:

Then click “Backup” on the left side and select “Create local wallet backup”.

Download the *.bin file and save it in a safe place. E.g. copy it on multiple usb drives and place them in different locations.

Additionally or alternativley to storing the local wallet file you can create a local wallet brainkey.
The brainkey consists of a number of words which are the human readable repesentation of your wallets private key, also known as “seed” or “paper wallet” from other wallet applications.
Write these words down or print them out and store them in a safe place.

Deposit funds

In the next step you may want to deposit some funds to be able to make some trades. This is very similar to centralized exchanges.
Go to the menu on the upper-right and click “Deposit”:

Account Permissions

There is another somewhat confusing concept in Bitshares Wallets called “Account permissions”.

TODO

This article is still in draft mode and not completed yet!