id | Title | Status | Author | Description | Discussions to | Created |
---|---|---|---|---|---|---|
TIP-133 | Allow keeper bots to directly update odds on Overtime | Draft | Danijel (@danthales) BigPenny (@RealBigPenny) | Allow keeper bots to directly update odds on Overtime | https://discord.gg/thales | 2023-03-16 |
This TIP proposes to allow whitelisted keeper bots to update odds on Overtime
Due to delays and cost inefficiencies of using Chainlink Node infrastructure, I am proposing to allow whitelisted keeper addresses to perform odds updates. SafeBox funds can be used to cover losses caused by odds corruptions.
Overtime is currently using Chainlink nodes to create markets, update odds and resolve markets. Market creation and resolving are performed only once per market/game, and thus are not a huge cost driver, however, updating odds can take place tens if not hundred of times per market, and can thus drive significant costs.
I estimate that we currently spend 5-10 ETH per chain to run Overtime oracle updates.
Due to these costs, we make compromises on how frequent we ask for latest odds and have thresholds of e.g. only updating the odds when they are changed more than 5% from last written odds to contracts. As our total margin is sometimes less than 5%, this obviously isn't the perfect solution, and the goal is to keep reducing that threshold.
Additionally, each update of odds is delayed at least 15 seconds, which is the minimal time it takes a CL node to respond to a on-demand request. When multiple games need updates simultaniously and calls pile up, the delay can be much larger. This allows for potential frontrunning opportunities.
By using centralized bots for managing odds I estimate we can:
- Reduce our gas costs 3x-10x
- Expedite how frequently the odds get updated
- Allows bigger batches of paraller updates
Reducing the gas costs and allowing us more flexibility on how we perform and batch odds updates allows for easier adding of more chains. As it stands now, its difficult to support adding more chains with all the costs and risk overhead. It will also help with considering the costs and risks of adding new sports. Expediting odds updates might also allow us to consider live markets.
In terms of centralization risks, I am only proposing using keeper bots directly for odds, and still using CL nodes for market creation and resolution. Centralizing the odds updates has no risks for end users, as they always see which odds they are getting when trading. However, it does include an additional risk for liquidity providers if those bots are compromised, but should an attack take place, pDAO can cancel the affected markets thus not allowing attackers to take profit. Circuit breakers which we have built in mitigate this attack vector to some extent. At this point the proposed solution is likely a good compromise for Liquidity Providers as it ensures sharper odds and mitigates frontrunning surface. Since odds centralization is to a limited extend deviating from the ETH decentralization maxim, it is in best interest of the Thales protocol to try and insure AMM LPs against the (unlikely) risks involved.
I am a big proponent of decentralized oracles, and will still be on the lookout and how to get back to using more decentralized solutions once better tooling is available. With regards to gas costs, EIP-4844 should introduce significant L2 gas costs reduction (planned for Q3 2023), so we could revisit this decision once its live.
Additionally, tools such as Chainlink functions could provide an alternative solution, but its still early for production use of those.
Allow whitelisted addresses to directly update odds on Overtime. All existing Chainlink node infrastructure will remain operational and can still be used as backup or complementary utility for permissionless odds updates.
If AMM LPs incur losses causes by odds corruptions, SafeBox shall cover such losses in full, sufficient funding of SafeBox presumed. pDAO holds discretion over SafeBox payouts for the aforementioned purpose. Thales Council retains the right to veto pDAO decisions both in favor and against SafeBox payouts via TIP proposal and subsequent approval. pDAO shall give Thales Council prior notice and reasonable time to exercise its veto rights.
TBD
Copyright and related rights waived via CC0.