TWAP 오라클이란 무엇이며, DeFi 프로토콜이 TWAP 오라클에 의존하는 이유
— By Tony Rabbit in Tutorials

TWAP 오라클 암호화폐 가격 피드는 자산의 가격을 일정 시간 동안 평균화하여 단일 조작된 블록이 대출 또는 청산 엔진을 속이지 못하도록 합니다. 작동 방식, 현물 가격이 위험한 이유, 그리고 TWAP가 여전히 실패하는 지점을 설명합니다.
TWAP 오라클 암호화폐 가격 피드는 자산의 순간적인 현물 가격 대신 지난 30분과 같이 정의된 기간 동안의 시간 가중 평균 가격(TWAP)을 보고하는 온체인 메커니즘입니다. 여러 블록에 걸쳐 가격을 평활화함으로써 DeFi 프로토콜이 사용하는 수치를 조작하기 훨씬 더 어렵게 만듭니다. 공격자가 한 블록 동안 가격을 급등시키더라도, 그 급등은 평균에 아주 작은 부분만 기여하고 보고된 수치를 거의 움직이지 않습니다. 이것이 바로 대출 시장, 청산 엔진 및 담보 시스템이 TWAP 오라클에 의존하는 이유입니다. 즉, 약간의 최신성을 희생하고 많은 안전을 얻는 것입니다.
핵심 요약
TWAP 오라클이란 무엇인가
TWAP 오라클은 각 관찰된 가격이 유효했던 기간에 따라 가중치를 부여한 다음, 총 경과 시간으로 나누어 가격을 계산합니다. 토큰이 9분 동안 100에 거래되고 1분 동안 110에 거래되었다면, 마지막 순간의 단순 현물 가격은 110이지만, 시간 가중 평균은 101에 더 가깝습니다. 오라클은 평균을 반환하므로, 짧은 일탈은 출력에 제한적인 영향을 미칩니다.
결정적으로, 이것은 탈중앙화 거래소 자체의 거래 내역에서 온체인으로 계산됩니다. 신뢰할 오프체인 보고자도 없고, 쿼리할 API도 없습니다. 가격은 풀의 기록된 상태의 결정론적 함수입니다. 이러한 자체 포함된 설계는 프로토콜이 이를 가치 있게 여기는 한 가지 이유이지만, 보시다시피 공짜 점심은 아닙니다. 이 용어는 실행 전략과 겹칩니다. TWAP order는 슬리피지를 줄이기 위해 큰 거래를 시간 경과에 따라 여러 조각으로 나눕니다. 이것은 거래 전술입니다. TWAP 오라클은 가격 보고 도구입니다. 동일한 수학적 아이디어이지만, 목적은 완전히 다릅니다.
현물 가격이 대출 및 청산에 안전하지 않은 이유
단일 유동성 풀에서 순간적인 현물 가격을 읽어 담보를 평가하는 대출 프로토콜을 상상해 보세요. 만약 그 가격이 한 거래의 지속 시간 동안 움직일 수 있다면, 공격자는 부풀려진 담보를 담보로 대출을 받거나 불공정한 청산을 유발하고 같은 블록에서 빠져나갈 수 있습니다. 이것은 이론적인 것이 아닙니다. 대부분의 오라클 조작 공격의 핵심입니다.
이를 가능하게 하는 무기는 일반적으로 flash loan으로, 공격자가 동일한 거래 내에서 상환되는 한 담보 없이 막대한 금액을 빌릴 수 있게 합니다. 이 자본으로 그들은 얇은 풀의 현물 가격을 극적으로 흔들고, 피해 프로토콜이 왜곡된 수치를 읽게 하고, 가치를 추출하고, 모든 것을 원자적으로 되돌립니다. 현물 오라클은 기억력이 없으며 정확히 한 블록 동안만 참인 가격에 대한 방어 수단이 없습니다. 잘못된 가격이 실제 돈 손실을 의미하는 모든 프로토콜, 예를 들어 Aave에서 대출할 때 볼 수 있는 담보 확인과 같은 경우, 원시 현물 가격을 읽는 것은 무모한 행동입니다.
Uniswap-스타일 누적 가격 TWAP 작동 방식
Uniswap은 긴 가격 기록을 저장할 필요가 없는 우아한 온체인 TWAP를 대중화했습니다. 풀은 실행 중인 누적기를 유지합니다. 가격이 변경될 때마다 현재 가격에 마지막 업데이트 이후 경과된 초 수를 곱하여 누적 카운터에 추가합니다. 이 카운터는 계속 증가하며, 전체 가격-시간 기록을 단일 숫자로 인코딩합니다.
어떤 기간 동안의 평균 가격을 얻으려면, 소비자는 시작 시간과 종료 시간에 누적기를 읽고, 빼고, 경과된 초로 나눕니다. 그 결과는 해당 기간 동안의 정확한 시간 가중 평균입니다. 데이터가 풀 내부에 있고 소비자가 두 끝점을 모두 선택하기 때문에, 프로토콜은 평균을 낼 기간을 결정합니다. 깊고 집중된 유동성을 가진 풀은 이를 더욱 강력하게 만듭니다. 왜냐하면 전체 기간 동안 가격을 의미 있게 움직이는 데 공격자에게 훨씬 더 많은 자본이 들기 때문입니다.
지연 대 조작 저항성 트레이드오프
기간 길이는 가장 중요한 설계 선택이며, 트레이드오프를 강요합니다. 기간이 길수록 짧은 조작을 더 심하게 희석시키므로, 공격자는 왜곡된 가격을 더 많은 블록 동안 유지해야 하며, 이는 기하급수적으로 더 많은 자본을 소모하고 가격을 되돌리는 차익 거래에 노출됩니다. 이것이 안전상의 이점입니다.
비용은 지연입니다. 긴 기간은 오라클이 빠른 움직임 동안 어제의 현실을 보고한다는 것을 의미합니다. 진정으로 급격한 시장 하락 시, 느린 TWAP는 담보를 너무 높게 평가하여 포지션이 이미 손실 상태가 될 때까지 청산을 지연시키고 프로토콜에 부실 채무를 남길 수 있습니다. 따라서 기간은 조작을 비경제적으로 만들 만큼 충분히 길어야 하지만, 지급 불능 문제가 되기 전에 실제 움직임에 반응할 만큼 충분히 짧아야 합니다. 보편적으로 올바른 숫자는 없으며, 자산의 변동성과 풀의 깊이에 따라 달라집니다.
TWAP 대 푸시 및 풀 오라클, 그리고 TWAP가 실패하는 지점
TWAP는 유일한 오라클 설계가 아니며, 유일한 가격 소스라기보다는 건전성 확인 계층으로 점점 더 많이 사용됩니다. 두 가지 주요 대안은 매우 다르게 작동하며, 이는 더 자세한 Chainlink 대 Pyth 비교와 함께 이해할 가치가 있습니다.
Chainlink 모델인 푸시 오라클은 오프체인 노드가 여러 거래소의 가격을 집계하고, 임계값을 넘어서거나 하트비트 간격 후에 업데이트된 값을 온체인으로 푸시합니다. Pyth 모델인 풀 오라클은 퍼스트 파티 발행자가 누구나 온체인에서 필요할 때 요청할 수 있는 가격에 서명하므로, 소비자는 필요 시점에 매우 최신 값을 가져옵니다. 푸시와 풀 모두 광범위한 시장 전체 데이터를 활용하여 단일 풀 조작에 저항하지만, 보고자 네트워크의 정직성과 활성도에 의존합니다.
반대로 TWAP는 외부 보고자를 신뢰하지 않고, 단일 풀 자체의 기록만을 신뢰합니다. 이것이 TWAP의 강점이자 약점입니다. TWAP는 기본 풀이 너무 얇아서 공격자가 전체 기간 동안 왜곡된 가격을 유지할 여유가 있을 때, 유동성이 이동하여 풀이 더 이상 실제 시장을 반영하지 않을 때, 또는 자산이 너무 빠르게 움직여 평균화 지연 자체가 잘못된 평가를 초래할 때 실패합니다. 현대의 모범 사례는 계층화입니다. 즉, 최신 푸시 또는 풀 피드를 기본 가격으로 사용하고, TWAP를 최근 평균에서 너무 멀리 벗어나는 값을 거부하는 가드레일로 사용하는 것입니다. 단일 오라클 설계만으로는 충분하지 않습니다.
이 기사는 교육 목적으로만 제공되며, 재정적 조언이 아닙니다.