피드로 돌아가기
TWAP Oracles: How AMMs regulate crypto prices
Dev.toDev.to
Security

Flash Loan 공격 방어를 위한 Uniswap V2 TWAP Oracle 설계

TWAP Oracles: How AMMs regulate crypto prices

Adi2026년 5월 16일9advanced

Context

Spot Price를 단순 참조하는 오라클 구조는 단일 트랜잭션 내 대규모 자산 투입을 통한 가격 조작에 취약함. 특히 Flash Loan을 이용한 일시적 가격 펌핑으로 담보 가치를 왜곡하여 부당 대출을 유도하는 보안 결함이 존재함.

Technical Solution

  • _update() 함수 호출 시마다 priceCumulativeLast 변수에 현재 가격 * 경과 시간을 누적하는 Price Accumulator 구조 도입
  • 단순 스냅샷 기반의 Spot Price 대신 특정 시간 윈도우(T1 ~ T2) 동안의 누적 가격 차이를 시간으로 나누는 TWAP(Time Weighted Average Price) 연산 적용
  • 단일 블록 내의 일시적 가격 변동이 전체 평균값에 미치는 영향력을 최소화하여 조작 비용을 기하급수적으로 증대
  • 외부 프로토콜이 필요에 따라 30분 또는 1시간 등 가변적인 시간 윈도우를 설정해 가격 데이터의 신뢰도 수준을 직접 결정하는 유연한 인터페이스 제공
  • Price Deviation Limit 및 Time Delay 메커니즘을 통해 비정상적인 가격 급변동에 대한 추가적인 방어 계층 구축

1. 외부 데이터 소스를 신뢰할 때 단일 시점의 값(Spot Value)이 아닌 일정 기간의 평균값(Average Value)을 사용하는지 검토

2. 단일 트랜잭션 내에서 상태 변경과 데이터 조회가 동시에 일어날 때 발생 가능한 원자성 기반 공격 벡터 분석

3. Defense in Depth 원칙에 따라 다중 독립 소스 교차 검증 및 자동 서킷 브레이커(Circuit Breaker) 도입 여부 확인

원문 읽기