Continuing the discussion from Launch Collateral for Jet Protocol:
Hello folks - this discussion is to go through technical and qualitative ideas on what the best oracles and price feeds for SPL tokens are in order to develop a framework for ranking and categorizing potential collateral types.
Please feel free to comment on what you think may be the best criteria for judging oracles/price feeds right now.
Here is a good introduction to oracles by Chainlink. It’s clearly marketing content for Chainlink but I think the information is broad enough for anyone to better understand what oracles do and why they are critical for the Jet protocol.
so in your opinion do we only use decentralized oracles? Like, for example, we wouldn’t use Coingecko, Coinmetrics, etc? Just opening up the convo even though this seems like an obvious question.
My initial instinct is that Jet would use some basket of both. I imagine there would be some significant risk analysis necessary to determine the balance.
It seems like decentralized oracles are more vulnerable to pricing exploits. The Strengths and Weaknesses of DeFi Price Oracles | Hacker Noon
Centralized oracles I’m guessing are less vulnerable to pricing exploits. Or at the least would have some measure of accountability. But the risk with centralized oracles may be more regulatory. If a centralized oracle operates within a jurisdiction that does not consider Jet to be legal they probably wouldn’t be able to serve the Jet protocol.
I would also guess that centralized oracles are more expensive. But that is purely a guess.
Decentralised oracles which I believe is safe, secured, transparent and reliable is the best for price feeds. I’m sure pyth network and switchboard.xyz were in best position to deliver best price feeds for solana program library (spl) tokens which is going to be more efficient for jet operations.
I too am in favor of Pyth. Been following them since May, pretty close to when they first announced.
Would Jet need more oracle data than that?
I wouldn’t see a need for those centralized services, since Pyth’s data is higher grade – unless I’m missing something that Coingecko et al would provide.
Here’s a list of oracles on Solana that I’ve been putting together, in case someone discovers Jet use cases beyond what Pyth provides.
Orakuru - also here
I’m new in the space so is it a matter of aggregating to find a nice average?
Oracle is a very important thing, in my opinion based on how long it has been in the market. I prefer those oracles that have worked well and have had no problems. Prominent among them is Chainlink - today’s leading price feed solution. Chainlink integration will be a safe step and help the project develop stably.
Pyth’s take on this question is worth taking a look at – here
I’d see value in plugging in an additional oracle like Chainlink during times one like Pyth is down for any reason.
Seen back in the days some takes that put forward the idea that a mixing 2 oracles (for the same thing and constantly) was not an optimal situation.
Indeed it looks like by mixing 2 “working” different you decrease their perks of each as they may oppose themselves
e.g. 1 decentralized + 1 centralized oracle = ?? Something half centralized?
Same for feeds, Pyth says high quality/frequency data from 1st party vs what looks like 3rd party on CL side - also need to see how frequently they manage to update price on Solana
So by mixing both, wouldn’t you reduce the value of 1st party / fast update oracle?
Agree also on actual real “performance” in the market / for apps
CL lead there - they’re were among 1st to launch with limited issues until now
But pyth appears to have been “used” in mainnet actually - i have traded on bonfida perps which looks to be hooked to pyth and was seeing quick updates there, looks to work well
But back to the 2 oracles, maybe (idk also about impact on the development possibility) but could be to have 1 main (used) and 1 as a fail safe in case anything happens to the main used?
The design that’s beginning to appeal to me is to use third-party on-chain oracles like Pyth and Switchboard for marking accounts when deciding if a loan is allowed, or if an account should be liquidated. In parallel, we run off-chain processes gathering price feeds from other sources, and compare them to the on-chain feeds. These will alert us if there appears to be a problem with the on-chain feeds, and we can intervene by switching between oracles, or even temporarily locking borrows and liquidations if something is badly wrong.
Welcome! Ideally, the feeds from the on-chain oracles would already contain an aggregate price from multiple sources. The left over problem for Jet Protocol is: what happens if an oracle dies, and how can we detect it if an oracle’s prices are corrupted?
Something to chew on additionally when it comes to oracles. MakerDAO is obviously farther down the path with resources for something like this video speaks to oracle risk specifically and how MakerDAO is launching their own oracle. This is a good listen to learn more and a possible future for JetDAO.
Using Chainlink’s oracle which operates on “group wisdom to obtain data” certainly supports a more decentralized infrastructure by aggregating from multiple independent nodes, and decentralization is the ultimate goal. However, Pyth promises to provide Hifi data which is typically off-chain and guarded by centralized institutions. I think a combination of the two would work best (no single point of failure), which has been echoed in this thread already.
We like and respect Chainlink - we’re obviously pleased they’re coming to Solana but given that they’re not quite there yet in terms of a go-to-market ready option for Solana we’ll probably need to revisit using them at a later date.
Right about now it’s looking like Pyth as the front runner and Switchboard as another solid option.
I think Chainlink is best choice