[Alchemix series] 1. Alchemix 톺아보기

Changwoo Nam
Decipher Media |디사이퍼 미디어
9 min readFeb 12, 2022

서울대학교 블록체인 학회 Decipher의 Researcher인 남창우, 조민규가 Alchemix Protocol에 대한 글을 시리즈로 연재합니다.

[Alchemix series]

  1. Alchemix 톺아보기
  2. Alchemix 구성 알아보기
  3. Alchemix Review: 현재와 미래

시리즈를 시작하며

Alchemix는 청산 위험 없는 담보 대출 제공이라는 목표를 가지고 기존 Defi에 존재하던 여러 장치들을 창의적으로 결합한 플랫폼입니다. 1편에서는 Alchemix가 작동하는 방식을 전반적으로 알아보고, 기존의 담보대출과 어떤 점에서 다른지를 설명합니다. 2편에서는 Alchemix를 구성하는 여러 장치들(Vault, Transmuter, Farm 등)이 어떻게 작동하는지를 코드 레벨까지 자세히 알아봅니다. 3편에서는 Alchemix의 구조를 비판적으로 분석한 후, 프로토콜이 공개한 로드맵을 통해 나아갈 방향을 다뤄 보았습니다.

https://alchemix.fi/

Alchemix가 약속하는 새로운 연금술

여러분이 은행에서 예금을 하고 그 것을 담보로 대출을 받았다고 해봅시다. 그런데 은행은 절대 여러분의 담보를 강제 청산하지 않는데다, 시간이 지남에 따라 은행이 스스로 여러분의 대출금을 갚아준다고 생각해 봅시다. 이런 말도 안 되는 대출 상품이 존재할 수 있을까요? Alchemix는 이를 기존 Defi 서비스들을 레고 블락처럼 조립하여 구현해 냈다고 주장합니다.

렌딩 프로토콜과 청산의 위험

Alchemix를 본격적으로 알아보기 앞서, 기존 렌딩 프로토콜들의 기본 구조를 리뷰하겠습니다.(주로 컴파운드를 참조했습니다.) 예컨대 ETH를 장기 보유하려는 사람이 지금 당장 DAI를 사용하고 싶지만, ETH에 대한 현재 포지션은 유지하고 싶다면, 렌딩 프로토콜을 활용해 ETH를 담보로 맡기고 일정 비율로 DAI를 대출받아 사용할 수 있습니다. 대출을 받고 시간(블락)이 지남에 따라 담보물의 일부가 조금씩 이자비용으로 빠져나갑니다. 그리고 빌린 DAI를 상환하면 이자로 지불한 비용을 제외한 담보물을 되찾을 수 있습니다.

만약 담보물의 가치가 급락하여, 대출금이 담보물 가치를 상회하게 되었다고 해봅시다. 이 때 유저가 대출금을 상환하면 대출금보다 더 적은 담보물을 가지게 되므로, 유저는 상환을 하지 않고 프로토콜을 떠납니다. 그러면 프로토콜은 (대출금-담보물)만큼의 손해를 보게 됩니다.

프로토콜은 이런 일이 발생하지 않게 하기 위해서, 대출금/담보물의 가치 비가 일정 비율 위로 올라가면 해당 담보물을 강제로 매각하여 유저가 대출해간 토큰을 스스로 되찾아가 버립니다. 이를 청산이라 합니다. 지금까지의 모든 렌딩 프로토콜들은 모두 청산의 위험에 항시 노출되어 있었고, 이는 주로 중앙화 거래소를 이용하는 다수 토큰 홀더들에게 렌딩 프로토콜이 파급되는 데 큰 제약이 되었습니다.

청산의 두 가지 요인

청산에 대해 좀 더 자세히 살펴보겠습니다. 대출금/담보물의 가치 비가 일정 비율 위로 올라가서 청산이 발생하는 데는 두 가지 경우가 있습니다.

  1. 원 담보물의 토큰당 가격이 떨어진다.
  2. 시간이 오래 지나서 이자비용이 누적되어, 대출금/담보물 = ‘빌려간 토큰의 가치 / 이자를 제한 담보물의 가치’의 비율이 커진다. 분모가 줄어들었기 때문이다.

첫번째 경우에 관하여 청산이 발생한 근본적인 이유는 담보물로 맡긴 토큰과 대출을 받아간 토큰의 가격이 시간이 지남에 따라 다르게 변화하기 때문입니다. 만약 담보로 맡긴 토큰과 대출받은 토큰의 가치가 페그되어 있다면 어떨까요? 해당 토큰의 단위당 가치가 시장 변동에 의해 변화할 수는 있을 지언정, 담보물과 대출금의 가치 ‘비율'은 변동할 수가 없습니다. 이들의 가격이 똑같이 움직이기 때문입니다. 사실 이는 기존 렌딩 프로토콜에서 스테이블코인을 담보로 맡기고 같은 스테이블코인을 대출받은 것과 같습니다.

하지만 이 해법도 결국 두번째 경우를 커버하지 못합니다. 계속해서 담보대출 상태를 유지한다면 이자비용이 담보물의 가치를 야금야금 갉아먹어, 결국 청산에 이를 것이기 때문입니다. 심지어 렌딩 프로토콜은 변동 이자율이기 때문에 청산 시점을 미리 예측하는 것도 어렵습니다.

좀 더 기술적인 설명은 맨 아래 부록에 따로 떼어놓았으니 참조 바랍니다.

Alchemix에는 청산이 없고 오히려 대출자에게 이자 수익이 쌓인다

결국 완전히 청산을 없애기 위해서는 아래와 같은 2가지 조건을 모두 만족시켜야 합니다.

  1. 담보 토큰과 대출받는 토큰의 가치를 페그시켜야 한다.
  2. 대출자에게 이자비용을 부과하지 않아야 한다(가능하면 오히려 이자수익을 주는 것이 좋다).

Alchemix는 렌딩 프로토콜 컨트랙트 내부에 수동적으로 쌓여있는 담보물을 적극적으로 활용함으로써 해법을 찾았습니다. 담보물 토큰들을 다른 Yield Aggregator에게 맡겨서 생긴 이자 수익을 바탕으로 alUSD라는 자체 스테이블코인을 발행하고, 대출금으로 이 alUSD를 지급하는 것입니다. 만약에 스테이블코인을 담보물로 맡기고 자체 스테이블 코인인 alUSD를 대출받는다면, 1번 조건인 담보 토큰과 대출받는 토큰의 가치 페그가 충족됩니다. 또한 예치자가 프로토콜에 예금한 토큰을 대출자가 빌려가서 이자 비용을 내야 하는 것이 아니라, 오히려 Yield Aggregator에서 발생하는 이자 수익을 대출자가 프로토콜의 정책에 따라 나눠가질 수 있으므로 2번 조건 역시 충족됩니다. 따라서 청산이 없으며 스스로 대출금을 갚아나가는 프로토콜이 가능해집니다.

이를 기술적으로 구체화하면 다음과 같은 형태를 띠게 됩니다.

https://alchemix.fi/

1.대출자는 Vault contract에 DAI를 담보로 맡기고, 담보 비율 50%를 유지하는 한도 내에서 alUSD를 대출해간다.

2. 프로토콜은 Vault에 예치되어 있는 DAI를 Yield Aggregator(yearn Finance)에 맡기고, 이자수익으로 얻게 된 DAI는 Transmuter로 넘긴다.

3.유저가 alUSD를 Transmuter에 staking해 놓으면,­ Yield Aggregator에서Transmuter까지 계속해서 흘러들어오는 이자 수익(DAI)이 staking된 alUSD와 교환된다.

https://www.coingecko.com/en/coins/alchemix-usd

물론 3의 과정이 잘 이루어지는 것을 커뮤니티가 확인하여 alUSD가 DAI를 줄 수 있는 토큰이라는 신뢰를 가질 수 있게 된다면, 굳이 Transmuter에 staking하지 않더라도 유저들이 외부의 Dex나 Cex에서 alUSD와 스테이블 코인을 1:1로 거래할 수 있을 것입니다. 위의 가격 그래프에서 보실 수 있는 것과 같이 2021년 5월에 서비스가 안정화된 이후로 줄곧 페그를 안정적으로 유지하는 것을 확인할 수 있습니다.

어떻게 보면 alUSD는 transmuter에서 DAI로 점차 전환되는 채권이라고 볼 수 있습니다. 거래소에서 alUSD를 팔아 DAI를 사는 것은 채권시장에서 채권을 팔아서 현재 가치로 할인된 현금을 쥐는 것과 비슷한 것이죠. alUSD가 별도의 할인율 없이 1달러에 페깅되어 있는 것은 alUSD의 유동성이 튼튼하기 때문에 레거시 금융에서 초단기채권이 0% 이자율로 거래되는 것과 같은 것으로 이해할 수 있습니다.

위에서 설명한 1)Vault와 2)Transmuter 외에도 프로토콜 이코노미를 잘 작동시키기 위해서 Aggregator 수익의 10%를 쌓아두는 3)Treasury, 거버넌스 토큰/alUSD/DAI 간의 AMM 풀을 제공하는 4)Farm 등이 존재하고 있습니다. 구체적인 사항은 다음 시리즈에서 확인해보실 수 있습니다.

*부록: 기존 렌딩 프로토콜의 이자를 고려한 청산 방식

기존 렌딩 프로토콜들(컴파운드 등)에서 ETH를 담보로 DAI를 대출받을 때는 다음과 같은 방식을 따릅니다.

  1. ETH를 컨트랙트에 넣어서 cETH를 발행받음
  2. cETH를 컨트랙트에 다시 넣어서 DAI를 대출받음

실제 컨트랙트에서 담보물로 작동하는 것은 cETH입니다. cETH의 가치는 ETH 의 가치에 cETH/ETH의 교환비를 곱한 것입니다.

cETH는 시간이 지날수록 더 많은 ETH와 교환받을 수 있습니다. 이는 프로토콜에 ETH를 맡겨놨기 때문에 얻는 예금 수익이라 할 수 있습니다. 하지만 cETH를 담보로 맡기고 DAI를 빌렸을 때는 이자 비용을 내야 합니다. 이 때 빌리는 이자 비용은 빌려줬을 때 얻는 이자 수익보다 일반적으로 더 큽니다. 은행이 예금 이자보다 더 높은 이자율로 대출해주고 그 예대마진을 수익원으로 삼는 것처럼, 프로토콜이 유지되기 위해서는 빌려갈 때의 이자가 더 커야만 합니다.

위의 예시에서 DAI 대출의 이자비용이 cETH와 ETH의 교환비가 커져서 얻는 평가 상의 이익보다 크기 때문에, 담보 대출 상태를 유지하게 되면 점차 이자 비용이 누적됩니다. 이 이자 비용은 나중에 담보대출을 상환할 때 정산하게 됩니다.

만약에 유저가 빌려간 DAI의 가치가 이자 비용을 지불하고 난 ETH의 가치보다 많게 된다면 어떨까요? 유저는 DAI를 상환하지 않는 것이 더 이득이므로 프로토콜을 떠나게 됩니다. 그리고 유저가 본 이득만큼 프로토콜은 손해를 보게 됩니다. 프로토콜은 이러한 상황을 막기 위해서, ‘대출금 가치 /(담보물 가치 — 이자 비용)’의 비율이 일정 비율 이상으로 올라가면 선제적으로 담보물을 팔아버립니다.

또한 이 때의 이자율은 변동 금리기 때문에, 프로토콜 상에서 이자율이 치솟는다면 청산 시점은 앞당겨질 수 있습니다. 이처럼 기존 렌딩 프로토콜에서는 담보물의 가치 하락뿐만이 아니라 이자비용의 누적 및 이자율 변동의 리스크까지도 청산의 위험을 만들어내게 됩니다.

--

--