Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
CLOSE
Search For:
Search
BY TAGS
linux
HTTP
golang
flutter
java
fintech
개발환경
kubernetes
network
Docker
devops
database
tutorial
cli
분산시스템
www
블록체인
AWS
system admin
bigdata
보안
금융
msa
mysql
redis
Linux command
dns
javascript
CICD
VPC
FILESYSTEM
S3
NGINX
TCP/IP
ZOOKEEPER
NOSQL
IAC
CLOUD
TERRAFORM
logging
IT용어
Kafka
docker-compose
Dart
DEX History
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
Craig
2023-01-11
2022-12-28
1544
아래 글은 DEX 서비스에 대한 이해를 높이기 위해 작성했다. 탈중앙화 거래소가 어떤 것이고 현재 나와있는 서비스는 무엇인지. 중앙화 거래소(CEX) 기능과 어떤 차이점이 있는지 살펴보면서 읽어보면 도움될거라 생각한다. # DeFi : 분산형 금융 애플리케이션 Defi : Decentralized Financial service Application - DeFi는 비트코인으로부터 시작된다. 비트코인이 생겨남으로써, 디지털 자산을 개인의 권한으로 소유하고 제어할 수 있게 되었다. - 비트코인은 **자금 사용에 대한 권한, 조회, 범위 및 시간 투명성**의 특징을 갖고 있으며, 이더리움이 개발됨으로써 **개인 간에 거래를 어떠한 중개인도 없이 신뢰할 수 있는 원장 기록이 가능**하게 되었다. - DeFi 서비스 종류로는 아래와 같다. - 탈중앙화 거래소(DEX) : 투자자가 중개자 없이 디지털자산을 스마트 컨트랙트에서 거래할 수 있는 곳 - 대출 플랫폼(Lending) : 사용자가 보유한 디지털자산을 예치하고 대출 해주는 플랫폼 - 브릿지(Bridge) : 서로 다른 체인 간에 자산을 이동할 수 있게 도와주는 스마트 컨트랙트 - 부채담보 포지션(CDP, Collateralized Debt Position) : 디지털자산을 담보로 하여 스테이블코인을 만들고 유지하고 관리 # DEX(Decentralized Exchange) : 탈중앙화 거래소 - DeFi 서비스 중 DEX가 존재하는 것이다. - 탈중앙화 거래소는 중앙화 거래소(CEX)를 통해 이해하기 쉽다. - 현재 우리가 사용하고 있는 UPbit, Coinone, korbit 등은 모두 중앙화 거래소이다. - **중앙화 거래소(CEX)는 토큰 거래 시 거래소에 수수료를 납부하고, 주식과 동일하게 실시간 가격표( 오더북이라고 한다 ) 기준으로 거래가 이뤄진다.** (해당 내용이 DEX와 CEX의 가장 큰 차이점이다.) - 반면, 탈중앙화 거래소(DEX)는 오더북이 존재하지 않는다. 또한, 중앙 거래소처럼 모든 수수료에 대한 금액을 갖고가지 않는다.. # Uniswap ![Untitled](https://docs.google.com/drawings/d/e/2PACX-1vSWo7C3hiJT0X0vTWvfmm_c4flx6oSw4ghkPvbBNDjkiMzkiusIi-rtqKvTAIM1UX-10CYYjzd181m9/pub?w=480&h=360) Hayden Adams에 의해서 2018년에 개발되었으며, 탈중앙화된 토큰 환전 프로그램이라고 볼 수 있다. 이더리움을 활용해 탈중앙화된 방식으로 토큰을 교환할 수 있는 프로그램이다. 현실에서는 은행을 통해 화폐를 환전 및 교환 할 수 있었지만, Uniswap은 개인 간에 거래를 통하여 신뢰성있는 토큰 교환이 가능하다. ### Uniswap 특징 및 구성요소 유니스왑은 3가지 특징을 갖고 있다. 1. ETH를 자유롭게 교환 가능하다. 2. 중앙거래소가 존재하지 않는다. 3. 오더북이 없다. 혹자는 “Uniswap” 자체가 제 3자가 아니냐라고 할 수 있으나, 유니스왑은 플랫폼 기능으로써만 존재할 뿐 현실에서 **은행과 같은 기능이라고 볼 수 없다.** Uniswap은 오더북 없이 ETH 기반인 ERC-20 토큰을 간편하게 교환할 수 있으며, 3가지 구성요소(유동성 공급자, 유동성 Pool, 트레이더)로 연결되어 있다. ![Untitled](https://docs.google.com/drawings/d/e/2PACX-1vRAhBDgznU15pIW5GXkn622g84fgTI7cyqabAj6BznDm2H5uOvf39XDpmcNBSvELAukCSqlE4X0_2CY/pub?w=921&h=640) ![Untitled](https://docs.google.com/drawings/d/e/2PACX-1vSSYB_LZUlDdAZyom-7SosxanHjVLydZyjNWl5gbGPGOT47oJ4ciIfvSr6FBLB6YO_K5RPZzaR8wRUQ/pub?w=929&h=259) - Liquidity Providier(유동성 공급자) : LP는 유동성 풀에 자금을 지원함으로써, Trader의 거래 수수료와 유동성 share를 분배 받을 수 있게 된다. - Trader : 유니스왑 풀에서 토큰을 교환한다. 트레이더는 Pool내에서 유동적인 토큰 가치 비율을 활용해 시세 차익을 얻으려고 하며, 이로인해 거래 수수료가 발생한다. 해당 거래 수수료는 유동성 공급자들에게 분배된다. - Liquidity Pool(유동성 풀) : 유동성 공급자가 토큰 또는 자산을 공급함으로써 생기는 하나의 저장소 개념이다. **`Question ) 유동성풀은 어떻게 만들어지고 유동성 공급자는 왜 필요할까?`** → 유동성풀은 위에 도식화된 그림처럼 유동성 공급자에 의해서 형성된다. 많은 유동성 공급자의 유입으로 유동성 풀에 토큰 또는 코인이 예치되고, Trader가 유동성 풀에 예치되어 있는 코인을 교환하면서 거래한다. 그럼 유동성 풀이 많을 수록 좋은 것일까? 그렇다. 좋다. 왜냐하면 차후 설명하겠지만, 유동성 풀에 코인이 적어지면 하나의 트랜잭션으로 유동성 풀 내에서 슬리피지(Slippage : 주문할 때, 주문자가 거래한 가격. 코인 시장에서의 적정가격. 사이의 차이를 말한다.)가 발생할 확률이 크다. 반면, 유동성 풀이 커지면 커질 수록 시장가격과 트레이더가 거래하는 금액 차이가 크지 않기에 많은 유동성 풀을 갖고 있는게 중요하다. ### 유니스왑(UNI) 토큰 - UNI 토큰은 유니스왑 거래소의 기본 토큰이다. 토큰을 갖고 있으면 유니스왑 플랫폼 변경에 대한 투표권을 행사할 수 있다. 예를 들어, 유니토큰을 거래소에 상장하는 경우 ‘OOO 거래소에 유니토큰 상장’이라고 안건이 올라오면 유니토큰을 갖고 있는 사람 기준으로 투표권을 사용할 수 있다. ### AMM, CPMM 자동화된 마켓 메이커(AMM, Automated Marker Maker) / 프로덕트 마켓 메이커(CPMM, Constant Product Market Maker)는 무엇일까? AMM이란 개인들이 토큰을 교환할 때 수학공식에 의해 자산의 가격이 자동으로 결정되도록 하는 알고리즘이다. 그렇다면 CPMM(x * y = k)이란? AMM을 기반으로한 알고리즘으로써 각 토큰의 수량(유동성)에 따라 두 토큰의 가격대를 형성하는 것입니다. # Sushiswap ![Untitled](https://docs.google.com/drawings/d/e/2PACX-1vTqOTE6A4mTg___gPYcnH6NUdo82YMmshTiUz91thyzG5QmFakeVGvxvCi0Ru24-FxV2c9sHQXLncYf/pub?w=927&h=209) Uniswap을 포크한 것이다. DEX 기능은 동일하나 초기 몇가지 차이점이 존재한다. SUSHI 토큰을 발행함으로써 유동성 공급자들에게 Benefit을 제공했으며, 토큰을 갖고있는 유동성 공급자에게 거버넌스 권한을 부여했다.(SUSHI 토큰이 나오기 전까지 Uniswap에서는 해당 스왑 생태계 내에서 사용 할 수 있는 토큰(ex. UNI Token)이 존재하지 않았다) 이러한 토큰 보상으로 스시스왑은 유니스왑 유동성 풀을 유입했고 초기 막대한 유동성 풀을 만들 수 있었다. (유니스왑 풀 유입에 관한 자세한 내용은 아래 Vampire Attack 참고) # Pancakeswap ![Untitled](https://docs.google.com/drawings/d/e/2PACX-1vTn3VfkSDrpPdnRzDzWdChIbrQJX0g_5J0aVdYjvXfKRcdI1yZPx_Ah9jYR41D1gv52pCSt6p2t4qRG/pub?w=926&h=154) 기존 DEX 거래소(유니스왑, 스시스왑)와 달리 팬케이크 스왑은 **`ERC-20이 아닌 BEP-20 토큰 기반으로 스왑이 발생한다.`** 주요 특징으로는 - PancakeSwap 역시 Uniswap, Sushiswap처럼 유동성 풀에서 오더북 없이 거래가 될 수 있도록 AMM(자동화된 시장 메이커) 모델을 사용한다. - PancakeSwap은 BSC(Biance Smart Chain). 바이낸스 스마트 체인 기반으로 동작한다. BSC는 이더리움 가상 머신(EVM)과 호환 가능하다. ### BSC : 바이낸스 스마트 체인 이더리움과 비교했을 때 가장 중요한 핵심은 시간을 절약하는 것이다. 바이낸스는 자체적으로 개발한 스마트 계약과 PoA(권위증명) 프로토콜을 구현하여 이더리움보다 상대적으로 작업 처리 속도가 빠르다. # Vampire Attack 유동성을 많이 보유하고 있는 DEX 플랫폼으로부터 다른 DEX 플랫폼이 유동성을 훔쳐오는 공격이다. Sushiswap이 초기 Uniswap의 유동성과 사용자들을 유입한 방식이다. ***공격은 2가지 단계로 이뤄진다.*** ### Step1. LP 토큰 모으기 - 스시스왑은 초기 유니스왑의 유동성 공급자들을 대상으로 스테이킹 서비스를 출시했다. - 유동성 공급자가 유니스왑에 제공한 유동성 풀로 LP 토큰을 받으면, 해당 토큰을 Sushiswap에 스테이킹 하는 방식이다. - 유니스왑에서는 유동성을 제공하고 받은 LP토큰을 보유하고 있으면, 거래 수수료의 0.3%만 보상으로 분배받았다. 그러나 스시스왑에 LP토큰을 스테이킹하면 수수료 + 스시토큰을 추가로 보상 받았다. ![Untitled](https://docs.google.com/drawings/d/e/2PACX-1vRgKShUAB-WFBNqkjJuWt2YEczwz-Ka90GU1SiGgFwnB6MUS2UK0sywLai5L2hRyIwHhVZ8s3WgD4cI/pub?w=929&h=534) ### Step2. 마이그레이션 스시스왑은 다량의 LP토큰을 보유하게 되었다. 이후 다량의 LP 토큰을 소각하여 유니스왑의 유동성 풀을 흡수했다. ⇒ 이러한 케이스를 블록체인 내에서는 Migration이라고 표현한다. (소각이란, LP 토큰을 이용해 유니스왑에 있었던 풀을 스시스왑으로 마이그레이션 시키는 것을 말한다.) DEX에서는 슬리피지(Slippage)를 낮추기 위해 유동성 풀의 규모를 확장하는 것이 가장 중요한데, 스시스왑에서는 LP에게 공격적인 수익률을 제공함으로써 유니스왑이 갖고있던 유동성 풀을 마이그레이션 할 수 있게 되었다. `Question ) 스시스왑에 LP 토큰을 예치한 사용자가 환불 요청하는 경우 스시스왑은 어떻게 제공할 것인가.` → 이미 제공된 SUSHI 토큰을 LP Token 으로 환불? 해주는 것은 불가능하다. 만약 환불한다해도 초기 유동성 공급자가 제공한 유동성 자산(ex. 토큰)으로 교환해줘야 한다. why? LP Token은 Uniswap Pool에 유동성 공급자가 제공하고 있는 지분율을 뜻한다. 초기 유동성 공급자가 유동성을 공급했을 때 지분율이 10%라고 가정하자. 그렇다면 10개 LP Token을 유동성 공급자가 받게 될 것이며, 이것이 100개 SUSHI 토큰으로 보상이 이루어졌다고 가정하자. 그럼 시간이 지난뒤에 100 SUSHI = 10 LP Token이 맞을까? 아니다. Uniswap Pool에 막대하게 페어 토큰이 유입되면, 똑같은 지분율이 될 수 없다. **따라서 100 SUSHI = 10 LP Token이 될 수 없으며, 만약 거래가 이뤄져야 한다면 유동성 공급자가 처음에 투자한 토큰 또는 자산으로 받을 수 있어야 한다.** ### 참고 Defi란 : [https://m.upbitcare.com/academy/education/blockchain/333](https://m.upbitcare.com/academy/education/blockchain/333) Github Uniswap : [https://github.com/Uniswap](https://github.com/Uniswap) Uniswap - Biance : [https://academy.binance.com/ko/articles/what-is-uniswap-and-how-does-it-work](https://academy.binance.com/ko/articles/what-is-uniswap-and-how-does-it-work) Uniswap - Medium : [https://medium.com/@aiden.p/uniswap-series-1-유니스왑-이해하기-e321446623c7](https://medium.com/@aiden.p/uniswap-series-1-%EC%9C%A0%EB%8B%88%EC%8A%A4%EC%99%91-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-e321446623c7) AMM이란 - blog : [https://hyun-jeong.medium.com/uniswap-series-2-cpmm-이해하기-4a82de8aba9](https://hyun-jeong.medium.com/uniswap-series-2-cpmm-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-4a82de8aba9) 유니스왑은 어떻게 동작할까 - Upbit : [https://www.upbitcare.com/academy/education/blockchain/50](https://www.upbitcare.com/academy/education/blockchain/50) Sushiswap이란 : [https://academy.binance.com/ko/articles/your-guide-to-sushiswap](https://academy.binance.com/ko/articles/your-guide-to-sushiswap) Sushiswap이란 - Upbit : [https://www.upbitcare.com/academy/education/blockchain/62](https://www.upbitcare.com/academy/education/blockchain/62) BSC(레저) : [https://www.ledger.com/ko/academy/배경-이야기-바이낸스-스마트-체인bsc](https://www.ledger.com/ko/academy/%EB%B0%B0%EA%B2%BD-%EC%9D%B4%EC%95%BC%EA%B8%B0-%EB%B0%94%EC%9D%B4%EB%82%B8%EC%8A%A4-%EC%8A%A4%EB%A7%88%ED%8A%B8-%EC%B2%B4%EC%9D%B8bsc) BSC(바이낸스 아카데미) : [https://academy.binance.com/ko/articles/an-introduction-to-binance-smart-chain-bsc](https://academy.binance.com/ko/articles/an-introduction-to-binance-smart-chain-bsc) 뱀파이어 공격 : [https://medium.com/curg/뱀파이어-공격-vampire-attack-이란-e4ce877ad4bc](https://medium.com/curg/%EB%B1%80%ED%8C%8C%EC%9D%B4%EC%96%B4-%EA%B3%B5%EA%B2%A9-vampire-attack-%EC%9D%B4%EB%9E%80-e4ce877ad4bc)
Recent Posts
AI / LLM에 대한 친절한 소개
SLA 다운타임 계산기
Docker로 GitLab 설치하기
Ubuntu Linux에 NVIDIA 드라이버 설치
Gemini를 이용한 E-commerce 제품 설명서 생성
프롬프트 엔지니어링 101
Llama3와 MySQL을 이용한 Text2SQL
Llama3.1 설치한 김에 Few-Shot 프롬프팅
Llama3.1 설치 및 프롬프트 테스트
신뢰할 수 있는 AI 앱을 설계하기 위한 LLM 개발원칙
Archive Posts
Tags
BlockChain
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags