Uniswap v4의 Hook 새로운 실천, “절단식 예언기”가 DeFi를 어떻게 변화시키는가?
원문 제목:《 Uniswap v4 Truncated Oracle Hook 》
편집: Frank, Foresight News
Uniswap 프로토콜은 수백만 거래자에게 중요한 암호화 기반 시설이며, 깊은 유동성을 제공하여 1.6조 달러 이상의 거래량을 지원합니다. Uniswap v4는 이 프로토콜의 최신 진화 버전으로, 개발자가 Uniswap 위에 사용자 정의 AMM 기능을 구축할 수 있도록 훅(Hooks)을 사용합니다.
이전에 우리는 시간 가중 평균 시장 조성자 훅에 대한 기사를 작성했으며, 오늘은 "절단식 오라클"(truncated oracle)에 중점을 두겠습니다.
가격 오라클(예: Uniswap v3 풀의 오라클)은 다른 DeFi 프로토콜에 유동성 풀의 가격 정보를 전달할 수 있으며, 선택적 v4 훅으로 배포된 절단식 가격 오라클은 대규모 거래가 가격에 미치는 영향을 줄이고, 오라클의 조작 저항성을 높여 DeFi 시나리오에서 더 안전하게 사용할 수 있도록 합니다.
가격 오라클의 역할
가격 오라클은 특정 자산의 가격 정보를 조회하는 도구입니다. 이러한 온체인 오라클은 온체인 데이터를 반영하는 신뢰할 수 없는 가격 출처입니다. Uniswap v3 가격 오라클은 스마트 계약이 온체인 가격 데이터를 통합하고 사용하여 DeFi 전반에 걸쳐 더 많은 조합 가능한 애플리케이션을 생성할 수 있도록 합니다.
Uniswap v3 가격 오라클은 구축 시 이더리움의 작업 증명(PoW) 메커니즘을 고려했지만, 이더리움의 합의 알고리즘이 지분 증명(PoS)으로 전환된 후, 이 오라클의 일부 주요 가정이 변경되어 보안성이 저하되었습니다.
Uniswap v3에서 유동성이 높은 풀의 가격을 조작하는 비용이 너무 높지만, 가격 오라클의 중요성은 악의적인 행위자에게 공격 목표가 되게 합니다. 공격자는 가격 오라클을 조작할 충분한 경제적 동기를 가지고 있습니다.
따라서 우리는 오라클을 수정하여 더 강인하게 만들어야 하며, 절단식 가격 오라클은 가격을 계산하기 위해 다른 공식을 사용하고, 더 신뢰할 수 있고 조작하기 어려운 가격 피드를 제공합니다.
절단식 오라클의 훅은 무엇인가요?
절단식 오라클은 온체인 가격 오라클로, 기하 평균 공식을 사용하여 Uniswap 유동성 풀에서 자산의 가격을 기록한 후, 해당 오라클의 가격 피드를 절단합니다. 즉, 단일 블록 내에서 기록된 가격은 최대값으로만 위 또는 아래로 이동할 수 있습니다.
이러한 절단은 대규모 거래가 가격에 미치는 장기적인 영향을 제거하는 데 도움이 됩니다. 악의적인 행위자가 가격을 조작하려고 하면 여러 블록에서 지속적으로 조작해야 하므로 절단식 오라클의 조작 비용이 매우 높아집니다.
절단식 오라클 훅은 어떻게 작동하나요?
이 훅의 스마트 계약은 해당 유동성 풀의 가격 복사본을 저장하며, Uniswap v3와 v4에서 이 가격은 개별 점(Tick)으로 표시됩니다.
거래 또는 LP 조정을 수행하기 전에, 훅은 유동성 풀의 현재 가격 변동을 계약에 저장된 가격 변동과 비교합니다. 이 두 숫자 간의 차이가 특정 숫자 단위(우리의 연구에 따르면 9,116)보다 작으면, 훅은 이 새로운 가격 점으로 업데이트합니다.
그러나 유동성 풀의 현재 가격 변동이 9116 숫자 단위를 초과하면, 오라클은 가격 상한을 +- 9116으로 제한하여 한 블록 내에서 유동성 풀의 가격 점 이동량을 제한합니다.
훅이 업데이트된 후에야 거래 또는 LP 조정이 실행되며, 해당 블록이 종료될 때까지 반복하여 다음 훅 스마트 계약을 트리거하는 블록을 순환합니다.
절단된 기록 가능한 가격(점)의 급격한 변동 정도를 통해 이 오라클은 이상값을 무시하고 대규모 거래가 가격에 미치는 영향을 제거할 수 있습니다. 가격이 지속적으로 큰 폭으로 변동하면, 오라클도 유동성 풀의 가격 점에 신속하게 적응합니다.
절단식 오라클은 더 안전합니다
대출 시장을 예로 들어 절단식 오라클을 더 잘 이해해 보겠습니다. DeFi 대출 시장은 사용자가 자산을 담보로 예치하여 다른 자산을 빌릴 수 있도록 하며, 담보 가치의 일부 자산을 최대한 빌릴 수 있습니다.
예를 들어, 대출 시장의 담보 비율이 1.5라면, Alice는 1000 USDC를 빌리기 위해 최소 1500 달러의 담보를 제공해야 하며, 즉 ETH가 1000 달러일 경우, Alice는 최소 1.5 ETH를 예치해야 합니다.
대출 과정에서 Alice는 최소 1.5의 비율을 유지해야 하며, 이는 그녀의 1.5 ETH 가격이 하락하면 누구나 그녀의 불량 채무를 상환하고 이 1.5 ETH 담보를 얻을 수 있음을 의미합니다.
대출 시장은 가격 오라클을 사용하여 ETH와 USDC의 가격을 비교합니다. 현재 Uniswap v3에서 ETH/USDC 유동성 풀을 조작하는 것은 경제적으로 비현실적이지만, 악의적인 행위자 Bob은 대규모 거래를 실행하고 ETH 가격을 낮추어 소규모 DEX에 영향을 미칠 수 있습니다.
이로 인해 Bob은 대출 시장을 조작하여 Alice의 포지션을 청산해야 하며, Bob은 1500 달러 이하의 가격으로 Alice의 대출을 상환하고 그녀의 1.5 ETH를 가져갈 수 있습니다.
이러한 유형의 조작은 가격 오라클에 의존하는 DeFi 프로토콜이 조작으로 인해 손실을 입는 가장 일반적인 방법 중 하나이며, 대출 프로토콜은 단지 하나의 예일 뿐이며, 다른 DeFi 원주(예: 영구 계약)도 온체인 가격 오라클에 의존합니다.
Alice가 있는 DeFi 대출 시장이 절단식 가격 오라클을 사용한다면, Bob은 시장 조작을 지속해야 합니다. 예를 들어, Bob은 오라클의 가격이 그가 원하는 변동을 실현하기 위해 15개의 블록을 기다려야 하며, 그 후에야 Alice의 포지션을 청산하려고 시도할 수 있습니다.
하지만 이 5분 동안, 차익 거래 봇이 Bob의 해당 거래를 먹어버릴 수 있어 그가 아무것도 얻지 못하게 됩니다. Bob에게는 이 비용이 너무 높습니다.
현재 Uniswap v4와 절단식 오라클 훅은 여전히 개발 중이며, 최종 사양은 변경될 수 있습니다.