JIT Rebalancing

김현학·2024년 9월 24일

Uniswap v4 Hook

목록 보기
5/6
post-thumbnail

v4부터 새로 도입된 Hook은 DeFi 생태계의 문제 또는 커뮤니티의 필요를 프로토콜 업그레이드 없이, 자체적으로 해결할 수 있는 모듈식의 기능 추가를 허가한다.

본 포스트에서는 DeFi 시장에서 LP의 pain point를 이해하고, 그들의 수익성을 보장하기 위한 Liquidity Operation: JIT Rebalancing 전략에 대해 이해한다.

0. DeFi의 LP란 어떤 존재인가?

  • 사전적으로는 유동성 공급자(Liquidity Provider; 이하 LP), 단순하게는 DeFi 생태계 내 한 종류의 actor이다.
    • 이들은 프로토콜에 유동성을 공급하고, 공급한 유동성이 프로토콜 내의 거래에 기여한 비율만큼 수수료를 얻을 수 있다.
  • 유동성 공급 시, 가격 변동에 따른 Impermanent Loss(비영구적 손실)을 고려해야 한다. 위험 관리를 위해서는 공급한 유동성의 price range와 depth, pair 내 거래량 등 투자 간 많은 변수를 지속적으로 고려할 필요가 있다.
    • DeFi 프로토콜은 LP가 이탈하지 않도록 보호할 필요가 있다. 장기적인 관점에서 위험 관리 난이도가 차익 거래(Arbitrage)에 비해 높기 때문에, 충분한 유익이 주어지지 않으면 유동성이 적어, 프로토콜이 정상적으로 운용될 수 없다.
    • Uniswap v4 Hook을 활용한 편의 기능들이 LP에게 제공되면, 위험 관리에 대한 장벽이 낮아져 보다 더 많은 자본이 유입될 것으로 기대한다.

비영구적 손실(Impermanent Loss)은 DeFi에서 유동성을 공급할 때, 자산이 제공 시점의 가치로 동결되어 관리되기 때문에 발생하는 문제이다. 이에 대한 내용은 별도의 🚧 작성 예정에서 다루고자 한다.

1. LP 수익 전략의 필요성

특정 가격 범위(price range)에 한하여 유동성을 공급하는데 활용되는 두 개념, tickConcentrated-Liquidity을 이전 포스트에서 소개했다.

  • v2에서는 lazy liquidity가 자본의 효율성을 저해했다. v3에서는 Concentrated-Liquidity를 도입하여 평균적인 자본 효율성을 크게 향상시켰지만, volatility가 큰 Pool에서는 여전히 유사한 문제가 발생할 수 있다.

1-1. LP가 유동성을 공급한 가격대에 실제 가격이 위치하지 않는다면 어떨까?

  • 아래 그림에서 Inactive 상태에 해당된다. 이는 유동성 공급에 따른 수수료를 받지 못하는 상태가 되어, 사실상 자산을 방치해두는 것과 다름없다.
    • Liquidity Provider는 지속적인 관찰을 통해 공급하려는 유동성의 포지션을 적절히 변경해주어야 한다.

1-2. 가격 변화를 추적하며 해당 tick에 모든 유동성을 집중시킨다면?

  • 좋은 시도지만, 지속적으로 가격을 추종하는 행위─chasing the price는 APR의 관점에서 좋은 전략이 아니다. 자세한 내용은 atise.medium을 참고.
  • 나아가 충분히 큰 거래가 나타날 때만, 거래 전에 해당 tick에 유동성을 제공하고, 거래가 종료되면 유동성을 제거하는 전략은 어떨까? JIT Rebalancing은 이러한 아이디어에서 착안되었다. 이 모든 것이 비영구적 손실을 최소화하고, 수익을 최대화하려는 LP의 노력이다.

2. JIT Rebalancing의 개념

  • JIT Rebalancing은 v3부터 등장한 전략이다. 가치가 높은(high MEV) 트랜잭션을 탐지하고, 트랜잭션이 기존 정해진 순서로 실행하도록 하기 위해 Flashbots Bundle을 활용한다. Searcher를 활용하여 p2p 네트워크를 우회하고, Block Builder에게 직접적으로 블록을 요청할 수 있다. 상세한 flow는 다음과 같다.
    1. mempool을 추적하여 거래 규모가 큰 swap 트랜잭션을 탐지한다.
    2. swap이 이루어질 pool의 해당 tick에 많은 양의 유동성을 제공한다.
    3. 그 상태에서 swap이 이루어지면, 해당 tick에 대해 유동성 제공 지분 비율이 높기 때문에, LP Fee의 상당 부분을 얻을 수 있다.
    4. 유동성을 제거하고, 즉시 수수료를 취득한다.
  • 손실이 발생하지 않도록 다음과 같은 경우를 염두에 두어야 한다.
    • 동일한 전략을 사용하는 경쟁자 또는 다른 MEV 봇과의 bid에서 패배한 경우
    • 기존 풀의 유동성을 압도하지 못하여 취득 수수료가 충분하지 않은 경우
      • e.g. 현재 틱에 유동성이 1M$ 존재할 때, 고래 거래자가 1M$ 교환을 수행하는데, 추가 유동성을 1M$만 공급하면 수수료의 50%만 받을 수 있다.
    • 자금을 확충하기 위해 이용한 다른 exchange의 수수료
    • Flashbots bundle의 Searcher 이용 수수료
      • 이러한 다양한 위험을 관리하기 위해 MEV가 높은 큰 규모의 트랜잭션에 반응하고, 다른 exchange를 통해 hedge를 취하기도 한다.
        • 🚧 이와 관련한 커뮤니티 질문과 답변을 정리한다.

3. v4에서의 전략 구현 장단점

장점

  • v3에서는 트랜잭션 전후로 유동성의 공급과 제거를 별도의 트랜잭션으로 관리하고, Flashbots bundle의 Searcher 이용 수수료가 고정적으로 지출되었다. v4에서는 이를 beforeSwap/afterSwap hook으로 대체하여, 가스비와 Searcher 이용 수수료를 절약할 수 있다.
    • v4 hook을 사용할 때, beforeSwap의 시점에는 Pool의 실제 상태(true state of the pool)에 직접적으로 접근할 수 있기 때문에, 기존 v3에서처럼 트랜잭션 순서를 보장받기 위해 다른 Searcher와 경쟁할 필요가 없어졌다.

단점

  • v3에서는 MEV Bundles를 통해 전략을 수행하기 때문에, LP는 본 전략에 대한 hedging transaction을 수용할 수 있는 alternative liquidity venues에 대한 탐색을 동시에 진행할 수 있었다. 그러나 v4 hook에서는 동기적으로 off-chain data를 가져올 수 없기 때문에, AMM swapper보다 낮은 cost basis에서 트랜잭션을 hedge할 수 있는 liquidity venue 선정이 전략 수행 전에 선행되어야 한다.

결과적으로 v4는 on-chain 상에서의 가스 효율이 높지만, off-chain venue 참조를 통한 risk hedging이 어렵다는 단점이 존재한다.

ref

0개의 댓글