Skip to main content

📚 Terminology

AggregatorAn aggregator, or data feed, dictates: how data is brought on-chain from it's assigned source, how often updates can be requested, and from which set of oracles updates can be requested from.
CuratorA curator is someone who scours the internet and builds on-chain job definitions from which publishers can use to build data feeds from.
CrankA crank is a priority queue of aggregators and their next available update time. The crank is the scheduling mechanism that allows feeds to be updated at a regular interval and reward the update requester for jump starting the system.
EnclaveA protected memory region within an application that is created and managed by Intel SGX. Enclaves provide a secure execution environment for sensitive code and data, ensuring their confidentiality and integrity.
History BufferA history buffer is an optional feature that can be added to an aggregator and stores the last N accepted results along with a timestamp.
Intel SGX (Software Guard Extensions)A set of security-related instruction codes built into Intel processors that provide a hardware-based method to create secure enclaves within the application's memory to protect sensitive data and code from unauthorized access or modification.
JobA job, or OracleJob, stores a list of Switchboard tasks which instructs the oracle on how to bring data on-chain.
LeaseA lease is a pre-funded escrow used to reward oracles for successfully updating a data feed.
MRENCLAVEA unique identifier in Intel SGX technology that represents the identity and integrity of a specific enclave. It is a 256-bit hash value that is derived from the enclave's code and initial data during the enclave's creation process. The main purpose of `MRENCLAVE` is to enable remote attestation and ensure that the enclave running on a remote system is indeed the intended and genuine enclave.
OracleAn oracle, or node, sits between the internet and a blockchain and facilitates the flow of information. An oracle reads in a feeds job definitions, calculates the result, and submits its response on-chain.
Oracle ConsensusOracle consensus determines how oracles come to agreement on the accepted on-chain result. Switchboard oracles use the median oracle response as the accepted result. A feed authority can control how many oracles are requested and how many must respond to influence its security.
Oracle QueueAn oracle queue is a round-robin queue of oracles actively heart beating on-chain. When an update is requested from a queue, the next N oracles are assigned to the update request and cycled to the back of the queue.
PublisherA publisher is someone who builds and creates a data feed on-chain. Typically this is a program or dApp that requires the data.
Quoting Enclave (QE)A special enclave provided by Intel that is responsible for generating quotes for remote attestation. The quoting enclave signs the enclave report with the Intel Enhanced Privacy ID (EPID) private key, which is only accessible to the QE.
Remote AttestationA process that allows a remote party to verify the identity, integrity, and authenticity of an enclave running on another system. Remote attestation involves generating a cryptographic report that includes MRENCLAVE and MRSIGNER values, which are then verified by the remote party.
TaskAn instruction an oracle executes. A task can fetch, parse, or transform data.
Trusted Execution Environment (TEE)A secure environment isolated from the rest of the system, where sensitive code can be executed and sensitive data can be processed with additional protection against unauthorized access or modification. Intel SGX is an example of a TEE.
Variance ThresholdA feed authority may specify a variance threshold to prevent redundant update requests and only allow oracle responses if the variance percentage between the last accepted result and the current value exceeds some threshold. Useful for conserving a lease's funds and extends the life of a feed.
Verifiable Random FunctionVerifiable Random Function (VRF) is a prove-able cryptographic function that uses a private key to generate a pseudo-random value which can be verified by anyone with just the public key without leaking the VRF producer's secret key.