DEFI/DEX(탈중앙화 거래소) / / 2023. 5. 18. 14:59

유니스왑(UNI SWAP)에 대해 쉽게 알아봅시다.(AMM DEX 알고리즘)

반응형

 이더리움 계열의 탈중앙화 거래소(DEX)인 유니스왑(uni swap)에 대해 자세히 알아보는 시간을 가져보려 합니다. 사용방법 뿐만 아니라 유니스왑이 어떤 방식을 통해 토큰이 거래되는지 이해하면 더욱 도움이 될 것이라 생각됩니다. 

 

 

1. DEX의 종류 및 한계

 현재 시중에서 인기 있는 탈중앙화 거래소(DEX)로는 유니스왑, 카이버 네트워크, 커브 파이낸스, 디와이디엑스, 스시스왑 등이 있습니다.

 

📌 탈중앙화거래소 : DEX, Decentralized exchage

📌 중앙화거래소 : CEX, centralized exchange

 

✅ DEX의 종류(2개)

📌 오더북(호가창) 기반

 디와이엑스 및 DeversiFi 같은 오더북 기반 DEX는 CEX와 유사하게 사용자 지정가 또는 시장가로 매수/매도 주문이 가능합니다. 또한 DEX의 경우는 CEX(자산이 거래소 지갑, 수탁 지갑에 보관)와 달리 자산이 사용자 개인 지갑에 보관된다는 점에서 차이가 납니다. 

 

📌 유동성 풀 기반

 유니스왑 및 밸런서와 같은 유동성 풀 기반 DEX는 용자가 자산 풀에 유동성을 제공하여 시장 조성자 역할을 하도록 합니다. 사용자는 자산을 예치함으로 유동성 공급자(LP, liquidity provider)가 되어 본인이 공급한 자산 풀에서 발생한 암호화폐 교환 트랜잭션에 대해 수수료를 얻게 됩니다. 그러나 주로 자동화된 시장 조성자 메커니즘을 사용하는 여러 DEX 역시 사용자가 유동성 풀에 자산을 공급하면서 얻게 되는 임시적인 손해인 비영구적 손실은 피할 수 없습니다. 

 

✅ DEX의 한계

1. 낮은 유동성

 여전히 암호화폐 거래의 대부분이 아직 중앙집중화 거래소(CEX)에서 이루어집니다. 아무래도 CEX가 DEC보다 휠씬 매수/매도 주문 소화 능력이 견고하기 때문입니다. 또한 유동성이 저조할 경우 DEX의 거래는 CEX보다 주문자가 매도/매수를 주문한 가격과 실제로 체결된 가격이 차이가 많이 발생하거나 가격 집행을 제대로 하기 어려울 때가 있을 수 있습니다. 하지만 근래에 DEX의 인기가 높아지면서 유동성이 늘어나 DEX에서 거래할 때에도 CEX에 견줄 만한 결과가 나오기도 합니다.

 

2. 기능적 한계

 CEX보다는 DEX는 아직 다양한 고급 거래 기능을 활용할 수 없습니다. 일부 DEX에서는 지정가 주문을 도입하면서 더 나은 거래가 가능하도록 하고 있습니다. 여러 DEX가 점점 고급 거래 기능을 도입하면서 CEX와 대등한 거래 결과를 이루기 위해 노력 중입니다.

 

3. 블록체인 호환성

 현재 대부분 DEX에서는 동일한 블록체인 내 암호토큰끼리만 스왑이 가능합니다. 예로 이더리움 기반의 DEX에서는 이더리움과 ERC-20 토큰만 교환이 가능합니다. 이 때문에 폴카닷이나 코스모스에서 발행된 토큰은 교환 대상이 되질 않습니다. 이에 반해 CEX에서는 다양한 종류의 블록체인 기반 토큰들이 교환이 가능합니다. 현재 DEX들이 크로스체인(서로 다른 블록체인 사이에서 안전하게 정보를 주고받을 수 있는 기술)을 위해 노력중이므로 훗날 DEX에서도 충분히 블록체인을 넘나드는 거래가 이루어질 것이라 생각됩니다.

 

4. 비용

 Defi(디파이)가 유행을 타자 이더리움 네트워크의 혼잡도가 심해졌고 가스비도 대폭 상승했습니다. DEX에서의 거래 비용은 특히 성수기에 부담스러울 수 있습니다.

 

 여러 한계점을 알아봤지만 현재 걸음마 단계에 있는 DEX에 대한 수요는 점차 증가하고 있고 더 나은 서비스를 위해 노력하고 있으니 기대를 해봐도 좋을 것이라 생각됩니다.

 

2. 유니스왑의 이해

✅ 유니스왑이란?

 

 이더리움에 구축된 탈중앙화 거래소로 중앙 거래소의 개입 없이 직접 토큰을 교환할 수 있습니다. 

 

📌 중앙집중화 거래소 사용

1) 거래소에 토큰을 예치 후

2) 오더북에 주문을 걸고

3) 교환이 완료된 토큰을 인출 가능

 

 유니스왑에서는 위의 3단계를 거치지 않고 바로 지갑에서 토큰을 교환할 수 있습니다. 본인이 가지고 있는 지갑에서 유니스왑의 스마트 컨트랙트 주소로 토큰을 보내기만 하면 그 지갑으로 교환하고자 하는 토큰을 받을 수 있습니다. (오더북 필요 없음) 

 토큰 환율도 알고리즘으로 결정되며 유동성 풀과 자동화된 시장 조성자 메커니즘(AMM, automated market maker)이 이것을 가능하게 합니다. 

 

✅ 유동성 풀

 유동성 풀은 유니스왑의 스마트 컨트랙트에 존재하는 토큰 보유고입니다. 사용자는 이 유동성 풀 덕에 토큰을 교환할 수 있습니다. 100이더와 20,000다이가 있는 유동성 보유고에서 이더-다이 거래 쌍을 사용한다면 다이를 가지고 이더를 매수하려는 사용자는 유니스왑 스마트 컨트랙트에 202.02 다이를 송금하고 1이더를 받을 수 있습니다. 스왑이 이루어지면 유동성 풀에는 이제 99이더와 20,202.02다이가 남을 것입니다.

📌 유동성 풀 보유(거래 전)

1. 100 이더

2. 20,000 다이

 

📌 거래 

👉 202.02 다이를 유동성 풀에 제공하고 1이더를 받음

 

📌 유동성 풀 보유(거래 후)

1. 99 이더

2. 20,202.02 다이

 유니스왑은 거래 금액의 0.3%에 해당하는 거래 수수료를 유동성 공급 규모에 비례하여 공급자들에게 나누어 지급하는 방법으로 보유고를 유지합니다. 수수료는 유니스왑에서 발생하는 모든 토큰 교환에 대해 부과합니다.

 

 자동화된 시장 조성자(AMM, automated market maker) 메커니즘

 풀에 예치된 각 자산의 가격은 자동화된 시장 조성자의 알고리즘에 의해 결정됩니다. 

AMM 은 X x Y = k 공식에 따라 거래하는 토큰 쌍(X, Y) 의 유동성 규모가 늘 상수(k)로 유지되도록 운영됩니다. 이러한 방식을 상수 곱 시장 조성자(CPMM, constant product market maker)라고 합니다. 

 

 위에서 본 100이더와 20,000다이 이더-다이 쌍의 유동성 풀 예제로 돌아가보겠습니다. 상수 k를 일정하게 유지하기 위해 유니스왑은 두 가지 유동성 금액을 곱합니다. 

 

📌 이더 유동성(X) x 다이 유동성( Y) = 상수(k)

📌 100                   x   20,000             = 2,000,000

 

 AMM에서 상수 k는 늘 2,000,000으로 유지되어야 합니다. 누군가 다이를 사용하여 이더를 매수하면 이더는 유동성 풀이 감소하고 다이는 유동성 풀이 증가합니다. 이더의 가격은 점근적으로 결정됩니다. 즉, 매수 주문이 많을수록 청구되는 프리미엄도 늘어납니다. 프리미엄이란 1이더를 매수하기 위해 기존 200다이보다 추가로 필요해지는 다이의 양을 말합니다.

 

 다음 표를 보면 이더 매수가 일어날 때 가격이 점근적으로 결정되는 모습과 유동성의 변화를 알 수 있습니다. 이더의 매수량이 증가할수록 프리미엄이 커집니다. 이 덕에 유동성 풀은 고갈되지 않습니다. 

 

매수한 이더 1이더 비용
(단위 : 다이)
총 비용
(단위 : 다이)
프리미엄 변경된 
다이 유동성
변경된
이더 유동성
상수 k
1 202.02 202.02 1.01% 20,202.02 99 2,000,000
5 210.52 1,052.63 5.26% 21052.63 95 2,000,000
10 222.22 2,222.22 11.11% 22,222.22 90 2,000,000
50 400 20,000 200% 40,000 50 2,000,000
75 800 60,000 400% 80,000 25 2,000,000
99 20,000 1980,000 10,000% 2,000,000 1 2,000,000
100 무한대 무한대 무한대 무한대 0 2,000,000

 

[DEX의 CPMM 알고리즘]

 

2023.05.17 - [DEFI/DEX(탈중앙화 거래소)] - 유니스왑(UNI SWAP)의 연결방법(메타마스크), 유니스왑이란?

 

유니스왑(UNI SWAP)의 연결방법(메타마스크), 유니스왑이란?

KSTADIUM의 KSTA 코인(이더리움 계열)이 다음주에 유니스왑에 상장될 예정입니다. (5월 22일 예정) 따라서 미리 메타마스크와 유니스왑을 사용하는 방법을 알아보려고 합니다. 1. 유니스왑이란 유니

1.honeytiptong.com

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유