First Party Oracles Dave Connor
Ethereum Denver·Sun, Oct 9, 2022, 12:00 AM
Transcript
hi everyone thanks coming to my talk i'm going to be talking about what first party oracles are and why they're important my name is dave connor i lead blockchain focused business development for api 3. api 3 is an oracle project that focuses on creating a network of first party oracles operated by as many data providers as possible and governing them all in a truly decentralized way so to start with i think it's worth running through what oracles actually are in case anyone in the room isn't aware basically blockchains are unable to natively access any information that's stored outside the blockchain itself so an oracle is a general term for middleware that connects blockchains to real-world data oracles aren't anything related to oracle the software company oracles come from a term in ancient greece where the oracle was the person who could see what the god saw and translate that to something that people needed to be aware of the question really here is where does the data come from an oracle provides data to the blockchain but oracles aren't normally the source of the data that's being posted onto the chain most oracles operated by people or entities who post api data on the blockchain itself and smart contracts and apps will use the data once it's on the blockchain the actual data comes from data providers these are generally api providers which are companies that focus on providing data to consumers most of these api providers consumers are web 2 applications they tend not to be oracle focused to go a bit more into that an api is an application programming interface it allows an application to interact with an external service this uses a specific set of commands and apis themselves are the building blocks of web 2. they allow feature-rich applications to be built and most of the apps you use on your phone will be a connection or collection of various different apis stitched together in different ways so an example here is uber so uber at its simplest is a communications api a mapping api so you can see where your taxi is and how far it's taking you a location api and a payments api there's a few more around that but it illustrates how you can create quite a feature-rich application by picking and choosing various functionalities for it so you have the data and you have the oracle and this leads you to something called the oracle problem and the oracle problem focuses on the issue of having to trust a third party to relay data from an api provider accurately to the blockchain using the api providers that i had on the previous slide as an example if you wanted to find out what the price of a coin was from say coin gecko you would then have to rely on that single oracle putting data correctly on chain they could tamper with that contract by putting false data there so these third parties control what data ends up on chain not the data provider most oracle projects around today aggregate between a selection of oracles to try to mitigate this and reduce the risk but collusion between oracles is still a potential risk so the logical question from that is does data have to be relayed onto the chain by a third party and we would say it doesn't so starting here to define an oracle type a first party oracle is an oracle where it's operated by the data source themselves so rather than the workflow going data source to oracle even if it's an oracle network to blockchain it goes data source to blockchain third-party oracles are oracles operated by parties that are not the data source themselves and this includes oracle's being operated by a third party on behalf of the data provider which is important because those kind of oracles if they're claiming it's first party it's a bit disingenuous because the security implications are completely different and that's a slide just dedicated to the definition the question really though sorry not the question the second question for this presentation was why should i care um why would you use first party oracles and why does it matter what they are well there are a few advantages to choosing first party oracles over third party oracles and the big advantage really or the first advantage is security so there's no need to expose data to third parties which include enterprise well which makes things like enterprise and banking use cases much more easy to integrate you don't have a third party that sits in between the data and the blockchain if you have a private blockchain or a blockchain with confidential smart contracts or confidential dap capabilities you don't have a third party that the data has to pass through data source will post directly to chain and there the confidential aspect can take place equally if you have a private or an enterprise chain then it will work without needing to choose third parties kyc them have them sign ndas etc etc it's a lot simpler you also have an increased civil resistance compared to a third-party oracle project simply because there's no oracle layer to collude so no matter what processing you do on third-party oracles you're still making a security compromise over choosing first-party oracles and the logical thing that follows on from this is can the api providers collude and the answer is yes they can but they also can with third party oracles the risk there though is much more obfuscated with first party oracles you can see exactly who's putting the data on the chain rather than them being obfuscated behind a third-party oracle layer and without the source of the data being known and the api provider attack being obvious it becomes harder to detect and harder to punish another advantage of first-party oracles here is uptime so if you have a first party run oracle if you can run the oracle in the same cloud infrastructure as the api itself then the uptime should be identical there's of course no benefit to having an oracle that's still up if the api provider is down because it won't work but having an api provider that's up and unable to push data to chain if a third party oracle is down is bad another big advantage of first party oracles is the transparency that they bring to data on the blockchain if you can identify data on chains coming directly from the data provider using their oracle address ideally then it provides complete traceability for the data that dapps use if you're used to using etherscan to check what code apps have to track transactions to view the movement of tokens you used to be able to track everything and treat everything as being completely upfront and transparent but for most of this today that ends where the data comes in so you can see how a lending market ends up executing a swap or a transaction but you can't tell where the data used to calculate how that ends has actually originated from first party oracles changes that it makes it so you can see exactly where the data comes from that's used to execute on chain logic and it brings this level of transparency an extra step further than is present at the moment this follows on from transparency really you end up with a much more accountable data feed structure or a much more accountable data use structure if a data provider provides directly to the blockchain blockchain is a permanent record so it becomes tamper-proof if a data provider missed reports that will always be there that will impact on their real world business model and it will be visible forever if you hide this behind third party nodes this isn't necessarily the case because they could always claim it wasn't them or it might be difficult to ever evidence that that misreport comes from the provider rather than the nodes themselves another advantage to first party oracles is the cost third-party oracles aren't a charity they need payment for their services you have to aggregate between different third-party nodes if you're using a single api source and aggregation requires payment of multiple nodes so first party oracles involve no payment other than to the data provider itself so for a given data source and a given data feed construction the first party selection should always be cheaper to operate unless you have charitable third-party notes or you're willing to subsidize them and to be fair there are some disadvantages of first-party oracles most of these come where people are using third-party oracle designs and trying to shoehorn them into getting api providers to run them these kind of oracles can be hard to operate so the coinbase api also know the coinbase oracle i've heard apparently requires two full-time blockchain developers to operate so if you go to an average api provider and explain to them that you have a great use case for them on blockchain they need to operate an oracle as a first party and say then they need to hire two full-time blockchain developers they're going to tell you no if you have to monitor it and top up gas wallets a lot of existing data providers aren't that interested because it might be against their compliance models it might be something that they just don't know how to do or it might be something that they see as a legislative risk or a compliance risk so the other disadvantage is you have to convince the provider to operate them and this leads to independent contractors being used to operate them for providers which isn't the first part to use so i was saying earlier so are there any first party specific oracles we created one as api 3 we have a free to use open source air node designed to be operated by data providers we have over three times as many first party providers as the nearest competitor claims and we're launching beacons which is first-party-operated data feeds on ethan polygon test nets at east denver they'll be available in our hackathon track we're sponsoring the d5 track for ethereum for itself so beacons aims to provide fully transparent scalable and cost efficient data feeds um with bounties available for people creating projects using them and that's everything really does anybody have any questions you've got time
Automatic transcript — names and jargon may be misspelled.