While developing the Bancor protocol we began to realize that what we are creating is essentially a new type of currency — one that is natively liquid. In keeping with industry conventions, we decided to call these currencies “smart tokens” since they are based on “smart” contracts, and since “tokens” is how the Ethereum community and literature refer to all user-generated assets that are ERC20 compliant.
The most important feature of smart tokens is that they can be purchased or liquidated (sold) at anytime, directly through their smart contract, without the need to use an exchange or even be matched to a second party to exchange with. Now that might sound like voodoo but it’s actually quite simple. Here’s how it works:
- The first thing to understand is that smart tokens are money that hold money. This means that the smart contract which operates the token “owns” units of at least one other token (smart contracts can do that). We refer to those other tokens as “reserves”, similar to how a central bank which issues a currency also owns foreign currency reserves.
- Secondly, anyone can purchase a smart token with its reserve token(s), simply by transferring the reserve token to the smart token’s contract, which in return issues the buyer new units of the smart token. This is similar to the way tokens are issued by ICO smart contracts in exchange for other tokens (such as Ether). However, with smart tokens, the reverse operation is also possible, meaning that any smart token holder can choose to liquidate units and receive a reserve token in return, effectively removing these smart token units from circulation, and all this is done directly through the smart token’s contract. The supply of a smart token increases and shrinks with demand for it.
- The third and most important thing to realize is that smart tokens set their own price, in respect to each reserve token they hold. The price automatically increases when smart tokens are purchased for the reserve token, and decreases when they are liquidated to the reserve token. The exact formulas and proofs are available in our whitepaper, but essentially price is a kind of fraction between a smart token’s reserve balance and it’s supply. Precise mathematics in the contract’s algorithms assure that a reserve can only be drained when every last unit of the smart token has been liquidated, and this is done by setting and holding a fixed reserve ratio (configured by the smart token creator, for example 10%) to the smart token’s market-cap (its supply times its price). This ratio is called the “Constant Reserve Ratio” or CRR, and each reserve token held by the smart contract has has a predefined CRR. The combined CRR of all reserve tokens must be above 0% and up to 100%.
One may wonder why this functionality is needed at all, given that liquidity and price discovery can already be obtained through the trading activity in exchanges. Is there really a need for an alternative solution?
The simple answer is “Yes”, and here’s why:
Exchanges can be viewed as “matchmakers” between parties with opposite wants. Each trade consists of two contrasting transactions, where each party is buying what the other party is selling. The need to find a party with opposite wants is the reason currencies and other assets may on occasion face what’s known as “liquidity risk”. This constraint makes it impractical for smaller scale currencies (such as community currencies, loyalty points and other useful credits) to become liquid.
In addition, liquidity providers such as traders and market makers are, naturally, seeking to maximize profits. This means that with the current exchange solution, liquidity comes at a cost.
Smart tokens will never face liquidity risk. The participation of traders and market makers in their trading becomes optional, rather than required. In fact, smart tokens can be seen as tokens that have a built-in automatic market maker for themselves, operated by their smart contract.
Deep into the process of designing the smart token concept, we started contemplating the implications of a smart token holding more than a single reserve token. What we discovered is that in such a configuration, the smart token becomes a bridge between its reserve tokens, enabling anyone to use the smart token as an intermediary token for swapping one reserve token for another, using a two-step process in which the smart token is purchased for one reserve, and immediately liquidated to the other.
The ability to hold multiple reserves enables the creation of what we’re calling “token changers” (smart tokens holding two reserves, each with a 50% CRR) and “decentralized token baskets” (smart tokens holding multiple reserves totaling a 100% CRR). However, these exciting use cases deserve their own blog post, so stay tuned for more info on those soon.
The smartest thing about smart tokens is that they can become increasingly smarter over time as new functionality is developed for the Bancor protocol. Additional smart token features that we’ll be writing about soon include Delegated Account Recovery (making it less disastrous to forget your password), and a built-in “Vault”, which cleverly mitigates the potential damage in the case of compromised accounts. These features are all intended to make smart tokens easily usable by anyone as we head towards mainstream adoption. We believe smart tokens can help make the breakthroughs of blockchain technology more approachable and relevant to all. We’d love your thoughts on how smart tokens can keep leveling up.