[스테이블 코인 대장정] 니어 프로토콜의 스테이블 코인 USN 알아보기
본 글은 단순 정보 제공을 위해 작성 되었고 투자, 법률, 자문 등 어떤 부분에서도 책임을 지지 않습니다. 특정 자산에 대한 투자를 추천하는 것이 아님을 밝히며, 본문의 내용만을 바탕으로 투자에 대한 의사결정을 내리지 마십시오.
지난 4월 25일 Decentral Bank가 니어 프로토콜의 스테이블 코인 USN을 정식 런칭하였다. 해당 글은 Decentral Bank에서 작성한 USN의 백서 1.0 버전을 바탕으로 USN의 작동 원리에 대해 정리한 글이다. 단순 번역하는 글이 아니기에 백서의 내용을 정리하고 더 이해하기 쉽게 재전달하는 과정 속에서 기존 백서와 비교해서 구성의 변경 및 추가 설명이 포함될 수 있음을 밝히는 바이다. 백서에는 언급되지 않은 저자의 추가적인 의견이 담긴 코멘트는 각주로 표시하도록 하겠다. 원문 백서는 이 곳에서 확인할 수 있다.
개요
현재 지구상에 유통되고 있는 전체 164개 화폐의 총 가치는 $144T 가량이며 암호화폐의 전체 유통량은 $2T 정도이다. 19년도에 $0.26T이었던 암호화폐의 유통량은 3년 사이에 매우 크게 증가하였는데, 스테이블 코인이 암호화폐 성장의 최전선에 있다고 해도 과언이 아니다. Decentral Bank는 1) 빠른 트랜잭션 속도 2) 값싼 수수료 3) 가격 안정성, 이 세가지 조건을 모두 충족하는 니어 프로토콜의 자체 스테이블 코인 USN을 런칭하고 운영해나갈 것이다.
현재 시중에 나와있는 스테이블 코인은 가격 페깅을 유지하는 방식에 있어 크게 4가지로 나뉠 수 있다.
USN은 기본적으로 알고리드믹 스테이블 코인 방식을 기반으로 하고 있다. 이에 더해 Currency Board 방식을 기반으로 운영되는 Reserve Fund를 통해 가격 페깅성을 한층 더 강화한다. 정리하면, USN의 작동원리는 LUNA<>UST 메커니즘과 거의 동일한 방식을 기반으로 하지만, 일련의 규칙들 아래 가격을 안정화시키는 데에 적극적으로 활용될 수 있는 Reserve Fund라는 요소가 더해진 모습이라고 볼 수 있다. 이에 대해 자세히 알아보도록 하겠다.
가격 안정성 유지 방법
USN이 1달러 페깅을 유지하기 위한 장치로는 크게 두가지가 있다.
1. 온체인 아비트라지
이는 LUNA<>UST 메커니즘과 거의 동일하기에 이를 떠올리면 쉽게 이해될 것이다. USN은 기타 거래소들에서 자유롭게 거래되고 있으며, 유저들은 니어 프로토콜 상에 있는 USN<>NEAR 스마트 컨트랙트를 통해 USN과 NEAR를 교환할 수 있다. 이때 1 USN의 가격은 무조건 $1로 간주된다. 이런 조건 속에서 1 USN의 가격 변동에 따라 아비트라지 기회가 발생하게 된다.
- 1 USN < $1 일때(1 USN = $0.9라고 가정)
이때 Alice는 거래소에서 1 USN을 $0.9에 구매할 수 있다. 이후 해당 1 USN을 USN<>NEAR 스마트 컨트랙트로 들고 가 $1 어치의 NEAR를 얻는다. 즉 Alice는 $0.9의 비용으로 $1의 수입을 얻을 수 있다.
- 1 USN > $1 일때 (1 USN = $1.1라고 가정)
이때 Alice는 USN<>NEAR 스마트 컨트랙트에서 $1 어치의 NEAR를 내고 1USN을 민팅한다 . 이후 다른 거래소에 가 1 USN을 판매해 $1.1을 얻는다. Alice는 는 $1의 비용으로 $1.1의 수입을 얻게 된다.
아비트라지 기회를 포착하는 다양한 참여자들에 의해 USN의 가격이 $1보다 높아질 시에는 USN의 공급이 증가해 $1로 수렴하고, $1보다 낮을 시에는 USN의 공급이 감소해 $1로 수렴하는 알고리드믹 방식이다.
이때 주목할 점이 하나 있다. USN<>NEAR 스마트 컨트랙트에서 USN을 NEAR로 스왑할 때 사용된 USN은 모두 소각되지만, 새로운 USN을 민팅할 때 사용되는 NEAR는 소각되지 않고 Reserve Fund에 보관된다. 새로운 UST를 민팅할 때 사용되는 LUNA를 모두 즉시 소각하는 테라와 다른 점이다.
각주: USN이 알고리드믹 스테이블 코인이라고 백서는 설명하고 있지만, 이 점을 자세히 생각해보면 사실 Reserve Fund에 NEAR를 제출하고 그만큼의 USN을 민팅해가는 것이기 때문에, 1:1 비율의 암호화폐 담보 스테이블 코인이라고 볼 수도 있을 것 같다.
2. USN Reserve Fund
USN Reserve Fund는 온체인 아비트라지에만 가격 페깅을 의존할 경우 생길 수 있는 취약점을 보완하기 위한 USN의 핵심 요소이다. USN Reserve Fund는 NEAR와 스테이블 코인(USN 제외)으로 구성되어있는 펀드이다. Decentral Bank는 기타 스테이블 코인 부분을 구성할 첫번째 자산으로 USDT를 선택했다. 이 글에서는 기타 스테이블 코인 부분을 USDT로 계속 간주하고 설명하도록 하겠다.
USN Reserve Fund는 크게 세가지 역할을 수행한다.
- USN의 총 유통량을 100% 담보할 수 있는 준비금
- Reserve Fund 내의 자금이 Currency Board 메커니즘에 따라 계속 운용되어 USN의 교환비율을 유지
- Reserve Fund 내 자금이 Stableswap에 활용됨으로써 추가적인 가격 페깅성 강화
위 두가지 역할을 하나씩 살펴보도록 하자.
준비금
Reserve Fund는 최초 부트스트래핑을 통해 1:1 비율로 NEAR-USDT가 채워지며, 전체 Reserve Fund의 절반에 해당하는 USN이 발행된다. 즉 USN은 런칭과 동시에 NEAR와 USDT를 1:2 비율로 과담보하여 발행된다.
초기 부트스트래핑 이후, 새로운 USN은 앞서 설명한 바와 같이 NEAR-USN 스마트 컨트랙트에 NEAR를 제출하는 것을 통해서만 민팅될 수 있다. 따라서 더 많은 USN이 민팅될 수록 Reserve Fund에는 NEAR가 쌓여갈 것이다.
USN 뱅크런이 발생하고 NEAR의 가치가 크게 하락하는 Death Spiral이 발생하게 된다면, USN의 총 유통량이 Reserve Fund 내에 있는 자금의 가치보다 커지는 교차점이 생길 것이다. 해당 교차점이 발생하기 직전까지는 Reserve Fund 내의 자금으로 유통되고 있는 USN을 모두 바이백할 수 있을 것이다. 그리고 애초에 Reserve Fund 내 자금을 모두 써도 유통되고 있는 USN을 모두 바이백할 수 없는 교차점까지 가지 않도록 Decentral Bank는 노력할 것이라고 설명하고 있다. 따라서 Reserve Fund는 교차점이 발생하기 전까지는, 유통되고 있는 USN을 모두 바이백할 수 있는 NEAR-USDT 자금을 확보해두고 있는 준비금의 역할을 수행한다.
Currency Board
부트스트래핑 및 이후 USN 민팅을 통해 모인 Reserve Fund 내의 NEAR와 USDT는 가만히 잠겨있지 않는다. Treasury Management라는 일련의 규칙에 따라 작동하는 Decentral Bank 컨트랙트가 해당 자금을 자동적으로 운용하며 USN의 가격을 안정적으로 유지하는 Currency Board의 역할을 수행한다. Treasury Management의 세부 사항은 Decentral Bank DAO가 투표로 결정하게 된다.
Currency Board 방식의 Resesrve Fund 운용은 홍콩의 Currency Board 메커니즘에 영향을 받은 것으로 보인다. 쉬운 이해를 위해 먼저 홍콩의 Currency Board 메커니즘에 대해 설명하도록 하겠다. 홍콩은 현재 달러페깅 환율제도를 채택하고 있는데, $1 = 7.8 홍콩 달러로 환율을 고정하였다. 해당 고정 환율을 유지하기 위해 홍콩 금융관리국은 Currency Board 메커니즘을 도입하였는데, 쉽게 설명해서 상황에 따라 적극적으로 시장에 개입해 홍콩 달러를 구매/판매함으로써 홍콩 달러의 환율을 인위적으로 기준에 맞추는 제도이다. 만약 홍콩 달러 구매 압박이 심해져 미국 달러 홍콩 달러 환율이 떨어지면 홍콩 금융관리국은 시중에 홍콩 달러를 팔아 유통량을 늘림으로써 홍콩 달러를 평가절하시킨다. 자세한 원리는 아래 도식을 참고하길 바란다.
이와 마찬가지로 Treasury Management는 Reserve Fund의 자금을 통해 NEAR를 구매/판매함으로써 NEAR의 가격을 조율한다. 이를 통해 Reserve Fund 내의 자금의 가치가 유통되고 있는 USN을 100% 이상으로 담보할 수 있도록 한다. Decentral Bank가 Currency Board로써 Reserve Fund를 운용하기 위한 규칙이자 알고리즘인 Treasury Management는 향후 자세히 설명하도록 하겠다.
Stableswap
니어 프로토콜 상에 배포된 AMM DEX인 Ref Finance은 스테이블 코인을 1:1의 비율로 안정적으로 교환할 수 있는 Stableswap 기능을 제공한다. Decentral Bank 컨트랙트는 해당 Stableswap 풀에 USN<>USDT 페어를 유동성 공급함으로써 USN의 가격 페깅성을 강화한다. 유동성 공급에 사용되는 USDT는 Reserve Fund 내의 자금에서 갖고 오는 것이며, USN은 Reserve Fund 내의 NEAR를 통해 새로 민팅한다. 만약 Ref Finance에서의 USN<>USDT 풀에서 USN의 양이 USDT의 양보다 적어지면 새로운 USN을 민팅해 유동성을 보충한다. 반대로 USN의 양이 USDT에 비해 많아진다면 USN 유동성을 뺀 후에 소각한다. 이렇게 Ref Finance 내 Stableswap 내 USN<>USDT 교환비율을 최대한 1:1로 맞춤으로써 가격 페깅성을 강화한다.
각주: 여기서 생각해볼 점이 있다. 사실 Stableswap에 USN 유동성을 공급할 때에 사용되는 USN 은 Reserve Fund 내 NEAR를 NEAR<>USN 스마트 컨트랙트에 제출하여 민팅해내는 물량이다. 하지만 NEAR<>USN 스마트 컨트랙트에 제출된 NEAR는 소각되지 않으며 결국 다시 Reserve Fund로 다시 들어간다. 즉 Stableswap 기능에서 Decentral Bank는 USN을 무한 민팅해낼 수 있는 것이다. 이에 대해 USN 백서에서는 새로 민팅한 USN이 판매되기 전까지는 프로토콜의 소유이며 ‘유통되지 않는' 물량이기에 상관이 없다고 설명하고 있다. 그리고 해당 USN이 판매되면 그만큼의 USDT가 Reserve Fund에 들어오게 된다. 따라서 사실 Stableswap도 결국에는 Ref Finance를 중간 다리로 거치기는 하지만 USDT를 Reserve Fund에 제출하고 USN을 민팅해가는 것과 동일하게 보이기도 하다.
Treasury Management
앞서 설명했듯이, Reserve Fund 내의 NEAR와 USDT 자금은 끊임 없이 운용됨으로써 NEAR의 가격을 의도적으로 조정한다. 이는 결국 유통되고 있는 USN이 충분한 자금에 의해 담보될 수 있도록 하기 위함이다. 아래 그림을 다시 한번 살펴보자.
예를 들어 초창기에 각각 $100 어치의 NEAR와 USDT로 부트스트래핑이 되고 $100 어치의 USN이 민팅되었다고 치자. 이후 $1000 만큼의 NEAR가 Reserve Fund에 추가되고 동일한 만큼의 USN이 민팅된다. 그렇다면 지금 Reserve Fund 내에는 $1200($100+$100+$1000)만큼의 자금이 있고, 총 $1100 어치의 USN이 유통되고 있다. 이때, Reserve Fund 내의 자금으로 유통되고 있는 USN을 모두 바이백할 수 있기에 준비금으로써의 역할이 유지되고 있다.
하지만 극단적인 예로 NEAR의 가치가 $0이 된다고 치자. 그렇다면 Reserve Fund의 가치는 $100밖에 안되는 반면 유통되고 있는 USN의 가치는 $1100만큼이나 되는 것이다. 이러한 상황 속에서 USN의 가격 페깅성은 절대로 유지될 수가 없다. 따라서 NEAR의 가격을 방어하기 위해서 Reserve Fund는 Treasury Management라는 규칙 아래 계속해서 자동적으로 운용된다. 간단하게 먼저 살펴보도록 하자. Treasury Management는 NEAR의 가격이 하락한다면 Reserve Fund 내의 USDT를 갖고 NEAR를 구매하여 가격을 올린다. 이게 계속된다면 Reserve Fund 내의 USDT 양은 계속해서 줄어들 것이고 USN과 USDT 간의 불균형이 생길 것이다. 이를 조정하기 위해 다시 NEAR를 USDT로 판매하여 Reserve Fund 내 USDT를 채운다.
Treasury Management는 자동화된 알고리즘이다. 이 알고리즘이 작동하는 방식은 아래와 같다. (하이 레벨에서만 해당 알고리즘을 분석할 것이며, 구체적인 알고리즘 설계 과정과 수식을 확인하고 싶은 사람은 직접 백서를 읽어볼 것을 추천한다. )
- 5분 간격으로 체크포인트를 두어 NEAR/USD 가격을 산정한다.
- 최근 6개의 체크포인트별 3개 기간 이동평균을 구한다. 이를 Z(t-1), Z(t-2)…. Z(t-6)이라고 두자.
- Z(t)의 추세선을 at² + bt + c로 두고, 이를 앞서 언급한 6개의 데이터를 입력해 회귀분석을 시행하여 각 계수 a,b와 R²(회귀분석 결정계수의 제곱)를 구한다.
- 앞서 구한 계수들에 따라 C = (a의 부호)*R²/{(t+b/2a)^m + 1} 를 구한다. C의 값은 현재 시점의 NEAR/USD 가격이 Z(t)의 추세선에서 극소점 및 극대점에서 얼마나 멀리 있는지 판단하는 값이된다.
- Z(t)의 추세선은 이차함수이므로 a의 부호에 따라 극대점 혹은 극소점을 가질 것이다. 만약 NEAR/USD 가격이 현재 극대점에 도달했다고 판단하면 NEAR를 USDT로 팔고, 극소점에 도달했다고 판단하면 USDT로 NEAR를 구매한다
기타사항들
앞서 설명한 Treasury Management의 자동화에는 두 가지 목표가 있다. 첫째로 Reserve Fund의 운용을 탈중앙화시키는 데에 있고, 두번째로 Reserve Fund가 실시간으로 즉각 조정될 수 있게 하는 데에 있다. 이러한 목표에 맞게 Treasury Management의 알고리즘은 는 오로지 DEX만 포함하며 CEX가 개입되지 않는다. 또한 Reserve Fund의 운용을 위해서는 NEAR/USD의 외부 가격을 오라클을 통해 받아와야한다. 정확한 가격을 받아오고 하나의 풀에서 가격이 단기적으로 급격히 변동하는 상황에서 발생할 수 있는 탈취 사례를 방지하기 위해서 Decentral Bank는 DEX 내 NEAR와 다수의 스테이블코인 간의 가격들의 중간값을 NEAR/USD 가격으로 둔다고 한다. 구체적인 오라클 구현 방식은 별도의 문서를 통해 설명할 것이라고 하지만 아직은 나오지 않은 상태인 것으로 보인다.
또한 NEAR<>USN 컨트랙트를 통해 새로운 USN을 민팅할 때에는 런칭 단계에서는 0.5%의 수수료가 발생할 예정이지만, 향후 Decentral Bank DAO의 투표를 통해 변동될 수 있다. 민팅 수수료 이외에도 Decentral Bank는 USN의 운영에 있어 다양한 의사결정을 내리게 되는데, 구체적인 사항은 아래와 같다.
- 최초 부트스트래핑 단계에서 USN의 발행량을 결정하고, 자금 조달 방식을 결정
- 민팅 수수료율, 오라클 규칙 등을 결정
- Dev Fund를 셋업하고 구체적인 분배 계획은 결정 — 부트스트래핑 직후에는 Reserve Fund가 벌어들이는 추가 수익의 0.5%를 Dev Fund에 배정할 예정이라고 함
- Treasury Management의 구체적인 사항들을 결정
마찬가지로 DAO 거버넌스에 대해서도 별도의 문서를 통해 자세히 설명할 것이라고 하지만 아직은 나오지 않으로 확인된다.
지금까지 백서 내용을 기반으로 USN의 작동 원리를 살펴보았다. USN은 지난 4월 초 Zorax Capital의 대표 Zoran Kole가 개인 블로그에 USN이 곧 출시될 예정이며 앵커 프로토콜과 같이 20%의 이자율을 제공할 것이라고 글을 올린 후 많은 관심을 받았다. 그리고 드디어 그 베일을 벗게 되었다. 루머의 핵심 사안이었던 20% 이자율에 대해서 Decentral Bank 측은 다음과 같은 트윗을 올렸다.
Decentral Bank DAO의 투표를 통해 Reserve Fund 내 NEAR의 일부를 스테이킹할 것이며, 해당 스테이킹 이율을 USN 홀더들에게 제공할 것으로 보인다. 해당 이자율은 따라서 언제든지 바뀔 수 있는 것으로 보이지만, 초창기에는 20% 이상의 APY가 제공될 것이라고 설명하고 있다.
스테이블 코인은 하나의 생태계가 발전함에 있어 중추적인 역할을 수행하는 요소이며, 최근 스테이블 코인에 대한 관심이 다시 뜨거워지고 있다. 니어 프로토콜도 자체 스테이블 코인을 런칭하며 한단계 발전을 꾀하고 있으며, 그 디딤발을 내딛었다. USN이 앞으로 니어 프로토콜을 어떻게 발전시켜나갈지 앞으로의 행보를 지켜보도록 하자.
Contact information
email : ricky@superblock.co
twitter : @SatoshiN0bunaga
telegram : @jjh8477