본문 바로가기

:D/block chain

UNISWAP 1 : 유니스왑이란?

 

UNISWAP

 

탈중앙화거래소(DEX : Decentralized Exchange)
코인을 거래할 때 중앙화거래소를 통하지 않고 탈 중앙화된 방식으로 스마트 컨트랙트를 이용하여 거래소를 만든 플랫폼

 

2018년 Devcon 4 에서 발표 후 Hayden Adams이 트위터로 런칭사실을 알림

기존에 유니스왑 말고도 IDEX 또는 DDEX 라는 여러 탈중앙화 거래소들이 존재했음
그런데 유니스왑이 이렇게 유명해진 이유?
탈 중앙화 플랫폼인 블록체인의 특징을 잘 이해하고 있는 플랫폼이기 때문

흔히 거래소라고 하면 주식, 증권, 코인 거래소 다들 비슷하게 생겼음 차트가 있고 호가창이 있음(*오더북)

*오더북 : 거래자의 모든 매도 및 매수 주문을 기록한 목록을 의미. 쉽게 말해, 주식이나 암호화폐를 거래할 때 흔히 볼 수 있는 호가창


그래서 그 호가창에 1. 사람들이 호가를 올림 매도 가격과 매수 가격을 올리면

2. 그 매도, 매수 가격을 보고 그것을 사거나 팔고 싶은 사람이 매수 요청, 매도 요청을 함

그러면 3. 거래가 성립이 되고 자산이 오가는데 문제는 중앙화 거래소에서는 그게 빨리빨리 이루어지지만

탈중앙화 거래소는 이더리움의 블록 인터벌이 15초이기 때문에 내가 트랜잭션(거래 요청)을 보냈을 때
아무리 빨라도 15초 뒤에 승인이 가능함

그리고 모든 ACTION을 할 때마다 (호가를 올리거나 올린 호가를 내가 사거나 팔거나 아니면 거래를 취소하거나 할 때) 그 모든 거래를 할 때 다 수수료가 발생함 (중앙화 거래소에서는 거래가 성사돼야 수수료가 발생)
하지만 탈중앙화 거래소에서는 모든 동작이 트랜잭션으로 이루어지기 때문에 트랜잭션수수료가 있음 (단점)


그래서 탈 중앙화 거래소를 중앙화 거래소와 비슷하게 호가창이 있는 거래소로 만들게 되면

굉장히 느리고 비싸고 비 효율적인 거래소가 됨
좋아하는 사람도 있음 기존에 코인 시세와 탈중앙화거래소의 코인 시세가 다른 경우가 굉장히 많아서 (딜레이 때문에) 그걸 이용해 차익 거래를 하는 사람들은 좋아함
근데 차익거래로는 쓸만 하더라도 일반 사람들 입장에서는 '코인 가격이 이정도네?' 라고 거래를 하려고 트랜잭션을 보냈는데 가격이 갑자기 바뀐다거나 아니면 내가 거래를 올렸는데 거래를 취소하고 싶을 때 취소하는 것도 비용이 들거나 하는 점 때문에 사람들이 많이 불편해 했음

근데 유니스왑은 이러한 문제를 새로운 방식으로 해결함
AMM (Automatic Market Maker) : 자동화 마켓 메이커 라는 것을 도입
원래의 중앙화 거래소를 생각해 보면

사람들이 자기가 원하는 가격(팔고 싶은 가격, 사고싶은 가격) 을 정해서 호가를 올림
그렇게 해서 유동성(liquidity)을 공급하는데

 

AMM은 그 유동성 공급을 사람들이 하게 만들지 않고 어떤 공식을 따르게 만드는 것. 그래서 토큰 A 와 토큰 B 의 교환비율이 자동적으로 정해지게 만들어 사람들이 호가를 올리지 않더라도 가격이 정해지도록 함.
교환비율이 정해지게 만드는 것.

 


유니스왑은 AMM 중에서도 CPMM 이라고 하는 것을 사용

 : CPMM (Constant Product Market Maker)
  어떠한 곱(Product)이 항상 동일하게 유지되는(Constant) 모델

x * y = k

- k는 변하지 않는 상수
- xy는 특정 거래쌍에서 사용 가능한 ETH 및 ERC-20 토큰의 수량

우리가 토큰 A와 토큰 B를 교환한다고 했을 때

X는 토큰 A의 수량, Y는 토큰 B의 수량
그 수량의 곱이 일정한 K가 되도록(상수(constant)) 하는 게 CPMM
X 곱하기 Y가 어떤 상수니까 X와 Y는 서로 반비례
반비례 그래프를 따라서 수량이 조절되는게 CPMM

 

 



예시)

유니스왑에 이더리움(ETH)이 10개 있었고 오미세고(OMG)가 500개 있었음
그래서 두 코인의 수량의 곱이 5,000이 되도록 맞춰지는 유니스왑 컨트랙트가 있음
그렇다면 ETH와 OMG의 수량(의 곱)이 항상 일정하게 됨
이런 상황에서 어떤 사람이 이 유니스왑 컨트랩트에서 1ETH와 특정한 수량의 OMG를 교환하려고 함
그러면 이 사람이 1ETH를 이 컨트랙트에 보냄
그럼 그림처럼 ETH는 11이 되고 OMG는 5000/11=454.5가 됨 (5000을 유지해야하니까)
그럼 이 사람이 1ETH를 주고받는 OMG의 양이 얼마냐하면 500 - 454.5 = 45.5개의 OMG 코인을 받는 것
즉 1:45.5의 교환비율이 성립함
이런 상황에서 만약 다른 사람이 (혹은 이 사람이) 또 1ETH를 넣어서 OMG를 받고 싶은 경우

 


ETH의 수량이 12개가 됨 OMG의 수량은 마찬가지로 5000/12를 하니까 416.7개가 됨
이 사람이 받게되는 OMG는 454.5 - 416.7 이니까 대략 38개(37.8) 정도의 OMG를 받게됨
교환비율이 달라짐 -> OMG가 더 비싸짐

 

그러면 OMG를 팔고 ETH를 가지고 오고 싶은 사람들(arbitrager 혹은 차익거래하는 사람들)이 생김
둘의 비율이 달라졌으니까 둘을 유니스왑으로 가서 교환하면 그 차액을 얻을 수 있음
OMG를 팔고 받은 ETH를 다른데서 가서 팔면 이득! 왜냐면 OMG를 갖고있는 사람은 상대적으로 ETH를 싸게 샀으니까!
그래서 그런 식으로 사람들이 들어와서 OMG를 공급하기 때문에 결국 이 교환비는 맞춰지게 되는 것

 

어디까지 ? 시장에서 거래되는 ETH와 OMG의 비율까지 맞춰지게 됨. (오차범위가 있지만 수수료 범위 정도 밖에 안됨)
왜냐면 차이가 좀 나버리면 사람들이 와가지고 차익거래를 하기 때문에.

 

이런 원리로 특정한 두 코인의 교환비율을 정하는 것

 

그리고 결국에 그 교환 비율은 시중에서 거래되는 두 자산의 교환 비율과 같아지게 됨.

이런식으로 호가가 없이도 유동성을 공급할 수 있게 만든게 AMM, 유니스왑이 쓰는 것은 CPMM 이라고 하는 방법

 

 

유니스왑 2편 컨트랙트 자세히 알아보기

 

 

 

AMM에 대해서 더 자세히 알아보고 싶다면?
https://blog.chain.link/challenges-in-defi-how-to-bring-more-capital-and-less-risk-to-automated-market-maker-dexs-korean/

 

AMM DEX에 리스크는 줄이고 더 많은 자금을 유입하는 방법

DeFi 혁신 사례 중 가장 영향력 있는 기술 중 하나는 자율적으로 기능하는 마켓 메이커(Automated Market Maker, AMM) 방식의 탈중앙화 거래소(DEX) 입니다. AMM 덕분에 온체인에서 다양한 토큰에 대한 유동

blog.chain.link