ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Compound를 분석해보자 (1) - 컨셉
    블록체인 2021. 4. 11. 05:06

    이번 학기도 디사이퍼 팀플을 한다!
    회장님께서 멘토로 앉혀주셨지만 아직 한참 모자라기에 그냥 열심히 연구해보려고 하는 중..
    주제는 DeFi 리스크 분석, 평소에 DeFi에서 열심히 이자 농사를 짓고 있지만 사실 어떤 리스크가 있고 어떤 문제가 발생할지 아직 감이 전혀 안 잡히는 상태이다.
    그래서 이번 학기에 한번 DeFi 시장에 어떤 사건 사고들이 있었고, 앞으로 어떤 일들이 벌어질 수 있는지에 대해 좀 더 생각해보기로 했다.

    그 중, 먼저 Lending DeFi들에 대해 알아보기로 했다. Lending하면 가장 유명한 플랫폼 중 하나가 컴파운드 아니겠는가? 컴파운드의 컨셉에 대해 간단하게 알아보고, 컨트랙트를 까보기로 결심했다. (요즘 너무 바빠서 블로그 글을 잘 못 쓰고 있었는데, 이번 기회에 다시 열심히 써보기로 결심..) 참고로 컴파운드 컨트랙트 코드가 겁나 불친절하다고 한다... 먼저 긴장 빡세게 해봅니다..

    일단 컴파운드가 도대체 뭐냐? 쉽게 생각하면 암호화폐 담보 대출이라고 생각하면 되겠다. 어눌한 영어로 백서를 읽어보면서 한번 컴파운드의 흐름을 먼저 짚어보자.

    Introduction에서 컴파운드를 이렇게 소개하고 있다.
    "Decentralized system for the frictionless borrowing of Ethereum tokens without the flaws of existing approaches, enabling proper money markets to function, and creating a safe positive-yield approach to storing assets."

    번역하자면 "시장에 문제 없이 이더리움을 빌리고, 자산을 예치하는 대가로 양의 수익률을 만들어내는 탈중앙화 시스템" 정도로 이해할 수 있겠다. 정말 시장에 문제가 없을지는 이번 학기 열심히 연구해봐야지...

     

    백서에는 컴파운드의 기능을 크게 Supply Assets과 Borrowing Assets으로 구분하고 있는 것 같다. 자산을 빌리고 맡길 수 있는 것이 컴파운드의 기본이라고 생각하면 되겠다.

    1. Supply Assets
     거래소(exchange)나 P2P 플랫폼은 일반적으로 유저의 자산이 다른 유저와 매칭되고(오더북 형태를 말하는 것 같다.) 자산을 빌려주지만, 컴파운드에서는 유저가 자산을 공급하면 그것 자체가 대체 가능한(fungible) 자산이 된다고 한다. 대체 뭔 소리인지 잘 모르겠지만 계속 읽어보자.

     컴파운드 마켓에 공급된 자산은 cToken이라고 불리는 erc-20 토큰으로 표현되고, 대출 이자가 발생할 수록 cToken을 이용해 더 많은 다른 자산(underlying assets이라 하는거 보니 예차된 자산)으로 바꿀 수 있다고 한다. 즉, 대출 이자를 받으려면 그냥 cToken을 홀딩하면 된다고 한다.

     그니까 이더리움 같은 자산을 예치하면 유저는 자산을 예치했다는 증표인 cToken을 받는 것 같고, 그냥 가지고 있으면 이자가 발생하면서 나중에는 더 많은 이더리움으로 바꿀 수 있다는 모양이다.

     백서에는 친절하게 기본적인 유즈 케이스에 대해서도 설명해주는데, 다음과 같다.
    이더나 어떤 토큰을 장기 투자하려는 사람들은 추가적인 수입을 위해 컴파운드를 이용할 수 있다고 한다. 예를 들어, Augur 토큰 홀더는(장투하고 싶은 사람) 컴파운드에 Augur를 공급하면 1) 따로 자산을 관리하지 않고 2) 특별한 리스크 관리 없이도 꾸준한 이자를 받을 수 있다.

    2. Borrowing Assets
     컴파운드는 프로토콜에서 마찰없이(frictionlessly) 자산을 빌려즈는데, 이 때 cToken을 담보로 한다. 각 마켓은 담보 비율이 정해져있는데, 범위는 0~1까지라고 한다. 즉 담보 비율이 100%면, 내가 맡긴 담보 만큼의 자산을 빌려준다는 뜻일 것이다.(경험상) 대신 이건 너무 위험하니 보통 50%정도의 자산만 대출 받는 경우가 흔하다. 왜냐면 담보 청산 리스크가 있기 때문에..

     이 생각을 하는 참에 바로 뒤에 관련 얘기가 나온다. "Illiquid, small-cap assets have low collateral factors; they do not make good collateral, while liquid, high-cap assets have high collateral factor.", 즉 소형 자산(이라고 썼지만 대충 마켓 캡이 작거나 변동이 심한 자산을 말하는 것 같다)은 담보 비율을 적게 잡고, 대형 자산은 담보 비율을 높게 잡아도 된다는 것. 그리고 한 계정의 underlying token balances, 즉 담보로 잡은 토큰 잔고와 담보 비율(collateral factors)을 곱한 것을 유저의 borrowing capacity라고 한다. 예를 들어, 내가 100달러 만큼의 cToken을 담보로 맡기고, 50달러 만큼의 이더를 대출했다고 하면, 나의 borrowing capacity는 100달러 * 0.5 = 50달러가 될 것이다. 써놓고 보니까 그냥 이만큼 대출했다는 뜻이네...

    Risk & Liquidation
     고렇다면 컴파운드에는 어떤 리스크가 있을까, 백서에서도 미리 리스크에 대해 설명해주고 있다. 먼저 유저의 대출금액(borrowing)이 borrowing capacity을 넘어섰을때, 초과분을 다시 갚아야만 한다. 말만 들어서는 잘 이해가 되지 않으니까 한번 예를 들어보자.(혼자 상상예제라 틀린 부분이 있을 수 있음!)

     위의 예제 처럼 100달러 만큼의 cToken을 담보로 맡기고, 50달러 만큼의 이더를 대출했다고 하자. 좀 더 쉬운 이해를 위해 1 cToken = 2달러, 1이더 = 50달러라고 가정해보자. 나는 총 500 cToken을 맡기고 1이더를 대출받은 것이다. borrowing capacity는 50달러이다. 만약 cToken이 떡락해서 1 cToken = 1달러가 됐다고 생각해보자. 이제 내 담보가치는 50달러가 된다. (50 cToken * $1) 여기까지는 borrowing capacity = borrowing이니까 뭐 그렇다 치자.

     여기서 cToken 가격이 더 내려가면 어떻게될까? 그러면 내가 담보로 맡긴 가치가 너무 떨어져서 시스템에 위험이 생긴다. 그래서 유저는 빌린 자산의 일부를 현재 cToken의 가격보다도 더 싼 가격으로 계산하여 cToken과 교환해야 한다. 예를 들어, cToken이 0.9달러가 돼서 borrowing capacity < borrowing이 돼버린 경우, cToken을 0.9달러보다 더 싸게 쳐서 갚아야 한다는 뜻인것 같다. 언뜻보면 뭔가 패널티 같아보이는데, 시스템에 존재하는 차익거래자(Arbitrageur)들이 이 cToken을 받아먹도록 하는 일종의 인센티브 구조라고도 볼 수 있는 것 같다. 따라서 담보 가치가 낮아진 채무자들도 자산의 일부를 갚도록 하여 담보 비율을 유지할 수 있고, 차익거래자들은 cToken을 더 싼 가격에 살 수 있으니까 시스템이 유지될 수 있는 구조라고 설명하는 것 같다. 물론 제정신(?)이라면 아마 담보 비율 깨지기 전에 추매를 하던지, 갚아서 청산하던지 할테지만...

     청산 과정에서 cToken의 할인 비율(이라고 설명하는게 맞나 싶다)을 closer factor라고 하는 것 같다. 이것 또한 0% ~ 100% 사이에서 결정되며, 청산 과정은 항상 채무자의 borrow capacity가 담보 가치 이상으로 유지되도록 반복 작동한다.

     

    나머지 백서는 이자를 나눠주는 경제적 모델과 컨트랙트 설명인데, 일단 첫 포스팅에서는 한번 쓱 흝어보는 식으로 작성해봤다. 컴파운드에 대한 컨셉만 대~충 알고 보는거라 틀린 내용이 있을 수 있는데, 댓글 환영합니다^^ 다음 포스팅에서는 이자 모델은 건너 뛰고, 컴파운드 컨트랙트들을 한번 뜯어보려고 한다.

    댓글

Designed by Tistory.