[스테이블 코인 시리즈] 제2편 메이커다오(MakerDAO), 가격 안정성을 다오!

쉽게 풀어쓴 MCD 런칭 후 메이커다오(MakerDAO)의 거의 모든 것

--

서울대학교 블록체인 학회 디사이퍼(Decipher)에서 스테이블 코인에 대한 글을 시리즈로 연재합니다. 시리즈의 첫 번째 주제로 MakerDAO 프로젝트를 분석했습니다.

스테이블 코인의 개념에 대해 익숙하지 않은 분들은, 앞선 글 ‘[스테이블코인 시리즈] 제1편 스테이블코인, 과연 정말 스테이블 할까?’를 참고하시기 바랍니다.

[디사이퍼 스테이블코인 시리즈]

— 제1편 스테이블코인, 과연 정말 스테이블 할까?
— 제2편 MakerDAO, 가격 안정성을 다오!
— 제3편 Terra, 새로운 스테이블코인 시대의 개막
— 제4편 테더(Tether), 비트코인보다 더 많이 거래되는 스테이블코인!
제5편 USDCoin은 어떻게 대표적인 디지털 달러로 성장할 수 있었을까?

본 글은 서울대학교 블록체인 학회 디사이퍼의 연구 결과물이며, 절대 상업 목적으로 공유 및 배포하실 수 없습니다. 개인 학습 목적의 공유는 언제든지 환영하며, 궁금한 점이나 피드백이 있으신 경우 decipher.operation@gmail로 연락 주시기 바랍니다 🙆🏻‍♂️

[목차]

  1. 들어가며
  2. Chapter 1. DAI 가격, 어떻게 스테이블 한가?
    - DAI와 MKR 소개
    - DAI의 발행과 Vault
    - MakerDAO 생태계와 구성원들의 역할
    - MakerDAO는 누가 어떻게 의사결정하는가?
    - DAI 가격 안정화 메커니즘
  3. Chapter 2. DAI는 정말로 지금까지 가격 안정성을 유지해왔을까?
    - DAI 가격 안정성 history 분석
  4. Chapter 3. DAI 지금 이대로 괜찮은가?
  5. 현황
  6. 마치며

들어가며

암호화폐의 가치를 안정적으로 유지하는 가장 확실한 방법은 ‘법정화폐담보’ 방식이다. 법정화폐담보 방식이란, 한 재단(주체)에서 보유한 달러화만큼 암호화폐를 발행하는 것이다. 하지만 이러한 법정화폐담보 방식은 결국 중앙화된 주체인 재단에서 암호화폐의 발행량을 조작할 수 있다는 비판에 직면하고 있다. 이는 탈중앙화된 운영방식을 지향하는 블록체인의 철학과는 잘 맞지 않는 방법이다.

디사이퍼 스테이블 코인 시리즈의 첫 분석 대상으로 Tether나 USDC 같이 거래 규모가 큰 스테이블코인이 아닌 MakerDAO를 선택한 이유는 이러한 배경에서 비롯되었다. MakerDAO는 암호화폐를 담보로 운용하며 탈중앙화된 방식으로 스테이블코인 시스템을 운영하고 있다. MakerDAO는 2017년 12월에 백서를 공개하며 시작된 프로젝트로, 이더리움 블록체인 플랫폼을 기반으로 스테이블 코인을 운영하고 있다. 특히, MakerDAO는 재단을 신뢰할 필요 없이 투명하게 기록되고 관리되는 스테이블 코인과 거버넌스를 목표로 한다.

그럼 본격적으로 MakerDAO가 어떻게 스테이블하고, 과연 정말 스테이블한지 알아보도록 하자.

📌 Notice : MakerDAO는 최근 (2019년 11월 18일) MCD(Multi Collateral DAI), 즉 다중담보 DAI를 출시하며 시스템을 업데이트하였습니다. 따라서 기존에 사용되던 개념 및 용어에도 변경사항들이 존재합니다. 이번 글은 업데이트 이후 MakerDAO에 초점을 맞춰 작성된 글이라는 점을 참고해주시기 바랍니다.

Chapter 1. DAI 가격, 어떻게 스테이블한가?”

스테이블 코인 DAI와 MKR

MakerDAO 생태계에는 총 두 가지 토큰이 존재한다. 각각의 토큰은 사용처도, 가치도 다르게 만들어졌다. 그렇다면 MakerDAO는 왜 스테이블 코인인 DAI만 발행하지 않고, MKR이라고 하는 토큰까지 발행한 것일까? 각각에 대해 좀 더 자세히 알아보도록 하겠다.

  • MKR
    MakerDAO 시스템에는 DAI 외에도 거버넌스에 활용되는 MKR 토큰이 있다. 스테이블 코인은 아니며, 해당 코인을 보유한 사람들은 시스템의 의사결정에 참여할 수 있다. 최소담보비율, 안정화 수수료율 등 각종 지표를 설정하는 투표에 참여할 수 있으며 시스템의 다양한 부분의 모니터링을 수행한다. MakerDAO에서 MKR토큰을 발행하는 이유는 이렇듯 탈중화된 방식으로 거버넌스를 유지하기 위한 것이다.
  • DAI
    DAI는 MakerDAO의 스테이블 코인으로, $1에 soft-pegged 되어있는 ERC20 토큰이다. 뒤에서 더 자세히 설명하겠지만, 누구든지 MakerDAO의 Vault를 통해 DAI를 생성할 수 있다.

DAI의 발행과 Vault

본격적으로 시작하기 전에, ‘수요, 공급’의 원리에 대해 간단히 짚고 넘어가도록 하겠다. 어떤 상품, 서비스의 가격은 수요와 공급에 따라 결정되는데, 화폐의 가격 역시 수요, 공급의 원리를 따른다.

따라서 DAI가 $1의 가격을 안정적으로 유지하기 위해서는, 통화량 조절이 필요하다.

Source : https://www.toppr.com/guides/economics/market-equilibrium/shifts-in-demand-and-supply/
  • 가격이 $1보다 낮은 경우, DAI의 공급을 줄이거나 수요를 늘리면 가격이 상승한다.
  • 가격이 $1보다 높은 경우, DAI의 공급을 늘리거나 수요를 줄이면 가격이 하락한다.

DAI의 안정화 메커니즘은 기본적으로 위의 간단한 원리에 기초한다. 이러한 메커니즘에 대해 보다 자세히 파헤쳐보기 위해, 먼저 DAI의 공급 방법에 대해서 알아보도록 하자.

자 그렇다면, 과연 DAI는 어떻게 생성되는 것일까?
우선 DAI의 생성에 대해 이해하기 위해서는, Vault에 대한 이해가 필요하다. MakerDAO 팀은 Vault라는 담보를 담는(정확히는 담보와 해당 담보에 대한 정보도 함께 담는) 금고를 통해 DAI를 생성하도록 설계하였다. 이용자는 Vault에 암호화폐를 담보로 맡김으로써 DAI를 생성할 수 있다.

이 과정은 주택담보대출과 유사하다. 은행에서 주택을 담보로 돈을 빌릴 때, 빌릴 수 있는 최대 금액은 주택의 가치보다 적다. 주택의 가격이 어느정도 내려가도 대출 금액보다 가치가 높아야 은행 입장에서는 손해를 보지 않기 때문이다. 마찬가지로 MakerDAO에서도 발행할 DAI의 가치보다 더 많은 담보를 예치해야한다. 이 때에 원하는 DAI보다 최소한 얼마나 더 많은 담보물을 넣어야 하는지를 최소담보비율이라는 수치로 나타낸다. 최소담보비율은 MakerDAO의 거버넌스 시스템에 의해 투표로 정해진다.

현재 MakerDAO 시스템에서 최소담보비율은 150%이며, 1 DAI는 $1의 가치를 가진다. 예를 들어 $150 가치의 ETH를 Vault에 예치하면 최대 100개의 DAI를 받을 수 있다. 실질적으로 사용자는 Vault에 $150의 ETH를 담보로 100 DAI를 빌린것과 같다.

* 최소 담보 비율이란? : 담보비율은 ‘맡긴 담보의 시장가치($)’ / 발행받은 DAI의 가치 *100 (%)를 말한다. 최소담보비율은 DAI 생성을 위해 만족해야 하는 최소한의 담보비율이다. 담보의 시장가치 변화로 인해 담보비율이 최소담보비율 아래로 내려가는 경우, 청산절차가 자동으로 진행된다.

여기서 한 가지 질문이 생길 수 있다.

“ETH의 가격은 시시각각 변하는데, ETH 가치가 크게 떨어지면 담보의 가치가 떨어져서 시스템이 위험해질 수 있는 거 아닌가?”

좋은 질문이다! 😉

위에서 설명했듯이, MakerDAO에는 최소 담보비율(예치한 담보가치($) / 발행받은 DAI가치($))이 존재한다. 현재 Vault를 통해 DAI를 생성할때 적용되는 최소 담보비율은 150%이다.

따라서 담보물의 시장 가격이 하락하여 담보비율이 150% 이하로 떨어질 경우, 해당 Vault의 담보는 강제로 청산과정에 들어간다. 시스템은 해당 Vault에 예치된 담보를 경매에 등록하고, 해당 경매를 통해 받은 금액으로 부채를 청산한다. 이 과정에서 약간의 추가 페널티 수수료가 부과되며, 해당 Vault의 담보는 사라지게 된다. 이렇듯 담보물의 시장 가격 하락으로 인해, 예치한 담보가치가 발행받은 DAI의 가치보다 적어지기 전에 담보를 매매함으로써 시스템의 안정성을 확보한다.

Vault에서 DAI가 발행되는 과정을 단계별로 알아보도록 하자.

  1. 각 개인은 Vat contract를 통해 담보 유형별 Vault를 생성할 수 있다.
  2. 개별 Vault에 담보로 맡기고자 하는 암호화폐를 전송한다. 현재 담보로 수용되는 암호화폐는 ETH, BAT가 있다
  3. 각 사용자는 최소담보비율의 한도 내에서 DAI를 발행할 수 있다.
  4. DAI를 생성할때 필요한 암호화폐의 가격 정보 또한 최대한 탈중앙화된 방식으로 운영되고 있다. 거래 정보를 어느 특정 개인이 입력하는 것이 아니라, 여러 집단에서 입력한 값들의 중간값을 시스템에 반영한다.
  5. 그런데 Vault를 통해 DAI를 생성할 때 주의할 점이 한 가지 있다. 그것은 바로 담보의 가격이 급락해서 담보 비율이 150% 이하로 하락하는 경우, 해당 Vault는 강제로 청산된다는 점이다. 때문에 담보로 맡긴 금액보다 훨씬 적은 금액의 DAI를 생성하여 청산될 가능성을 최대한 낮추는 것을 권장한다.
  6. Vault의 청산 과정에서, 담보물이 경매에 부쳐진다. 상환해야할 가치가(DAI의 양이), 담보물보다 낮은 경우에는 담보물 차액을 원래 주인에게 돌려준다. 반대로 담보물로 상환해야할 가치를 충당할 수 없는 경우에는, 시스템에서 MKR을 발행하고 이를 경매하는 ‘부채경매’를 진행한다. 경매 종료 후 부채경매에서 수취한 DAI를 통해 부족분을 충당한다.
  7. 위의 강제 청산에 해당되지 않는 경우 진행되는 일반 청산 절차는 다음과 같다. Vault 생성자는 자신의 담보로 발행된 DAI와, 일종의 이용 수수료인 Stability Fee를 상환함으로써 예치했던 담보를 돌려 받을 수 있다. 시스템에 반환된 DAI는 소각된다.

해당 과정을 보다 자세히 알고 싶다면 Oasis를 방문해보길 바란다.

MakerDAO 생태계와 구성원들의 역할

MakerDAO 생태계에는 다양한 역할을 가진 주체들이 존재한다. 탈중앙화된 방식으로 운영되는 운영되는 MakerDAO 참여자들의 성격과 역할에 대해 알아보도록 하자.

  1. Users
    MakerDAO 생태계에서 일반 이용자 층은 아래와 같이 (1) DAI Holder와, (2) Vault Owner로 분류할 수 있다.

    (1) DAI Holder : 안정적인 가격을 유지하는 암호화폐를 필요로 하는 사람. MakerDAO 시스템에 대한 구체적인 지식은 갖고 있지 않아도, 암호화폐 거래소를 통해 쉽게 DAI를 취득할 수 있다.
    ex) 암호화폐 거래소에서 1 DAI를 $1에 구매한 Ben

    (2) Vault Owner : Vault 생성을 통해 암호화폐를 담보로 맡기고 DAI를 발행받는 사람. Maker DAO 시스템의 작동원리 및 암호화폐에 대해 어느 정도의 지식이 필요하다. 이들이 Vault를 이용하는 가장 큰 이유는 ‘레버리지 효과’ 때문이라 할 수 있다. 대부분의 경우 ETH(와 같은 암호화폐 )의 가격상승을 기대하고, ETH를 담보로 맡긴 뒤 Vault 생성을 통해 DAI를 발행받는다. 그리고 발행받은 DAI를 ETH로 바꾼뒤 또 다시 Vault를 생성하고, 이 작업을 반복적으로 수행한다.

    즉, 1 ETH로 100 DAI를 발행받으면, 100 DAI로 또 다시 ETH를 구입하고, 또 DAI를 발행받고… 이 과정을 거쳐 ETH의 가격 상승을 통해 얻을 수 있는 수익률을 극대화 하는 것이다.
    ex) 1 ETH를 맡기고 생성한 100 DAI로, 다시 ETH를 구매한 Robbie
  2. Governor
    MakerDAO 시스템의 안정적인 운영을 위해 활동하는 참여자들이다. Governor는 크게 (1) MKR Holder와 (2) Risk Team으로 분류된다.

    (1) MKR Holder : MKR 보유를 통해 의사결정에 참여할 수 있는 사람. 시스템에 대한 비교적 깊은 이해와 지식이 요구된다. 기본적으로 MKR 토큰의 가치는 시스템과 직접적으로 연결되어 있다. 따라서 MKR Holder들은 시스템의 안정적인 운영 및 발전을 위해 올바른 의사결정을 내리는 이해관계자들이라고 볼 수 있다.

    (2) Risk Team : MakerDAO 시스템 관련 데이터를 수집하여, 담보 포트폴리오 혹은 적절한 통화 정책 등과 관련된 risk model을 개발한다. 해당 리스크 모델로부터 각 담보물(ETH, BAT, 또는 새로운 후보 담보물들)에 대해 아래와 같은 4개의 리스크 파라미터들을 산출하여 MKR Holder들에게 제출하고, 이는 투표를 통해 시스템에 반영된다.

    - stability fee: MakerDAO 시스템을 이용하는 일종의 수수료다. 최소담보비율 이상으로 담보비율이 잘 유지되어 Vault에 생성한 부채를 청산하는 경우, 발행받은 DAI와 더불어 (발행받은 DAI) * (Stability fee %)를 함께 상환해야한다. 또한, 강제청산의 경우에도 stability fee는 수취된다.

    - liquidation ratio: 시스템의 강제청산이 시작되는 비율을 말한다. 담보물의 시장 가치가 발행받은 DAI 가격의 청산비율 아래로 떨어지는 경우 강제청산이 시작된다. 최소담보비율과 같은 의미로 사용되며, 현재 ETH, BAT 모두 청산비율(최소담보비율)은 150%이다.

    - liquidation penalty: 일반 청산과 달리, 강제청산인 경우 발생하는 추가적인 수수료(벌금)이다. 이렇게 수취된 DAI는 MKR을 구매하여 소각하는데 이용된다.

    - debt ceiling: 특정 담보 유형별로 시스템에서 발행될 수 있는 DAI의 최대 한도를 말한다. 현재 ETH의 Debt Ceiling은 7500만개이고 BAT의 Debt Ceiling은 300만개이다.
  3. 그 외
    (1) Oracles
Source : https://docs.makerdao.com/maker-protocol-101

담보물의 가격은 체인 외부로부터 가져와야 한다. Oracle은 체인 외부의 시장에서 담보물의 가격을 가져오는 시스템이다. MakerDAO에서 Oracle 시스템은 크게 Offchain과 Onchain으로 나뉜다. Oracle version 2는 최대한 많은 참여자들이 저렴한 비용으로 빠르게 가격을 기록하는 것을 목표로 설계하였다.

Offchain

  • Broadcasters : 거래소의 데이터를 수집한 후 전자서명을 한 후 가십 네트워크*에 전파한다.
  • Omnia Relayer Network(Feed) : 전파된 메시지를 하나의 트랜잭션으로 만들어 onchain으로 전파한다.

* 가십 네트워크란 소문이 퍼지는 것과 비슷한 방식으로 P2P 커뮤니케이션이 이루어지는 네트워크의 종류다.

Onchain

  • Medianizer : Relayer로부터 받은 가격들을 종합하여 중간값을 반환한다.
  • Oracle Security Module(OSM) : 반환된 중간값이 실제 시스템에 반영되는 시간을 늦추는 역할을 한다. 거버넌스가 해당 오라클 값이 잘못됐을 경우 대응할 수 있는 시간을 벌어준다.

가격이 반영되는 흐름은 다음과 같다. 기존 버전 Oracle에서는 Feed라는 컨트랙트로부터 가격 정보를 받아왔다. 하지만 다중담보다이로 버전이 업그레이드 되면서 방식이 바뀌었다. 지금은 Relayer Network가 여러 개의 Offchain 가격 정보를 묶어서 한번에 Medianizer에게 전달한다. Medianizer는 묶음으로 온 정보가 유효한 오라클로부터 나온 것인지 서명을 검증하며, 또한 받은 정보가 최신 정보인지 등을 확인한 후 가격 정보를 업데이트한다. 마지막으로 OSM이 Medianizer로 부터 받은 정보를 일정시간 지연 후 실제 시스템에 반영한다. 현재 지연시간은 한시간이다.

Oracle version 2는 조금 더 탈중화된 방식으로 운영할 계획을 가지고 있다. 이미 5개의 기관(*dYdX, 0x, Maker, Set, Gnosis)에서 MakerDAO의 price oracle 역할을 하고 있다. 현재 Maker 프로토콜에 Feed가 추가되는 방식은 공식적으로 정해진 바가 없다. 다만 2019년 10월 7일에 Oracle Team Mandate은 Interim Oracle Team에게 피드와 거버넌스 사이의 중개자 역할을 할 책임을 부여했으므로, 곧 피드 추가 방식이 좀 더 명확하게 밝혀질 것으로 보인다.

Source : https://makerdao.com/en/feeds/

(2) Keeper : MakerDAO는 시스템을 안정화시키기 위해 외부 에이전트들에게 인센티브를 주어 활동하게 하는데, 이 외부 에이전트들을 Keeper라고 명한다. Keeper들은 보통 자동화된 봇들이고, 여러 유형의 Keeper들이 존재한다. 각각에 대해 좀 더 상세하게 살펴보도록 하자.

1) Auction Keeper : 시스템의 재무상태가 안정적으로 유지되기 위해서는 채무와 잉여금 둘 모두 특정 한도를 넘어서는 것을 방지해야 한다. 그리고 Auction 시스템과 Auction Keeper들이 이 일을 수행한다. 경매에는 잉여금 경매(Surplus Auction), 담보 경매(Collateral Auction), 부채 경매(Dept Auction)가 있고, 키퍼들은 각 경매를 시작시키고 bidding함으로서 차익거래 기회를 얻는다.

  • 시스템이 안정적으로 유지될 경우 Vaults로 부터 수집된 stability fee를 통해 DAI 잉여금이 발생한다. stability fee로 발생한 순 잉여금이 특정 한도에 도달할 때마다, DAI 잉여금은 외부 참여자(Keeper)에게 경매된다(Surplus Auction). 그리고 외부 참여자들은 그 대가로 MKR을 지불한다. 이후 해당 MKR은 소각되어 시장에 유통되는 MKR의 양이 줄어든다.
  • MakerDAO는 overcollateralization(초과 담보)을 통해 과도한 부채 생성으로부터 시스템을 보호한다. 이상적인 상황에서 올바른 risk parameter들을 사용하면 개별 Vault의 부채는 해당 Vault에 예치된 담보로 지불할 수 있다. 해당 담보의 가격이 더이상 Vault가 필요로하는 최소담보비율을 유지하지 못하는 지점으로 떨어지면, 시스템은 Vault의 부채(및 청산 페널티)만큼 강제로 담보를 경매에 부쳐 매각한다. 이 과정을 담보 경매(Collateral Auction)라고 부른다.
  • 담보가격이 급격히 떨어지거나 담보를 사려는 사람이 없을 때, 청산된 Vault에는 담보 경매를 통해 상환할 수 없는 부채가 있을 수 있으며, 반드시 시스템에 의해 처리되어야 한다. 첫 번째 방법은 이 부채를 충당하기 위한 잉여금이 있다면 안정수수료에서 나오는 잉여금을 이용하여 충당하는 것이다. 만약 없다면, 시스템은 부채 경매(Debt Auction)를 개시한다. 부채 경매는 시스템이 MKR을 발행하여 이를 경매에 부치고, 낙찰자는 DAI를 그 대가로 지불하는 형태로 이루어진다. 이를 통해 시스템은 DAI를 회수하여 Vault 부채 청산 부족분을 충당한다. 한편, 이 과정에서 유통 중인 MKR의 양은 늘어나게 된다.

2) Market Maker Keeper : DAI 가격이 Target Price로 장기적으로 수렴할 것이라는 기대를 가지고 스프레드, 최대 계약 등의 매개 변수들을 사용하여 DAI 마켓이 존재하는 여러 거래소(OasisDEX, EtherDelta 등 탈중앙화 거래소 뿐만 아니라 Okex, Kraken 등 중앙화 거래소)들에 일련의 주문을 생성하는 외부 참여자들이다.

3) Cage Keeper : Emergency Shutdown* 과정은 DAI 시스템에서 활동하는 모든 타입의 유저들이 참여한다. Cage Keeper는 이런 참여자들의 활동을 도와주는 역할을 한다. 이에 대한 자세한 설명은 여기에서 확인할 수 있다.

* Emergency Shutdown이란? : 담보물 가치의 급격한 하락으로 시스템이 Undercollateralized 될 매우 큰 위기에 처했을 때. 혹은 해킹이나 컨트랙트 상의 이슈가 발견되어 시스템 전체에 문제를 야기할 수 있는 경우, MKR 투표권자들에 의해 시스템 전체를 중지시키고, 시스템에 예치된 담보를 각자의 몫에 맞게 DAI 보유자 및 Vault에 담보를 예치해놓은 이용자에게 돌려주는 최후의 청산 절차를 말한다.

Source : https://docs.makerdao.com/keepers/cage-keeper

MakerDAO는 탈중앙화된 커뮤니티로, 각 role에 필요한 지식만 갖추고 있다면, 누구나 특정 role에 참가할 수 있고, 한 사람이 복수의 역할을 할 수가 있다. 다만, Oracle과 같은 경우에는 MKR holder들의 지명을 받을 필요가 있다.

MakerDAO는 누가 어떻게 의사결정하는가?

탈중앙화 시스템에서는 어떤 주체가 어떤 의사결정 방식으로 시스템을 운영하는지에 대해 이해하는 것이 중요하다. MakerDAO는 투표를 통해 의사결정을 하게 되고 실제로 시스템을 변경한다. 그렇다면 투표는 어떤 방식으로 진행될까?

[용어 정리]

  • Chief : MKR 홀더들이 투표를 할 수 있도록 도와주는 컨트랙트
  • IOU: Risk Premium Rates, Base Rate and Savings Rate 등을 정하는 투표를 할 수 있는 토큰(아직 적용되어있지 않음).
  • Proposal Object : 투표를 통해 뽑히는 이더리움 address. 이 address는 Maker protocol의 관리자 권한을 얻게 된다. Proposal Object의 종류는 아래와 같다.
  • Spell: 한 번에 1개의 정책을 바꾸는 특수한 컨트랙트. 한번만 실행가능.
  • MegaSpell: 한번에 여러 개의 정책을 바꾸는 특수한 컨트랙트. 한번만 실행가능.
  • Multi-Signature Contract: 다중 서명 컨트랙트.
  • EOA (Externally Owned Account) : 이더리움 지갑 address.
  • Slate : 투표의 단위. 한번에 1개 또는 여러 개의 Proposal Object를 선택할 수 있다.

투표는 다음과 같이 진행된다.

  1. MKR 홀더들이 MKR를 Chief 컨트랙트에 lock 한다. Chief는 IOU토큰을 발행해 준다.
  2. MKR 홀더는 lock한 MKR만큼 Slate에 투표를 할 수 있다. 예를 들어 내가 원하는 안건이 들어있는 Slate를 지정하여 지분만큼 투표한다.
  3. Proposal Object는 여러 Slate에 속해있을 수 있다. 속해 있는 모든 Slate가 받은 투표의 합이 가장 큰 Proposal Object가 뽑히게 된다. 이 때에 Chief에 lift 함수를 호출한다. 이 순간, Chief의 hat이라는 변수에 해당 Proposal Object의 주소가 저장된다.
  4. Pause 컨트랙트는 선택된 Proposal Object가 일정 시간 후에 시스템에 반영될 수 있도록 돕는다. 딜레이를 주는 이유는 혹시 잘못된 선택을 했거나 공격을 받았을 때에 되돌릴 수 있는 시간을 벌기 위함이다.
  5. Mom이라는 시스템 인터페이스를 통해 Proposal Object가 실제 시스템에 반영된다.

실제로는 https://vote.makerdao.com/ 라는 홈페이지를 통해 쉽게 voting이 이뤄지도록 만들어놓았다.

위에 있는 안건들은 전부 Spell이라는 컨트랙트 형태로 제안되어있다. Chief 컨트랙트는 여기에서 확인할 수 있다. 현재(12.8.2019) 마지막으로 반영된 Spell은 이것인데, Dept ceiling(DAI의 최대 발행량)의 조정에 대한 Spell이였다.

DAI 가격 안정화 메커니즘

이제 본격적으로 DAI의 구체적인 가격 안정화 메커니즘을 살펴보자. 그리고 다시 한번 상기하자. DAI의 공급을 줄이면(혹은 수요를 늘리면) 시장 가격이 상승하고, DAI의 공급이 늘어나면(혹은 수요를 줄이면) 시장가격이 낮아지는 기본적인 원리를!

1. Vault 생성자들의 활동으로 인한 안정화

DAI의 시장 가격이 $1에서 벗어났다고 생각해보자.
(담보 유형은 ETH를 바탕으로 예를 들어보도록 하겠다)

(1) DAI 시장 가격이 떨어져 $0.8인 경우
DAI 생성에 대한 유인이 감소하는 반면, Vault 부채 청산에 대한 유인이 증가한다. 시장 가격이 $0.8임에도 불구하고, 프로토콜 내에서 DAI의 가치는 아직 Oracle 시스템에 의해 반영되기 전이기 때문에 여전히 $1다. 현재 이더리움 1개의 가치가 $150일때, 허니는 1ETH를 맡김으로써 최대 100DAI를 받을 수 있다. 하지만, 이용자가 얻을 수 있는 실제 시장가치는 $80에 불과하다. 따라서, DAI 발행의 유인이 감소한다.

Vault를 생성하고 기존에 DAI를 발행한 사람의 경우, 이전에 $100로 100DAI를 상환함으로써 Vault의 부채를 청산할 수 있었다면 현재 시장가격으로는 $80로 100DAI를 상환할 수 있게 된 것이다. 즉, Vault의 부채 청산에 대한 효용이 증가하는 것이다.

결국 DAI의 새로운 공급은 감소하고, DAI 소각은 증가함에 따라(청산에 이용된 즉, 상환된 DAI는 소각되므로) 전체적인 DAI 공급이 감소한다. 따라서, DAI의 시장가격은 상승하게된다.

(2) DAI 시장 가격이 올라 $1.25인 경우
위와 정 반대의 작용이 일어난다. DAI 발행에 대한 유인이 증가하고, Vault의 부채 청산에 대한 효용이 감소한다. DAI의 시장 가격을 제외하고 모든 조건이 앞선 (1)과 동일하다고 할 때, 허니는 1ETH를 맡김으로써 최대 100DAI를 받을 수 있다. 이 100DAI의 가치는 실질적으로 $125이 된다. 따라서 DAI 발행의 유인이 증가한다.

Vault의 부채를 보유하고 있는 사람의 경우. 기존에 $100로 100DAI를 상환함으로써 해당 부채를 청산할 수 있었다면. 현재 시장가격으로는 $125로 100DAI를 상환할 수 있게 되었다. 즉, Vault 청산에 대한 비용부담이 증가한다. 결국 DAI의 신규 발행은 늘고, DAI 소각은 줄어든다. 따라서 DAI의 시장가격은 하락하게 된다.

2. Emergency Shutdown을 통한 안정화

  • Emergency Shutdown이란?
    담보물 가치의 급격한 하락으로 시스템이 Undercollateralized(담보물의 가치가 부채 금액보다 적어지는 경우) 될 매우 큰 위기에 처했을 때, 혹은 컨트랙트상의 이슈가 발견되거나 해킹으로 인해 시스템 전체에 문제를 야기할 수 있을 때 작동한다. MKR Holder들이 시스템 전체를 중지시키면, 작동된 Emergency Shutdown에 의해 DAI 보유자 및 Vault에 담보를 예치해놓은 이용자에게 각자의 몫에 맞도록 시스템에 예치된 담보를 돌려준다.

(1) Emergency Shutdown이 임박했을 때, Emergency Shutdown에서, 모든 DAI 보유자들은 1DAI 당 $1 가치를 인정 받는다. 따라서 DAI를 $1보다 낮은 가격에 산 사람들은 그 만큼 이익을 보고, 높은 가격에 산 사람들은 손해를 본다. 따라서, Emergency Shutdown이 임박한 경우, 사람들은 $1보다 낮은 가격의 DAI는 사려고 할 것이고(수요가 증가하고), $1보다 높은 가격의 DAI는 팔고자 할 것이다(공급이 증가한다).이 과정에서 DAI의 가격은 $1에 가까워지게 될 것이다.

(2) Emergency Shutdown이 임박하지 않더라도, 미래 어느 순간 Emergency Shutdown이 일어날 가능성이 존재한다. 따라서 사람들은 이에 대한 고려를 함으로써, Emergency Shutdown이 임박하지 않은 상황에도 시장에서는 위와 같은 힘이 작용하게 된다. 다만, 그 불확실성과, 먼 미래의 일이기 때문에, 할인이 적용되어 임박한 경우보다는 더 약하게 작용한다.

3. DAI Saving Rate Adjustment
MCD 런칭 이후 MakerDAO는 DSR(DAI Saving Rate)라는 기능을 제공한다. DSR은 DAI 보유자들이 시스템에 DAI를 예치하면 플랫폼 내에서 이자처럼 보상을 받을 수 있는 기능이다.

DAI의 시장 가격이 $1 미만인 경우, 예치 보상률을 높인다. 이렇게 되면, 사람들이 DAI를 이용하여 예치하고자 하는 비율이 늘어난다. 즉, DAI의 수요가 증가하는 것이다. 따라서, DAI 가격은 상승하게 된다. DAI의 시장가격이 $1 초과인 경우, 예치 보상률을 낮춘다. 예치로 인해 얻을 수 있는 이익이 줄어들면서 DAI의 수요가 감소하게 되고, DAI 가격은 하락하게 된다.

Chapter 2. DAI는 지금까지 정말로 가격 안정성을 유지해왔을까?

DAI 가격 안정성 history 분석

Coinmarketcap의 자료를 참고해보면, 2017년 12월 출시 이후 DAI의 가격은 비교적 안정적으로 잘 유지되어 왔음을 알 수 있다.

  1. 전기 (2017.12 ~ 2018.11)

- ETH 가격 그래프

Source : Coinmarketcap

- SAI* 가격 그래프

Source : Coinmarketcap

*다중담보다이(MCD)로의 변화로 인해, 기존 단일담보다이에서의 DAI는 SAI라는 이름으로 불리고, 현재 DAI라는 이름의 코인은 다중담보다이를 말한다. 다중담보다이는 출시된지 얼마 되지 않아, 해당 가격 메커니즘에 대한 분석은 SAI의 가격 데이터를 이용하고자 한다.

위는 2017년 12월부터 2018년 11월까지의 ETH, SAI의 USD 가격 그래프이다. 해당 기간동안 ETH의 가격 하락폭은 매우 컸다. 약 1400$ 까지 기록했었던 ETH의 가격은 2018년 11월 약 100$까지 떨어졌다. 이는 투기 열풍으로 상승했던 이더리움 가격의 거품이 꺼지면서 발생한 하락이 주 요인으로 보인다. 이런 상황에서도 SAI의 가격 변동은 비교적 안정적으로 유지됨을 두 번째 그래프에서 볼 수 있다.

ETH 가격 그래프와 SAI 가격 그래프를 비교해 보았을 때, ETH의 가격이 짧은 시간동안 크게 변하는 경우 SAI도 크게 요동침을 알 수 있다. 다만 예외적인 가격 변동성을 보이는 경우에도 약 2~3시간 안으로 회복하는 경향을 보았을 때, 비교적 가격 안정성이 잘 유지됨을 알 수 있다.

2. 후기(2018.12 ~ 2019.10)

- ETH 가격 그래프

- SAI 가격 그래프

*세로축 1단위 당 범위가 $0.3로 줄어들었음에 유의하자

전기에 비해서 ETH의 가격, SAI의 가격 모두 변동폭은 비교적 줄어들었던 기간이다. 대부분 기간 동안 SAI의 가격은 $1.05 ~ $0.95 내에서 유지됨을 알 수 있다. 전기와 비교했을 때, SAI의 24시간 거래량이 늘어남을 확인할 수 있다. 시장 참여자가 많아지고 플랫폼 규모가 커지면서, 가격 안정 메커니즘이 좀 더 안정적으로 작용할 수 있었으리라 생각된다.

3. MCD시기 (2019.11 ~ 현재)

- ETH 가격 그래프

- DAI 가격 그래프

*세로축 1단위 당 범위가 $0.1로 줄어들었음에 유의하자

MCD로 바뀐후, DAI의 가격도 현재까지 매우 안정적으로 잘 유지되고 있다, 다만 아직 시간이 오래 지나지 않은 관계로 MCD의 변경 후에도 안정적으로 유지될 지는 좀 더 지켜봐야 할 것으로 보인다.

Chapter 3. DAI, 지금 이대로 괜찮은가?

DAI, 정말로 스테이블한가?

앞서 DAI가 가지고 있는 안정화 메커니즘에 대해서 살펴보았다. 그렇다면 해당 메커니즘의 약점은 없는지, 잠재적인 문제점과 그 한계에 대해서 알아보도록 하겠다.

  1. MKR 51% 공격

MakerDAO 시스템에서는 MKR Holder들의 투표에 의해 새로운 수정사항을 반영한다. 이 수정사항은 누구나 제안할 수 있으며, 가장 많은 투표를 받은 proposal이 채택되어 반영된다. 해당 proposal에 따라 MakerDAO 시스템의 contract는 수정될 수 있다.

문제는 이 과정에서 전체 MKR의 과반에 달하는 MKR 보유자에 의한 악의적 공격 가능성이 있다는 것이다. 다음 시나리오를 보자.

[상황]
- 현재 거버넌스에서 실행된 proposal은 평균적으로 80,000 MKR의 투표를 받는다.
- ‘Bob’은 모든 수단과 방법을 동원해서 약 90,000 MKR을 보유하고 있다고 가정한다.

[공격 시나리오]
1. Bob은 EOA(Eternally owned account)로, Maker에 예치된 모든 Asset을 하나의 주소로 빼올 수 있는 Contract를 생성한다.

2. Bob은 앞서 만든 Contract를 활성화하는 투표를 제안한다.

3. 투표를 제안함과 동시에 본인이 소유하고 있는 90,000 MKR로 해당 안건에 투표를 한다. 앞서 ‘상황’에서 설명했듯이, 현재 거버넌스에서 투표 proposal은 평균적으로 80,000 MKR의 투표를 받고 있기 때문에 90,000 MKR로 바로 투표를 통과시킨다.

4. 현재 12월 8일 기준, Governance의 Delay는 0초이므로, 해당 Tx로 인해 Maker에 있는 모든 Asset은 Bob에게 돌아간다. Delay에 대해서는 아래에서 더 자세히 설명하도록 하겠다.

위와 같은 시나리오는 충분히 가능하다. MKR 토큰을 기반으로 한 투표는 결국 더 많은 MKR을 보유한 사람의 영향력을 키우며, 시장의 과반 이상의 MKR을 보유한 경우 해당 이용자는 독점적으로 시스템에 영향력을 행사할 수 있다. 위와 같은 악의적인 행동이 일어날 수 있는 것이다.

기본적으로 MakerDAO 시스템은 GSM(Governance Security Module)에서 투표반영을 위한 Delay를 두려 한다. 하지만 아직 해당 내용이 제대로 반영되지 않아, Delay는 0인 상황이다. (12월 10일 현재 해당 delay를 0에서 24시간으로 설정하는 투표가 진행되고 있다.) 해당 Delay가 충분히 존재하지 않는 경우, 혹은 위의 시나리오처럼 투표 조작에 의해 영향을 받을 수 있는 경우 시스템의 취약점이 발생할 수 있다.

이를 방지하기 위해서는 커뮤니티의 기능이 중요해진다. 해당 안건들이 통과되었을 경우 야기할 수 있는 문제점은 없는지에 대한 토론을 통해 지속적으로 빠르게 의견을 교류하면서, 대규모 MKR 보유자에 의한 거버넌스 위험이 발생했을 경우 Emergency Shutdown 개시를 통해 피해를 최소화하고 시스템의 안정성을 보장할 수 있어야 할 것이다.

2. 다중담보방식의 한계

DAI는 초과담보를 기반으로 하고 있어, 담보물의 규모를 넘어설 수 없다는 한계를 가진다. 예를들어 100 DAI 발행을 위해 최소한 150$ 가치의 ETH를 담보로 맡겨야 하기에, DAI의 총 발행량은 이더리움의 시가 총액을 넘어설 수 없다. 스테이블 코인의 목표는 가격이 안정적인 암호화폐를 공급함으로써, 더욱 많은 곳에서 안정적으로 이용될 수 있도록 한다는 것을 고려해 보았을 때, 이러한 확장성 문제는 필수적으로 해결되어야 한다. 이를 해결하기 위해 Maker 프로토콜은 여러 종류의 담보를 활용한다.

현재 MCD에서는 ETH와 BAT 두 가지 암호화폐를 담보로 수용하고 있다. 그리고 Augur, USDC 등 여러 ERC-20 토큰들이 거버넌스의 투표를 통해 검토를 받고 있는 상황이다. 이런 다중 담보 방식은 DAI의 확장성 문제를 해결하기 위한 한 방법이 될 수 있지만, 한편 그만큼 시스템의 위험성을 증대시킬 수 있다.

담보로 새롭게 추가될 화폐들은 기본적으로 암호화폐 시가총액 2위인 이더리움에 비해 규모와 거래량이 적고, 변동성은 상대적으로 크기 때문에 안정성이 떨어질 수 밖에 없다.

MakerDAO 역시 이러한 점을 잘 알고있는 듯 보인다. 이는 각 담보유형별 DAI 발행량 한도인 ‘부채한도(Debt Ceiling)’ 수치를 통해 알 수 있다. 이더리움의 부채 한도는 75,000,000인 것에 비해, BAT의 부채한도는 3,000,000에 불과하다. 규모에서 무려 25배의 차이가 난다. BAT 토큰의 위험성을 고려하여 부채한도를 낮게 잡은 것이다.
참조 : https://daistats.com/

담보로 이용할 수 있는 토큰이 새로 추가되더라도 해당 토큰으로 발행할 수 있는 DAI의 한도는 그다지 높지 않을 것으로 보인다. 결국 확장성의 문제를 해결하기 위해 많은 수의 토큰들이 담보로 수용되어야 할 것이다. 이는 시스템의 위험도를 높일 뿐만 아니라, 관리비용을 크게 높인다. 각 토큰들이 안정적으로 시장에서 거래되고 있는지, Emergency Shutdown이 필요한 경우는 없는지 지속적인 모니터링과 투표가 필요하다.

MCD가 출시된지 얼마 되지 않아 명확히 문제를 진단할 수 없는 상황이다. 다만, 앞으로 여러 유형의 담보가 추가되더라도, 탈중앙화된 방법으로 여러 토큰들의 위험도에 대한 관리가 충분히 잘 이루어 질 수 있다는 것이 증명되어야 할 것이다.

이 외에 MakerDAO의 risk로 잘 알려져있는 내용들은 아래와 같다.

  • 담보물의 가격이 대폭 하락한 경우
  • Oracle feed를 조작하는 경우
    MakerDAO에서는 이러한 리스크를 막고자 오라클 정보 입력자를 분산화 했고, 최악의 경우 Governance를 통해 복구할 수 있도록 오라클로부터 정보를 바로 시스템에 반영하지 않고 일정 시간동안 기다린 후 적용한다. 하지만 누가 오라클이 되는지에 대한 규칙이 아직 완성되지 않았고, Governance가 공격을 즉시에 파악해야한다는 단점이 따른다.
  • 스마트 컨트랙트에 보안 취약점이 있는 경우
  • 시스템이 해킹 당하는 경우

각각의 risk들은 DAI의 가격 안정성 뿐만 아니라 MakerDAO 전체 시스템의 안정성에 문제를 야기할 수 있는 요인들이 될 수 있다는 점에서 반드시 해결책이 필요할 것으로 보인다.

MakerDAO 현황

그렇다면 과연 DAI는 실생활에서 어떠한 용도로 사용되고 있으며, 그 활용도가 어느 정도일까?

현재 MCD 채택 이후 DAI의 전체 공급량은 약 45,569,839 DAI 이고, 약 6,518 addresses가 DAI를 보유하고 있다. 또한, 약 110,735의 Transfer가 발생했다. (2019년 12월 7일 기준)

아래는 DAI를 보유하고 있는 address들의 보유량 순위이다. 그 중 눈에 띄는 것은 바로 dYdX Solo Margin, Compound DAI, Bitfinex, HitBTC, KuCoin이다. 우선 dYdX와 Compound는 대표적인 de-fi 서비스들로, 암호화폐를 기반으로 하는 탈중앙화된 금융 서비스이다. 각각의 서비스에서 DAI가 활용되고 있는 비율이, DAI 총 공급량 대비 상당히 높은 것으로 나타난다는 점이 눈여겨 볼 만 한 점이다. 그 외에는 암호화폐 거래소들로, DAI 마켓을 통해 이용자들이 다른 암호화폐를 매수하는 것으로 보여진다.

그런데 앞에서도 언급했듯이, MakerDAO는 지난 2019년 11월 18일에 MCD 다중담보로 업데이트를 진행했기 때문에 아직 기존에 사용하던 스테이블 코인 SAI보다 적은 address를 보유하고 있다.

기존에 사용되었던 SAI의 경우, 전체 공급량은 약 56,632,742 SAI 정도이고 187,615 addresses가 SAI를 보유하고 있으며, 약 2,879,718번의 transfer가 발생했다.

아래는 SAI를 보유하고있는 address들의 총 보유량 순위인데, Compound Sai가 총 SAI 공급량 중 약 20% 육박하는 SAI를 보유하고 있는 것을 알 수 있다.

Compound는 암호화폐 담보대출 서비스로, 대출자는 암호화폐를 담보로 대출을 받아가고 투자자는 은행 예금과 같이 암호화폐를 supply하고 이자를 받을 수 있다. Compound가 지원하는 암호화폐는 현재까지 총 7개 (BAT, DAI, Ether, Augur, USD Coin, Wrapped BTC, 0x)가 있고 실시간 변동 이자율을 제공한다.

Source : Compound

따라서 안정적인 가격이 보장되는 DAI는, de-fi 사용자들에게 실제로 은행 예금을 하는 것과 유사한 경험을 제공한다.

또 한 가지 흥미로운 use case는 일부 DAI Holder들이 DAI가 미국 달러와 pegging 되어있다는 점을 이용해서, 미국 달러의 가치가 상승할 것에 기대하고 암호화폐 거래소에서 DAI를 매수하고 있다는 것이다. 즉, DAI를 USD와 동일하게 보고 DAI를 사들이는 것이다.

예를 들면, 철수는 회사에서 월급을 500만원 정도 받는다. 그런데 그는 원화의 가치는 지속적으로 하락할 것이라고 전망하는 한 편, 달러의 가치는 상승할 것이라고 생각한다. 결국 월급날 당일, 원화로 지급되는 월급을 받자마자 400만원 정도의 DAI를 매수하고 미국 달러에 투자한 것과 동일하다고 생각한다. 왜냐하면 DAI는 달러에 pegging 되어 있으면서도, 가격 안정성을 유지하는 암호화폐이기 때문이다.

이 외에도, MakerDAO는 DAI의 사용처를 확대하기 위해 다양한 노력들을 이어가고 있다. 대표적인 사례로는 DAI를 지원하는 암호화폐 직불카드 출시 그리고 서비스 사용료를 DAI로 지불하도록 하는 협력 등이 있다.

마치며

지금까지 MakerDAO의 DAI 가격 안정성, 가격 안정화 메커니즘, 거버넌스 그리고 한계점 등에 대해 알아보았다. 현재 MakerDAO 프로젝트는 전통 금융과 가장 유사한 화폐의 개념을 잘 구상하고, 실제로 구현해냈다는 긍정적인 평가를 받고 있다.

아직 MakerDAO에서 다중담보 다이인 MCD를 런칭한지 얼마 되지 않아서, 분석할만큼의 데이터가 충분히 쌓이지 않은 상황이다. 디사이퍼 Oh’s Table 팀은 앞으로도 꾸준히 MakerDAO를 팔로업하며, 다가오는 디사이퍼의 컨퍼런스 DE-FERENCE에서 한층 더 업그레이드 된 내용으로 리서치 내용을 발표할 예정이다.

이번 글이 MakerDAO에 대해 궁금했던 분들에게 조금이나마 도움이 되었기를 바라며, 궁금한 점이나 피드백은 언제든지 decipher.operation@gmail.com으로 보내주시면 감사하겠습니다🙏

--

--