Building financial systems with Stellar — finally creating applications of real economic activity.

Written by mik.umanski | Published 2018/09/01
Tech Story Tags: bitcoin | stellar | cryptocurrency | blockchain | fintech

TLDRvia the TL;DR App

Let’s go back in time…it’s January 2018 — after a very crypto-enthusiastic finish of 2017 we storm into the new year with high hopes. No matter how many moons some people flew to, we were all brought back to Earth — and the landing was anything but gentle.

Now almost 8 months later we are still deep into bear market. The coin craze has stopped and community views have shifted. We are now more cautious — people no longer believe in empty promises. What they want to see are working products with real-life use cases.

While painful, this bear market could be the start of a new era in cryptocurrencies. Instead of speculative toys, we will finally have technologies and solutions that allow companies to reinvent core ways of doing business.

Payments are one of the business pillars — and Stellar could be the thing pushing them forward into the future.

But what exactly is Stellar?

Stellar is an open-source decentralized protocol for digital currency to Fiat transfers that allows transactions between ANY currencies. It was launched by the founder of Mt. Gox and co-founder of Ripple — Jed McCaleb. Stellar was created in collaboration with Stripe — unicorn fintech startup — who that Stellar $3 million in seed funding.

Imagine that you have USD that you wish to exchange for EUR. You could do it at the traditional currency exchange point and lose (a lot of) money and time during the process. You could also use Stellar and its decentralized exchange which will find the cheapest possible exchange rates for your currency pair automatically.

https://www.stellar.org/how-it-works/stellar-basics/#how-it-works

How is that magic achieved though?

Stellar is basically a network of decentralized servers scattered across the world. These servers record every single transaction that occurs on the Stellar network. Each and every one of them holds a complete copy of all the transactions that happened. All these data forms distributed ledger — the state of the Stellar network at a given time and the servers act as validators.

Any entity can launch their own Stellar server and the more servers there are, the more independent the network is. This allows Stellar (and many other blockchain projects) to avoid the single point of failure flaw. When one server fails, the network continues to work as usual — this is not the case for traditional banking systems, as some of their parts are necessary for entire systems to work — a failure of such part means outage.

When it comes to transactions, there are no miners wasting years worth of energy like it happens for Bitcoin — validation is achieved in a different way. What Stellar came up with is called Stellar Consensus Protocol.

The Consensus

https://www.stellar.org/how-it-works/stellar-basics/explainers/#Consensus

All the validators on the Stellar Network periodically agree on a new ledger of transactions — this is what we call consensus. Every validator creates their own list of validators that they trust — also known as their quorum slice. Together these slices form a network-wide quorum. This helps Stellar stay decentralized — there is no central entity that is forming the trusted validators list. After the network-wide quorum agrees on a certain version of the ledger the consensus is reached.

Because there is no need to solve complex cryptographic puzzles and the transactions are validated in a voting process, Stellar is able to achieve transaction time of about 3 to 5 seconds. Read more about the consensus here.

Distributed Exchange

https://www.stellar.org/how-it-works/stellar-basics/explainers/#DistributedExchange

Thanks to the distributed exchange Stellar is able to fulfill its function as a universal payment system. Ledger stores the buy or sell orders that users make — such offer is public commitment to exchange one type of asset for another. The rate at which the assets will be exchanged is predetermined and every currency pair forms its own order book.

But what if I want to exchange BTC for Venezuelan bolívars and the order book is empty?!

Stellar supports multi-currency transactions. The network will automatically find the best exchange rate for given transaction. This could be achieved by a chain of transactions between different currency pairs.

If there are no explicit relationship between offers to buy and sell, Stellar tries to find offers from the network that will lead a chain of conversions from EUR to USD. For example, EUR to AUD, AUD to BTC, BTC to ETH, ETH to USD.

Stellar anchors

https://www.stellar.org/how-it-works/stellar-basics/explainers/#Anchors

Stellar allows its users to use so many trading pairs thanks to trusted entities that are called anchors. Anchors act like connections between different currencies and the Stellar network.

Users make deposits to the anchors that in return issue the same amount in form of credit. This credit is then assigned to the user account in the Stellar network. Users can give the issued credit back to the anchor to trigger withdrawal — almost all the transactions between users in the Stellar network are credit exchanges.

Stellar Lumens

Apart from all the different currencies, Stellar Network has one native cryptocurrency called Lumens (XLM). Lumens are an essential part of the Stellar Network — they act as an anti-spam tool. Each transaction requires a very small fee and every account on the Stellar Network must meet the minimal XLM balance criteria to remain active. This makes it harder to perform DoS attacks on the network. Additionally, should two currencies have no direct link between themselves Lumens might step in as a bridge between desired assets, effectively making the transaction possible.

XLM price chart

That sounds good… too good to be true?

An almost free to use payment network sure does sound appealing, but Stellar is not flawless.

Because there are no block mining rewards, there are fewer network validators compared to cryptocurrencies like Bitcoin or Ethereum. The lack of incentives to become a validator could destabilize the network.

https://www.stellar.org/how-it-works/stellar-basics/explainers/

Another con is that Stellar Network requires anchors to fulfill its core functionality and there are many obstacles that an institution willing to become an anchor has to overcome. First and foremost the users need to trust the anchor with their own money. Without trust, no one will make deposits for credit and without credit, there is no network. An Anchor basically becomes a financial entity — that automatically involves a lot of responsibility as well as regulation and law-related work — this means that anchors will most likely be licensed money services providers and it might be hard to convince such institution to use Stellar.

As of now, scalability is also a major concern. While still much faster than Bitcoin, Stellar is not quite there compared to traditional payment methods like Visa when it comes to the number of transactions per second.

Suiting Stellar to your business

Established companies are already building services on the Stellar Network. I’m sure some of you have heard about Deloitte? They are one of them.

Stellar network is an open source project — all the software you might need to integrate it with your business is licensed under the Apache License, version 2.0 and there are no restrictions on any commercial use of the Stellar network. What you need, however, is a development team that will create and integrate your solution with the Stellar network — this process shouldn’t take more than 200 hours of development (according to Stellar.org).

To support this process an official REST API — Horizon has been released, along with JavaScript, Java and Go SDKs that allow you to connect to the Horizon. The community also maintains SDKs in many more languages.

https://www.stellar.org/developers/guides/get-started/

Most applications will interact with Stellar using the Horizon API — it provides easy and accessible ways to submit transactions, check accounts and perform other frequent tasks. It can be easily used with tools like cURL or web browsers. Stellar Core is the backbone of the network — this is the place that performs validation. Together with other instances of Core, it agrees on the status of transactions on the network.

Stellar provides detailed documentation that will help you with your first steps in development — start with the beginner’s guide and work your way from here.

Is it even worth it?

Stellar is not seeing mass adoption yet — but that is true for every blockchain and cryptocurrency connected project out there. As of now, it provides cheap and easy to integrate payment solutions — with the cheap part being important especially for smaller startups.

Traditional fees may exceed 3% of transaction value. With Stellar a $0.01 fee will satisfy about 600 000 transactions.

Ability to accept payments with technically any currency is crucial as it single-handedly opens our services to new markets — something that traditional payment providers cannot guarantee.

Stellar opens the magnitude of new possibilities as useful for entrepreneurs as for users. However what it needs is more adoption so ask yourself one question — could this kind of payment system be beneficial for the growth of your venture?

While working on this article I collaborated with the team at upnext.io!


Published by HackerNoon on 2018/09/01