CDFi 6번째 세션
- 들어가기
- Aerodrome Liquidity Pool
- Staking Swap 실습
- Staking 실습
- Epliogue: CDFi 만의 잡담
1. 들어가기 & Aerodrome
DeFi 이론에 대해 완벽하게 설명을 해 드린다기보다, 50대 이상 분들한테도 쉽게 설명드릴 수 있도록 콘텐츠를 만드는 것을 목표로 하고 있습니다. 이번에는 DeFi가 작동하는 원리와, DeFi를 가지고 예치를 해서 이자를 받아 먹는 소위 Yield Farming 하는 법을 같이 해보고자 합니다.
BASE 체인 기반의 대표 DEX, Aerodrome
이번에는 Ethereum Layer 2 중 하나인 Base 체인 위에 있는 Aerodrome 이라는 DEX에서 유로화 스테이블 코인인 EURC, 달러 스테이블 코인 USDC 이 두 쌍으로 이루어진 Liquidity Pool에 예치를 해볼 것입니다. 그러기 위해서는 수수료, Gas에 사용할 ETH가 필요하고, ETH로 USDC, EURC로 교환을 해야합니다.
그 전에 유동성 풀과 예치 개념을 전혀 모를 수도 있을 것 같아, 간단하게 원리를 설명하고자 합니다.
2. Liquidity Pool & Staking
1) AMM
유동성 풀에 사용되는 대표적인 윈리 중 첫번째로 AMM, Automated Market Making이 있습니다. AMM에 관한 구체적인 공식이 있지만, 핵심은 두 개의 토큰을 동일한 가치로 묶어 페어로 예치한다는 점입니다. DEX는 CEX와 같이 오더북이 아닌 AMM을 기반으로 작동하는 특징이 있습니다. 오더북 같은 경우에는 중간에 중개자가 주문을 꼭 받아서 연결을 해줘야 한다는 단점이 있습니다. 그런데 이 AMM 방식은, 중간에 중개자 없이도 그냥 거래가 가능하다는 점에 있어 더 분산화되어 있다고 할 수 있습니다.
유동성 풀의 예시 (BTC/USDC 페어)
Pool 안에 두 개의 코인을 바구니처럼 넣어두고, 사람들이 필요에 따라 알아서 매수하고 다시 넣도록 구성한 개념이라고 보시면 됩니다. Pool 자체만 만들어 놓는 것이고, 그 안에서 알아서 거래가 이루어지도록 하는 방식입니다.
예시로 그림을 사용해 설명하면, 유동성 풀(Liquidity Pool)은 하나의 바구니처럼 구성되어 있습니다. 이 바구니 안에는 이전에 언급한 공식처럼 두 개의 토큰이 들어가며, 이 두 토큰의 달러 환산 가치는 항상 같아야 합니다. 이 원칙이 유지되어야 유동성 풀이 정상적으로 작동합니다.
여기에서 트레이더가 등장해, 예를 들어 BTC가 좋아 보인다면 pool에서 BTC을 가져가고 싶어집니다. 원래는 pool에 BTC와 USDC가 각각 10개씩 있고, BTC도 1달러, USDC도 1달러로, 1대1 가치였다고 가정합니다. 트레이더가 일정 수량의 BTC를 매수해 가져가는 대신, 그만큼의 USDC를 풀에 넣게 됩니다. 이 과정에서 BTC를 매수하고 USDC를 매도하는 효과가 자연스럽게 일어납니다. 그 결과 BTC 수량은 줄어들고 USDC 수량은 늘어나지만, 두 토큰의 가치는 계속 같아야 합니다. 이 원칙을 충족하기 위해 BTC의 개당 가격이 상승하고, 반대로 USDC의 개당 가격은 다소 하락하게 됩니다. 이렇게 유동성 풀이 작동하며, 별도의 중개자 없이도 거래가 이루어지도록 만들어진 시스템입니다.
2) AMM 문제점
첫 번째는 프라이스 임팩트(Price Impact)입니다. DeFi에서는 거래가 발생했을 때 일시적으로 교환 비율이 크게 변동되는 현상을 프라이스 임팩트라고 부릅니다. 예를 들어, pool 안에 BTC가 10개 들어있다고 가정하고 누군가가 동일한 10개의 BTC을 한꺼번에 매도하면, pool 안으로 BTC가 대량 유입되어 BTC 가격이 급격히 하락합니다. 그 뒤에 USDC를 수령할 경우 예상보다 적은 양의 USDC를 가져가게 됩니다. 이렇게 대규모 거래로 인해 순간적으로 가격이 왜곡되는 현상이 프라이스 임팩트입니다. (Uniswap의 Price Impact에 대한 설명)
두 번째는 슬리피지(Slippage)입니다. 슬리피지는 주문 시점과 체결 시점 사이에 가격이 미끄러져 달라지는 현상으로, 오더북 방식에서도 일반적으로 발생하는 문제입니다. 가격 변동이나 유동성 변동 등 다양한 원인으로 인해 체결 가격이 달라질 수 있으며, 이는 DeFi에만 한정된 문제는 아닙니다.
마지막으로 가장 중요한 개념은 비영구적 손실(Impermanent Loss)입니다. 쉽게 설명하면, 코인을 단순 보유하고 있었다면 얻었을 상승분을 유동성 공급 때문에 온전히 확보하지 못하게 되는 손실을 의미합니다. 코인을 pool에 예치해두었는데, 해당 코인의 가격이 크게 상승했다면 예치하지 않고 그냥 가지고 있었을 때보다 이익이 줄어들 수 있습니다. 이런 이유로 유동성 공급 시에는 비영구적 손실 가능성을 고려해야 합니다.
3) Impermanent Loss, 비영구적 손실
각 10개씩 존재하는 BTC/USDC 유동성 풀
비영구적 손실의 원리를 예시를 통해 알아보겠습니다. 원래 5개의 BTC와 5개의 USDC가 들어 있던 풀이 있었다고 가정하겠습니다. 유동성 풀에 공급을 할 경우 같은 비율만큼 공급할 수 있으므로 BTC:USDC = 1:1 만큼 추가 가능합니다. 따라서 BTC를 5개, USDC를 5개를 추가로 예치하여, 총 10개의 BTC와 10개의 USDC가 풀에 들어가 있습니다.
높은 수요로 유동성 풀에서 빠져나가는 BTC
그런데 어느 순간 BTC에 대한 수요가 높아지면서, 다른 사람들이 풀 안의 BTC를 매수해 가기 시작합니다. 그 결과 풀 안의 BTC 가격이 상승하게 됩니다. 만약 원래 5개의 비트를 그냥 보유하고 있었다면, 상승분을 전부 누렸을 텐데, 유동성 풀에 예치하면서 일부만 비트로 보유하게 되어 상승분을 완전히 얻지 못하게 됩니다. 예치한 물량을 수령할 경우, 공급할 때와 같은 원리에 따라 유동성 풀 비율만큼 인출할 수 있으므로 일부는 USDC로 수령하게 되기 때문입니다. 이러한 상황이 비영구적 손실(Impermanent Loss) 사례라고 볼 수 있습니다.
비영구적 손실 리스크를 줄이는 방법으로는 변동성이 큰 코인 대신 USDC와 같은 스테이블 코인과 묶어서 유동성을 공급하는 방법이 있습니다. 예를 들어, 알트코인-알트코인 풀보다는 비트코인-스테이블 코인 풀처럼 변동성 차이가 큰 자산과 안정적인 자산을 페어로 두는 편이 상대적으로 안전합니다. 혹은 비트코인-이더리움처럼 가격 흐름이 비슷한 자산끼리 묶어서 예치하면 가격 변동 폭이 줄어드는 효과를 기대할 수 있습니다.
또 다른 방법으로, 처음 예측했던 가격대로 돌아올 때까지 기다리는 것도 비영구적 손실을 막는 한 가지 방식입니다. 그러나 가격이 상승했을 때 이익 실현을 하지 않고 그대로 기다리는 행위가 바람직한지는 상황에 따라 다릅니다. 실제로는 아주 작은 규모의 풀이거나, 너무 큰 금액을 예치하지 않는 한, 비영구적 손실로 인한 손해가 극단적으로 발생하는 경우는 드물다고 볼 수 있습니다. 다만 극히 작은 퍼센트라도 민감하게 반응하는 경우가 있으므로, 유동성 풀을 활용할 때는 이러한 리스크도 미리 염두에 두는 것이 좋습니다.
3. Swap 실습
한 코인을 다른 코인으로 Swap하는 것이 DeFi에서 가장 기본 행위라고 볼 수 있습니다. 유동성 풀에 예치를 할 때, 현재 자산을 유동성 풀이 지원하는 코인으로 바꿔서(Swap) 공급을 해줘야하기 때문입니다. 전통금융에서의 스왑(Swap)은 다른 뜻을 갖고 있겠으나, DeFi에서는 한 코인을 특정 코인으로 바꾼다, 환전한다 라는 뜻으로 이해하면 쉬울 것 같습니다.
Swap하는 방법에는 여러가지가 있는데, 간편한 두가지를 선정해봤습니다. 첫번째는 Web3 Wallet 자체에서 스왑을 하는 방법입니다.
대표적인 Wallet 중 하나인 MetaMask에서 Swap 기능을 지원하고 있습니다. ETH 뿐만 아니라 보유하고 있는 코인을 바탕으로 Swap을 할 수 있습니다.
두번째는 오늘 같이 살펴볼, LlamaSwap입니다. MetaMask처럼 지갑 서비스는 아니지만, Swap 할 수 있는 최적의 case, route를 모아서 보여줍니다. 이런 서비스를 DEX Aggregator 라고 합니다. 따라서 지갑 자체에서 swap할 때 느리거나, 트랜잭션이 전송되지 않거나 할 때 대안으로 활용하기 좋습니다.
Llama Swap
우선 Base 체인의 Aerodrome에 유동성 공급할 예정이므로, 현재 Ethereum 체인에서 Base로 변경을 해줘야합니다. 그리고 ‘You sell’을 현재 갖고 있는 ETH로 설정하고, ‘You buy’를 필요로 하는 USDC로 설정해줍니다. 가격을 작성할 경우 교환비가 가장 좋은 것을 추천해줍니다. Swap 버튼을 누르고 각 트랜잭션의 승인을 해줍니다.
ETH에서 USDC로 Swap
이렇게 Swap을 진행하면, MetaMask 지갑 안에 있는 포트폴리오에도 반영이 됩니다. USDC뿐만 아니라 EURC도 같은 과정을 통해 Swap을 진행하면, 예치 과정이 남았습니다. 그전에 추가로 소개할 사이트가 DeFiLlama입니다.
DeFiLlama
DeFi 관련 서비스를 활용할 때, 피싱 사이트를 피하기 위해서는 공식 링크를 찾는 것이 중요합니다. DeFi 서비스 이름과 UI를 똑같이 복제한 피싱 사이트가 많을 수 있기 때문에, DeFiLlama 등 신뢰할 수 있는 플랫폼에서 링크를 찾고 들어가는 것이 안전합니다. 예를 들어 에어로드롬(Aerodrome)에 접속하려면, DeFiLlama에서 ‘Aerodrome’을 검색해 찾아 들어가거나, 사이트 하단에 있는 공식 링크를 클릭하여 접속하는 방법이 좋습니다.
유명한 프로젝트가 아니라 되게 마이너한 프로젝트의 토큰일 경우 검증이 어려울 수도 있습니다. 이 때는 X, 구 트위터를 사용합니다. 공식 X 계정에 들어가 봤을 때, 내 친구들이 팔로우하고 있는지 볼 수 있습니다. 믿을만한 내 친구들이 프로젝트 계정을 팔로우하고 있으면 스캠은 아닌 것 같다고 판단할 수 있습니다. 평소에 좀 유명한 크립토 인플루언서 많이 팔로우 해 놓고 있으면 마이너한 프로젝트의 X 계정을 보고 평판을 조회할 수 있는 팁입니다.
4. Staking 실습
2024/12/21 기준 EURC-USDC 유동성 풀
베이스(Base) 체인에서 유동성을 예치하려면, 먼저 메타마스크 등 지갑의 네트워크를 베이스로 전환해야 합니다. 그 후 에어로드롬(Aerodrome) 홈페이지에서 ‘Liquidity’를 선택하고, 검색창에 EURC를 입력하면 ‘EURC–USDC’ 풀이 나타납니다. 예시 화면에서 APR이 약 8% 정도였지만, 실제로는 예치 시점에 따라 다를 수 있습니다.
예치 방법은 다음과 같습니다.
1. 디파짓(Deposit) 선택: 원하는 풀을 찾았다면, ‘Deposit’을 클릭합니다.
2. 수량 입력: USDC 수량을 입력하면, 해당하는 EURC 수량이 자동으로 지정됩니다. 두 스테이블 코인을 1대1 가치로 예치하는 방식입니다.
3. 토큰 승인(Approve): USDC와 EURC 사용을 각각 허용해주는 절차를 거칩니다. 이후 디파짓 컨트랙트 승인에도 가스비가 소량 발생합니다.
4. 마지막 트랜잭션: 최종적으로 가스비를 지불하면, 예치 및 스테이킹이 완료됩니다. Base 체인은 Layer 2이기 때문에 Ethereum Mainnet에 비해 가스비가 저렴하다는 장점이 있습니다.
이후 대시보드에서 스테이킹이 제대로 되었는지 확인할 수 있습니다. 에어로드롬의 리워드(Rewards) 섹션에는 APR에 따른 이자가 에어로(AERO) 토큰으로 쌓이는 것을 볼 수 있습니다. 쌓인 이자를 받으려면, ‘Claim’ 버튼을 눌러야 지갑으로 옮길 수 있습니다.
또한 디뱅크(DeBank) 같은 트래킹 서비스를 통해 베이스 체인 자산 현황을 새로 고침하여, EURC–USDC 풀에 예치된 내역이 정확히 표시되는지 확인하면 좋습니다. 가끔 스테이킹이 끝까지 완료되지 않고 ‘Unstaked’ 상태로 남아 있는 경우도 있습니다. 이때는 화면을 새로 고침하거나 대시보드를 다시 확인해 보고, 스테이킹 버튼을 다시 눌러 트랜잭션을 수행하면 정상적으로 완료됩니다.
이렇게 Swap 및 Staking 실습을 진행해봤습니다. AMM, DEX에 익숙해졌다면, AMM의 심화 버전인 Concentrated Liquidity도 공부해보는 것을 추천드립니다.
Epilogue: CDFi 만의 잡담
1) DEX 이용 가치
중앙화 거래소에 자산을 예치한다는 것은, 거래소가 제공하는 지갑에 내 자산을 두는 것이므로 완전히 내 소유라고 보기 어렵습니다. 예를 들어 바이낸스 같은 중앙화 거래소(CEX)에 입금을 하려면, 거래소 측에서 제공하는 입금 주소로 자산을 전송하게 되는데, 이는 곧 거래소 지갑 주소를 의미합니다. 반면 DEX에서 거래를 진행할 때는 전적으로 내 지갑 주소를 통해 거래를 하게 됩니다.
만약 FTX처럼 거래소 자체가 파산한다면, 그 안에 있던 내 코인을 함께 잃게 될 위험이 있기 때문에, 직접 자산을 관리하고 싶어 하는 사람들은 탈중앙 거래소, DEX를 찾게 됩니다. 또한 DEX에 유동성을 제공하면 중앙화 거래소보다 높은 이자를 받을 수 있는 경우가 많아, 개인 투자자 입장에서도 DEX를 사용할 유인이 생깁니다.
덱스를 쓰는 또 다른 이유는, 이 유동성 풀을 누구나 생성할 수 있기 때문입니다. 예를 들어 개인이 직접 만든 코인을 바로 상장하여 초기 가치를 형성하고, 이를 통해 코인 가치가 일정 수준 이상 상승하면 CEX로 옮기는 형태가 많습니다. 밈 코인이나 높은 수익을 기대하는 사람들은 초기 단계에서 DEX를 통해 코인을 구매합니다. DEX는 거래소 기능뿐만 아니라 대출(랜딩)이나 무기한 선물 등 다양한 디파이 프로토콜과 유기적으로 연결되어 있어서 편리한 반면, 중앙화 거래소(CEX)는 여러 상품 간 연동성이 떨어져 다소 불편하다는 특징이 있습니다.
2) DEX Staking APR
Aerodrome에서 Stable Liquidity Pool (높은 APR 순)
디파이 세계에서는 APR이 말도 안 될 정도로 높게 표기되는 경우가 자주 있습니다. 예를 들어 플러스 900% 같은 수치가 찍히기도 하는데, 이는 TVL이 매우 작을 때나 특정 요인이 작용할 때 잠시 나타나는 수치일 가능성이 큽니다. 다만 디파이에서 제공되는 APR은 여러 요인에 따라 실시간으로 변동합니다.
예를 들어 에어로드롬(Aerodrome) 풀에서는 풀 운영 측의 투표나 이자로 지급되는 에어로(AERO) 토큰 가격 상승 등이 결합되면, APR이 급격히 높아질 수 있습니다. 이자 지급 방식 역시 토큰 발행량, 풀 운영 측 정책, 락(LOCK) 기능 등을 통해 달라질 수 있기 때문에, 표시되는 APR이 그대로 1년 동안 유지된다고 보기는 어렵습니다.
이러한 변동성을 확인하기 위해서는 어그리게이터(aggregator) 서비스를 참고할 수 있습니다. 예치 후 이자 토큰을 재투자하거나, 다양한 풀의 수익률을 비교·관리하는 기능을 자동으로 제공하는 곳들도 있습니다. 여기에서는 실시간으로 변동하는 APR 순위를 볼 수 있는데, TVL(총 예치금)이 높은 풀만 골라서 보아도 몇 시간 단위로 순위가 달라지기도 합니다.
3) DEX 위험요소
온체인 활동을 하면서 스캠이나 피싱 사이트에 잘못 접속하여 해킹 또는 피싱 피해를 입을 위험성이 존재합니다. 탈중앙화 거래소(DEX)는 AMM 방식을 사용하기 때문에, 앞서 언급된 Price Impact, Slippage 그리고 MEV(채굴자 가치 추출)로 인한 프론트 러닝 공격도 가능해, 거래 결과를 예측하기가 쉽지 않습니다. 이를 보완하기 위해 ‘집중화된 유동성(Concentrated Liquidity)’이 등장하여 특정 가격 범위에 유동성을 집중 배치하는 방식이 활용되고 있습니다.
스테이블 풀은 변동성이 적고 유동성이 높아 가격이 크게 흔들리지 않지만, 규모가 작은 풀은 큰 거래 한 번에 교환 비율이 무너질 수 있습니다. 또한 DEX에서는 단순 거래 수수료 분배뿐 아니라 자체 토큰 보상, 브라이브(Bribe) 등 다양한 인센티브 구조로 인해 APR이 높게 책정되기도 합니다. 예를 들어 에어로드롬(Aerodrome)은 AERO 토큰을 활용해 풀에 대한 보상(부스팅)을 투표로 결정하기 때문에, 특정 풀에 토큰 보상이 몰리면 APR이 급상승할 수 있습니다. 다만 이러한 구조가 모든 DEX에 동일하게 적용되는 것은 아니어서, 유니스왑(Uniswap) 등 다른 플랫폼에서는 이처럼 높은 APR이 보장되지 않을 수 있습니다.
해당 자료는 CDFi 세미나에서 진행한 세션 내용을 바탕으로 제작되었습니다.해당 자료의 저작권은 CDFi 및 발표자에게 귀속되며, 어떤 형태로든 동의 없이 복제, 변형, 재배포 될 수 없습니다.
뉴스레터: https://maily.so/cdfi
유튜브: Youtube_월스트리트디파이
텔레그램(뱅크리스 코리아): https://t.me/BanklessKorea
트위터(뱅크리스 코리아): https://twitter.com/BanklessKorea
의견을 남겨주세요