![[DeFi 탐험 #1] Curve](https://miro.medium.com/v2/resize:fit:1200/1*9QDW9DK55i1EMQjXzBOLfg.png)
[DeFi 탐험 #1] Curve
[DeFi 탐험 #1] CurveFinance 안녕하세요. 코인원에서 이번에 새롭게 디파이(DeFi: Decentralized Finance, 탈중앙화 금융) 탐험 시리즈를 기획해 여러분께 공유드립니다. 이번에 기획한 디파이 탐험 시리즈는 여러 디파이 서비스들을 실제로 사용해보면서 하나하나 체험해보는 가이드 컨셉으로제작되었습니다. 콘텐츠의 특성상 분량이 많아 풀버전을 코인원 기술 블로그에 올려, 더 깊이있게 다뤄보고자합니다. 코인원은 암호화폐 동향 및 디파이 관련 콘텐츠를 코인원 웹사이트 내 코인원 크립토 뉴스에서 꾸준히 다뤄왔으며, 아래 코인원 크립토 뉴스 배너를 클릭해 다른 콘텐츠도 만나보실 수있습니다. 코인원 크립토 뉴스 바로가기: https://coinone.co.kr/talk/ 디파이란 블록체인 위에서 구축된 분산 금융 시스템을 뜻하며, 블록체인 네트워크를 기반으로 운영되는 분산화된 금융 서비스, 기술, 탈중앙화 애플리케이션(DApp) 등 넓은 범위에서 디파이라 불리는 서비스들이 생겨나고 있습니다. 디파이는 스마트 컨트랙트를 기반으로 블록체인 위에 구축되어 있으며, 스마트 컨트랙트를 동작할 수 있는 웹사이트에 지갑을 연결해 스마트 컨트랙트를 실행하는 방식으로작동합니다. 본 디파이 탐험 콘텐츠는 디파이 서비스를 사용하면서 블록체인에서 실제로 어떤 일이 발생하게 되는가를 한땀한땀 스크린샷을 떠가며 함께 살펴보는 방식으로 구성되어 있습니다. 여러분께서는 본 콘텐츠를 통해 손에 잡히고, 눈에 보이는 블록체인 경험을 간접적으로 해 보실 수 있을것입니다. DeFi 탐험계획 첫 탐험에서 다뤄볼 디파이 서비스는 커브 파이낸스(Curve Finance, 이하 “커브”)입니다. 커브는 2020년 1월 생겨난 이더리움 기반 디파이 서비스로, TVL(Total Value Locked, 예치 자산 합계) 기준으로 손에 꼽힐만큼 많은 자산이 예치되어 있습니다. 커브는 디파이 서비스로 유동성 풀을 통해 자산간 교환을 할 수 있도록 지원하거나, 자산을 유동성 풀에 넣어 이자를 얻을 수 있는 플랫폼을제공합니다. 탐험할 서비스: Curve Finance (이더리움 블록체인 기반) 준비물 인터넷이 접속되는 안전한 컴퓨터 크롬 또는 파이어폭스 웹브라우저와 메타마스크 지갑(플러그인) 블록체인 전송 수수료로 사용할 소량의 ETH 디파이 서비스 입금할 연구 목적의 DAI DeFi 탐험: CurveFinance 목차 DeFi 세상으로 한 발짝 1.1. Why DeFi? 1.2. 지갑 설정하기 1.3. 지갑으로 코인전송하기 Curve 둘러보기 2.1. 커브 Home 둘러보기 2.2. 커브 Pool둘러보기 Curve 이제 진짜 써보자 3.1. Curve 웹사이트에 지갑 연결 3.2. 커브 컴파운드 풀에 Deposit하기 Curve DAO에 LP 토큰을 Deposit 해보자 4.1. Curve DAO가 뭔가요? 4.2. Curve DAO 간단히 살펴보기 4.3. Curve DAO 웹사이트에 지갑 연결하기 4.4. Gauge에 LP 토큰 Deposit 하기 4.5. 기다림의시간 정리: Gauge Withdraw, CRV Claim, Pool Withdraw 5.1. Gauge Withdraw 5.2. CRV Claim 5.3. Pool Withdraw 5.4. 최종 잔고비교 마치며 1. DeFi 세상으로 한발짝 디파이(DeFi)는 시파이(CeFi: Centralized Finance, 중앙화 금융) 밖 세상입니다. 시파이에서 한 발짝 내딛으면 디파이 세상이나옵니다. 1.1. WhyDeFi? 왜 디파이를 하는 걸까요? 필자는 디파이를 왜 하는가, 왜 해야하는가에 대해 “필연적”이기 때문이라 말씀드리고 싶습니다. 블록체인은 비트코인이 탄생한 이후, 오늘날에 이르기까지 우여곡절이 있었지만 블록체인 생태계는 고도화를 꾸준히 이뤄왔습니다. 이제는 블록체인 위에 올라간 가치를 다양한 방법으로 활용하는 단계에 와있습니다. 이는 다분히필연적입니다. “필연적”이라는 말이 다소 추상적이네요. 그렇다면 디파이를 하는 이유는 무엇일까요? 디파이에 참여하는 대부분의 일반 투자자들은 “탈중앙화 금융을 통해 중앙화 금융보다 더 큰 수익을 낸다”는 목표를 갖고 있을 것입니다. 그게 아니면 굳이 디파이를 할 필요가 없으니까요. 디파이로 수익을 낼 수 있다/없다에 대한 부분은 본 콘텐츠에서 확답드리기 어렵습니다. 너무 다양한 변수가 있기 때문에 수익을 보장할 수 없기 때문입니다. 수익에 대한 부분은 여러분의 몫으로 남겨두겠습니다. 본 콘텐츠로 디파이 관련 지식이 늘어나 수익에 도움이 되길바랍니다. 1.2. 지갑설정하기 블록체인은 다양한 형태와 이름으로 이 세상에 존재하며, 이번 탐험에서 다뤄볼 서비스는 이더리움 블록체인을 활용하고 있습니다. 먼저 이더리움 지갑을 컴퓨터에 설치하는 작업부터 시작해보겠습니다. 이더리움 공식 사이트에서 여러 이더리움 지갑들을 확인하실 수 있습니다.(https://ethereum.org/ko/wallets/) DeFi 탐험에서는 다양한 디파이 서비스에서 이미 널리 지원하고 있고, 이더리움 공식 웹사이트의 지갑 페이지에서 가장 먼저 언급되는 메타마스크(https://metamask.io/)를 사용해보겠습니다. 1. 메타마스크 공식 웹사이트(https://metamask.io/)에 접속합니다. 우측 상단의 “Download” 버튼을 클릭해 다운로드 페이지로 이동해, 웹 브라우저용 메타마스크 플러그인을설치해야합니다. 2. 웹 브라우저는 크롬과 파이어폭스를 지원합니다. 본 콘텐츠에서는 크롬만 다뤄보겠습니다. “Install MetaMask for Chrome”을클릭합니다. https://metamask.io 3. 크롬 웹 스토어에서 메타마스크 플러그인을 “Chrome에 추가” 버튼을 클릭해설치하세요. 4. “Chrome에 추가”를 클릭해 뜬 팝업에서 “확장 프로그램 추가”를 클릭하면, 메타마스크 플러그인이설치됩니다. 5. 크롬 우측상단 플러그인 아이콘을 클릭해, 확장 프로그램을 고정(핀 모양 아이콘)하면, 편리하게 이용할 수있습니다. 6. 플러그인 설치 및 고정 했다면, 메타마스크 플러그인 아이콘을 클릭해, 지갑을 생성해야 합니다. 크롬 우측상단의 메타마스크 플러그인 아이콘을 클릭해 “시작하기” 버튼을클릭합니다. 7. “지갑 생성하기” 버튼을 클릭해 지갑 생성을시작합니다. 8. 메타마스크 개선을 도울지 말지 설명을 확인하고 직접 결정해서 “No Thanks” 혹은 “I agree”를클릭하세요. 9. 비밀번호를 생성해야합니다. 이 비밀번호는 지갑 사용을 위해 메타마스크의 잠금을 푸는데 필요한 암호입니다. 최소 8자 이상의 강력한 비밀번호를 정해 설정해주시고, 입력칸 아래 체크 박스 항목의 “사용 지침”을 확인 후 체크하고, “생성” 버튼을클릭하세요. 10. 비밀번호 생성만으로 지갑은 만들어집니다. 다만, 메타마스크 플러그인 유실 또는 웹 브라우저 초기화시 지갑을 복원할 수 있도록 “비밀 백업 구문”을 별도 보관하는 과정이 남아있습니다. 이 비밀 백업 구문은 나중에 지갑을 되살릴 때 사용할 수 있습니다. 화면에 표시된 비밀 백업 구문을 별도로 보관하셨다면, “다음”을 클릭하세요. (단어를 마스킹처리했습니다.) 11. 별도로 백업해둔 비밀 백업 구문을 보고, 아래 버튼을 클릭해 순서대로 나열하세요. 모든 단어를 나열하고, “승인” 버튼을 클릭하세요.(단어를 마스킹처리했습니다.) 12. 이제 지갑을 사용할 준비가 거의 다 되었습니다. “안전하게 시드 구문을 보관하는 팁”을 꼭 참고해주시고, “모두 완료” 버튼을 클릭해 지갑 생성완료하세요. 13. 지갑 생성을 완료하면, 웹 브라우저의 메타마스크 플러그인 아이콘을 클릭해 지갑의 잔고를 확인할 수있습니다. 1.3. 지갑으로 코인전송하기 이제 방금 생성한 따끈따끈한 새 지갑으로 코인을 전송해볼 차례입니다. 이번 디파이 탐험에서 사용할 코인은 1 ETH와 3000 DAI로 정했습니다. 필자가 좋아하는 숫자로 정한 임의의 수량일 뿐, 꼭 이정도 필요하다는 최소 수량도 권장 수량도 아님을밝힙니다. ETH는 이더리움 블록체인을 이용하기 위한 수수료로 사용되기 때문에 소량 필요합니다. 본 콘텐츠에서 1개의 이더리움을 수수료로 전부 소진할 일은 없습니다만, 가스 가격에 따라 수수료의 필요 수량이 변동성이 있어 넉넉하게준비했습니다. DAI는 블록체인 기반 스테이블 코인으로 디파이 서비스 Curve에 예치 가능한 다양한 토큰 종류 중 하나로, 예시로 정한 것입니다. 수량 또한 예시로 정한 임의의수량입니다. 실제로 디파이 서비스를 이용해보는 사용자 관점에서는 지출되는 이더리움 수수료와 디파이 서비스의 수익률을 고려해 초기자본을 산정하시기 바랍니다. DAI는 ERC-20 토큰이기 때문에 이더리움 주소로 전송받을 수있습니다. 1. 먼저 지갑으로 코인을 전송하기 위해서는 메타마스크에서 지갑 주소를 복사해야 합니다. 메타마스크 플러그인을 실행해, 주소 부분을 클릭하면, 입금주소가복사됩니다. 2. 복사한 주소를 이더리움 블록체인 익스플로러 서비스에서 검색해 제대로 복사되었는지 확인해볼 수 있습니다. 본 콘텐츠에서는 가장 널리 쓰이는 이더리움 블록체인 익스플로러로 이더스캔(Etherscan)을 사용하겠습니다. https://etherscan.io/address/0x37642Bb53d537214D07CB25B65Bf4DD4c01516Fd 3. 복사한 주소로 앞에서 정한 두 종류의 코인(ETH, DAI)을 전송해 보겠습니다. 코인 전송은 사용하시는 거래소에서 지갑으로 진행하면됩니다. 지갑으로 전송이 완료되면, 메타마스크 지갑에 1 ETH가 표시됩니다. DAI는 처음에 표시되지 않을 수 있는데, 토큰을 추가해 표시할 수 있습니다. 토큰을 추가하는 방법은 “Assets” 탭에서 “토큰 추가” 버튼을 클릭하고, 종목을 검색해(“DAI” 입력) 토큰을 추가할 수있습니다. *다시 한번 강조드리지만, 지갑으로 전송한 1 ETH와 3000 DAI는 예시로 정한 수량일 뿐, 최소 수량이나 권장 수량이아닙니다. 4. 이더리움 블록체인 익스플로러인 이더스캔에서도 입금된 자산을 확인할 수있습니다. https://etherscan.io/address/0x37642Bb53d537214D07CB25B65Bf4DD4c01516Fd 2. Curve둘러보기 지갑에 코인을 준비해뒀으니, 이제 디파이 서비스인 커브(Curve)로 이동해, 커브가 어떤 곳인지 둘러보겠습니다. 먼저, 커브 웹사이트의 최상단 메뉴를 살펴보며 어떤 기능을 제공하는지 확인하고, 차례로 “Home”(홈)과 커브의 주요 기능인 “Pool”(풀)을 둘러보도록하겠습니다. https://curve.fi (가로 세 줄 아이콘) 메뉴 버튼: 커브의 개별 풀을 이동할 수있습니다. “Home”: 커브 홈으로이동합니다. “DAO”: Curve DAO 메뉴로이동합니다. “Use CRV”: 커브를 사용할 수 있는 메뉴로, CRV 토큰 스테이킹과 관련된메뉴입니다. “Trade”: 커브의 여러 풀에서 발생한 거래 차트를 확인하고, 풀의 토큰간 교환이가능합니다. “Stats”: 커브 풀의 상태를표시합니다. “Pay”: Curve Pay 메뉴로이동합니다. “Risks”: 커브 사용에 대한 위험 안내페이지입니다. “?”: 컨트랙트 주소, 가이드 등 다른 메뉴로 이동할 수있습니다. 2.1. 커브 Home둘러보기 1. 홈의 첫번째 섹션은 “Swap using all Curve pools”입니다. 커브에는 다양한 풀(이하 풀로 부릅니다.)이 있는데, 모든 풀에 예치된 자산간 “Swap”(교환)이 가능하도록 지원하고있습니다. 사용자는 Swap 과정에서 수수료를 커브 풀에 지불하게되며, 이 수수료가 커브 풀에 예치한 자산들에게 제공되는 기본적인 수익이라고 보시면 되겠습니다. 다만, 개별 풀마다 수익을 만드는 방법에는 차이가 있을 수있습니다. 정리하면, 이 “Home” 화면의 최상단 섹션은 커브 서비스가 제공하는 핵심적인 Swap 기능을 표시한 화면이라고 보시면되겠습니다. https://curve.fi 2. 홈 화면의 두번째 섹션은 커브에서 지원하는 여러 풀의 전체 목록이 표시된 “Curve pools”입니다. 각각의 풀은 취급하는 자산이 정해져 있으며, 사용자가 예치한 자산으로구성됩니다. 이 화면에서는 각 풀의 취급 자산, 년간 수익률(CRV 마이닝 포함), 거래량 등 상세 정보를표시합니다. 3. “Curve pools”에 표시된 첫번째 풀인 “0. Compound”를 예시로살펴보겠습니다. 0. Compound: 해당 풀의 순번과 풀의 이름입니다. 여기서 Compound는 컴파운드 디파이 서비스(https://compound.finance/)를 의미합니다. 각 커프풀에 대한 자세한 내용은 커브 가이드 “Understanding Curve”(https://resources.curve.fi/base-features/understanding-curve)를 참고하세요. [ (c)DAI, (c)USDC ]: 해당 풀에서 취급하는 자산, (c) 표시는 cDAI와 DAI, cUSDC와 USDC를 지원한다는 의미입니다. “Buy and sell”(Swap 기능), “Deposit”(입금) 화면에서 “~ wrapped” 체크박스를 클릭하면, cDAI나 cUSDC같은 wrapped(감싸진) 토큰을 입금하거나 교환할 수있습니다. APY: 해당 풀의 연간 유효 이자율 “Annual Percentage Yield”의 약자입니다. 첫 줄에 표시된 “2.10%”는 앞서 언급한 풀 운용에 따른 “기본적인” 이자에 해당합니다. 그 아래 줄의 “+23.47% to 58.68% CRV”는 해당 풀 토큰을 Curve DAO에 예치해, CRV(Curve DAO token)를 받았을 때의 예상수익률입니다. Vol: “Volume”의 줄임말로, 해당 풀의 최근 24시간거래량입니다. 4. 세번째, 네번째 섹션은 “veCRV stats”과 “Total pool deposits and daily volume”입니다. “veCRV stats”은 베스팅 CRV 토큰인 veCRV의 상태에 대해 표시됩니다. veCRV에 대해 궁금하신 분은 커브의 가이드 “What are veCRV?”(https://resources.curve.fi/faq/vote-locking-boost#what-are-vecrv )를 참고하시기바랍니다. “Total pool deposits and daily volume”에는 현재 모든 풀에 입금된 자산의 총 금액과, 일간 거래량이표시됩니다. 2.2. 커브 Pool둘러보기 커브 홈을 가볍게 살펴봤으니, 이제 커브의 핵심 기능인 Swap(교환)을 가능하게 해주는 개별 풀을 살펴보며 좀 더 서비스를 깊이있게 살펴보겠습니다. 커브에서 제공하는 다양한 풀의 구조는 대부분 비슷합니다. 여러 풀 중 대표로 첫번째 풀인 컴파운드 풀을 선택했습니다. 커브 홈의 좌측 상단 메뉴에서 컴파운드 풀로이동합니다. 컴파운드 풀 상단 막대의 메뉴는 아래와같습니다. https://curve.fi/compound/ “[Compound]”: 현재 들어와 있는 풀의 이름이 표시됩니다. 클릭하면, 풀을 바꿀 수 있는 메뉴가뜹니다. “Root”: 커브 홈으로이동합니다. “DAO”: Curve DAO 메뉴로이동합니다. “Buy and sell”: 컴파운드 풀에 예치된 자산을 활용한 교환을 할 수e있습니다. “Deposit”: 컴파운드 풀에서 취급하는 자산을 예치할 수 있습니다.(예치시 컴파운드 풀 토큰을받게됩니다.) “Withdraw”: 컴파운드 풀 토큰을 반납하고, 컴파운드 풀에서 취급하는 자산을 출금할 수있습니다. “Stats”: 풀의 상태를표시합니다. “Profit”: 해당 풀에 관련된 내 자산의 입출금 및 수익을확인합니다. “Pay”: Curve Pay 메뉴로이동합니다. “?”: 컨트랙트 주소, 가이드 등 다른 메뉴로 이동할 수있습니다. 2.2.1. Buy andSell 1. 처음 컴파운드 풀에 들어오면, 바로 “Buy and sell”로 들어옵니다. “Buy and sell”에서는 컴파운드 풀에 예치된 자산들을 이용해 풀에서 지원하는 자산간 Swap(교환)을 할 수 있습니다. 커브에서는 이 교환을 “Sell”로 표시하고있습니다. https://curve.fi/compound/ 2. “Buy and sell”의 회색 배경 섹션을 살펴보겠습니다. 이 섹션에서 Swap(교환)을 할 수있습니다. “From”과 “To”에 교환을 원하는 자산의 종류를 선택하고, 수량을 입력할 수있습니다. “Infinite approval”을 체크하면, 이후 동일한 자산 취급시, 별도의 Approve 트랜잭션 단계를 생략할 수 있습니다.(Approve 트랜잭션은 이후 실제 트랜젝션을 발생시킬 때 더 알아보겠습니다.) (앞에서 잠깐 언급하기도 했는데) “Swap wrapped”를 클릭하면 Compound 디파이 서비스에 자산을 예치하고 받을 수 있는 Wrapped 자산인 cDAI와 cUSDC를 교환할수도있습니다. “Advanced option”을 펼치면, “Max slippage”와 “Gas price”를 설정할 수있습니다. “Max slippage”: 요청 가격과 실제 체결 가격의 차이가 몇 %까지 거래를 허용하겠느냐에 대해 미리 정해두는 수치입니다. 기본값은1%입니다. “Gas price”: 이더리움 블록체인에 지불할 가스의 가격을 정할 수 있습니다. 기본값은 “Fast”이며, 숫자의 단위는 “gwei”입니다. 대부분의 블록체인은 거래량과 전송 횟수가 늘어났을 때 전송 수수료가 증가하게 됩니다. 이유는 블록체인 블록에 태울 수 있는 트랜잭션 수는 한정되어 있으나, 블록의 크기는 제한되기 때문입니다. 채굴자 입장에서는 더 높은 비용을 지불하겠다는 트랜잭션을 선택해 블록에 태우게 되기 때문에 블록체인 네트워크에 트랜잭션이 많아지면 가스 값이 올라가 전송 수수료가 증가합니다.대부분의 디파이 서비스는 적정 가스 가격을 책졍해 제시하지만, 블록체인 네트워크가 과부하되었을 때는 빠르게 컨펌을 진행하기 위해 가스 가격을 높이 입력해야할 때가 있습니다.가스 트래커(Gas Tracker) 서비스를 이용해 적정 가스 가격을 찾고, 즉시 컨펌이 날만한 가스의 가격(gwei)을 확인할 수있습니다. “Sell” 버튼은 위에서 정한 대로 트랜잭션을발생시킵니다. “Estimated tx cost”는 가스 가격(gwei)를 고려한 예상 트랜잭션수수료입니다. 3. 하단의 파란 배경 섹션은 “Currency reserves”가 표시되며, 컴파운드 풀에 예치된 전체 자산과 비중 등 상태를 확인할 수 있습니다. 이 섹션은 풀의 전반적인 상태라 여러 메뉴에서 자주등장합니다. 2.2.2. Deposit “Deposit” 메뉴를 살펴보겠습니다. 단어 그대로 풀에 자산을 입금하기 위한 기능을제공합니다. https://curve.fi/compound/deposit “Currencies”에서 입금 가능한(컴파운드 풀에서 취급하는) 자산의 종류를 표시하고, 수량을 입력할 수있습니다. “Gas price”에서 트랜잭션 발생에 사용할 가스 가격을 설정합니다. 4개의 체크박스가 있는데, 하나씩알아보겠습니다. “Add all coins in a balanced proportion”: 회색 섹션 하단의 “Currency reserves”에 적힌 자산 비중과 동일한 비율로 예치 수량이 입력됩니다. (기본값: 체크안함) “Use maximum amount of coins available”: 입력칸에 가능한 모든 자산의 수량이 자동으로 입력됩니다. (기본값: 체크함) “Infinite approval — trust this contract forever”: (Buy and sell에서도 언급했지만) 디파이 서비스에서 대부분의 컨트랙트 트랜잭션 발생에는 “Approve” 트랜잭션을 해야, 다음 단계인 실제 전송(컨트랙트 실행)을 진행할 수 있습니다. 한번의 승인으로 이후 동일한 컨트랙트에 대해 Approve를 생략하려면, 이 체크를 하고 입금을 진행하면 됩니다. (기본값: 체크안함) “Deposit wrapped”: 체크하면 해당 풀에서 취급하는 wrapped 자산으로 입력칸이 바뀝니다. (기본값: 체크안함) “Deposit” 버튼은 컴파운드 풀에 입력한 수량만큼의 토큰을 입금하는 기능입니다. “Deposit” 진행시, 이 컨트랙트 실행이 최초이거나, 이전에 “Infinite approval”을 하지 않았다면, Approve 트랜잭션을 하고, 실제 컨트랙트 트랜잭션을 발생시킵니다. 즉, 총 2번의 트랜잭션이 순차적으로 발생하게 됩니다.(
