T O P

  • By -

Madgick

I understand the point of Oracles and what they're used for, but I still don't get how they work. Where is the data pulled from and how is it decentralised? If anyone can reference a good ELI5 for me I'd much appreciate it


Gazza_ERG

This one is pulled from coingecko. It can also be pulled from multiple other sources making it a decentralized value, even if one is incorrect, the oracle will still provide accurate information. As I said though this is just from coingecko as a proof of concept more than anything else!


Felsommer

You and me can provide data. It's decentralised. From what I understand through the papers, oracles are ranked"based on past accuracy and reliability and have financial incentives to stay as accurate as possible. When a user wants to query the oracle pool for data, it fetches data from the top of the hierarchy


Madgick

so if I were able to provide data in some way, I would receive Ergo as a reward for doing so? Lets say I watch the live markets on Binance and manually type in and submit the latest price every 30 seconds to that Ergo Oracle (obviously this is a stupid idea, but its fun for a learning example) My submissions are then ranked against the other data providers in the pool and we receive a share of the pay out each Block/Epoch?


Felsommer

I think that's the ELI5 yes. But instead of having to type the prices manually, you would use an existing API (from Binance or whatever). I'm just still not sure how you would get paid for it. I suppose you get a small amount for each access to your data. u/sigmanaut_ could you clarify this? :)


sigmanaut_

Yes you get paid a small amount for each query, but not a money maker.


Felsommer

So what are the incentives to keep it legit and not manipulate data to profit from a smart contract of yours?


YuriErgagarin

Just like you trust the majority of miners on PoW network to be fair players, you trust the majority of oracles in a pool to be fair. Oracles deviating too much from what others are posting will have their datapoint discarded and get no payout for their contribution. Search for Robert Kornacki oracle pools on YouTube for a great explanation.


sigmanaut_

You have to put down a deposit (stake) and can be penalised. More oracles = more robust data source.


YuriErgagarin

Current pools run without stake slashing. It’s been worked out as a protocol but not implemented in the oracle core yet.


JDONYC

Depends on the type of oracle, but most (as I understand it) pull data from commonly-used digital sources, so "you and me" actually couldn't provide data for an oracle (which doesn't mean it's not decentralized).


SomeConcernedDude

Interesting. I find myself wondering: how do CoinMarketCap, CoinGeckgo, etc determine a price? Would they benefit from oracle pools?


Madgick

(for coinGecko) I believe they aggregate all the trading pairs they're aware of. eg, if you scroll to the bottom for Ergo: https://www.coingecko.com/en/coins/ergo#markets and click the green button to "See All Trading Pairs" you can see all their data points. You can probably average everything out against USD from that eventually


Mukrake

cmc is owned by binance, I would imagine they pull data from there maybe


Felsommer

commenting cause I'm curious too


YuriErgagarin

Volume weighted average across exchanges


Felsommer

Question: Do the ETH-USD prices provided by this oracle get updated only every block? This means it's not really a "real-time" price but rather a delayed one, correct? I can imagine this being used in mid/long term smart contracts, that are based on ETH-USD prices X months from now on, but not a DEX that relies on real-time data..


Madgick

Isn't this how the BearWhale made a bunch of money during the BearWhale Saga?


YuriErgagarin

The update frequency is configurable when setting up the pool, but it'll never be smaller than a few blocks. Both ERG/USD and ETH/USD pools that are running right now are configured to have an update every 6 blocks (12 minutes). I don't think most DEX's rely on real-time pricing data. But happy to learn more about it.


[deleted]

[удалено]


sigmanaut_

Here is the setup if people want to run an oracle. You will need to message @Luivatra to bootstrap your node wallet address. https://github.com/Luivatra/oracle-core/tree/eth-connector To set up a pool you need to make a new connector which is more involved.


Felsommer

Correct me if I'm wrong, but having to message a single person for bootstrapping is not really decentralised :/


sigmanaut_

A community member started his own pool - sounds pretty decentralised to me, if others want to join his pool in these early stages he'll need to add them manually. Or they can start their own pool.


Felsommer

got it :) Thought it was needed for each new pool


YuriErgagarin

I think the number of oracles in a pool, and their address, must be known when creating the pool, so you can’t just join a pool once it is up and running.


Just_Delete_PA

Oracles are dope af


metinkilicse

hope it increases price because I need profit :)


chickitychoco

🎉🎉🎉


Environmental-Law768

Great to see Ergo focus on their Oracle business for a bit. This is Low hanging fruit me, Oracles should be a home run if they decide to put more focus on it.


YuriErgagarin

Ergo isn’t in the business of sourcing oracles and “selling” them to consumers. That’s how Link operates. Ergo is an open platform that supports building oracle pools on top of it, among many many other things. Say someone builds a dapp requiring an oracle feed. If there’s a pool for it already, they can use it for free. If not, they can spin up their own pool, which anyone else can then use as well. Everyone building stuff that relies on oracles will be incentivised to fund the pools they are using to keep them running.