What are first-party oracles?
An oracle is an agent that acts as an intermediary between a smart contract platform and an API. In other words, a decentralized application can use an oracle to call an API. It is important to understand that an oracle can access API data in more than one way on behalf of a dApp.
In a traditional sense, an oracle node acts as a proxy by listening for requests made on the blockchain. The oracle then calls the API over the Web and fulfills the requests by making transactions on the blockchain. This is known as the request-response protocol (RRP). An oracle uses its own smart contracts to implement a protocol. This defines how decentralized applications can make requests to the oracle and receive responses.
Moving beyond the RRP protocol, certain protocols may be more appropriate depending on how an oracle node is being utilized such as for data feeds, which have values stored on-chain. In fact data feeds are what dApp owners desire the most. API3 provides data feeds know as dAPIs.
The tough question that comes into play, who owns and operates the oracle?
When considering if an oracle is first or third party➚, there is an important point to consider: Who will host the oracle node?
- If an API provider hosts the oracle node, the oracle is called a first-party oracle.
- If a third-party middleman hosts the oracle node, the oracle is called a third-party oracle.
API3's Airnode is a first-party oracle as the node is hosted in the infrastructure of the API provider. Likewise, this means protocols serving data do so in a first-party manor.
First-party oracles and the data feeds they provide offer a range of benefits for dApp owners.
Security: First-party oracles are more secure because there is no middleman on the interface path.
Cost efficiency: Avoiding the middle man tax means first-party oracles are cost efficient.
Transparency: Enhanced source transparency means reputation can be gauged when looking to utilize real-world data in dApps.
Signed data: Data from the API provider is signed before it is pushed through a first-party oracle and onto any chain.
Flexibility: These type of oracles also are increasingly flexible when it comes to delivering oracle services and first-party data feeds can be utilized in a multitude of ways to best serve the users application.
For these reasons, API3 believes in order to facilitate meaningful dApps, first-party oracle must provide an optimal architecture.
First-party oracle governance
If a central entity can switch the oracles or APIs used in the aggregator in and out, or even replace the aggregator itself making use of a proxy mechanism, they can effectively manipulate the oracle network output at will.
This eliminates the decentralization and trustlessness qualities that using an oracle network provides. Therefore, it is not adequate to use an oracle network to achieve decentralization, this oracle network must be governed decentrally as well.
Decentrally governed oracles
Decentrally-governed networks of first-party oracles would adquately solve the API connectivity problem. Consider the following:
Decentralized applications need access to APIs.
It is optimal to interface APIs to smart contract platforms through first-party oracles.
For API level decentralization, decentrally-governed oracle networks should be employed.
API3 delivers decentralized interfaces to APIs to facilitate this through governance.
A decentralized API is a product which contains:
- APIs interacting with oracle networks decentralized interfaces
- Decentralized governance and interfaces
By taking advantage of the advantages offered by decentralization, developers can build applications with elevated security and trustworthiness. See the medium article, Why API3 DAO?➚ on DAOs and decentralized governance.FLEX_END_TAG