Dether Development Transparency — Part 1

Unveiling Dether’s P2P network of Ether traders and shops.

This blog post is the first in a series of articles describing the technical choices of Dether, and our long term vision. In this first article, we will answer all the major questions we’ve received up until now about our major choices thus far.

1/ Why Ethereum?

People often ask us why we’ve chosen to help cryptocurrency reach mass adoption using Ethereum and not the first cryptocurrency (in term of marketcap) which is Bitcoin. There are different reasons for that.

The first is that today, Ethereum is the most reliable blockchain for smart contracts. And this is crucial as we see Dether and its protocol to be fully decentralized, and reachable everywhere by everyone. Also, as true Ethereum believers, we strongly believe there will be a growing demand for an easy access to ether, and also tokens. Moreover, ether can be an easy entry to get other cryptocurrency in general, as in most exchanges, ETH is paired directly with all other major cryptocurrency.

2/ Why do you have a token instead of taking a fee?

Having an easy access to get ether using cash is a need shared by a lot of decentralized applications (Dapps). We have verified this assertion after the launch of Dether’s alpha, as we have been contacted by many teams working on Dapps. That’s the reason why Dether will have an API to enable an easy access to all information we have gathered.

Using a private paying API through Ethereum makes no sense. However, it makes more sense to develop a protocol based on a token instead of a centralized application taking fees.

In order to succeed in creating a reliable protocol with an incentive for using it, you need your own token to keep and share the value created in your ecosystem.

The drawback of having a token is that you create friction and add hidden costs to your users’ interactions (conversion cost etc..). That’s why we will have a freemium token system based protocol, where it will be possible to use the protocol without tokens, but users will be incentivised to use it. We will go in depth in Dether’s token system in further articles, but it aims with multiple mechanisms to incentive everyone in the app, without creating friction for new users.

For more information about the use of the ÐTH token, you can find all the explanations related to our token model in Dether’s whitepaper:

3/ Why have you chosen to use a PWA (progressive web app) instead of a native app?

We launched Dether’s alpha on October 2017 on Ethereum Kovan testnet.

We have chosen to use a PWA because it facilitates a lot of things. First, you don’t have to go through any AppStore validation. And currently, for a crypto-related mobile app, it can be challenging to be validated by the AppStore.

Also your app is platform agnostic. A progressive app may run normally like a website, but we chose to encourage people to add it on their phone home screen, to recreate the mobile experience. So we put in place a system where we detect if the users are using their browser and show them a very simple installation process to follow. And once we detect that the app is running through the home screen link, we launch the real app. Thus, we recreate a mobile app experience, with an easy version management, and AppStore censorship resistant.

So once installed, it’s easy for a user to come back to the app instead of relaunching the app. As a javascript and mobile app community member, we are already seeing this switch in mentality of thinking that this kind of mobile app will become a more standard way of doing things, going forward.

As a result, in less than a month, more than 3.000 people all over the world have installed Dether on their mobile phone and used it.

4/ Do you really have no back-end?

Yes, the alpha runs without any back-end, as we just need some external API, like mapbox for the map, and our own Ethereum provider. That’s it! For the rest, it’s just web3 to Ethereum node communication. This architecture has some drawbacks: loading a lot of data from an Ethereum node, can be a struggle, so for example, in the first version of alpha, we were loading all the ether sellers on the map.

Ether sellers located on the Dether map

But as more and more ether sellers were added, it’s too long to handle this data. Now, we load only the ether sellers from the country where you are. And for the first mainnet beta version, we will load only the sellers from your postal code and the ones closest to you.

5/ How do you handle a user’s private key?

We create the mnemonic phrase with entropy generated by the user’s phone move, and generate one private key. Once created, we encrypt it all with the password provided by the user and store it in the local storage of the app.

For every transaction in the app, we decrypt the private key with the password provided by the user to sign the transaction (but never keep the private key in memory), and broadcast the signed transaction through our Ethereum node.

This way, the private key is never stored decrypted in the system, and it never leaves the user’s device.

6/ Do you plan to add other cryptocurrencies?

We will add ERC20 tokens in Dether’s future version. It will be possible for users to buy and sell token using cash anywhere in the world. For other cryptocurrency, we are looking for solutions to bridge the Ethereum ecosystem and other cryptocurrency.

Rootstock (RSK) <> Dether @Devcon3

For now, we are thinking about Cosmos, which will be soon available, and Rootstock (RSK) which will be an EVM side chain to Bitcoin. Our main concern about that is that layer should be pegged in some way with our token. And it’s definitely something we would like to add for 2018.

Next article to be published in the Dether Development Transparency Series: “Introducing Dether.js”