스테이블 코인 시리즈 글에서는 두 가지 주제에 집중, 다양한 스테이블 코인 프로젝트를 분석하고 있습니다. 첫번째 주제는 “스테이블코인의 가격 안정성이 어떻게 보장되고 있는가?”로, 가치 안정성을 확보하는 각각의 메커니즘을 집중 분석합니다. 두번째는 “정말 스테이블코인이 가격 안정성을 유지하는가?”로 해당 메커니즘이 가진 약점 및 한계에 대해 비판적 견해를 제시합니다.
블록체인 기술과 암호화폐가 세상에 나온 지 10년이 다 되어간다. 그러나 아직까지 대중화된 서비스나 대표적인 활용 사례가 없다는 비판에 직면하고 있다. 여전히 암호화폐의 연관 검색어로는 ‘투기’가 떠오르고, 블록체인 기술이 쓸 만한 기술인지 증명되지 않았다는 지적 또한 이어지고 있다.
그런데 말입니다…
만약 암호화폐의 가격 안정성을 보장하면서, 전 세계 사용자의 일상생활에 접목할 수 있는 블록체인 기반 서비스가 출시된다면 어떨까? 이번 글에서는 위와 같은 문제의식으로부터 탄생한 알고리즘 기반 스테이블 코인 프로젝트, 테라(Terra)에 대해 알아보도록 하겠다.
“새로운 글로벌 블록체인 결제 시스템”. 테라는 2018년 4월에 처음 백서를 공개했다. 테라 메인넷은 코스모스 SDK를 기반으로 개발됐고, 텐더민트 비잔틴 장애 허용 지분증명(BPF PoS) 합의 알고리즘을 사용하고 있다. 기존 결제 시스템을 개선해 저렴한 수수료로 결제를 지원하고, 고객들의 일상생활에 접목할 수 있는 서비스를 제공함으로써 암호화폐와 블록체인 기반 서비스의 대중화를 실현하는 게 테라의 목표다. 신현성 테라 공동 대표는 테라의 차별점으로 △기존 결제 시스템 대비 저렴한 수수료 △고객들에게 제공할 수 있는 뚜렷한 혜택 △가격 안정성을 유지하는 스테이블 코인 활용을 꼽았다.
이번 글에서는 다음과 같은 질문에 답하고자 한다. ‘테라의 가격 안정성 메커니즘은 무엇이고, 어떤 활용 사례를 만들어가고 있나?’, ‘과연 테라는 지금까지 가격 안정성을 잘 유지해왔을까?’, ‘테라는 이중토큰시스템을 채택하고 있는데, 루나 토큰의 가치 산정은 어떻게 할 수 있을까?’
지금부터 본격적으로 테라 프로젝트를 파헤쳐 보도록 하자.
●테라(Terra)
테라는 알고리즘 기반의 스테이블 코인이다. 가격 안정성을 보장하기 위해 시스템 상에 법정화폐나 다른 암호화폐를 담보로 하지 않는다. 대신 알고리즘을 기반으로 공급과 수요를 조절해 가격 안정성을 보장한다. 테라는 △테라KRT △테라USD △테라EUR △테라SDR(IMF 특별인출권) 등 다양한 화폐에 연동해 통화군을 이루는 것을 목표로 한다. 다만 현재 원화와 연동된 테라KRT를 제외한 다른 화폐는 거래량이 거의 없는 상황이다.
●루나(Luna)
루나는 테라 위임지분증명(DPoS) 블록체인의 스테이킹 토큰으로, 알고리즘 기반 스테이블 코인 테라의 가격 안정성을 유지하는 핵심 수단이다. 루나는 테라 프로토콜에서 크게 세 가지 역할을 수행한다.
첫째, 네트워크에 루나를 보냄으로써 테라를 발행한다. 둘째, 테라의 가격 안정성을 제고하기 위해 발행 혹은 소각된다. 셋째, 테라 네트워크의 스테이킹 지분으로 재무부의 의사결정 등 네트워크의 주요 결정 사항 투표에 참여할 수 있고 지분에 비례해 거래 수수료를 배당금처럼 받을 수 있다.
정리하자면 테라 네트워크의 스테이블 코인 테라는 루나라는 코인과 발행 및 소각을 조정하는 알고리즘에 의해 가격 안정성을 보장받는다.
●만약 테라 가격이 목표보다 아래로 떨어지면, 테라 공급을 충분히 줄이는 것으로 목표 가격으로 되돌릴 수 있다.
●만약 테라 가격이 목표보다 위로 올라가면, 테라 공급을 충분히 늘리는 것으로 목표 가격으로 되돌릴 수 있다.
이는 중앙은행들과 각국 정부들이 화폐를 추가 발행하거나 시장에서 구매하는 행위와 유사하다. 중앙은행들은 화폐 구입의 비용을 스스로 희석할 수 있는 반면, 테라 공급의 변동성은 단기적으로 테라 채굴자가 흡수한다는 점에서 차이가 있다.
(*코스모스에서는 스테이킹한 토큰 양에 비례해 지분을 가지는 노드를 검증인(Validator)이라고 부른다. 테라 백서에서는 채굴자(Miner)라고 서술했지만, 앞으로는 테라 채굴자를 테라 검증인이라고 표현하겠다.)
그렇다면 왜 테라 검증인이 단기적으로 테라 공급의 변동성을 흡수한다는 것일까? 테라 프로토콜에서는 누구든지 테라의 목표 교환비율(가격)에 따라 테라와 루나를 교환할 수 있다. 결과적으로 테라 가격은 안정되고, 이 과정에서 루나는 테라의 가격 변동성을 흡수하게 된다. 아래 예시를 통해 더욱 자세히 설명해보도록 하겠다.
[예시] 테라 프로토콜 이용자 또는 차익 거래자인 앨리스(Alice)는 다음과 같은 교환을 할 수 있다.
●‘테라SDR가격 < 1SDR’일 때, 테라 가격은 목표치(SDR가격)보다 낮다. 이때 앨리스는 시스템에 1테라SDR을 보내고 1SDR 상당의 루나를 받을 수 있다. 이 거래에서 앨리스는 1SDR과 1테라SDR의 가격 차이만큼의 이익을 볼 수 있다. 반면 시장에서는 테라SDR의 물량이 줄어들게 된다. 공급의 감소가 일어난 것과 마찬가지기 때문에 테라 가격이 다시 1SDR과 가깝게 상승할 것이라고 예상할 수 있다.
●‘테라SDR 가격 > 1SDR’일 때, 테라 가격은 목표치보다 높다. 이때 앨리스는 시스템에 1SDR 만큼의 루나를 보내고 시스템으로부터 1테라SDR을 받을 수 있다. 이 거래에서 앨리스는 1테라SDR과 1SDR의 가격 차이만큼 이익을 보게 된다. 반면 시장에서는 테라SDR의 물량이 늘어나게 된다. 공급의 증가가 일어난 것과 마찬가지기 때문에 테라의 가격이 다시 1SDR과 가깝게 하락할 것이라고 예상할 수 있다.
즉, 시장 조건에 상관없이 시스템이 목표 교환비율을 보장해주기 때문에 앨리스는 공개 시장 가격을 추월하는 차익거래(아비트리지)의 기회를 활용할 수 있게 된다. 이 과정을 시스템의 입장에서 보면 다음과 같다.
●1테라SDR을 구매하기 위해, 프로토콜은 1SDR 만큼의 루나를 주조하고 판매한다.
●1테라SDR을 판매하는 것으로, 프로토콜은 1SDR 만큼의 루나를 얻는다.
시스템에서 이런 차익거래를 가능하게 해주는 이유는 무엇일까? 이런 메커니즘을 만들어 놓은 이유는 테라 공급을 효율적으로 조정하기 위한 것으로 보인다. 시장에서의 테라 교환비율이 목표치보다 낮으면 테라를 회수하고, 그 목표가격에 상응하는 루나를 주조해 시장 참여자에게 줌으로써 테라 공급을 줄일 수 있다. 중앙정부가 시장에서 화폐를 사는 것과 같은 원리이다.
하지만 테라 프로토콜에서는 그 축소 비용을 검증인들이 부담한다는 점이 특징이다. 마치 앞선 스테이블 코인 시리즈에서 봤던 메이커다오에서 다이(DAI)의 가격 변동성의 일부를 메이커(MKR) 홀더들이 흡수하게 되는 것과 비슷하다. 테라의 공급 축소를 위해 루나를 새로 주조하기 때문에 변동성은 테라 가격에서 루나 공급으로 옮겨간다. 하지만 희석된 루나의 가치가 원래대로 복구되지 않는다면, 루나의 공급이 늘어난 채로 유지되고 따라서 전체 가용한 채굴 파워상 검증인들의 루나 지분 비율이 줄어들게 된다. 이것이 위에 등장했던 ‘왜 테라 검증인이 단기적으로 테라 공급의 변동성을 흡수하는지’에 대한 설명이 될 것이다.
여기서 의문이 하나 생길 것이다. ‘루나 가치에 대한 보장이 없는데, 그럼 검증인들은 무엇으로 보상을 받을 수 있을까?‘. 검증인들은 테라 보안 및 안정성에 있어 기초가 되는 주요 역할을 수행하기 때문에, 채굴에 대한 안정적인 수요는 매우 중요하다. 이를 위해 프로토콜은 어떤 상황에서도 안정적이고 예측 가능한 보상을 제공하는 것을 목표로 한다.
프로토콜이 검증인들의 작업을 보상하는 방식은 두 가지다.
1. 거래 수수료(안정화 수수료) : 모든 테라 거래는 검증인에게 약간의 수수료를 지불한다. 최근 업그레이드된 메인넷 콜럼버스3(Columbus-3)부터는 기존에 0.11%였던 수수료가 0.5%로 인상 적용된다. 현재 국내 신용카드 결제 수수료율이 최대 2.3%, 체크카드는 1.5% 정도인 것을 고려하면, 전자상거래 시 신용카드 등 기존 결제수단으로 거래하는 것보다 테라로 거래하는 게 훨씬 저렴할 수 있다.
2. 시뇨리지(루나 소각) : 테라 수요가 늘어나 가격이 상승하면, 시스템은 테라를 주조하고 그 대신 차익거래자로부터 루나를 얻는다. 여기에서는 루나가 시뇨리지에 해당한다. 시스템은 얻은 루나의 일부를 소각해 채굴 파워를 더 희소하게 한다. 시뇨리지의 남은 부분은 재무부에 귀속돼 재정 부양책에 자금을 지원하게 되는데, 재무부에 대한 설명은 다음 파트에서 이어가도록 하겠다.
이제 위 두 가지 보상 방식을 검증인 입장에서 이해해보자. 고정비는 제외하고, 1단위 채굴 파워(1루나)의 채굴 작업에서 수익(또는 손실)은 보상에서 작업비용을 제한 것과 같다. 이를 식으로 표현하면 다음과 같다.
채굴을 통한 수익과 손실이 자주 바뀐다면, 즉 P(t)의 값이 양과 음을 자주 오간다면 채굴 수요는 장기적으로 안정적일 수 없을 것이다. 프로토콜의 목표는 이 계산식을 더 예측 가능하게 만드는 것이다. 위 식에서 나타나는 불확실성은 총보상과 루나의 공급이다. 테라 거래 수수료로부터 얻는 보상은 테라 경제가 성장할 때에는 늘어나고 경제가 위축되면 줄어드는 경향이 있다. 반면, 루나의 공급은 테라 가격이 상승할 때는 줄어드는 경향이 있고 (루나가 시뇨리지로 소각되기 때문), 테라 가격이 하락하고 있을 때는 늘어나는 경향이 있다 (테라를 되사기 위해 새로운 루나를 발행하기 때문).
이런 이유 때문에, 단위 채굴 보상은 경제 상황의 변동에 따라 한 방향으로 급변한다. 분자와 분모가 정 반대의 방향으로 움직이기 때문이다. 그러므로 장기적으로 안정적인 채굴 수요를 얻기 위해서는 어떤 경제적 상황에서도 보상 예측이 가능하도록 만들어야 한다. 이를 위해 시스템이 제시하는 방법이 바로 위의 ‘거래 수수료’와 ‘시뇨리지’ 소각이다.
●채굴 보상이 증가 중인 경우 (경제가 성장할 때) :
- 수수료를 감소시킨다 (분자 감소)
- 루나 소각을 감소시킨다 (분모 증가)
●채굴 보상이 감소 중인 경우 (경제가 위축할 때) :
- 수수료를 증가시킨다 (분자 증가)
- 루나 소각을 증가시킨다 (분모 감소)
위처럼 단위 채굴 보상을 안정화하기 위해서, 수수료 및 루나 소각률과 같은 레버들은 단위 채굴 보상 변화량에 따라 매주 조정된다. 이들은 단위 채굴 보상의 변화량과 반비례해 업데이트된다.
지금까지 테라 프로토콜에서 테라 가격안정성이 루나를 통해 안정화되는 방법과 그 작동원리를 살펴보았다. 이번에는 소각되지 않은 시뇨리지(루나)가 ‘재무부’에서 어떻게 사용되는지를 살펴보도록 하자.
테라는 스마트 컨트랙트가 주류 기업의 유용한 하부구조(infrastructure)로 성숙할 수 있게끔, 테라를 기축 통화로 사용하는 디앱(DApp) 플랫폼을 구축하려고 한다. 테라 플랫폼의 사용 사례를 다양화함으로써 테라 통화군의 성장을 주도하고 안정화시키는 데 도움이 될 것이라고 기대하는 것이다.
앞서 테라 시뇨리지가 검증인 보상(루나 소각)과 재무부 이렇게 두 가지로 보내진다고 설명했다. 그중 재무부로 보내진 루나는 디앱을 지원하는 자금으로 쓰이게 된다. 이를 통해 테라 네트워크의 성장을 촉진한다는 계획이다. 테라 네트워크에서 활동하는 주체(entity)로서 등록을 마친 디앱들은 재무부로부터 자금을 지원받을 수 있으며, 활동 주체는 루나 검증인들의 주기적인 투표를 통해 선정한다. 재무부는 이들 주체의 경제활동 지표와 성장하고 있는 속도를 기준으로 삼아 전체 자금 중 얼마를 지원해줄지 결정한다. 지원 자금은 알고리즘 상의 기준에 의해 분배된다. 이를 통해 테라 경제에 가장 높은 순기능을 주는 기관과 제안에 자금을 지원하여 테라의 채택을 증가시킴으로 테라 경제의 GDP를 증가시키는 것이 목표이다.
1. 테라 홀더 : 스테이블 코인 테라를 얻는 방법은 크게 두 가지다. 루나를 네트워크에 주고 새로 발행된 테라를 받는 방법과 그냥 거래소에서 테라를 구입하는 방법이 있다. 현재 테라KRT를 구입할 수 있는 거래소는 고팍스와 지닥이고, 테라 SDT는 쿠코인과 비트루에 상장돼 있다.
2. 루나 홀더 : 지분 코인 루나를 얻는 방법 또한 테라와 비슷하다. 루나는 현재 코인원, 비트루, 쿠코인, 고팍스, 지닥, 비트렉스 등 6개 거래소에서 구입할 수 있다. 루나 홀더들은 거버넌스에 참여하기 위해 자신이 보유한 루나 중 일부 혹은 전체를 지분으로 스테이킹할 수 있다.
3. 오라클(Oracle) : 테라 가격 안정성은 원화와 테라KRW의 환율, SDR과 테라SDR 또는 달러와 테라USD의 환율이 일정하게 유지돼 암호화폐의 구매력을 유지하는 데에 달려있다. 하지만 화폐유통시장에서 테라 통화들의 가격은 블록체인으로부터 외인적이기 때문에, 테라 프로토콜은 실제 환율을 추정하기 위해서 탈중앙화된 투표에 의존한다. 이때 등장하는 것이 오라클이다. 오라클들은 각자 시장에서 루나의 가격정보를 가져온 뒤, 자신이 생각하는 가장 타당한 테라와 루나 간 교환비율에 투표해 최신 가격 정보를 제공해준다. 이를 통해 테라 시스템은 테라↔테라 통화군 간의, 테라↔루나 간의 교환에 올바른 비율을 적용할 수 있다. 오라클 가격 투표에 참여하는 주체는 검증인이며, 이에 대한 설명은 아래에서 확인해보자.
4. 검증인(Validator) : 검증인은 보유 중인 루나를 스테이킹하려는 노드 중 이것을 위임하지 않고 직접스테이킹(self-bond)하는 노드이다. 이들은 자신의 지분과 위임받은 지분을 기반으로 오라클 가격 투표에 참여하는 등 테라 네트워크의 거버넌스에 참여하고 블록 생성의 주체가 돼 거래 수수료 이익을 취득할 수 있다. 다만, 해당 자격을 얻는 검증인은 전체 검증인 풀이 아니라 총 스테이킹량이 상위 100위 안에 드는 대규모 스테이커(Heavy-staker)에 해당한다.
5. 피더(Feeder) : 검증인이 오라클에 참여할 때, 자신의 서명 키를 노출할 위험을 제거하기 위해서 투표를 위임하고자 하는 경우에 루나가 없는 피더의 주소를 차용할 수 있다.
6. 재무부(Treasury) : 재무부는 테라 경제에서 ‘중앙은행’의 역할을 하는 주체이다. 재무부는 지표(Indicator)를 관찰하고 채굴 인센티브를 보다 안정적이고 장기적인 성장이 가능하도록 만들기 위해 재정정책 레버(monetary policy lever)를 조정한다.
a. 지표 (Indicator)
●거래로 인한 수수료 수익(T, Tax Reward)
●시뇨리지 보상(S, 오라클 보상 내에서 투표 보상을 받을 수 있는 기간 동안 루나 교환을 통해 테라로 생성된 시뇨리지의 양)
●총 스테이킹된 루나의 양(λ, 홀더에 의해 스테이킹되고 검증인에게 위임된 루나의 총량)
b. 재정정책 레버 (Monetary Policy Lever)
●안정화 수수료율(r, 테라 거래로부터 얻는 수수료 수익을 조정)
●보상 가중치(w, 오라클 모듈에서 가중 환율 중앙값의 보상 대역(*) 내에서 올바르게 투표한 경우, 투표 대상자에 대한 보상풀에 할당된 보상비중)
*가중 환율 중앙값의 보상 대역이란: 매 투표기간 마다 오라클 모듈은 루나와 테라 통화군(denomination)들 사이의 교환비율에 관한 합의를 도출해낸다. 검증인들은 먼저 루나의 가격에 대한 정보를 사전 제출(pre-commit) 한 후, 투표기간 동안 루나와 테라의 교환비율에 대한 투표를 하게 된다. 제출된 투표가 전체 voting power의 50%를 넘을 시, 투표들을 각 투표자의 voting power에 따라 가중평균한 수치가 온체인에 기록되고 이것이 다음 기간의 루나 교환비율이 된다. 투표 값을 가중 평균한 수치로부터 일정 오차 범위 내의 결과를 제출한 투표자들은 시뇨리지의 일부를 보상으로 받게 된다. 반면, 총 voting power의 50%에 미달하는 투표를 받은 테라 통화군(denomination)의 교환비율은 store에서 제거되며, 다음 기간 동안 해당 통화군에 대한 교환은 일어날 수 없다.
1. 검증인(Validator)
●의미: 루나 holder 중 루나를 위임하지 않고 직접 스테이킹하는 풀노드이다.
●자격: 검증인 프로필(Validator profile)을 등록함으로써 누구나 검증인이 될 수 있다. 검증인 프로필을 등록하기 위해서 후보자는 ‘검증인 생성(create-validator)’ 거래를 네트워크에 전파해야 하는데, 이 거래에는 다음과 같은 정보가 포함돼야 한다.
△활성 검증인 집합(Active set of Validator) : 검증인 자신의 계좌에 스스로 위임한 루나의 양과 위임자로부터 위임받은 루나의 양의 합인 총 루나 스테이킹 양(Total Staked 루나) 상위 100개의 검증인의 집합. 블록 생성과 수수료 취득의 자격이 있다. 프로토콜 거버넌스 투표에 참여할 자격이 있다. (투표는 스테이킹된 루나 지분에 비례하여 가중치가 설정된다.) 태만으로 처벌(Slashing)받을 수 있다.
△비활성 검증인 집합(Non-Acitve set of Validator): 검증인 풀 중에서 Active set에 포함되지 못한 검증인. 블록 생성과 수수료 취득의 자격이 없다. 프로토콜 거버넌스 투표에 참여할 자격이 없다. 태만으로 처벌(Slashing)받을 수 있다.
2. 위임자(Delegator)
●의미 : 루나 홀더 중 자신이 직접 스테이킹하지 않고, 루나를 검증인에게 위임하는 노드.
●이익: 해당 블록에서 자신이 위임한 검증인이 얻은 수수료 수익을 자신이 위임한 루나의 양에 비례하여 받을 수 있다. (단, 검증인에게 주는 커미션은 제한다.)
●책임: 검증인과 이익을 공유하는 대신 책임 또한 공유해야 한다. 검증인이 의무 이행 태만으로 지분 삭감 처벌(Slashing)을 받은 경우 위임자도 위임한 루나의 양에 비례하여 그 양이 삭감된다.
아래는 위 테라KRT 마켓의 가격과 거래량 그래프이다. 가격은 거래량 가중 평균으로 구했고, 거래량은 두 마켓의 거래량을 합산했다.
상장일부터 현재까지 점점 가격 변동성이 커지는 모습을 볼 수 있다. 특히 8월 중순을 기점으로 평균 거래량이 감소하기 시작했는데, 거래량이 감소하면서 테라KRT의 가격 변동성이 더욱 커진 것으로 보인다.
아래는 다른 대표적인 스테이블 코인들인 테더(USDT),유에스디씨(USDC), 메이커다오 다이(SAI & DAI) 등과 테라KRT의 가격 히스토리를 함께 본 모습이다. 참고로 USDT, USDC, SAI, DAI의 가격 데이터는 코인마켓캡을 참고했다.
또한 아래는 각 스테이블 코인들의 가격 변화에 대한 평균, 표준편차, 최솟값, 최댓값과 함께 2019년 11월 26일부터 2019년 12월 5일까지 10일간의 24시간 거래량 평균 값을 나타낸 표이다. 거래량은 100만 달러를 기준으로 표시했다.
위 그래프에서 보라색 선이 테라KRT의 가격이다. 그래프에서 보기에도 다른 스테이블 코인들에 비해 가격이 확연히 안정된 모습이고, 실제 표준편차를 구해봐도 테라KRT의 것이 가장 작다. 다만 테라KRT의 거래량이 상대적으로 매우 적기 때문에 시장이 성숙해졌을 때의 모습은 아직 판단하기 힘들다.
아래는 루나의 가격과 각 스테이블 코인들 가격의 상관관계(correlation)를 구해 히트맵으로 표현한 것이다.
히트맵을 보면, 루나와 테더, 유에스디씨, 다이 등 테라KRT를 제외한 스테이블 코인들의 가격 간에는 상관관계가 거의 없고, 루나와 테라KRT의 가격 사이의 상관관계가 약 0.5 인 것을 알 수 있다. 테라KRT가 상장한 7월 초부터 루나를 포함한 암호화폐 시장 전반이 지속적인 하락 추세였는데, 이때 테라KRT 역시 조금씩 하락하는 모습을 보였다. 하지만 테스트 기간이 5개월로 매우 짧고 테라KRT 마켓이 거래량이 매우 적은 불안정한 상태이기 때문에 두 가격 하락이 테라시스템의 영향인지, 혹은 암호화폐 하락장과 함께 테라KRT 마켓의 거래량이 적어 스프레드가 커지는 등 테라 시스템과는 관련 없는 문제인지 판단하려면 조금 더 시간이 필요해 보인다.
정리해보자면 테라는 지금까지 가격을 안정적으로 잘 유지해왔으며, 다른 스테이블 코인과 비교했을 때 더욱 안정적인 가격을 유지했음을 알 수 있었다. 또한 루나와 테라의 가격 간 상관관계가 존재하지만 우연의 일치인지, 혹은 실제 시스템에 의한 상관관계인지 파악하기 힘든 상황이다.
분석의 한계점으로는 테라 마켓이 생긴지 얼마 되지 않아 데이터가 부족하고 테라의 거래량이 지속해서 감소하고 있다는 것, 그리고 다른 스테이블 코인에 비해 테라 거래량이 상대적으로 적다는 것이 있다. 따라서 테라의 거래량 규모가 급증한 이후에도 테라가 안정적인 가격을 유지할 수 있을 것인지 주목해볼 필요가 있다.
/서울대학교 블록체인 학회 디사이퍼
- 노윤주 기자
- yjr0906@decenter.kr