Implement Oracles on Cardano

We want the Oracle to be a trusted data source.

One trusted data provider, Have to mitigate risk by requiring provider to put down collateral, or obtain a total agreement from a pool of oracles.

To store things on the blockchain, we need a UTxO, which sits on the Oracle’s script address.

On the UTxO we store the Oracle’s data.

We need to distinguish between this UTxO, and the other ones produced at this script address.

The only way to do this, is to put an NFT on the output.

Oracle interface

  1. use
  • ensures the consumed oracle input carries the NFT
  • ensures the output carries the NFT and doesn’t change the datum
  1. update
  • only can be done by oracle provider
  • oracle input carry the NFT
  • oracle output carry the NFT

Permits accumulated fees to be taken out, datum to be changed