Skip to content

Commit

Permalink
Update TIP-133.md
Browse files Browse the repository at this point in the history
  • Loading branch information
danijelthales authored Mar 16, 2023
1 parent 54d8388 commit b219c68
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion TIPs/TIP-133.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Due to delays and cost inefficiencies of using Chainlink Node infrastructure, I

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.
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.

Expand All @@ -24,6 +24,8 @@ By using centralized bots for managing odds I estimate we can:
- 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.

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. Besides adheering to cyber security measures to protect the whitelisted wallets, Council could consider introducing an insurance fund for Liquidity Providers, or using the SafeBox for that purpose. However, at this point the proposed solution is likely a good compromise for Liquidity Providers as it ensures sharper odds and mitigates frontrunning surface.

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 decition once its live.
Expand Down

0 comments on commit b219c68

Please sign in to comment.