Something for Oracles in general

I was thinking that another way to increase the value of oracle data was fairly simple technically. However, there is a catch…

So, suppose someone creates an oracle for AE. We are concerned with the reputation of said oracle. What keeps oracles trying to do the right thing? (besides game theory stuff).

What if there was a way for some http request for the data to be signed by the origin?

Let’s say coin price info from Coinbase. Instead of an oracle querying Coinbase and relaying the price info… inherently saying to the end user, “Hey, this is Coinbase price info for Bitcoin… it’s legit, trust me!”

Instead. This… the oracle query’s Coinbase for the price info… and Coinbase sends the raw data back with a signature - like we can do with private keys anyway.

What is needed? Coinbase “address” or public key. The raw data response (received query and provided answer), and a signature hash. With that, we can know on the receiving smart contract that this data is straight from Coinbase… and not altered by a nefarious oracle.

The catch, obviously enough, is you’d have to get these providers to incorporate the kind of response, and for their public key to be available for anyone to inspect.

This is so obvious that it is probably already a thing. If so, it should be incorporated in oracles.

1 Like

Hmmm, interesting idea. It leads me to another one that can be done currently without “raw providers” cooperation. We already have kind of a public key of the server. It is its SSL certificate :slight_smile: Just imagine that original raw https response (before SSL decryption) would be temporarily included to the oracle response. Then everybody could compare if oracle correctly extracted the answer from the http(s) response. I am not the expert, but SSL encryption uses client’s ephemeral crypto-key and server’s public crypto-key. When you have the raw http(s) response and the ephemeral client’s crypto-key you can check yourself that the response really comes from the server.

So to sum up. Even if you will use an Oracle you don’t trust, you can always check if the https response comes from the server (SSL certs check, response decryption).

Or… we could have specialized Oracles that will only decrypt responses from particular domain. That oracle can prefetch domain SSL cert and provides responses only for that domain. If that would be standardized, then Miners would check every Oracle’s response against that SSL certificate (provided by Oracle). Miners can’t be responsible to fetch SSL cert, they need to be provided with it. Then miners would to another useful work they are paying for. But I can see a bottleneck (or opportunity), the original HTTPS request, SSL certificate and client’s ephemeral private key will need to be provided by oracles to miners, probably another kind of fee will need to be introduced for that bandwidth.

Oracles will be very important part of smart contracts. They will evolve and as you can see they will be quite bandwidth hungry. Chainlink might really gain a traction because they can do that logic off-chain (or on their chain to be more precize). Maybe it would be better to focus on a good and seamless integration of Aeternity with Chainlink (and other oracle solutions) and let that logic to be done by Chainlink nodes? Aeternity, maybe it is a time to make some partnerships?

Thanks! I did consider how one might use a secure session, but I didn’t see how the session might link to the source - thinking they were arbitrary cookies or keys and then thrown away after each session closes. I’m not educated enough on the finer details of SSH.

Although not entirely familiar with SSL certificates, I sense where you are going. Perhaps, one of the AE devs would consider this and evaluate it’s merit.

Thanks for your input!

Your web browser is doing it all the time. So the Oracles together with Miners can utilize that mechanism and provide trustless reposonses (at least verifiable).

I knew there was something that made the lock icon green in the address bar. I thought it was a third party service (not necessarily something from the origin)… I thought it was some company or third party called Verisign or something like that.

Kind of, but you get the point. Anyway, there is a huuuge potential in Oracles. This is the arms race right now. It will lead to decentralized, trust-less options and futures market that nobody control. Forex? It will be obsolete soon :wink: Aeternity might explode like Chainlink, who knows.

Chainlink associated startups (more than 50 teams) are up to receive sponsorship from Oracle. And Chainlink also has a kind of partnership with Google. Aeternity associated startups might be eligible for the same - might require them to use Oracle db as part of some oracle solutions as well.