Introducing the new Terra Protocol
Over the past few months we’ve been hard at work re-designing the Terra protocol. We’ve learned a lot since our original design and received valuable feedback from the community, which we have sought to incorporate. As our roadmap for global adoption has solidified, so have the requirements for the protocol that will power it. The new challenges that have come with designing a medium of exchange for millions of consumers in multiple countries have called for many new ideas.
The principles underpinning the design are simple: stability and adoption. Both we believe are essential for the mainstream success of a digital currency. In fact, we think that the two can be self-reinforcing if the currency becomes a sticky medium of exchange. Our vision for Terra is premised on this simple idea.
With our mainnet launch around the corner, this is a good opportunity to tease out the most interesting ideas. For the full treatment read through our new white paper.
There are several forces that motivated this new design:
- The need to support a global e-commerce alliance
- Our transition to an independent Proof of Stake blockchain
- The need to reward miners for absorbing Terra’s volatility
- The need for transparent and growth-driven fiscal spending
We walk through them one by one and explain how they have each become a building block of the new design.
Supporting a global e-commerce Alliance
The Terra Alliance has grown to a large number of e-commerce companies in multiple countries, each with its own regional currency. A currency needs to retain its purchasing power with respect to local currency if it is to be widely adopted as a domestic unit of account and medium of exchange. A single Terra currency is no longer an option in light of this. Instead, Terra aims to be a family of cryptocurrencies that are each pegged to the world’s major currencies. This will include currencies like the USD, EUR, CNY, JPY, GBP and KRW. Terra’s flagship currency, TerraSDR, will be pegged to the IMF SDR and serve as the unit of account for the Terra protocol (eg to denominate transaction fees). The SDR’s low volatility relative to any single fiat currency makes it a robust benchmark for our flagship currency. Whenever we use the term “Terra” to describe a single currency we are referring to TerraSDR, and in what follows we will explain the stability mechanism using TerraSDR as an example. The mechanism we describe is the same for all currencies in the Terra family.
To make conversions between currencies within the family frictionless, the protocol supports atomic swaps at the appropriate fiat exchange rate. The seamless flow of capital between each currency unifies the family into a single macro-economy and lays the foundation for radically more efficient foreign exchange and cross-border payments.
Transitioning to Proof of Stake
After much research we decided to implement the Terra protocol as an independent Proof of Stake blockchain on Tendermint. The many limitations of building on Ethereum or competing platforms made them unsound choices for implementing our vision. In summary, the main drivers behind this decision were the following:
- Scalability: Ethereum’s transaction throughput is untenable for a usable currency. We expect our blockchain to afford us between two to three orders of magnitude more transactions per second (100–1000x) with at least several hundred nodes on the network. Applications with high transaction volumes, eg payments, can increase throughput significantly more by using techniques like batching.
- Platform independence: Not being subject to the restrictions and idiosyncratic development cycles of existing platforms is a key freedom. So is retaining full control over fees rather than being subject to erratic fee changes.
- Future interoperability: We believe that blockchains will sooner or later interoperate, and are fans of the vision of the Cosmos team to make that happen soon for Tendermint-based blockchains.
As part of this redesign, Luna — the second native cryptocurrency of the protocol — is the token miners need to stake to participate in Proof of Stake consensus. Luna has an initial supply of 1 billion. At every block period, the protocol elects a block producer among the set of staked miners, who is tasked with aggregating transactions and achieving consensus among miners on the next block. Miners are elected at a frequency that is proportional to their Luna stake. In that sense, Luna represents mining power in the Terra network. Miners acquire and stake Luna to participate in the consensus mechanism and secure the network as a result. As we shall see, they are also the first line of defense against Terra volatility.
Rewarding miners for absorbing Terra’s volatility
The basic principle behind Terra’s stability has always been the same: adjust its supply in accordance to changes in demand to keep its price stable (say at 1SDR), and do this in a decentralized and algorithmic way. More precisely:
- When the price of Terra rises above the target the protocol needs to expand its supply
- When its price falls below the target the protocol needs to contract its supply
The latter is the difficult part of course — printing money is easy when you hold the printing press.
Contracting and expanding Terra’s supply simply means buying or selling Terra at its target price respectively. The protocol uses Luna to facilitate those exchanges, essentially acting as a market maker for Terra:
- To buy 1 Terra, the protocol mints and sells Luna worth 1 SDR
- By selling 1 Terra, the protocol earns Luna worth 1 SDR
Insofar as the protocol can maintain both sides of this contract, the price of Terra ought to remain pegged at 1 SDR.
What is simply happening here is that the supply of Luna is absorbing volatility in the demand for Terra, meaning that the supply of Luna decreases or increases in accordance to changes in Terra demand. This of course affects miners by either burning or diluting mining power. Mining power becomes more or less valuable in the process and so in effect miners are the ones absorbing Terra’s immediate volatility.
Miners are essential for the security of the network and the stability of Terra. The protocol is thus designed to maintain stable demand for mining in the long-term. This is achieved by shielding miners from the volatility of Terra’s economic cycles — essentially rewarding them more when demand for Terra decreases and less when demand for Terra increases to smooth out the ups and downs. Miners are rewarded in two ways:
- Transaction Fees: Every Terra transaction pays a small fee to miners. Fees vary over time to smooth out mining rewards. For example, if mining rewards are declining, an increase in fees can reverse that trend and vice versa.
- Seigniorage: Whenever the protocol mints Terra and earns Luna in return it generates what we call “seigniorage” — the profit from minting currency. Insofar as Luna’s supply exceeds the 1 billion target, a portion of earned Luna is burned as a way to reward miners. As with transaction fees, the portion of seigniorage that rewards miners is adjusted over time to smooth out fluctuations. Remaining seigniorage is allocated to the Treasury for stimulating growth — we explain how this works in the following section.
To sum up, the protocol makes it a priority to shield miners from excessive volatility in Terra demand by making mining rewards countercyclical — controlling them to oppose Terra’s economic cycles. If you’re curious about how this mechanism works then our white paper is for you. If you’re curious about why it works we’ll have a stability analysis for you soon.
Transparent and growth-driven fiscal spending
Perhaps the most powerful and exciting part of designing a stablecoin is the allocation of seigniorage — the profit generated from growth in money supply. It is the “budget” that the system receives to achieve its goals, and it is where the game is won or lost. Many stablecoins never have to face this question — fiat-backed stablecoins have no seigniorage, for instance, since there is no profit in money creation. We happen to think that seigniorage, if used wisely, is what makes stablecoins potentially very powerful.
The Terra protocol leverages seigniorage to achieve its twin goals of stability and adoption. Seigniorage allocated to mining rewards is a means of funding stability — it creates more stable demand for mining and thus stronger defense against Terra’s volatility. Remaining seigniorage is funneled to the Treasury, whose mandate is to stimulate Terra’s growth and adoption. National governments use expansionary fiscal spending with the goal of achieving a multiplier effect on the money spent and thus stimulate growth. The Treasury is tasked with doing the same for Terra’s economy, in a fashion that is more focused and hopefully more effective.
One of our core objectives in designing the Treasury’s funding mechanism has been to make it lean and transparent, relying on the discretion of stakeholders only when necessary. DApps building on Terra’s platform need to register with the Treasury with a specific funding proposal, subject to an approval vote from miners (and a potential blacklist vote if they are deemed to behave dishonestly). This is where the control that miners exercise ends: the funding itself is determined programmatically using what we call a “funding weight” — a measure of how effective the Treasury expects spending on that dApp to be. Funding weights are determined to reward (1) robust economic activity and (2) efficient use of funding. The motivation behind funding weights is to maximize the impact of the stimulus on the economy by rewarding the dApps most likely to instigate growth. As an example of what a funding program might look like, in an earlier post we laid out a design for efficient use of seigniorage by a payments dApp built on the Terra platform. Funding weights are more formally defined in the white paper.
A key advantage of distributing funding in a programmatic way is that it is simpler, more objective and more transparent compared to open-ended voting systems, such as in one of our earlier designs. Decentralized voting systems are notoriously hard to design and have a wide attack surface, including collusion and pork barrel spending. Our Treasury mechanism is narrower in scope and less susceptible to those attacks. It also requires less trust in miners, whose only authority is to screen dApps for honesty and legitimate use of funding.
Terra has been designed to be stable and adopted, at a time when the best use case for cryptocurrency — stable or not — remains trading. Our design now accommodates usage at scale by millions of people in multiple countries and local currencies. Miners are the guardians of Terra’s security and stability, by staking Luna and absorbing Terra’s immediate demand volatility. The protocol rewards them accordingly by shielding them from Terra’s economic cycles. The Treasury runs Terra’s growth machine, transparently funding those dApps that stimulate the economy the most. All the ingredients for a widely usable cryptocurrency have been baked into the protocol. We can’t wait to see it in action!