@@ -7,14 +7,46 @@ sidebar_position: 1
77
88Understanding what you are trusting when you consume data from an airnode.
99
10+ ## First-party oracle model
11+
12+ Airnode is designed around the ** first-party oracle** principle: the entity that operates the API also operates the
13+ airnode. When CoinGecko runs an airnode serving CoinGecko's API, the signature on every response traces directly back to
14+ the data source. There is no intermediary oracle network, no third-party relaying the data, no trust gap between the
15+ signer and the source.
16+
17+ This is important because it means the trust relationship is the same on-chain as it is off-chain. If you already trust
18+ CoinGecko's API for off-chain use, an airnode operated by CoinGecko extends that exact same trust on-chain. The
19+ signature is the API provider's signature.
20+
21+ ### Why first-party matters
22+
23+ With a third-party oracle (someone other than the API provider running the node), consumers must trust that the operator:
24+
25+ - Is actually calling the API they claim and not fabricating or caching responses
26+ - Has legitimate access to the API and is not violating terms of service
27+ - Is not modifying, delaying, or selectively omitting data
28+ - Will keep the node running and the API credentials current
29+
30+ None of these properties can be verified on-chain today. The endpoint ID commits to * what* API should be called, but it
31+ does not prove the operator is actually calling it. DNS identity verification proves * who* controls a domain, but a
32+ third-party operator would only prove their own domain -- not the API provider's.
33+
34+ ** First-party operation eliminates this entire class of trust assumptions.** The API provider has no incentive to
35+ fabricate responses to their own API, already has legitimate access, and controls the infrastructure end-to-end.
36+
37+ Consumers should prefer airnodes operated by the API provider and verify this via
38+ [ DNS identity verification] ( /docs/security/identity-verification ) . If an airnode's identity cannot be traced to the API
39+ provider's domain, treat it with the same skepticism you would apply to any unverified data source.
40+
1041## What you are trusting
1142
1243### 1. The airnode operator is calling the API they claim
1344
1445The endpoint ID is a specification-bound hash that commits to the API URL, path, method, parameters, and encoding rules.
1546Two independent operators serving the same API with the same config produce the same endpoint ID. This is a verifiable
1647commitment -- you can inspect the config and confirm the endpoint ID matches -- but it is not proof that the operator is
17- actually running that config. Until TLS proofs mature, you trust the operator to be honest.
48+ actually running that config. With a first-party airnode, this is not a concern: the API provider has no reason to
49+ misrepresent calls to their own API. Until TLS proofs mature, third-party operators require out-of-band trust.
1850
1951### 2. The airnode's private key is secure
2052
@@ -28,8 +60,8 @@ The first-party trust model means the API provider is already trusted. If you us
2860trust CoinGecko. Airnode extends that trust on-chain -- the data is signed by the API provider's key, not by a
2961third-party oracle network.
3062
31- For higher assurance, use a quorum of multiple independent airnodes serving the same endpoint ID. An attacker would need
32- to compromise a majority to manipulate the result.
63+ For higher assurance, use a quorum of multiple independent first-party airnodes -- each operated by a different API
64+ provider serving comparable data. An attacker would need to compromise a majority of providers to manipulate the result.
3365
3466## How trust is established
3567
@@ -51,12 +83,18 @@ Multiple independent airnodes can serve the same endpoint ID. On-chain, you can
5183sets (median of N independent values via AirnodeDataFeed). Off-chain, your client can query multiple airnodes and
5284compare results. No single operator can manipulate the aggregated feed.
5385
54- ### Future: TLS proofs
86+ ### Future: TLS proofs and third-party trust
5587
5688TLS Notary (or zkTLS) can produce cryptographic proof that the data came from a specific HTTPS endpoint. This would
5789eliminate the need to trust the operator's honesty -- the proof shows the data was not fabricated. When TLS proof
5890technology matures, it can be integrated as a plugin or proof mode without changing the core architecture.
5991
92+ TLS proofs are particularly significant for third-party operators. Today, a third-party operator cannot prove they are
93+ actually calling the API they claim. With TLS proofs, the cryptographic proof itself demonstrates the data came from
94+ the API provider's HTTPS endpoint -- regardless of who operates the airnode. This could make third-party operation
95+ viable for use cases where the API provider does not want to run infrastructure, while still preserving verifiable
96+ data provenance. Until then, first-party operation remains the only trust model where the data source is guaranteed.
97+
6098### Future: TEE attestation
6199
62100Running the airnode in a Trusted Execution Environment (AWS Nitro Enclaves, Intel SGX, AMD SEV-SNP) produces attestation
0 commit comments