Original article by Ethereum founderVitalik Buterin
Compiled by | Odaily Planet Daily QIN Xiaofeng (@QinXiaofeng 888 )
Special thanks to Vladimir Novakovski, Curve developers, and others who provided feedback and review for this article.
Suppose you have a price index code T, which represents a certain price index priced in ETH. For example, T could be the USD/ETH price (i.e., the reciprocal of ETH/USD), or CPI/ETH (i.e., CPI/USD * USD/ETH), or the price index of any other commodity, or even more exotic indices (such as the average rent in a city). You want users to be able to gain exposure to T.
Simply put, your goal is to create a synthetic asset that tracks T in an ecosystem where only ETH is a "trustless" asset (or this can be extended to other trustless assets), without relying on a centralized issuer. The only trust dependency is the oracle, but oracles can be made trust-minimized, whereas issuers cannot.
If T is considered the USD/ETH price, then this problem is essentially the same as that of "algorithmic stablecoins." But in reality, it's about perpetual futures.
All methods attempting to provide this functionality must face a fundamental problem: the entire system can only hold ETH, and the sum of its assets and liabilities denominated in T must be zero. Therefore, for every user holding a positive T position, there must be another user holding an equal amount of negative T position. What if T rises too high, causing the negative T holders to become "insolvent"?
In traditional algorithmic stablecoins, this problem is solved through forced liquidations.
For example, assume the ETH price is $2500, and a user holds a position (1 ETH, -$2000). If the ETH price falls to $2000 (in practice, for a safety margin, it would trigger at a slightly higher price), the system must be able to "force liquidate" that user: allow anyone else to contribute $2000 and receive the underlying 1 ETH, ensuring the entire system doesn't get stuck with an undercollateralized $2000 debt.
The problem with relying on liquidations is that liquidation relies on real-time oracles. You need an oracle that can provide a binding ETH/USD price value and do so in real time.
Real-time oracles are difficult to secure. You can only rely on a limited number of participants who observe real-time signals in an automated manner. You cannot use any mechanism with recourse. You also cannot employ the currently most effective technique for building secure and cheap oracles: placing a prediction market in front of a secure but expensive oracle and only using that expensive oracle when serious disagreements arise.
This article proposes a disruptive idea that can allow synthetic assets to rely only on "slow" oracles: we completely remove the concept of liquidation and change the system's "basic building block" from debt to options. On this foundation, you can choose to build an asset that tracks an index as a higher-level structure, or not do so at all, letting users rebalance themselves. Decoupling these two mechanisms leads to greater stability and flexibility.
Synthetic Options
We define two assets: P and N.
The parameters include: (i) code T, (ii) strike price S, (iii) expiration date M.
At any time, a pair (P, N) can be generated by splitting 1 ETH. Similarly, you can always merge P and N to get back 1 ETH.
At time M, an oracle is invoked to determine the value of T. Let that value be x. After the oracle is determined:
- P receives
min(1, S / x)ETH - N receives
max(0, 1 - S / x)ETH
Note: P + N = 1. Therefore, there is no possibility of liquidation.
Also, for ease of understanding, here is the same chart denominated in USD:
An interesting feature of this design is that it is "in effect" a prediction market, and such prediction markets have already existed and been traded for years. See: Scalar Markets | Seer.
This means the design can share the same oracle as a prediction market system, improving security.
How to Use Synthetic Options
Suppose the current price is 2500, and you, as a user, want to construct a portfolio with a certain USD exposure. You buy some (P 1500), which is a P asset with a strike price far below 2500 (here, 1500). Is this enough?
Not quite. Even though the current price is far above 1500, by the expiration date, the price could still fall below 1500. The greater this risk, the more the USD-denominated value of (P 1500) deviates from its maximum value. In fact, it begins to deviate from $1 in a quadratic form. Chart as follows:
Note that this is just a smoothed version of the curve above. The degree of smoothness depends both on the gap between the current price and 1500 and on the market's expectation of future price volatility.
To understand the principle, assume M is two weeks from now, and the current price is 1499. How much is (P 1500) worth at this time? It corresponds to the possibility that "the ETH/USD price will be above 1500 two weeks from now." ETH can be quite volatile at times, so this value could be high or low, say $50. What if the current price drops to 1399? The price of P would fall but not go to zero completely, as the price could still recover above 1500 before M arrives.
When ETH/USD is far below 1500, N's value approaches zero. When ETH/USD is far above 1500, N's value approaches Price - 1500. In the middle region, it is a smooth curve transitioning from one pattern to the other.
The Black-Scholes equation is a formalized method attempting to estimate a reasonable price for (P 1500) (at least when the index T represents some price, rather than more exotic underlying assets like weather). However, since 2008, the Black-Scholes equation has become synonymous with catastrophic fragility caused by over-reliance on mathematical models—and not without reason. Therefore, we should not overly fetishize the specific details of the curve, at least because we do not want to introduce another oracle that needs to measure expected volatility, skewness, or kurtosis.
Instead, we should remember the following chart, which is the derivative of the previous chart. It tells you: at the current price level, how much ETH exposure does each unit of (P 1500) correspond to?
Remember, as a holder of (P 1500), your goal is to "hold" dollars without any exposure to ETH. This chart tells you the strategy: the safe approach is to hold deep "in-the-money" options, and then roll them into options with lower strike prices once the price approaches the strike.
For example, you could follow an algorithm like this: if the current price is X, buy PS with strike price S < X/2 and expiration date 1-2 months in the future. If the price falls below S * 1.5, then roll into PS' with strike price S' < X/4. Do not hold until expiration, because you would be exposed to ETH risk when the oracle determines the price.
Let speculators and market makers hold N and provide liquidity for you.
We can compare the properties of liquidation-based synthetic assets with option-based synthetic assets as follows:
In both systems, action needs to be taken for large price fluctuations: in one system, the protocol liquidates; in the other, users rebalance. The key difference in option-based synthetic assets is that users can choose how to execute this action.
Rebalancing could be done by a fully automated on-chain DAO (Note: fully automated. All rules are set by the DAO, no voting, no AI required). Such a DAO would be a "wrapper" for the option system and provide a "stablecoin." Alternatively, users could choose to rebalance locally using a daemon on their own device.
By shifting the decision point of "when to {liquidate/rebalance}" from an on-chain tool to the user's hands, we gain two advantages:
- Reduce users' MEV risk because trades are not visible in advance.
- Eliminate reliance on a global canonical oracle. Users still need to rely on oracles that respond faster than (for example) two weeks, but users can hide which oracle they use (e.g., a locally running proxy queries dozens of financial news sites, no one knows which ones, and then takes the median). This helps protect the system from oracle attacks.
The user's main choice lies in timing and threshold. If users rebalance frequently, they are more vulnerable to short-term price fluctuations from counterparties. If users rebalance conservatively, they bear more quadratic drift.
I believe accepting a moderate degree of quadratic drift (e.g., annualized standard deviation around 1-4%) is an underrated strategy. This cost is indeed significant, and it is counterintuitive, making this design unusable as an "accounting stablecoin" (i.e., unable to let receivers, senders, or capital gains tax authorities "pretend it is a dollar").
However, if you view it not from the perspective of "I want to simulate the dollar," but from "I want price stability" (i.e., the ability to pay future known amounts of expenditure), it becomes much more reasonable. The annualized volatility between fiat currencies far exceeds 1-4%. The annualized volatility of expected future expenditures, denominated in their local fiat currency, for each individual or business also far exceeds 1-4%. Furthermore, the equilibrium return rates of algorithmic stablecoins (like RAI) also often fluctuate by roughly comparable magnitudes.
An important decision that needs to be made is: even if you rebalance conservatively, what is the market mechanism through which rebalancing occurs? Losing 2% or more per year in multiple rounds of slippage is very easy, and this is the greatest risk of the entire scheme becoming uncompetitive.
Fortunately, users' time preferences are almost always very low. Users do not care whether they rebalance today, tomorrow, or in three days. We should leverage this to design an ideal market structure with slippage far lower than traditional automated market makers. Rebalancing would then be more like one-sided market making than instant selling.














