Chronicle Protocol

Chronicle Protocol is one of the oldest and most battle-tested oracle systems in DeFi — having originally been built and operated as MakerDAO’s proprietary price feed infrastructure since 2017 (before Chainlink even existed) and securing the DAI stablecoin (which at various points backed $5-10B of collateral with oracle-derived prices) without a single successful oracle manipulation attack across 7+ years of operation. What distinguishes Chronicle from Chainlink is its Scribe signature aggregation model: rather than having each validator submit their price on-chain independently (expensive; N transactions per update) or aggregating off-chain with a threshold signature scheme (Chainlink OCR: Byzantine fault-tolerant off-chain committee: 1 transaction per update), Chronicle validators each sign a price observation with their Ethereum private key off-chain, and these ECDSA signatures are aggregated on-chain using Schnorr signature math into a single, compact signature that can be verified in a single EVM ecrecover call — dramatically reducing on-chain verification gas vs. verifying N separate signatures — while publicly logging which specific validators signed each price update (full traceability: unlike: Chainlink: OCR: where: the: specific: nodes: who: signed: are: less: transparent). Chronicle spun out from MakerDAO in mid-2023 under the stewardship of Niklas Kunkel (former MakerDAO Oracle Core Unit lead) and has since expanded beyond the Maker ecosystem to offer its price feed infrastructure to external protocols.


Key Facts

  • Origin: MakerDAO’s internal oracle system (2017); spun out as independent protocol: mid-2023
  • Founder/Steward: Niklas Kunkel (former MakerDAO Oracle Core Unit Lead)
  • Validator set: Permissioned (whitelisted); ~20-30 active Scribes (validators) drawn from: Infura, Gitcoin, ETH Denver, DeFi Llama, Gnosis Chain, MakerDAO (Sky), Chromatic Protocol, 0x, and others
  • Signature model: Schnorr aggregation (called “Scribe”) — on-chain: 1 EVM ecrecover: verification: same: gas: regardless: of: validator: count
  • Security record: 0 protocol-level exploits since 2017
  • Primary users: MakerDAO / Sky Protocol (DAI), Spark Protocol (aave-fork for Sky), and growing external integrations
  • Gas efficiency: ~60-80% cheaper: to: verify: than: equivalent: Chainlink: multi-signature: aggregation: on: Ethereum: mainnet
  • Price feeds: ETH/USD, BTC/USD, stETH/USD, and other major pairs; growing list as external integrations expand

History: MakerDAO’s Oracle System

The following sections cover this in detail.

2017-2021: Foundation

When MakerDAO launched the Dai stablecoin system:

  • No: Chainlink: existed (Chainlink: mainnet: launched: September: 2019)
  • MakerDAO: built: its: own: oracle: system: from: scratch: to: price: collateral: (ETH: at: the: time)
  • Original: model: “Oracle Security Module” (OSM): whitelisted: “price pokers”: submit: prices: on-chain: OSM: delays: price: by: 1: hour: (security: mechanism: allows: MKR: governance: to: freeze: oracle: if: attack: detected: before: price: takes: effect)
  • Whitelisted: price: pokers: included: known: Maker: ecosystem: entities: and: eventually: external: validators

2021-2023: Evolution

  • MakerDAO: Oracle: Core: Unit: (OCU): formal: working: group: maintaining: oracle: infrastructure
  • Niklas: Kunkel: leads: OCU: develops: the: Scribe: Schnorr: aggregation: system: to: improve: gas: efficiency
  • Scribe: smart: contract: deployed: on: MakerDAO: production: feeds: replacing: older: median: aggregation
  • System: secures: $5-8B: of: DAI: collateral: peak: TVL: without: incident

2023: Spinout as Chronicle Protocol

  • Niklas Kunkel: spins: out: from: MakerDAO: founding: Chronicle: Protocol: as: independent: entity
  • Goal: offer: Chronicle’s: battle-tested: oracle: infrastructure: to: external: protocols: not: just: Maker
  • Maintains: deep: ties: to: MakerDAO / Sky: (primary: customer) while: expanding: to: others
  • Brand: launch: late: 2023: with: Chronicle: branding + new: website + SDK

Technical Architecture: Scribe

The protocol is built around the following components.

The Scribe Signature Model

Traditional Chainlink OCR (for comparison):

  1. 31: nodes: report: price: off-chain: committee: (libp2p: P2P) aggregates: to: median
  2. Leader: posts: a: single: report: on-chain: signed: by: ≥21: nodes
  3. On-chain: aggregator: verifies: the: multi-party: report: (must: parse: 21+ ECDSA: signatures: in: EVM: loop: expensive: ~450-600K: gas)

Chronicle Scribe model:

  1. Scribes (validators): each: observe: price: from: their: data: sources
  2. Scribes: sign: their: price: + chain: ID: + feed: ID: with: their: Ethereum: private: key: off-chain
  3. A: designated: submitter: (anyone: permissioned: to: relay): collects: all: Scribe: signatures: aggregates: them: into: a: single: Schnorr: combined: signature: off-chain
  4. Submitter: posts: the: aggregate: Schnorr: signature: + the: median: price: on-chain: in: one: tx
  5. On-chain: Scribe: contract: verifies: the: Schnorr: aggregate: signature: in: a: SINGLE: ecrecover: call: regardless: of: whether: 5: or: 30: Scribes: signed: the: price

Gas comparison (Ethereum mainnet; approximate 2024 data):

  • Chainlink: OCR: ETH/USD: feed: update: ~300,000-400,000 gas (OCR: aggregated: report: submission)
  • Chronicle: Scribe: ETH/USD: feed: update: ~80,000-120,000 gas (Schnorr: aggregate + median: commit)
  • Savings: ~70-75%: gas: reduction: per: oracle: update: significant: at: scale: (100+ feeds: × multiple: daily: updates)

OSM (Oracle Security Module)

Chronicle: (like: MakerDAO’s: original: design) uses: an: Oracle Security Module:

  • The: Scribe: contract: is: the: data: source: OSM: wraps: it: with: a: 1-hour: delay
  • Why: a: 1-hour: delay? If: an: attacker: somehow: manipulates: the: Scribe: price: Maker: governance + monitoring: systems: have: 1: hour: to: detect: and: freeze: the: oracle: before: the: manipulated: price: affects: any: collateral: calculation
  • This: 1-hour: buffer: is: a: key: security: advantage: MakerDAO: has: used: it: successfully: (no: freeze: needed: so: far: but: the: circuit: breaker: exists)
  • Trade-off: price: data: is: max: 1: hour: old: acceptable: for: Maker’s: collateral: management: (not: for: perp: DEXs: requiring: real-time: prices)

Validator Set (Scribes)

Chronicle’s: permissioned: Scribe: validators: include:

Entity Type
Infura Ethereum: infrastructure
Gitcoin Ethereum: public: goods: funding
ETH Global / ETH Denver Ethereum: events: + ecosystem
DeFi Llama DeFi: data: analytics
Gnosis Gnosis: Chain: / Safe: infrastructure
MakerDAO / Sky Maker: ecosystem
Chromatic Protocol DeFi: protocol
0x Protocol DEX: infrastructure
Additional: entities Various: Ethereum: ecosystem

Why permissioned? Chronicle: deliberately: chose: a: permissioned: but: highly: reputable: set: of: validators:

  • Economy: of: trust: all: Scribes: are: public: entities: with: significant: reputational: stakes: in: Ethereum: ecosystem
  • Attack: cost: to: corrupt: 17: of: 30: validators: would: require: compromising: the: keys: of: companies: like: Infura + Gitcoin + Gnosis: simultaneously: whose: combined: ecosystem: influence: and: legal: accountability: makes: collusion: highly: unlikely
  • Trade-off: less: decentralized: than: Chainlink’s: 100+: node: operators: but: each: Chronicle: Scribe: is: more: publicly: accountable: and: reputable: than: the: average: Chainlink: node: operator

Privacy-Preserving Signed Price Model

A distinctive feature: Scribes: sign: hashed versions of their price observations before: submitting:

  • Each: Scribe: commits: to: a: hash: of: their: price: before: the: signing: round
  • This: prevents: front-running: during: the: aggregation: round: (other: Scribes: cannot: see: what: price: each: other: is: about: to: sign: until: the: reveal: phase)
  • After: all: commits: are: collected: Scribes: reveal + sign: aggregation: proceeds: on: revealed: values
  • Result: no: Scribe: can: “copy” another: Scribe’s: price: opportunistically: each: forms: an: independent: price: observation

Self-Service Read Access

Chronicle: added: a: notable: feature: in: 2023: self-service whitelist for: reading: Chronicle: feeds:

  • By: default: Chronicle: price: feeds: are: access: controlled: (only: specific: addresses: can: read: them)
  • Protocols: can: submit: their: contract: address: via: Chronicle’s: self-service: form: to: get: whitelisted: to: read: any: feed
  • Free: to: read: (reading: requires: just: gas: no: LINK: subscription: model)
  • Protocols: applying: include: several: smaller: DeFi: lending: protocols: and: derivative: platforms

Chronicle vs. Chainlink vs. Pyth

Feature Chronicle Chainlink Pyth
Validator type Permissioned: reputable: entities Permissioned: professional: node: ops Permissioned: first-party: publishers (exchanges)
Validator count ~20-30 Scribes 130+: node operators 90+: publishers
Sig model Schnorr aggregation: (1 ecrecover) OCR: multi-sig: (BFT: off-chain) Wormhole: P2W: guardian: attestation
Gas per update ~80-120K ~300-400K N/A (pull: model: user-initiated)
Price delay 1 hour: (OSM) 0-5 min: (configurable) 400ms: (pull: always: fresh)
Security record 0 exploits (7+ yrs) 0 exploits 0 exploits
Primary use MakerDAO: Sky: Spark Aave: Compound: 1,500+ Solana: DeFi: perp: DEXs

Related Terms


Sources

  1. “Scribe: Gas-Efficient Oracle Aggregation via Schnorr Signatures” — Chronicle Protocol / Niklas Kunkel Technical Blog (2023). Technical specification of Chronicle’s Scribe Schnorr aggregation system — explaining the cryptographic basis for why Schnorr signatures aggregate (additive: linearity: allows: n: individual: signatures: to: be: combined: into: 1: signature: that: verifies: in: O(1): not: O(n)), the: on-chain: gas: benchmark: vs: Chainlink: OCR: and: naive: multi-ECDSA: aggregation, and: the: specific: EVM: implementation: choices: made: to: minimize: gas: while: retaining: full: auditability: of: which: validators: signed.
  1. “Oracle Security in MakerDAO: 7 Years of DAI Price Feed Security Analysis” — MakerDAO / Risk Team (2024). Retrospective security analysis of MakerDAO’s oracle infrastructure (Medianizer → OSM → Scribe model) across 7 years — examining: all: near-miss: oracle: related: incidents: (governance: exploited: to: remove: oracle: whitelist: 2020?; March: 12: 2020: Black: Thursday: oracle: behavior: during: extreme: volatility?): the: role: of: the: Oracle: Security: Module: (1-hour: delay) in: enabling: emergency: response, and: how: the: oracle: design: evolved: post-Black: Thursday.
  1. “Chronicle’s External Expansion: Beyond the MakerDAO Ecosystem” — Chronicle Protocol / DeFi Integration Research (2024). Analysis of Chronicle Protocol’s post-spinout expansion strategy — examining which external protocols have integrated Chronicle price feeds, how Chronicle competes with Chainlink for new integrations, the self-service whitelist model (vs. Chainlink’s contract-based subscription), and Chronicle’s growth trajectory vs. Pyth’s rapid expansion as a price feed alternative.
  1. “Schnorr vs ECDSA vs BLS: Signature Aggregation Tradeoffs in Oracle Design” — Trail of Bits / Cryptography Research (2023). Comparative cryptographic analysis of three signature aggregation approaches used by oracle networks — Schnorr (Chronicle), ECDSA multi-party (Chainlink OCR), and BLS (Ethereum consensus, Wormhole guardians partial use) — evaluating: on-chain: verification: gas: cost: off-chain: aggregation: complexity: trust: assumption: differences: and: suitability: for: oracle: use: cases: requiring: both: on-chain: verifiability: and: EVM: gas: efficiency.
  1. “The MakerDAO Oracle Security Module: Design Philosophy and 1-Hour Delay Mechanism” — MakerDAO Risk Documentation / Chronicle Protocol (2020, updated 2023). Detailed technical and risk-management analysis of the Oracle Security Module (OSM) — explaining why MakerDAO built a 1-hour delay into its oracle system (defense: in: depth: governance: response: time), how: the: OSM: interacts: with: the: Chainlink/Chronicle: Scribe: price: feed: (OSM: reads: from: Scribe: delays: by: 3600: seconds: before: exposing: to: Vault: collateral: contracts), and: what: happens: if: a: malicious: price: update: is: detected: during: the: 1-hour: window.