When Bitcoin was presented in 2008 it showed that it was possible to have a decentralized and trustless currency. In the following decade we witnessed the rise of many different cryptocurrencies, each one with a different goal and philosophy.
While cryptocurrencies can differ greatly from each other, they can be divided into four groups:
- Cryptocurrencies/Payment Tokens: these tokens have no inherent value and are used as a medium of exchange on the network. Payment tokens are usually used to pay for network fees. Stellar Lumens are an example of cryptocurrency.
- Stablecoins: these are tokens that are backed 1:1 by another asset, usually a fiat currency held in a deposit account. Users trust the stablecoin issuer to exchange back the token for fiat currency. Coinbase USDC is an example of stablecoin, you can always redeem 1 USDC for 1$.
- Utility Tokens: these tokens are used to pay for a service. The Basic Attention Token (BAT) is a utility token used to obtain advertising-related services and it’s exchanged between users, publishers and advertisers.
- Security Tokens: these tokens represent ownership of an asset, for example a company or a property. This type of tokens are less common because securities are regulated in most countries and early stage companies (the most likely candidates for Initial Coin Offerings) don’t have the resources to comply with all the regulations.
Originally new tokens were created by forking an existing project and changing the protocol to meet the requirements. Ethereum revolutionized this process by letting users program smart contracts that behaved like currencies, later it was formalized in the ERC20 standard.
The Stellar Network supports non-native assets directly, letting users issue and exchange their different assets. In this blog post we begin by giving an high-level overview of Stellar Assets, compare them with ERC20 tokens, and finally delve into the technical details.