🦄 Uni V4 런칭, Gas fee, 그리고 Hook
Uniswap이 V4를 여러 체인에 동시에 배포하였다. 이번 업데이트의 핵심은 두 가지로 요약된다.
- Hooks
- Reduced Gas fee
그 외에
- Singleton Design 및 WETH 대신 Native ETH 사용
- Flash/Custom accounting
등의 업데이트가 추가되었으나, 본질적으로는 가스비 절감을 위한 개선이다.
각각에 대한 생각을 좀 적어보면,
1. Gas fee 개선 효과의 한계
- 과거 V2 → V3 혁신과의 비교
V2에서 V3로 전환할 때 CL(Concentrated Liquidity) 도입과 liquidity shaping을 통해 유동성을 보다 효율적으로 사용할 수 있게 한 혁신이었다. 그러나 V4의 개선은 다음과 같은 이유로 사용자 체감 측면에서 다소 애매하다.
- 실제 체감 비용 감소가 미미함
- ETH L1을 제외한 대부분의 체인에서는 가스비가 이미 0에 수렴한다. 예를 들어, $0.002가 $0.001로 줄어들더라도 체감되는 변화는 크지 않다.
- 개발자 입장에서의 통합 난이도 증가
- Singleton Design과 Native ETH 사용은 제3자 통합 개발자에게 부담을 준다. ERC20과 native ETH는 get Balance 부터 전송까지 전부 다른 방식으로 취급해야 하므로 로직이 복잡해지며, reentrancy와 같은 보안 취약점을 고려해야 한다. 물론 uniswap이니 어떻게든 다 통합해야 할거라 이건 큰 문제는 아닐듯
- 체인별 가스 산정 로직의 차이
- 모든 EVM 체인이 동일한 가스 산정 방식을 사용하지 않는다. 예를 들어, OP 계열 L2는 연산 비용 보다는 calldata 길이에 따른 비용이 중요하며, Linea와 같은 zk 계열 L2는 ETH L1처럼 op code 연산비에 기반한다. zkSyncEra는 최종 state 변화가 가스비에 중요하다.
- 이러한 차이로 인해 ETH L1에서의 가스비 절감 로직이 다른 체인에서는 오히려 비용을 증가시킬 가능성도 있기에 모든 체인에서 효율적이지는 않다.
- V4에서는 uniswapX처럼 aggregator를 이용한 routing을 장려하는데 이들에게는 이 변화가 크게 gas를 줄이는 변화는 아니다.
---
2. Hooked pool은 완전 별개의 프로토콜이다.
“V4에서도 99.99%의 유동성은 hook이 없는 native 풀에 몰려있을 것”
- 풀의 Fungibility 및 신뢰성 저하
- Hook이 적용된 풀은 fee 구조와 보안 수준이 완전히 해당 hook에 달려있다.
- 따라서 이러한 풀은 기본 라우팅에 포함되지 않으며, 이름만 uniswap을 사용할 뿐 하나가 아니다.
- 별도의 프로토콜로서 분리
- Flaunch와 같이 hook을 이용한 프로토콜에서 볼 수 있듯이 훅 풀은 특정 용도에 특화된 별도의 프로토콜로 운영될 가능성이 크다.
- Aggregator들에게 변동 fee나 여러 트리거 같은 customization은 일반적인 경로 탐색 알고리즘의 적용을 불가능하게 한다.
- 결과적으로 대부분의 서쳐들은 이러한 풀들을 통합하는 것을 포기할 가능성이 높다.
- 가능하더라도 각 체인/훅별로 유동성이 전부 분산되며 연결할 가치가 있을 만큼 큰 TVL을 가진 풀은 더 적어질 것
- 파생상품
- Hook을 통해 옵션 결합이나 헤징 전략 등 다양한 파생 프로덕트를 만들 수 있으나, 어차피 별개의 철저한 오딧과 인터페이스를 사용해야 한다.
- 기존에도 불가능했던 것은 아님. 다만 사용자 입장에서는 “uniswap을 사용한다”라는 인식으로 인해 더 친근하게 느낄 순 있을 것 같다.
✍️ 그럼에도 유니스왑은 유니스왑이다
당장 사용자들이 체감할 극적 변화는 없을 수 있지만, 전세계 개발자들이 달려들어 발전시켜주는 유니스왑이기에 금방 극복될 수도.
Hook를 사용한 러그발생>공포>검증 툴 발전> 안정화 과정을 거치며 발전해 나가지 않을까?
그때까지 당분간은 여전히 가장 많이 사용되는 풀은 기존의 V3일 것 같다.