The goal of this proposal is to stimulate a conversation about renovating the CPI oracle.
AMPL is designed to be a censorship resistant unit of account with a price targeting the inflation-adjusted 2019 dollar. The target price for AMPL is determined by oracles querying the Personal Consumption Expenditures (PCE) index from the U.S. Bureau of Economic Analysis (BEA). Currently we have three oracles -Ampleforth, Chainlink, and Tellor- which provide identical oracle rates from the PCE and are medianized to provide the single CPI oracle as seen on the Ampleforth oracle dashboard.
There have been several previous discussions in the Ampleforth Discord about methods to further decentralize or otherwise improve the CPI oracle. @Brandon made a strong case that the PCE is currently the most trusted and highest quality data for tracking consumer purchasing power, and that other options have previously not been available for AMPL to use. However, many community members like myself have expressed misgivings about the price target being solely reliant on an agency of the US government which may have perverse political incentives to artificially manipulate inflation values. Relying on a single data provider limits the decentralization of AMPL, as a single bad actor could potentially ruin the target price and damage AMPL’s reputation. The narrative of AMPL as a truly denationalized unit of account can only be strengthened by adding indices of inflation which are determined by free market actors rather than government agencies.
I have found what I believe to be an acceptable free market supplement to the PCE, which is the Trueflation index, powered by Chainink. Rather than go into an extended description of Trueflation here, I’ll just link their white paper, website, dashboard, and Chainlink market page. In summary, Trueflation aims to correct what it sees as issues with the Consumer Price Index (CPI) from the U.S. Bureau of Labor Statistics (BLS) and replace it with a “true” inflation index independent of possible political manipulation.
To add Trueflation to the CPI oracle, the DAO would need to set up:
- A contract to query the Trueflation oracle
- A normalization factor to scale it to the PCE
- A new medianizer function to combine PCE and Trueflation (optional)
Ampleforth already pays Chainlink for two oracle feeds, so this would be a relatively simple integration. The current Trueflation cost per query is 0.01 LINK, plus gas. This is a minimal addition to the current AMPL oracle costs, although there is always the possibility that they may raise their prices in the future.
Addition of Trueflation to the AMPL target price also opens a great opportunity for marketing during a period where inflation is a hot topic. A narrative promoting AMPL as an inflation-proof unit of account could be a powerful stimulus for AMPL adoption amid growing interest in algorithmic and inflation-proof stablecoins. Engagement with the Chainlink community and combined advertising with Trueflation could also stimulate renewed interest in AMPL.
Risks:
Trueflation is a new service and does not have a long-established track record of supplying on-chain data like the existing PCE oracle.
Trueflation increases the oracle “attack surface” of AMPL.
Any aberrant values from Trueflation could potentially skew the target price and lead to rebases which do not accurately reflect demand.
Trueflation currently reports higher inflation values than the PCE and this may lead to increasing divergence between the oracles over time.
I believe that these risks can be minimized by running a “trial period” for Trueflation on their Rinkeby testnet node for a period of at least 6 months before full adoption. We can monitor all of the on-chain data from Trueflation and review it after a few months to ensure that their reporting is reliable.
In terms of oracle “weight”, one option is to add Trueflation directly to the CPI pool, which would give it a weight of 1/4 in the medianizer. Because the three other oracles always report the same value, this would have no effect on the actual target price because the median will always be chosen from one of the PCE oracles. Instead, I propose that we create a new medianizer function which gives equal weight to Trueflation and the three PCE oracles combined, and takes the median of the two normalized values. This would also allow Ampleforth to integrate any additional free market inflation indices which may be created in the future.
Sustainability:
Funding for the Trueflation oracle can be added to the same allotment of Forth DAO treasury funds which are used to pay current oracle fees. These can be raised annually through the Forth mint function, or funds could be set aside for Link staking or yield farming to generate a self-sustaining supply of Link in order to pay for the oracles in perpetuity.
Conflicts of interest:
I currently own Chainlink tokens (14% of my crypto portfolio), however I don’t think this proposal will have any appreciable affect on Chainlink’s price given the relative market capitalizations of AMPL and Chainlink. I have no other associations with Trueflation or Chainlink.
I welcome any feedback or criticism in the spirit of making AMPL more robust.