openOracle
Overview
openOracle is designed to be a trust-minimized way to get token prices that anyone can use.
At its most basic level the oracle works by having a reporter submit both a limit bid and ask at the same price. Anyone can swap against these orders minus a small fee. If nobody takes either order in a certain amount of time, it is evidence of a good price that can be used for settlement. If an order is taken, the taker needs to post collateral in both tokens, imply a price, and the timer restarts. The documentation goes into some of the challenges around this kind of design. The oracle uses exponential collateral escalation during disputes to increase the cost of manipulation and give users some statistical guarantees around total time to settlement and cost to delay. In the average case, the capital required to report accurate prices can be much lower than the notional amount settled by the reported price. The goal is to replace the current set of centralized and trusted oracle intermediaries so defi applications can have fewer points of failure. Our design relying on 1 of n honest participants has key advantages over m of n oracles including security, speed, and accuracy. We also have an advantage on swap execution because we allow users to set their own oracle parameters, allowing for swap execution through the oracle better than on chain alternatives like Uniswap v3 and comparable to that of CoWswap.
The current design is still critically vulnerable to multi-block MEV & block time manipulation. So given that the smart contract sits on Base, it is still trusting the sequencer.
DISCLAIMER
The contract and protocol is still in the research stage but it is on-chain so we can test the economic incentives since these are critical to the design.
We have worked on the contract for several months; however, it has not yet been audited. Users should be prepared to lose all funds when interacting with unaudited contracts. Another thing that has not been audited is the game theory and statistics. Users should be aware that even in the case of perfect solidity it is highly likely there are math and game theory errors that not only render this endeavor moot but also put user funds at risk. Even if it works, user misconfiguration of either oracle parameters or trading bots can lead to the loss of funds. If all of the aforementioned is done perfectly, the underlying blockchain can still fail and users can lose funds. Proceed with care.
Last updated