피드로 돌아가기
Perpetual Engine Series Part 3: Funding Rates
Dev.toDev.to
Backend

Rust 기반 Perpetual Engine의 Funding Rate 메커니즘 및 Liquidation 연동 설계

Perpetual Engine Series Part 3: Funding Rates

Sumana2026년 5월 2일3advanced

Context

Perpetual Contract의 가격이 Spot Price로부터 괴리되는 현상을 방지하기 위한 앵커 메커니즘 필요. 기존 PnL 계산 방식으로는 가격 변동성 외의 시장 균형 유지 장치가 부족한 한계 존재.

Technical Solution

  • Notional Value 기반의 Zero-Sum Payment 구조를 통한 Perp 가격과 Spot 가격의 괴리율 제어
  • Rust의 Decimal 타입을 활용한 정밀한 funding_amount 계산으로 소수점 오차 제거
  • tokio::time::interval 기반의 Background Task 설계를 통한 Order Book 블로킹 방지 및 응답성 유지
  • Funding 적용 직후 should_liquidate 체크 로직을 배치하여 Funding-Triggered Liquidation 즉시 처리
  • Write Lock 획득 후 전체 포지션 PnL을 일괄 업데이트하는 주기적 Heartbeat 아키텍처 구현

1. 고레버리지 시스템 설계 시 수수료 및 Funding Fee로 인한 Margin 침식 및 강제 청산 시나리오 검토

2. 주기적 배치 작업이 메인 트랜잭션 경로(Order Book)를 방해하지 않도록 비동기 런타임 분리

3. 금융 계산 시 부동 소수점 오차 방지를 위한 전용 Decimal 라이브러리 도입

원문 읽기