유동성 풀이란?

유동성 풀이란 스마트 콘트랙트 내에 통결되어 있는 자금(디지털 자산)들을 말한다. 유동성 풀은 탈중앙화된 트레이딩, 대출 등 앞으로 다양한 기능을 지원하기 위해 사용된다.

유동성 풀 유니스왑과 같은 많은 탈중화 거래소(DEX)의 핵심이다. 유동성 제공자(LP)라 하는 이들은 풀에 동일한 가치를 갖는 두 가지 토큰을 추가하고 시장을 생성한다. 자신의 자금을 제공하는 대가로, 사용자는 자신의 풀에서 발생하는 거래 수수료를 전체 유동성 내 자신의 지분에 따라 분배받는다.

LP는 유동성 공급에 필요한 토큰을 보유한 자라면 누구나 될 수 있으며 AMM(자동화된 마켓 메이킹)을 통해 유동성 풀의 변화에 따라 토큰의 교환비율이 결정된다. 이더리움 상에서 유동성 풀을 사용하는 대표적인 거래소는 스시스왑, 커브 등이 있으며 이 거래소 내 유동성 풀은 ERC-20 토큰을 지원한다.


유동성 풀은 어디에 사용되는가?

유동성 풀에 유동성을 공급하는 것은 간단하며 누구나 참여할 수 있기 때문에 다양한 방법으로 활용할 수 있다. 우선 유동성 풀은 토큰이 알고리즘에 따라 유동성 풀에 제공하는 사용자에게 분배할 수 있다는 원리를 이용해 사용자가 풀에 자금을 추가하고 이자를 받을 수 있는 이자 창출 플랫폼으로 사용할 수 있다. 이를 유동성 마이닝(liquidity Mining) 또는 이자 농사(yield Farming)라고 말하기도 한다.

그리고 유동성 공급자에게 제한된 리스크수익을 선택할 수 있게 함으로써 스마트 컨트랙트의 리스크를 보완할 수 있는 기반을 제공한다. 또한, 블록체인 상에서 합성 자산을 만드는 것도 가능하게 할 수 있는 기반으로 활용할 수 있다.

암호화폐 프로젝트에서 적합한 사람들에게 새 토큰을 배포하는 것은 무척 어려운 문제이다. 유동성 마이닝은 보다 성공적인 접근 방법 중 하나 였다. 토큰은 기본적으로 알고리즘을 따라 자신의 토큰을 유동성 풀에 제공하는 사용자에게 분배된다. 이후 새롭게 생성된 토큰이 각 사용자의 풀 지분에 따라 분배된다.

이는 풀 토큰이라 하는 다른 유동성 풀의 토큰일 수도 있다는 점을 유의해야 한다. 예를 들어, 유니스왑에 유동성을 제공하거나, 컴파운드에 자검을 대출해주는 경우, 풀 내 지분을 나타내는 토큰을 받게 된다. 이를 다른 풀에 예치하고, 수익을 얻을 수도 있다. 여러 프로토콜이 다른 프로토콜의 풀 토큰을 자신의 상품 등에 통합하기 때문에 이러한 연결은 꽤나 복잡해질 수 있다.


유동성 풀은 어떻게 작동하는가?

먼저, 가장 유명한 유니스왑을 예로 들어보자.

유니스왑이란?

유니스왑은 이더리움과 ERC-20 토큰 간의 자동 교환 거래를 용이하게 하도록 설계된 탈중앙화 거래소(DEX)이다. 온-체인에서 탈중심화 지갑만 설치하면 유니스왑을 이용할 수 있다. 유니스왑에 대해 알아보기 전 먼저 탈중앙화 거래소에 대해 알아야 할 필요가 있다.

우리가 흔히 알고 있는 업비트, 빗썸, 코인원, 코인빗 등은 중앙화된 주체가 거래를 중개하는 거래소이다. 이런 중앙집권 거래소는 사용자의 디지털자산을 거래소가 수탁하고 사용자는 거래소가 제공하는 장부 위에서 거래를 하는 구조로 이루어져 있다. 하지만 중앙화된 주체가 거래의 신뢰를 보장하는 구조는 거래과정에서 제3자가 개입할 필요 없다는 무허가성(permissionless)이라는 블록체인의 특성에 반하는 것이기에 블록체인 커뮤니티에서는 중앙화되어 있지 않는 형태, 일명 탈중앙화 거래소를 만들기 위해 노력했다. 그 결과 2017년경 이더델타 등 탈중앙화 거래소(DEX, Decentralized Exchanage) 프로젝트가 탄생했다. 탈중앙화 거래소는 비영리 목적이기 때문에 수수료가 거의 없고 별도의 인증 절차 없이 토큰 간 거래를 할 수 있다.

초기 탈중앙화 거래소는 과도한 가스비를 초래하고, 확장의 한계성, 부족한 유동성 등의 문제가 있어 큰 관심을 받지 못했다. 유니스왑은 이러한 한계성을 보완하여 출시하였는데 특히 AMM(유동화된 마켓 메이커) 알고리즘 기반으로 유동성 풀(pool, 스마트 컨트랙트 내에 동결되어 있는 자금)을 제공하여 낮은 유동성이라는 한계점을 보완하였다.

유니스왑은 유동성을 공급하는 자들에게 별도의 보상을 지급하는 방식으로 유동성 공급 문제를 해결했다. 유니스왑은 유동성 마이닝이라는 시스템으로 성립되어 있어 토큰을 특정 풀에 맡기면 전용 거버넌스 토큰인 UNI를 보상으로 받을 수 있다. UNI는 일종의 거버넌스 토큰(Governance Token)으로서 가격이 결정되어 있으며 디지털자산 거래소에서 간편하게 교환할 수 있다. 또한, 유니스왑은 중앙관리자가 없어 디지털자산의 상장 이라는 개념이 존재하지 않는다. 이에 누구나 유니스왑에 ERC-20 토큰의 유동성을 공급하여 해당 토큰의 교환을 용이하게 만들 수 있다.

유니스왑에 투자하는 방법

1) 디지털자산 지갑을 먼저 생성합니다. 이후 메타마스크 등의 지갑에 유니스왑을 연결한다. 2) 유니스왑은 이더리움 기반 디지털자산에만 적용되기 때문에 이더(ETH)를 구매한다. 3) 지갑이 설정되면 https://uniswap.org 으로 이동하여 ‘Launch App’을 클릭한다. 인터페이스를 통해 유니스왑을 지갑에 연결할 수 있습니다. 4) 지갑에 있는 이더(ETH)를 원하는 ERC-20 토큰과 교환합니다. ERC-20을 교환하면 유동성 풀로 이더를 보내는 것과 동시에 교환한 ERC-20 토큰을 풀에서 인출하게 됩니다. 5) 토큰 교환 전에 슬리피지 수치를 주의해야 합니다. 슬리피지는 유동성 풀에서 사용 가능한 양 대비 토큰의 비율입니다. 풀 크기에 비해 대량 주문이 있는 거래는 높은 %의 슬리피지로 거래를 중단됩니다. 6) 모든 세부 정보를 확인한 후 스왑을 확인하면 지갑에 팝업이 표시되며 트랜잭션은 https://etherscan.io/ 에서 확인할 수 있습니다. 트랜잭션이 검증되어 블록체인에 기록되는 과정에서 일부 시간이 소요될 수 있습니다.

유니스왑 투자 리스크

유니스왑은 제3자의 개입 없이 지갑에서 직접 거래할 수 있고 새 토큰을 쉽고 빠르게 접근할 수 있다. 또한, 거래수수료가 0.3%으로 중앙집권 거래소(업비트, 빗썸, 코인원 등) 대비 저렴하다. 하지만 유니스왑에도 다양한 리스크가 존재한다.

첫 번째는, 유니스왑에서 해킹이 발생할 확률이 제로(0)가 아니라는 것이다. 해킹 리스크가 빈번하게 일어나는 것은 아니지만, 스마트 컨트랙트가 문제를 일으키면 해킹당할 위험이 높아진다. 실제로 2022년 4월 유니스왑 대출 플랫폼 Lendf.ME에서 해킹으로 2500만 달러 이상의 디지털자산이 도난당한 사건이 발생했다. 스마트 컨트랙트는 완전하지 않으므로 설계의 취약점이 발견될 경우 의도치 않는 공격을 받을 수 있다. 이로 인해 디지털자산이 탈취당하는 경우에는 별도의 보호를 받을 수 없게 된다.

또한, 거버넌스 토큰 UNI의의 가격 변동성 리스크도 존재한다. 유동성이 큰 UNI는 일반 통화보다 토큰 페어 가격 변동 위험이 높다. 따라서 토큰 페어(pair)의 가격 변동이 높을 경우 소위 비영구적인 손실이 발생할 수도 있따. 또한 표시된 APY(연간 이자율)는 매번 변경되므로 일정 이자율을 유지한다는 보장 또한 없다.

유니스왑 작동원리

이더리움ERC-20 토큰 간의 자동 교환 거래를 용이하게 하도록 설계된 탈중화 거래소(DEX)인 유니스왑에서는 디지털자산 간의 교환(swap) 기능을 구현하기 위하여 중앙화권 거래소가 사용하는 오더북 방식이 아닌 AMM 방식을 선택했다.

AMM(Automated Market Making)이란 자동화된 마켓 메이킹으로, 개인들이 토큰을 교환할 때 수학공식에 의해 자산의 가격이 자동으로 결정되도록 하는 알고리즘입니다. 중앙화된 거래소에서는 매수희망자와 매도희망자가 존재하여 각자 제출한 호가가 일치하였을 때 거래가 성립되고, 거래소는 해당 거래를 중개하는 역할을 수행합니다. 반면, AMM 방식의 DEX에서는 이용자들이 유동성 풀(Liquidity Pool)이라는 것을 공급하고, 디지털자산의 교환을 원하는 자는 해당 풀에서 가상자산을 교환하는 방식으로 교환이 이루어집니다. 거래의 상대방이 명확히 존재하지 않으며 이때 교환비율이나 디지털자산의 가치는 수학적인 알고리즘에 의하여 형성됩니다.

유니스왑은 AMM의 한 종류인 CPMM(Constant Product Market Maker)을 사용한다.

K = X*Y

K= 상수

X= 거래계약 안에 있는 토큰 X의 수량

Y= 거래계약 안에 있는 토큰 Y의 수량

이 함수는 변수 X와 Y의 곱에 있어서 상수 K 값이 유지되어야 한다. 이는 전체 유동성이 일정하다는 의미로 해석할 수 있따. X와 Y 값은 각각 유동성 풀에 존재하는 토큰 가치의 비중을 나타내며 두 비중의 곱에 의해 풀의 유동성이 결정되고 이를 K 값으로 나타낸다.

예시로 유니스왑의 거래를 설명해보자면,

유동성 풀에 다음과 같이 토큰이 존재한다고 가정하자.

  1. 이더리움(X) 10개
  2. ERC-20(Y) 토큰 200개
  3. 이 둘의 곱은 2000(K)
  4. 1 ETH = 18.18 ERC-20

이에 모든 교환에 있어 두 디지털자산의 곱은 2000을 유지해야 한다. 이러한 상황에서 ERC-20 토큰을 구매하기 위해 1 ETH를 보내면 컨트랙트의 이더리움 수량이 10개에서 1개가 더 추가되어 11개로 변한다. K는 2000으로 일정해야 하므로 181.82(2000/11)로 변한다. 다시 말해 1 ETH를 주고받는 ERC-20 토큰의 양은 18.18(200-181.82)인 것이다.

  1. 이더리움(X) 10개 + 1개 = 11개
  2. ERC-20(Y) 토큰 2000/11 = 181.82개
  3. 이 둘의 곱은 2000(K)
  4. 1 ETH = 33.33 ERC-20

이다음 상황에서 누군가 1 ETH를 넣는다면 컨트랙트 상의 이더리움은 12개가 된다. ERC-20 토큰의 양은 166.67(2000/12)개가 된다. 즉 하나의 ETH를 더 넣으면 1 ETH를 주고받는 ERC-20 토큰의 양은 33.33(200-166.67)이다. 이는 ERC-20 토큰의 구매 가격(가치)이 높아진 것으로 볼 수 있다.

이때 ERC-20을 비싸게 팔고 이더리움을 저렴하게 매수하려는 차익거래자가 발생됩니다. 이러한 차익거래자 때문에 이더리움/ERC-20 비율이 효율적인 선까지 맞춰집니다. 즉, 유니스왑은 CPMM(X*Y=K)을 통해 ETH와 ERC-20 토큰의 비율을 중앙집권 거래소 가격과 수렴할 수 있게 한 것입니다.


유동성 풀을 작동원리를 정리하자면

풀 안에 A, B 두 코인이 있고 공급자는 반드시 A코인 50%와 B코인 50%를 예치해야 한다. 이 예치금은 거래소가 사용한다. 본질적으로 유동성 공급자는 거래 수수료를 얻고자 암호화폐 토큰을 탈중화 거래소(DEX)에 예치하는 트레이더다. 이것은 유동성 채굴 혹은 시장 조성이라고 불리기도 한다.

거래 수수료는 보통 이자율로 표시된다. 이자율은 얼마나 유동성이 공급되는지 그리고 얼마나 많은 거래가 유동성 풀 안에서 발생하는지에 따라 천차만별이다.


참조