이전 CPMM 기반의 Uniswap V2의 동작 원리에 대한 기초적인 이해를 보유하고 있다고 가정한다.
Concentrated Liquidity
는 v3로의 업그레이드에서 가장 핵심이 되는 개념이다. 기존 유동성 공급의 효율성을 저해했던x*y≥k
조건을 멋지게 대체하여 자본의 효율성을 향상시켰다.
Concentrated Liquidity
의 개념Concentrated Liquidity
는 유동성 공급자가 특정 가격 범위에 한정하여 유동성을 집중시킬 수 있도록 하는 시스템이다.Concentrated Liquidity
는 Uniswap v3 버전부터 도입되었다.x*y≥k
라는 항등식을 만족시켜야 했다. 즉, LP는 거래 가능한 전체 가격 범위에 걸쳐 유동성을 제공해야만 한다. 이러한 구조는거래를 요청하는 시점과 실제 거래가 체결되는 시점에는 반드시 일정 이상의 지연이 존재한다. 타인의 거래가 우선적으로 체결되어, 점 P에서 P1으로 Pair의 포지션이 변동되면, 음수든 양수든 반드시 슬리피지가 발생하게 된다.
이로 인해 발생할 수 있는 손해를 방지하기 위한 로직이 추가된다. 예상과는 다른 방식으로 거래가 체결되려하니, 자연스레 트랜잭션을 취소하는 경우도 증가한다. 따라서, 슬리피지의 발생은 트랜잭션 성공률을 감소시켜, DeFi 프로토콜의 효율성 또한 감소시킨다.
volatility
변동성; 자산의 가격이 변화하는 정도lazy liquidity
현재 active price range 이외의 모든 유동성의 총량 (active 상태를 일하고 있다고 비유했을 때, 나머지는 놀고 있다 = 게으르다로 표현한 결과)x*y≥k
조건을 통해 유동성을 보장한다. 따라서, 놀고 있는, 게으른 유동성의 양이 많아지고, 자본의 효율성이 낮아진다.lazy liquidity
증가에 따른 자본 효율성 감소가 이전 버전에서의 pain point이다. 이를 그래프로 나타내면 다음과 같다. x*y≥k
를 만족하는 상태로 유지하는 것은 모든 구간에 유동성을 공급하겠다는 것과 동일한 의미이다.토큰의 가격과 유동성 공급 방식에 대한 계산은 본 포스트에서는 다루지 않는다. 이후 포스트에서 다루어질 예정이고, 필요하다면 🚧작성 예정
정량적인 계산을 위해 현재 Pair가 가질 수 있는 가격 범위를 (0, 100], 그리고 총 1000 만큼의 유동성을 공급할 수 있다고 가정하자. 현재 Pair의 유동성 수치는 10이 된다.
어떤 토큰의 가격이 0처럼 매우 작거나, 무한대처럼 매우 커지는 경우는 거의 없다. 따라서, 일정 범위의 가격대에 대해서만 유동성을 공급하는 것으로도 그 효율을 증가시킬 수 있다. 공급된 유동성 총량은 동일하지만, 프로토콜의 유동성 수치는 두 배가 되었다.
이와 같은 접근에 대해 생각하다보면, 결국 가격의 확률적 분포에 따라 유동성을 제공하는 것이 최적의 전략임을 알 수 있다. 모든 가격은 현재 가격에서 변화하기에, 실제 유동성도 현재 가격 근처에 집중되어 있다. 가격의 변동성이 적을수록, 이러한 경향성은 더욱 심화된다.
위와 같은 분포도는 다음과 같이 단순화 할 수 있다. 동일하게 1000 만큼의 유동성을 공급했으나, 주요 거래 범위에 가장 많은 유동성이 공급되도록 범위를 중첩시켰다. 가격의 변동이 크지 않다면, 대부분의 경우, Liquidity는 20보다 큰 상태로 유지될 것이다.
활용되지 않는 lazy liquidity의 양을 줄여, 훌륭한 liquidity depth를 확보했다. 이를 통해 v2 프로토콜에서의 비효율을 개선했다.