Compound DAI Oracle-Kaskade
Compound liquidierte 89 Mio. USD an Positionen, nachdem DAI kurz für 1,30 USD auf Coinbase Pro handelte – der einzigen Oracle-Quelle. Kein Hack.
- Datum
- Opfer
- Compound Finance
- Chain(s)
- Status
- Mittel entwendet
Am 26. November 2020 — Thanksgiving-Morgen in den USA — wurden etwa 89 Millionen US-Dollar an über-besicherten Positionen auf Compound Finance in einer einzigen Stunde liquidiert. Es gab keinen Smart-Contract-Exploit. Das Protokoll funktionierte genau wie designt. Das Problem war, dass sein Oracle den DAI-Preis aus einer einzigen Venue las — Coinbase Pro — und DAI dort in dünner Feiertagsliquidität kurz für 1,30 USD handelte.
Was geschah
Compounds Preis-Oracle nutzte zu der Zeit Coinbase Pro als Anker-Quelle für Stablecoin-Preise, mit einer Sanity-Prüfung, die verlangte, dass der gemeldete Preis innerhalb von 20% eines Uniswap-TWAP blieb. Die 20%-Grenze war großzügig — DAI bewegte sich selten mehr als einen Bruchteil eines Prozents, selbst in gestressten Märkten.
Zwischen ungefähr 12:00 und 13:00 PT geschahen drei Dinge gleichzeitig:
- ETH fiel global ~8%, was die Sicherheitsverhältnisse vieler Borrower näher an Liquidationsschwellen drückte.
- DAIs Preis auf Coinbase Pro sprang auf ~1,30 USD über die Paare DAI/USDC, DAI/USD und ETH/DAI — eine 30%-Prämie getrieben durch dünne Feiertagsliquidität und konzentrierten Kauf.
- Compounds Oracle nahm den 1,30-USD-DAI-Preis auf (innerhalb der 20%-Uniswap-TWAP-Toleranz nur, weil der Uniswap-DAI-Pool ebenfalls kurz driftete).
Für Compound-Nutzer, die DAI gegen ETH-Sicherheit geliehen hatten, berechnete das Protokoll ihre Schuld nun auf 30% höher als ihren tatsächlichen Marktwert. Zig Millionen an Positionen wurden sofort unter-besichert. Liquidationsbots — die genau wie von Compound beabsichtigt operierten — schlugen zu.
~89 Mio. USD an DAI-denominierten Borrows wurden im Fenster liquidiert, wobei Borrower sowohl ihre Kredite als auch die zum Liquidationsabschlag beschlagnahmte Sicherheit verloren.
Folgen
- DAIs Coinbase-Preis normalisierte sich innerhalb einer Stunde zurück auf ~1,00 USD. Bis dahin waren die Liquidationen final.
- Compound-Governance debattierte, ob liquidierte Nutzer entschädigt werden sollten. Nach kontroverser Diskussion lehnte das Team die Erstattung ab — und charakterisierte die Liquidationen als nach Protokollregeln erfolgt, auch wenn diese Regeln die Nutzer im Stich gelassen hatten.
- Der Vorfall beschleunigte dramatisch Compounds Migration zu Chainlink-basierten Preisfeeds mit Multi-Source-Medianen und engeren Abweichungskontrollen.
Warum es wichtig ist
Der Compound-DAI-Vorfall ist der kanonische Fall dafür, warum „das Protokoll funktionierte wie designt" keine Verteidigung ist. Jeder Parameter in einem DeFi-System — Oracle-Quelle, Abweichungstoleranz, Liquidationsschwelle, Karenzzeit — repräsentiert ein implizites Versprechen über die Realität. Wenn die Realität aufhört, mit den Annahmen übereinzustimmen, produziert „nach den Regeln" Ergebnisse, denen die Nutzer des Protokolls nie zugestimmt hätten.
Die Lektion — dass Single-Venue-Preisfeeds ein Single Point of Failure sind, selbst wenn die Venue Coinbase ist — trieb die branchenweite Bewegung zur Chainlink/Multi-Source-Aggregation. Das Bug-Muster wiederholt sich jedoch jedes Mal, wenn ein Protokoll mit einem dünnen Preisfeed launcht und dieselbe Lektion lernt, die seine Vorgänger bezahlt haben.
Quellen & On-Chain-Belege
- [01]decrypt.cohttps://decrypt.co/49657/oracle-exploit-sees-100-million-liquidated-on-compound
- [02]cryptobriefing.comhttps://cryptobriefing.com/compound-user-liquidated-49-million-price-oracle-blamed/
- [03]blockonomi.comhttps://blockonomi.com/chainlink-compound-liquidations/