Initially, a fork of the Ripple protocol, Stellar’s existence began back in 2014. The Stellar platform was designed to provide fast, secure, and extremely cheap transactions between different banks, payment systems, and individuals.
For the end user, the whole process seems simple but moving money between different currencies and across borders for extremely low fees is a lot more complicated when you look at the inner workings.
Keep reading our comprehensive Stellar Blockchain guide to see how it all works!
Jed McCaleb was the founder of Ripple back in 2011 but not long after he decided to cut ties. In 2014 he and Joyce Kim forked from the Ripple protocol and founded the Stellar Development Foundation.
Now, Stellar is a successful platform backed by a solid advisory board and brilliant future prospects.
Stellar’s main features
To begin with, let’s see the most important features provided by Stellar. A more detailed analysis will follow shortly.
- Relies on the Stellar Consensus Protocol
- Uses an open and decentralized database
- The confirmation time is approximately 3-5 seconds
- It enables Smart Contracts and Multisignatures.
- “Lumen” is Stellar’s token, XLM for short.
- Stellar has a 1% fixed annual inflation.
How does Stellar work?
For example, Carol wants to send $50 to Dave. Carol is a US resident while Dave lives in Kenya. So those $50 will be converted to Kenyan shillings.
Carol is using Bank A based in the US while Dave is using Bank B based in Kenya. The two banks are connected to the Stellar platform and known as “Anchors” (this will be discussed below).
The transaction intent is sent from Bank A to Bank B almost instantly, to verify if Dave is compliant. Once Bank B receives confirmation from Bank A, the funds are deducted from Carol’s account.
Then, the dollars are moved into Bank A’s pool account and transferred into the Stellar network as Lumens, the native Stellar token.
To continue, the network searches for the optimal exchange rate for converting the Lumens into Kenyan shillings. Finally, the money is moved into Bank B’s pool account and then deposited into Dave’s personal account.
Now that we’ve seen how a transfer performed on the Stellar network works, let’s discuss the features in more detail.
1. Decentralized network
Like many other cryptocurrencies, Stellar relies on a peer-to-peer, decentralized network. This means there is no single entity that makes all the decisions.
2. The Ledger
Stellar’s blockchain is an open ledger containing all the transaction details. Anyone connected to the platform can view the transaction data in the ledger.
3. Anchors and Credit
I mentioned “Anchors” above but what does it actually mean? Anchors are entities part of the Stellar platform capable of holding deposits and issuing credits whenever it is required.
Anchors connect all the different currencies with the Stellar network. Money transactions in the Stellar network are actually credit issued by anchors, except transactions of Lumens, Stellar’s native tokens.
The consensus processes all the decisions and verifications performed by the Stellar network and it takes about 3-5 seconds to complete. Specifically, Stellar is using the Stellar Consensus Protocol (more on that later).
5. Distributed Exchanges
The term of “offer” means a public commitment to exchange one credit to a different type of credit at a pre-determined rate. This powers one of Stellar’s main components, the exchanges.
You can think of the Stellar ledger as a marketplace for buying and selling various currencies. The “orderbook” contains all the offers in the Stellar ledger and there is one for each currency/issuer pair.
6. Multi-currency transactions
This is one of Stellar’s most important capabilities as it allows Carol to send her USD to Dave as Euros, or any other currency.
The Stellar network searches the USD/EUR exchange for someone that wants to buy EUR for USD. If it finds someone, the transaction is instant.
However, an indirect exchange is also possible. The platform is also capable of searching for individuals who would want to buy USD with Lumens. Then, they can connect them with someone else who was searching to purchase Lumens with EUR and the transaction will still take place. It’s also possible to go through a chain of multiple conversions if need be.
The Stellar Consensus Mechanism
Stellar’s decentralized system relies on a consensus mechanism in order to work properly even if there are certain malicious parties involved.
Back when it was a Ripple fork, Stellar was using the Ripple Consensus Algorithm (RPCA). The RPCA is a Practical Byzantine Fault Tolerant (PBFT) algorithm.
Here’s how PBFT works: to begin with, a central authority selects a predefined set of validators that control the system by agreeing on various things, including transaction verification. 66% of the validators need to reach a consensus after which it will be recorded in the blockchain. In other words, everything works as intended as long as malicious elements don’t reach more than 33% consensus.
This system worked for Stellar until they went through a fork. Then, they found issues with the PBFT system that was preventing them from reaching a consensus. Professor David Mazières from Stanford was asked to analyze the problem.
He says the Fischer Lynch Paterson (FLP) impossibility states that any deterministic asynchronous consensus system can only have two of the three properties listed below:
- Fault Tolerance
- Guaranteed termination or liveness
The professor claimed the PBFT was sacrificing over the other two properties. In other words, the RPCA was prioritizing ledger closes and availability over all the involved parties actually agreeing on what the ledger is, making it vulnerable to various risk scenarios.
Professor Mazières analyzed the entire system and discovered the algorithm is not 100% safe under all circumstances. While Ripple replied to the professor’s research (you can read about it here), Stellar decided to work on their own version of consensus algorithm based on the Federated Byzantine Agreement (FBA). The new algorithm is called the Stellar Consensus Protocol (SCP) and it caused the platform’s base to be completely recoded.
How the Stellar Consensus Protocol works
The SCP relies on two concepts: The Federated Byzantine Agreement (FBA) and Optimal Failure Resilience.
According to the SCP whitepaper, in FBA all the involved parties are aware of the others it considers important. Each participant will wait for the majority of the others to agree on any transaction before it is settled. Those important participants also wait for the ones they consider important to agree before they do. At some point, enough of the network validates a transaction making it extremely difficult for an attacker to roll it back.
The FBA is practically a variation of the Byzantine’s Agreement Problem and it’s solved without knowing how many nodes are participating.
Optimal Failure Resilience
Optimal Failure Resilience is about how secure the consensus protocol can be made. To verify the system for resilience, it needs to be checked for two scenarios that can break its functionality: Failure, and Lack of Liveness.
We won’t go deep into these two scenarios, so here’s a general idea of what they mean. Failure occurs when there are two independent quorums taking decisions on the network. Obviously, a decision-making system needs just one decision, not two or more.
The solution is called Quorum Intersection, which means that any two quorums in an FBA system will always share a node of contact.
Lack of Liveness, on the other hand, refers to the validity and liveness of each quorum. A node in FBA enjoys liveness if it can work without any malicious nodes participating.
Hopefully, you now have an idea of how an FBA works and what it needs to do to become Failure Resilient. SCP is an FBA protocol that guarantees its notes enjoy quorum intersection even though there are also malicious nodes participating. In other words, it is Byzantine Fault Tolerant.
Stellar and Lumen (XLM)
Lumens, Stellar’s tokens are used as intermediaries between multi-currency transactions. They are also used to stop spam transactions that are performed to slow down the system.
To prevent this, Stellar charges a small transaction fee and requires each account in the network to hold at least 20 XLM.
Speaking of, 100 billion XLM have been pre-mined and the Stellar Development Foundation is in charge of the distribution.
They plan to give 50% in small increments to as many individuals as possible over the next decade to keep the system decentralized. 25% will be split among various businesses and non-profits, 20% will go to Ripple and Bitcoin holders, and 5% will be kept by Stellar to cover operation costs and future development.
There’s also a fixed inflation system that makes the total Lumens count increase by 1% every year.
Any individual holding Lumens in the pool can vote where the funds will go. The lumen is distributed to any account receiving more than .05% of the votes from the other accounts on a weekly basis.
Future of Stellar
Announced in late 2017, IBM partnered with Stellar, making it the first giant corporation to adopt a cryptocurrency network. Stellar also seen a lot of interest from institutional investors for the past year making it a very good investment medium-to-long term. Combined with its real-use case and future developments, it’s no surprise that Stellar is (and will be) a top 5 infrastructure blockchains.