When I aped into Uniswap v1 in the first week of its existence, it wasn’t because I anticipated their retroactive UNI token rewards two years later, it was because I read the code and the code made sense. I didn’t want to submit an application and pay exorbitant listing fees to centralized exchanges. I didn’t like the choice between partnering with sketchy market makers or setting up my own market maker bot, which I would have to secure, maintain, and monitor that it was operating as intended. With Uniswap, I could list my assets and provide liquidity for them without paying anyone or asking permission. The LP tokens representing my share of a liquidity pool could be securely deposited into my multisig wallet with the rest of my assets. I could effortlessly show that I wasn’t engaging in market manipulation because on Ethereum, transparency is the default. And because the Uniswap v1 code was deployed immutably on Ethereum, I didn’t have to run any infrastructure or worry about monitoring. I could simply trust the program.
In Programs We Trust
Today, two years after Uniswap’s humble beginnings, the dawn of the global decentralized finance renaissance is upon us. The world is waking up to the power and value of reallocating trust from people into programs. Bitcoin, with its fixed 21M BTC supply cap and issuance schedule, has memed its way into becoming a store-of-value asset so well that Tesla bought $1.5B of BTC last week, and even some central banks are accumulating. Ethereum, as a credibly neutral world computer, has become the birthplace of DeFi with $40B+ deposited into open source financial programs uploaded by teams of developers all over the world. Uniswap v2 has $4B+ in total liquidity, had $1B+ in trading volume yesterday, and it was uploaded only 9 months ago. MakerDAO’s Multi-Collateral DAI (MCD), a program offering borrowers no-hassle credit against their crypto assets, has $6B+ worth of crypto asset collateral backing 2B+ DAI, their $1 pegged stablecoin. The central banks are following DeFi closely — last week the Federal Reserve Bank of St. Louis released a thorough research paper on DeFi, and they mentioned DAI 31 times.
The skeptics and critics were wrong. The Ethereum nerds were right. DeFi is the future of finance.
Now, DeFi did not become the future of finance by accident. Ethereum developers willed DeFi into existence with our code, and the Ethereum community bootstrapped the DeFi economy with our capital. We learned to place our trust in programs, and then we taught the world that they could too. In programs we trust.
Despite the feverish imagineering of Ethereum developers, there is still one important program that we have yet to upload, a program that has existed only in the imaginations of economists and central bankers, a program that until now was so infeasible it was hardly worth contemplating building:
An independent stable global reserve asset and unit of account.
For lack of a better plan, the central banks have been playing Triffin Dilemma hot potato for the last 500 years as they switch the global reserve currency from one country’s fiat to the next. The US Federal Reserve is going through it now, printing USD at an unprecedented rate, inflating away its value, and largely hurting the middle class. The SDR was an earnest but futile attempt.
In DeFi, also for lack of a better plan, our programs depend almost exclusively on $1 USD pegged stablecoins as a reserve asset. There are obviously risks to using bank coins like USDC and USDT which can freeze your assets or become insolvent, but even crypto-collateralized coins like DAI, by virtue of their $1 peg, subject the holder to the inflationary policies of the US Federal Reserve. To make matters worse, the recently proposed STABLE Act seeks to regulate all $1 pegged stablecoin issuers as banks, forcing them to obtain banking licenses and hold reserves with the Fed or else potentially be charged with counterfeiting.
It’s time for a better plan. Today it is our great privilege to announce the launch of RAI — our fork of MakerDAO’s Multi-Collateral DAI — on the Ethereum mainnet. RAI is an asset backed only by ETH, governance-minimized, and programmed to maintain its own price stability without needing to peg to an external price reference like the USD. We believe these qualities make RAI ideal initially as an alternative to pegged-coins for use in DeFi as collateral and as a stable reserve asset, especially for programs where resilience is critical. With enough time and support from the Ethereum community, RAI could also become the Ethereum Standard — a native unit of account for the Ethereum ecosystem.
Our aspirations for RAI, however, are more profound — if RAI fulfills its purpose within DeFi and starts to earn global adoption, it could prove to be a viable solution to the Triffin Dilemma, and bring credible neutrality to the administration of a stable global reserve asset, a global public good.
To achieve credible neutrality, we have designed RAI as an open source Money God, recognizing control as liability and optimizing for social scalability. To automate as much of the system as possible, we removed humans from the critical responsibility of deciding interest rates, instead delegating the role to an algorithmic controller. While the system will be relatively governance-minimized at launch, as we gain confidence in RAI and the controller parameters over the next 18 months we will follow our ungovernance roadmap and progressively eliminate RAI’s few remaining points of human influence. If our plan works and enough people trust the program, RAI will transcend human intervention to become a Money God 🗿, inspire fanatical devotion, outlast its creators, solve one of humanity’s most important coordination problems, and change the course of human history for good.
If you believe RAI to be a worthy cause, please — brothers, sisters, fellow apes — join us on the journey to bring RAI to life. Check the official Reflexer Labs launch announcement, follow us on Twitter for updates, and join us on Discord to meet our community.
Additional RAI Resources:
For the remainder of this post I will discuss how RAI works and maintains its stability, and why I believe RAI is a viable solution to the Triffin Dilemma and thus a suitable candidate to be an independent stable global reserve currency. But before that, I’d like to express my gratitude to the people who have made this possible so far.
Credit Where It’s Due
We are incredibly grateful to have Pantera & Lemniscap leading Reflexer Lab’s latest $4M funding round, and couldn’t be more excited to have 100+ DAO veterans from MetaCartel Ventures & The LAO supporting us as well. Along with a few angels, including a select few MakerDAO alumni, they join our seed round investors, Paradigm and Standard Crypto, in supporting our vision for RAI as a stable reserve asset for DeFi and independent unit of account.
I am personally grateful for my teammates at Reflexer Labs who have been working diligently for months and adhering to the highest standards of engineering caution. The RAI codebase has received 3 independent audits and we also conducted a 2-month test in prod. I am especially grateful for Stefan, our 23 year old CEO and lead engineer who has been relentless in driving the team towards launch. We’re lucky to have him 🦄.
We are indebted to the MakerDAO team and community for pioneering the DeFi movement with their collateralized lending system, providing the very first stable medium-of-exchange token that Ethereum dapps could integrate to protect themselves and their users from volatility. We owe them further for making the MCD code open source, saving us from having to start from scratch.
We also express our gratitude for MakerDAO’s technical cofounder, Nikolai, who has been the guardian of a vision of a more automated, governance-minimized MakerDAO for over 3 years. Our MCD fork builds on the Vox.sol module he wrote for Single-Collateral DAI (SCD), which implements the Target Rate Feedback Mechanism (TRFM) responsible for automating the system stability and was first described in the original MakerDAO whitepaper published in December 2017. Critically, this design also allows a stablecoin to maintain stability without tracking a fiat peg, an idea that was far too ahead of its time. As an advisor to Reflexer Labs, he has saved us immeasurable time.
For his wisdom, clarity of purpose, and inspiring aspiration, we thank Andy Milenius, former CTO of MakerDAO. In his November 2018 Devcon IV talk, he read the following quote from Dr. Zhou Xiaochuan, Governor of the People’s Bank of China:
The desirable goal of reforming the international monetary system, therefore, is to create an international reserve currency that is disconnected from individual nations and is able to remain stable in the long run, thus removing the inherent deficiencies caused by using credit-based national currencies.” (March 23rd, 2009)
Andy then went on to say: “I have simply never heard a stronger call for exactly what Maker is trying to do.”
Without their combination of pragmatic leadership, technical ambition, and narrative cohesion, MakerDAO would never have had the massive impact it has had thus far. But while MakerDAO is one of the greatest success stories in Ethereum, their commitment to pegging DAI to $1 USD prevents them from fulfilling their original vision of DAI as an independent stable global reserve asset. Fortunately, we are willing to RAIse to the challenge and help iterate towards the Financial Reformation.
How RAI Works
Note — this section assumes basic familiarity with how MakerDAO Multi-Collateral DAI works. If you are unfamiliar, I unironically recommend you go read the DeFi report from the Federal Reserve Bank of St. Louis.
We’ll begin by demystifying the usual burning question:
“How does RAI achieve stability without a peg?”
Nikolai’s true genius in designing RAI was capitalizing on the opportunity to make it self-referential. It’s completely absurd, but it works. RAI is pegged to RAI. 1 RAI = 1 RAI. Well, most of the time.
RAI starts out with some arbitrary initial target price (also called the redemption price) — it doesn’t matter what it is — that’s what RAI starts out thinking it should be pegged to. When RAI notices that its market price has deviated from its target price, RAI’s algorithmic controller automatically sets an interest rate to proportionally oppose the price move and incentivize people to return RAI to its target price. It works kind of like a spring: the further the market price of RAI moves from the target price, the more powerful the interest rate, and the greater the incentive to return RAI to equilibrium.
In terms of the basic abstract overview of how RAI achieves stability without an external price target, that’s really all there is to it. RAI is pegged to itself, and uses interest rates to maintain price stability. Fans of self-reference take heart, we called the codebase GEB.
Of course the devil is in the details:
“Why doesn’t the initial target price of RAI matter?”
“How is the interest rate applied?”
“How does the peg — RAI’s target price — float?”
Let’s take these one by one.
“Why doesn’t the initial target price of RAI matter?”
The short answer is: because RAI only cares about relative stability.
When a user deposits ETH and mints RAI, they are issuing some number of units of fungible debt. The number of units of RAI that the user receives depends on the target price, but the value does not. For example, let’s assume RAI has a minimum collateralization ratio of 145%, the user has deposited 1 ETH, and 1 ETH = $100 USD. The user will be able to withdraw up to $69 worth of RAI. If the target price of RAI = $1, then that $69 worth of RAI will correspond to 69 RAI. If instead the target price of RAI = $3, then the $69 worth of RAI will only amount to 23 RAI. The target price of RAI can thus be understood as the price of debt within the system.
We consider RAI at equilibrium when the market price of RAI is equal to its target price. When RAI’s equilibrium is disturbed and the controller sets interest rates to oppose the market price movement, it determines the interest rate based on the relative difference between the target price and market price. For example, let’s assume that the target price is $1, and that when the market price drops to $0.90 (a 10% drop), the controller responds by setting the interest rate to X%/day. The same controller, given instead a target price of $10 and a market price drop to $9 (also a 10% drop), would respond with the same X%/day interest rate. As the controller responds only to the relative change between the market price and target price, the initial target price of RAI can be arbitrary.
We’re nerds, so we initialized the target price at 1 RAI = $3.14.
“How is the interest rate applied?”
In MakerDAO, there is a stability fee charged to DAI borrowers. If the stability fee is 3% and you borrowed 100 DAI, then one year later you owe 103 DAI. One of the ways MakerDAO promotes stability is by having the MKR holders vote to increase the stability fee when the price of DAI drops. By increasing the cost to borrow, the MKR holders incentivize borrowers to pay back their debts (for which they need to buy DAI), which helps drive the price of DAI back to its $1 peg.
The interest rate in RAI is more interesting. In fact, the interest rate isn’t really an interest rate at all — at least, not in the traditional sense. The way RAI sets its “interest rate” is by dynamically adjusting its own target price. For example, if the market price of RAI drops by 10% from equilibrium and RAI responds with a X%/day interest rate, what RAI is actually doing is increasing its target price by X%/day. For RAI borrowers, by virtue of repricing their debt to be more expensive, this has the same impact as charging them the interest rate directly. If you borrowed 100 RAI yesterday when the target price = $1, and today the target price = $1.01, you still owe 100 RAI, it’s just now worth $101. Just like in MakerDAO, this mechanism in RAI incentivizes borrowers to pay back their debts (for which they need to buy RAI), which helps drive RAI back to equilibrium.
It’s also interesting that in RAI, the interest rate is applied symmetrically to both RAI borrowers and RAI holders. In the example above, after the market price dropped 10% and controller started increasing the target price by X%/day, that value is being transferred from the RAI borrowers to the RAI holders — the RAI holders are earning an effective interest rate of X%/day. This creates an additional incentive for buying and holding RAI, which further helps drive RAI back to equilibrium.
One of the limitations of MakerDAO as a result of the 1 DAI = $1 peg is the difficulty of imposing negative interest rates. When the price of DAI rises above $1, MakerDAO doesn’t have a way of making the stability fee negative in order to reverse the incentives and pay borrowers to take out more DAI debt, which would help restore the peg. Instead Maker relies on arbitrage opportunities between different forms of collateral to satisfy excess DAI demand.
In RAI on the other hand, the interest rate — since it isn’t really an interest rate at all — can be negative. Assuming we are using the same controller as our previous example, if the market price of RAI increases by 10% from equilibrium, RAI would respond with a -X%/day interest rate, which really means it is decreasing the target price by X%/day. This would have the equal and opposite effect as previously, with a value transfer from RAI holders to RAI borrowers. RAI holders, paying X%/day to hold RAI would be incentivized to sell, and RAI borrowers earning X%/day to borrow RAI would be incentivized to mint and borrow more, with both sides of the coin helping restore the system to equilibrium.
Note — we kept the stability fee, but in RAI it is set at 2% and only plays a passive role in maintaining system stability (by accumulating the surplus buffer) — we renamed it to borrow rate.
“How does the peg — RAI’s target price — float?”
After we launch RAI, set the initial target price, and pick the controller parameters, RAI’s target price is completely determined by the dynamic equilibrium between the controller and the market.
Generally speaking, there are two primary forces that influence the market price of RAI:
- The demand for ETH leverage → mint & sell RAI → RAI market price goes down
- The demand for RAI as a stable reserve → buy RAI → RAI market price goes up
As we mentioned earlier, the controller opposes market price moves by responding with an interest rate, except that the interest rate is really implemented by updating the target price in the opposite direction as the market move. As a result, the target price — RAI’s peg — remembers every single deviation from its equilibrium.
Thinking back to the spring analogy, when you pull the spring in one direction, it’s as if RAI starts slowly pulling the other side of the spring away from you. After RAI reaches its new equilibrium, the next time you try to pull the spring as far, it’s a little bit harder.
Small and short-lived market movements are largely ignored, but the controller fully responds to a sustained market move in about 1 month. For example, after 1 month of a sustained +10% market price move the controller would have set the target price to -10% of its initial value. This is true for any scale of market move.
It’s worth noting that at the end of the month, assuming the +10% market price move was still sustained, the gap between it and the target price would now be 20% (up from 10% at the beginning of the month), and so the interest rate would likewise be double its initial value.
Given that we designed RAI first to serve as DeFi collateral, preventing RAI liquidations was an important consideration in deciding our controller sensitivity parameter. A more sensitive controller might impose higher interest rates to more powerfully oppose short-term market moves, but this would in turn make the target price — RAI’s floating peg — easier to move around as well, decreasing long-term stability. Such is the fundamental tradeoff of RAI: there is no long-term stability without short-term volatility.
Why RAI Solves The Triffin Dilemma
Sharpen your spears friends, we’re going Moloch hunting 👹!
In March 2009, in the wake of the Global Financial Crisis, Zhou Xiaochuan, Governor of the People’s Bank of China, published an essay titled Reform The International Monetary System in which he named the Triffin Dilemma as the ongoing cause of structural instability in the global monetary system.
Issuing countries of reserve currencies are constantly confronted with the dilemma between achieving their domestic monetary policy goals and meeting other countries’ demand for reserve currencies. On the one hand, the monetary authorities cannot simply focus on domestic goals without carrying out their international responsibilities; on the other hand, they cannot pursue different domestic and international objectives at the same time. They may either fail to adequately meet the demand of a growing global economy for liquidity as they try to ease inflation pressures at home, or create excess liquidity in the global markets by overly stimulating domestic demand. The Triffin Dilemma, i.e., the issuing countries of reserve currencies cannot maintain the value of the reserve currencies while providing liquidity to the world, still exists.
As Zhou writes, the Triffin Dilemma emerges when the global monetary system uses a single country’s currency as the global reserve currency. The reserve currency issuer faces contradicting domestic and global policy goals, which ultimately leads to waves of financial crises.
The frequency and increasing intensity of financial crises following the collapse of the Bretton Woods system suggests the costs of such a system to the world may have exceeded its benefits. The price is becoming increasingly higher, not only for the users, but also for the issuers of the reserve currencies. Although crisis may not necessarily be an intended result of the issuing authorities, it is an inevitable outcome of the institutional flaws.
For Zhou, the solution, as we quoted earlier, is an independent stable global reserve asset. Instead of a single country placed with the unbearable burden of supplying the entire world with stable reserves, Zhou proposes that the International Monetary Fund (IMF) be empowered to scale up their Special Drawing Rights (SDR) — a reserve currency backed by a basket of fiat currencies and governed by IMF member nations — to fully serve the global demand for stable reserves. It’s ambitious, but also unimaginative and infeasible.
In Solving the Triffin Dilemma, John D. Mueller explained the possible solutions:
There are, and have always been, three main alternative solutions to the Triffin Dilemma, whether in the 1920s, in 1983, and today:
First, muddle along under the “dollar standard” until its eventual, inevitable collapse — a position now supported by some resigned foreigners and nostalgic Americans.
Second, turn the International Monetary Fund into a world central bank issuing paper (e.g., special drawing rights) reserves — as proposed in 1943 by Keynes, since the 1960s by Robert A. Mundell, and in 2009 by Zhou Xiaochuan, governor of the People’s Bank of China.
Main drawback: This kind of standard is highly political and the allocation of special drawing rights essentially arbitrary, since the IMF produces no goods. If you think it is hard to reach agreement in individual countries, like the United States, France, or Russia, that problem would be cubed in achieving agreement even on an unworkable SDR standard.
Third, adopt a modernized international gold standard, as proposed in the 1960s by Rueff, since then by his protégé Lewis E. Lehrman, and in 1984 and during his 1988 presidential campaign, by Jack Kemp.
Arthur Conan Doyle’s detective Sherlock Holmes used to remark that once you have eliminated the impossible, what remains, however improbable, is the truth. After sifting the arguments and facts, I concluded more than three decades ago, and remain convinced, that the final option, a multilateral gold standard, is the only solution to the Triffin Dilemma which has worked, and can still work, in the real world.
Fiat hot potato, a basket of fiat currencies, or gold. Take your pick. As Mueller points out, the basket of currencies plan is unfortunately doomed for requiring too much global coordination. A return to the gold standard wouldn’t actually help meet demand for stable reserves, but regardless it seems doomed for much the same reason. The incumbent reserve currency issuer is unlikely to help establish an alternative, especially while they are enjoying the exorbitant privilege of cheap credit. The next prospective global reserve issuer — given the opportunity to enjoy the exorbitant privilege themselves — might conveniently set aside their previous ambitions to establish an independent global reserve currency and take their turn in the hot seat. This has been the story of how fiat has muddled along for the last 500 years.
Fundamentally, the acceptance of an independent stable global reserve asset a is a coordination problem. As a global public good, the entire planet benefits from having access to a stable global reserve asset. So far however, due to the difficulty of global coordination, the simplest and only feasible solution has been “trust the richest country to do it.”
Solving coordination problems like this is, in my humble opinion, why Ethereum exists. Instead of settling on someone to trust, we trust the program. In this case in particular, Ethereum provides such significant advantages for RAI that it’s difficult to imagine a viable solution without it.
- Ethereum is global and publicly accessible, meaning anyone in the world with an internet connection has immediate and permissionless access to RAI.
- Ethereum is transparent by default, so the logic of the rules (including the controller) governing RAI are publicly verifiable.
- Ethereum is decentralized and censorship resistant, so we can trust the RAI program to be executed as programmed and to be online 24/7.
- Ethereum programs have native access to the ETH asset, which we use in place of fiat or gold to back RAI, and without counterparty risk.
- Ethereum and the ETH asset are both credibly neutral by design, and by building on them RAI inherits their neutrality, a prerequisite for RAI’s independence from sovereign interests.
So to recap, our proposed solution to the Triffin Dilemma is to upload a Money God program to the Ethereum world computer, feed it some ETH, let it automatically manage a stable reserve asset supply, and then make it really hard for anyone to mess with.
Let’s see what Zhou thinks of our solution.
Theoretically, an international reserve currency should first be anchored to a stable benchmark and issued according to a clear set of rules, therefore to ensure orderly supply; second, its supply should be flexible enough to allow timely adjustment according to the changing demand; third, such adjustments should be disconnected from economic conditions and sovereign interests of any single country.
Is RAI anchored to a stable benchmark? Yes, RAI is anchored to RAI, based on our synthetic peg.
Is RAI issued according to a clear set of rules? Yes, anyone can issue RAI with ETH, based on the current target price of RAI.
Is the RAI supply flexible? Yes, the controller adjusts interest rates as demand changes, which incentivizes RAI creation and destruction.
Is RAI monetary policy independent? Yes, we put the algorithm directly in charge.
Yay, Zhou approves!
Of course, it’s not enough to simply propose RAI as solution to the Triffin Dilemma, we still have to run the experiment and see it through to its glorious end. But if we can draw inspiration from something, let it be another paper that was published in October 2008, a few months before Zhou’s calls for reform: The Bitcoin Whitepaper. Instead of hopelessly arguing with central bankers, Satoshi shipped an alternative, and made it into the flag of a global grassroots movement around financial reform. Today, more than a decade later, the market cap of the SDR is $281B and the market cap of Bitcoin is about 4x higher at ~$1T.
It won’t happen next year, and it probably won’t happen the year after that. Maybe it’ll take a decade. But the code makes sense, we’re running the RAI experiment, and if we can make this stability widget work for DeFi, maybe we can make it work for the rest of the world too.