Concentrated Liquidity (v3)

김현학·2024년 9월 22일
0

Uniswap v4 Hook

목록 보기
2/6
post-thumbnail

이전 CPMM 기반의 Uniswap V2의 동작 원리에 대한 기초적인 이해를 보유하고 있다고 가정한다. Concentrated Liquidity는 v3로의 업그레이드에서 가장 핵심이 되는 개념이다. 기존 유동성 공급의 효율성을 저해했던 x*y≥k 조건을 멋지게 대체하여 자본의 효율성을 향상시켰다.

1. Concentrated Liquidity의 개념

  • Concentrated Liquidity는 유동성 공급자가 특정 가격 범위에 한정하여 유동성을 집중시킬 수 있도록 하는 시스템이다.
  • 현재 토큰의 가격이 설정한 가격 범위를 벗어나면, 집중적으로 제공한 유동성은 다시 범위 내로 오기 전까지 프로토콜 내에서 임시적으로 비활성화된다.

2. 이는 이전 버전의 어떤 결핍을 해소하는가?

  • Concentrated Liquidity는 Uniswap v3 버전부터 도입되었다.
  • v2에서 모든 상태 변화는 x*y≥k라는 항등식을 만족시켜야 했다. 즉, LP는 거래 가능한 전체 가격 범위에 걸쳐 유동성을 제공해야만 한다. 이러한 구조는
    1. 슬리피지를 증가시켜 프로토콜 효율성을 감소시키고,
    2. volatility가 낮은 Pair에 대해서는 lazy liquidity의 비중이 높아, 자본 효율성을 감소시킨다.
  • v3는 원하는 범위의 가격대에 한해 유동성을 공급할 수 있다. 거래가 활발하게 일어나는 구간에 유동성을 집중하는 것으로 자본 효율을 높일 수 있다.

** [슬리피지 증가]에 대한 추가 설명

거래를 요청하는 시점과 실제 거래가 체결되는 시점에는 반드시 일정 이상의 지연이 존재한다. 타인의 거래가 우선적으로 체결되어, 점 P에서 P1으로 Pair의 포지션이 변동되면, 음수든 양수든 반드시 슬리피지가 발생하게 된다.

이로 인해 발생할 수 있는 손해를 방지하기 위한 로직이 추가된다. 예상과는 다른 방식으로 거래가 체결되려하니, 자연스레 트랜잭션을 취소하는 경우도 증가한다. 따라서, 슬리피지의 발생은 트랜잭션 성공률을 감소시켜, DeFi 프로토콜의 효율성 또한 감소시킨다.

** volatility & lazy liquidity

  • volatility 변동성; 자산의 가격이 변화하는 정도
  • lazy liquidity 현재 active price range 이외의 모든 유동성의 총량 (active 상태를 일하고 있다고 비유했을 때, 나머지는 놀고 있다 = 게으르다로 표현한 결과)
  • 변동성이 낮은 Pair의 경우, 대부분 일정 구간의 price range 내에서만 거래가 이루어진다. 그러나 v2는 그 외의 모든 범위에 대해서도 x*y≥k 조건을 통해 유동성을 보장한다. 따라서, 놀고 있는, 게으른 유동성의 양이 많아지고, 자본의 효율성이 낮아진다.

3. 이는 이전 버전의 결핍을 어떻게 해소하는가?

  • lazy liquidity 증가에 따른 자본 효율성 감소가 이전 버전에서의 pain point이다. 이를 그래프로 나타내면 다음과 같다. 항상 x*y≥k를 만족하는 상태로 유지하는 것은 모든 구간에 유동성을 공급하겠다는 것과 동일한 의미이다.
    (그래프에서 0과 무한대를 표현했는데, 엄밀히 따지면 한 토큰의 가격은 나머지 토큰의 보유량에 따라 0으로 수렴하거나, 무한대로 발산한다고 표현하는게 정확하다.)

토큰의 가격과 유동성 공급 방식에 대한 계산은 본 포스트에서는 다루지 않는다. 이후 포스트에서 다루어질 예정이고, 필요하다면 🚧작성 예정

  • 정량적인 계산을 위해 현재 Pair가 가질 수 있는 가격 범위를 (0, 100], 그리고 총 1000 만큼의 유동성을 공급할 수 있다고 가정하자. 현재 Pair의 유동성 수치는 10이 된다.

  • 어떤 토큰의 가격이 0처럼 매우 작거나, 무한대처럼 매우 커지는 경우는 거의 없다. 따라서, 일정 범위의 가격대에 대해서만 유동성을 공급하는 것으로도 그 효율을 증가시킬 수 있다. 공급된 유동성 총량은 동일하지만, 프로토콜의 유동성 수치는 두 배가 되었다.

  • 이와 같은 접근에 대해 생각하다보면, 결국 가격의 확률적 분포에 따라 유동성을 제공하는 것이 최적의 전략임을 알 수 있다. 모든 가격은 현재 가격에서 변화하기에, 실제 유동성도 현재 가격 근처에 집중되어 있다. 가격의 변동성이 적을수록, 이러한 경향성은 더욱 심화된다.

  • 위와 같은 분포도는 다음과 같이 단순화 할 수 있다. 동일하게 1000 만큼의 유동성을 공급했으나, 주요 거래 범위에 가장 많은 유동성이 공급되도록 범위를 중첩시켰다. 가격의 변동이 크지 않다면, 대부분의 경우, Liquidity는 20보다 큰 상태로 유지될 것이다.

  • 활용되지 않는 lazy liquidity의 양을 줄여, 훌륭한 liquidity depth를 확보했다. 이를 통해 v2 프로토콜에서의 비효율을 개선했다.

Read More

0개의 댓글