다중 담보 다이(Multi-Collateral Dai) : 비상정지

September 17, 2019

 MCD를 구동하는 메이커 프로토콜은 스마트 계약 시스템을 기반으로 하며, 다이의 가치를 안정화시킵니다. 메이커 프로토콜은 부채 담보부 포지션과 자율적 피드백 메커니즘 및 적절한 보상을 지급 받는 외부 주체들의 역학관계를 바탕으로 작동합니다. 다이의 목표가는 1 USD이며, 1:1로 소프트 페그(Soft peg) 되어있습니다.

 오늘은 메이커 프로토콜이 유저들의 자산을 안정적으로 보장하는 방법 중 하나인 비상정지에 대해 여러분께 알기 쉽게 소개해드리려고 합니다.


비상정지가 무엇인가요?

 비상정지란 Dai의 주요 보안 기능 중 하나이며, 이전에는 글로벌 청산(Global Settlement)이라고 불렸습니다. 해당 기능으로 시스템을 정지시킬 수 있으며 Dai와 CDP 소유자들은 담보를 회수할 수 있습니다.

비상정지는 다이와 CDP 보유자들의 다이 목표가를 보장하고 메이커 프로토콜과 그 기반 시스템에 가해지는 심각한 위협(해킹, 보안 침해, 장기적 시장 불안정 등)으로부터 보호할 최후의 수단입니다.

 메이커 재단에게 보안은 최우선 과제이며, 단일담보 다이 상에서 시스템의 상환능력을 유지에 필요한 CDP 청산 메커니즘이 건전한지 지속적으로 테스트하고 있습니다. 현재 재단은 단지 시스템의 비상 정지 프로세스를 실행할 장치를 개발하는 것에 그치지 않고, 비상 정지 발동 시 새로운 스마트 계약을 사용하여 다중 담보 다이를 신속히 실행할 계획을 가지고 있습니다.

참고로, 사이(Sai) 시스템(구버전)에서 현재의 단일담보 다이 시스템으로 업그레이드 되면서 비상정지가 발동된 적이 있습니다.


비상정지는 언제 필요한가요?

 비상정지는 시스템에 심각한 위협이 될 수 있는 경제적 문제나 공격이 감지될 시 취할 수 있는 장치이며, 시스템에 중대한 업그레이드가 필요한 경우에도 발동될 수 있습니다.

  • 경제적 문제의 예시로는, MKR 투표자들이 결정하여 유지되는 다이의 안정성(peg)이 심각하게 훼손되는 경우와 대다수의 암호화폐 사용자들에게 위협이 되는 시장 상황(Black Swan) 등이 있습니다.
  •  시스템에 대한 공격의 예시로는, 해킹, 스마트 계약 보안 침해 및 오라클의 조작 등이 있습니다.
  •  주요 업그레이드의 예시로는, 다중 담보 다이로의 업그레이드를 위해 기존의 단일담보 다이 시스템을 정지시키는 것 등이 있습니다.

비상정지는 누가 실행시킬 수 있나요?

 비상정지를 발동하기 위한 유일한 방법은 MKR 투표자들이 비상정지 모듈(ESM; Emergency Shutdown Module)에 MKR을 예치시키는 방법 뿐입니다. 비상정지 프로세스는 의결에 필요한 투표수가 충족되면 발동되며, 해당 정족수는 MKR 유저들이 결정합니다. 해당 정족수는 반드시 MKR 유통량의 과반수일 필요는 없으나, 상당한 수량이 필요합니다. 초기에 제안된 정족수는 50,000 MKR 입니다.

 추가적인 보안 조치로, MKR 투표자들은 비상 오라클(Emergency Oracles)들을 선택하여 비상정지 프로세스를 단독으로 개시할 권한을 줄 수 있습니다. 해당 오라클들은 시스템을 지속적으로 감시하여 스마트 계약 취약점이나 거버넌스에 대한 공격과 같은 보안상 문제를 발견할 수 있습니다.

 다중 담보 다이 시스템 하에서는 시스템 변경안 제출부터 실제 집행까지 지연 시간이 있기 때문에, 거버넌스에 대한 공격을 포착하고 비상정지 프로세스를 개시할 시간이 있습니다. 이러한 지연 시간으로 인해 담보 가치가 시스템에 적용되기 전에 가격 오라클(Price oracles)에 대한 공격을 감지할 수 있습니다.


비상정지 동안에는 무슨 일이 일어날까요?

1. 비상정지 발동

만약 시스템이 심각한 공격에 처해있다고 MKR 투표자가 판단하거나, 기술적 업그레이드를 위해 비상정지가 예정되어 있는 경우, 비상정지를 발동시킬 수 있습니다. 메이커 프로토콜의 기능이 정지되고 새로운 CDP의 개설이 불가능해지며 가격 피드(price feed)가 동결됩니다.

기본적으로 1 Dai = $1이지만, 다이는 특정 주체가 직접 발행하는 구조가 아니며 USD에 Soft pegging 되어있으므로, 담보 자산과 안정화 수수료를 통해 얻은 잉여금의 양에 따라 다이 가치가 다소 다르게 산정될 수 있습니다.

2. 담보 유치권 처리 진행

비상정지가 발동되고 나면, CDP와 다이 보유자 모두 담보를 반드시 회수 해야합니다. 모든 CDP 보유자들의 담보 유치권을 처리하기 위해서는 일정 시간이 필요합니다. 이는 블록체인 상에서 계산과 자금의 이동에 드는 시간이며, 네트워크 상태에 따라 오랜 시간이 걸릴 수도 있습니다. 이렇게 지연 기간을 두는 것은 예상치 못한 돌발 상황에 대한 예방 수단이 되기도 합니다.

이 과정이 완료된 후, 모든 CDP 보유자들은 본인의 부채 담보부 포지션(Collateralized Debt Position)에 대해 특정한 수량의 담보를 환급 받을 수 있습니다. 다이 보유자들은 MKR 투표자들이 정한 대기 시간 이후에 담보 유치권을 행사하고 담보를 받을 수 있습니다.

3. 다이 및 CDP 보유자들의 담보 수령

각각의 다이와 CDP 보유자들은 그들의 다이와 CDP 자산을 계산하여 그에 맞는 수량의 담보로 교환할 수 있습니다. 단, 비상정지 시 가격 피드(Price feed)가 동결된 후에 담보의 가치가 계속 내려간다면 CDP와 다이를 회수할 때 달러로 계산된 가격 이하로 돌려 받을 수 있습니다.

다이 보유자의 경우 담보 유치권을 보다 빨리 처리할 수 있기 때문에 하락의 손해를 최소화할 수 있지만, CDP 보유자의 경우 일정 시간을 기다려야 하므로 그 시간 동안 담보의 가격이 변동될 수 있다는 위험이 있습니다.

다중 담보 다이 시스템 하에서 담보의 유형에 따라서 유저들이 지불 해야하는 네트워크 수수료(Gas fee)가 눈에 띄게 상승할 수 있으나, 다양한 담보 종류 중 특정 담보를 선택하여 이러한 리스크를 줄일 수 있습니다.


비상정지 프로세스 깊이 들여다보기

 아래의 그림을 통해 비상정지 프로세스를 좀 더 상세히 확인할 수 있습니다. 비상정지를 실행하기 위해서는 비상정지 메커니즘의(ESM) 비상정지 계약 혹은 사전 승인된 비상 오라클이 메이커 프로토콜 상에서 END라는 이름의 계약에 cage message를 보냅니다.

 만약 여러분이 END 계약의 코드를 들여다본다면, 해당 프로세스 동안 어떤 일들이 일어나는지 더 상세히 알 수 있습니다.

메이커 재단은 실제로 계약상 일어나는 일들과 이러한 확인 방식의 정보 격차를 해소하기 위해 추가 정보를 제공해드릴 예정입니다.

 추가로, 비상정지 시 키퍼는 개별 다이 보유자들에게 다이를 구매하여 축적함으로써 더욱 경제적인 조건으로 담보 유치권을 행사할 수 있습니다. 더 나아가 키퍼는 이러한 일을 할 때, 수수료를 더해 부가가치를 창출할 수 있으며, 예상되는 타겟 고객으로는 지갑 서비스를 제공하는 회사, 거래소, 관련 서비스 제공자 등이 있습니다.

 생태계 내에서 어떤 서비스를 가진 개별 주체들이 등장할지 관계없이, 메이커 재단은 비상정지 초기에 다이 보유자들이 담보 유치권을 행사할 수 있도록 웹 페이지를 제공할 예정입니다. 장기적인 관점에서는 해당 웹 페이지가 필요없어질 정도로 다양한 서비스들이 생태계에 등장할 것으로 전망됩니다.


시스템 재시작

 비상정지 동안 서비스의 혼란을 최소화하고 새로운 스마트 계약과 함께 MCD를 가능한 빨리 재시작하는 것이 매우 중요합니다. 시스템 재시작에 소요되는 시간은 얼마나 빨리 원인을 식별하고 격리 및 제거 하는지에 따라 다릅니다.

 예를 들면, 오라클이 공격받거나 직접 시스템을 공격한 경우, 문제가 있는 오라클을 제거하고 다른 오라클을 재배치 해야할 수 있습니다. 메이커 프로토콜을 구성하는 전체 스마트 계약과 시스템 배치에 필요한 스크립트는 오픈 소스 소프트웨어로 제공될 것입니다. 따라서, 기존의 시스템이 비상정지를 위한 대기 시간을 갖는 동안 새로운 스마트 계약을 배포하는 것이 가능해집니다. 일단 비상정지가 완료되면, MKR 투표자들은 새로운 스마트 계약이 권한을 갖도록 할 수 있습니다.

 일반적으로, 이전 시스템의 스마트 계약을 통해 CDP를 보유했던 유저들은 기존 시스템이 정지될 때 회수한 담보로 반드시 새로운 CDP를 개설해야 합니다. 다이 보유자들은 기존 시스템에서 회수한 담보를 시장에서 신버전 다이(New Dai)로 바꾸거나 이를 대신 해주는 서비스(만약 이런 서비스를 제공하는 키퍼가 있다면)를 이용할 수도 있습니다. 키퍼는 이런 대행 서비스를 통해 구버전의 다이(Old Dai)를 획득한 후 기존에 정지된 시스템에서 담보를 회수할 수 있으며, 회수한 담보로 새로운 시스템의 스마트 계약을 통해 신버전 다이(New Dai)를 발행할 수 있습니다.

메이커 재단은 비상정지 발동 가능성이 희박하다고 판단하고 있으나, 가능한 모든 상황을 놓고 메이커 프로토콜 사용자들의 서비스 중단에 대한 위험을 최소화 해야한다고 생각하고 있습니다.

 서비스 재시작에 필요한 장치들은 개발될 예정입니다. 또한, MKR 투표자가 임명한 주체들에게 과제들이 배정될 때까지 메이커 재단은 정기적으로 새로운 스마트 계약의 배포 및 MCD를 재시작하는 프로세스를 테스트할 것입니다.


요약

 시스템 공격을 시도하는 무리들을 막기 위해서는 아래와 같이 잘 정의된 비상정지 프로세스가 필요합니다.

  • 비상정지 프로세스의 개시는 탈중앙화되어 MKR 투표자들에 의해 통제됩니다. 비상정지 모듈(Emergency Shutdown Module)에 MKR을 예치함으로써 비상정지는 개시됩니다.
  • 비상정지는 해킹, 보안 침해 및 장기적 시장 불안정과 같은 심각한 위기상황에서 발동됩니다.
  • 비상정지는 종료됨과 동시에 다이 및 CDP를 보유한 유저들이 순자산 가치를 보장받도록 합니다.
  • CDP 보유자들은 비상정지가 시작되면 CDP에 예치된 초과 담보를 회수할 수 있습니다. 유저들은 비상정지 관련 서비스가 지원되는 CDP 포탈 및 Command-line Tools 같은 곳을 통해 이러한 행위를 할 수 있습니다.
  • 다이 보유자들은 MKR 투표자들이 정한 대기 시간 이후에 시스템 내에서 일정한 비율로 모든 종류의 담보로 교환할 수 있습니다. 메이커 재단은 초기에 이를 돕기위해 웹 페이지를 제공할 것입니다.
  • 다이 보유자들은 첫번째이거나 마지막이거나 순서에 관계없이 담보 유치권을 행사하면 동일한 양의 담보를 받을 수 있습니다.
  • 다이 보유자들은 또한 시스템 내에서 서로 다른 종류의 담보를 스스로 관리하는 것을 피하기 위해 키퍼에게 다이를 판매(해당 행위를 하는 키퍼가 있다면)할 수도 있습니다.

 향후 메이커 재단은 비상 정지가 발동될 경우 스마트 계약의 거래 순서 및 흐름에 대한 별도 문서를 제공할 예정입니다.

 추가 문의가 있으시거나 다른 커뮤니티 구성원들의 생각이 궁금하신 경우, 메이커다오 포럼의 대화에 참여해주시기 바랍니다.


메이커다오에 대한 더 많은 정보

홈페이지 : https://makerdao.com/
카카오톡 : https://open.kakao.com/o/giWg6J2  비밀번호 : maker
트위터 : https://twitter.com/makerdao
미디엄 : https://medium.com/makerdao
레딧 : https://www.reddit.com/r/MakerDAO/

September 17, 2019