$1에 해당하는 스테이블 코인인 MakerDAO Dai는 우리 주변에서 흔하게 접할 수 있는 합성 자산이다. UMA(Universal Market Access)와 Synthetix 등 합성 자산 프로토콜도 인기가 있다. 요즘에 특정 기간의 이더리움 가스비 평균을 따르는 uGAS 토큰이 등장하기도 했다.
미러 프로토콜은 이런 합성 자산(Synthetic Asset)을 만들고 거래할 수 있는 플랫폼이다. 미러 프로토콜의 합성 자산을 mAsset(Mirrored Assets)이라고 부르는데 처음에 애플, 구글, 테슬라 등 주식과 원자재로는 금, 은, 오일 등 13개 mAsset을 제공했다. 월마트, 존슨앤드존슨, 한국거래소의 삼성전자 등 다른 주식과 비트코인, 이더리움, 폴카닷 등 암호자산을 추가하려는 거버넌스 투표가 활발하다.
과거 STO(Security Token Offering)는 실물을 기반으로 발행했다. 합성 자산은 실물 기반 토큰(Asset-Backed Token)과 달리 토큰에 해당하는 실물이 없고 단지 가격만을 추종한다. 가격 차이로 거래하는 점에서는 최근 과세가 결정된 차액결제거래(CFD)와 비슷하다. 얼핏 보면 배당을 받지 못하고 의결권도 행사할 수 없으며 실물이 뒷받침하지 않기 때문에 불안해 보인다. 그러나 반대로 법적인 제약이 없기 때문에 신원 확인 없이 다른 나라의 주식 등 여러 자산을 자유롭게 거래할 수 있고, 수탁업자에게 지불할 비용이 없다.
당장 미러 지갑을 사용하면 모바일에서 테라 프로토콜의 달러 스테이블 코인인 UST를 가지고 mAsset을 사고 팔 수 있다. 미러 지갑 사용자는 소셜미디어로 계정을 생성하고 MoonPay에서 UST를 구매하여 거래를 시작할 수 있다. 테라와 미러 프로토콜 그리고 MIR 토큰 같은 복잡한 부분을 미러 지갑 사용자는 몰라도 된다. 미러 지갑을 사용하여 로빈후드처럼 해외 주식을 손쉽게 거래할 수 있다.
기반
프로토콜은 테라 블록체인을 사용한다. 테라는 코스모스 SDK을 사용했고, 원래 코스모스 SDK는 이더리움처럼 스마트 컨트랙트를 작성할 수 없고 대신 필요한 기능을 모듈 형태로 블록체인 노드 프로그램에 집어넣는다. 테라의 가격 오라클과 스왑 기능은 이렇게 모듈로 작성했고, (파라미터 조정이 아닌) 변경하려면 블록체인 노드를 업그레이드해야 했다. 2020년 10월에 시작한 columbus-4 네트워크에 스마트 컨트랙트를 지원하는 CosmWasm 기능이 추가되어서 테라스왑과 미러 프로토콜 등 DeFi 어플리케이션이 가능한 기반을 마련했다.
미러 프로토콜은 테라스왑을 사용한다. 테라스왑은 테라 프로토콜 위에 구현한 유니스왑이다. 거래쌍을 만들고, AMM으로 가격을 결정하며 유동성을 제공하면 LP 토큰을 받을 수 있다. 미러 프로토콜이 만든 합성 자산을 테라스왑으로 거래한다. 한편 테라스왑은 LUNA, KRT, UST 등 테라 프로토콜의 기본 화폐간 거래도 지원한다. 그래서 테라 프로토콜 자체 스왑과 테라스왑 스왑 중 어떤 쪽이 더 이익인지 알려주는 기능이 최근에 테라 스테이션에 추가되었다.
미러 프로토콜은 테라 스테이션 웹브라우저 확장 프로그램을 사용한다. 테라 스테이션 확장 프로그램은 메타마스크처럼 웹지갑 역할을 한다. 웹지갑은 테라 프로토콜 기본 화폐와 mAsset 보유 수량을 보여주고 송금을 할 수 있다. 단, 유동성으로 제공했거나 스테이킹한 물량은 보여주지 않는다. 이 물량은 미러 프로토콜 홈페이지에서 확인해야 한다. 미러 프로토콜에서 기능을 실행할 때 웹지갑에서 확인을 거친 후 트랜잭션을 보낸다.
재미있게도 미러 프로토콜은 테라 버전 말고 이더리움 버전도 있다. 이더리움 버전에서는 유니스왑과 메타마스크를 사용하여 폭넓은 DeFi 세상과 함께 할 수 있다는 장점이 있지만, 기능이 테라 버전에 비해 부족하다. 셔틀 브리지의 도움으로 미러 토큰 홈페이지에서 테라와 이더리움 사이에 토큰을 주고받을 수 있다. 이 글은 테라 버전을 중심으로 설명한다.
동작
미러 프로토콜는 UST와 MIR 토큰을 기반으로 동작한다. 둘 모두 LUNA나 KRT를 가지고 스왑으로 환전할 수 있다. 거래소에서도 구매가 가능한데 이더리움 버전 토큰일 수 있으니 ERC20 토큰인지 확인하고 구매하길 바란다. 테라 버전은 (이더리움의 ERC20에 해당하는 CosmWasm의 토큰 규격인) CW20 토큰을 사용한다. 또, LUNA 스테이킹을 하면 (혹은 이더리움 UNI 토큰 보유자에게) 매주 MIR 토큰을 에어드롭한다. 매주 일요일 즈음에 미러 프로토콜 홈페이지 첫페이지에 가면 낙하산 아이콘과 함께 claim 버튼이 생긴다. 에어드롭 claim을 포함한 기본적인 미러 트랜잭션 수수료는 0.001 UST이다.
미러 프로토콜 홈페이지 메뉴 기준으로 하나씩 보면,
첫 대문은 전체 프로토콜 통계와 mAsset 시세를 보여준다. 또, claim안한 에어드롭이 있는 경우 알려준다.
"My Page" 메뉴에서 자신의 토큰, 자신이 만든(mint) mAsset, 자신이 제공한 유동성, 자신이 스테이킹한 물량을 확인할 수 있다. 또, 테라와 이더리움 사이에 토큰을 주고받을 수 있다. 토큰 송금이 가능한데 memo 필드를 사용할 수 없기 때문에 거래소로 입금이 어려울 수 있다.
"Trade" 메뉴에서 UST를 가지고 MIR와 mAsset을 사고 팔 수 있다. 거래 가격은 유니스왑처럼 AMM으로 결정된다. 거래할 때 LP/trading commission 0.3%와 테라 프로토콜 자체 tax(발표 시점에 약 0.6%)를 수수료로 낸다.
"Mint" 메뉴에서 기본 200%의 UST (혹은 mAsset) 담보를 가지고 mAsset을 만든다(mint). 밴드 프로토콜 등 가격 오라클 제공자가 주기적으로 체인에 가격 정보를 기록하고, 이 가격을 기준으로 담보를 잡는다. 담보 비율이 낮아지면 해당 mAsset이 청산될 수 있다. 청산자는 (웹페이지에는 기능이 없어서 mirrorcli를 사용하여) mAssset을 주고 담보를 할인된 가격으로 구매할 수 있다. 이미 만든 mAsset에 대한 담보를 추가로 제공하거나(deposit) 일부 담보를 인출할(withdraw) 수도 있다. 미국 주식의 경우 장이 열린 시간에만 mAsset을 만들거나 파괴할 수 있다. 장외 시간을 더하면 한국시간 기준 그날 오후 6시부터 다음날 오전 10시까지다.
"Pool" 메뉴에서 (구매했거나 직접 mint한) mAsset과 그에 해당하는 가치의 UST를 가지고 유동성을 제공한다. 유동성을 제공한 대가로 LP 토큰을 받는다. MIR-UST 쌍의 유동성을 제공할 수도 있다.
"Stake" 메뉴는 LP 토큰의 수익률을 보여주며 LP 토큰을 스테이킹한다. LP 토큰은 언제든지 바로 언스테이킹할 수 있다.
마지막 "Governance" 메뉴는 MIR를 스테이킹한다. 스테이킹한 사용자는 신규 mAsset 제안 등을 상정하고, 스테이킹한 물량만큼 투표할 수 있다. 투표 기간은 2주이며 투표는 전체 스테이킹한 물량의 10%인 정족수를 최소한 넘겨야 한다. 투표를 한 경우 투표가 끝날 때까지 스테이킹한 MIR를 언스테이킹할 수 없다.
실제 시세와 mAsset 가격이 벌어지면 차익거래 기회가 발생하고 차이가 줄어들게 된다. 실제 시세 보다 mAsset 가격이 높으면, mAsset을 만들어서(mint) 판매할 유인이 생겨서 가격이 낮아진다. 반대로 실제 시세 보다 mAsset 가격이 낮으면, mAsset을 구매하여 파괴할(burn) 유인이 생겨서 가격이 높아진다.
mAsset을 구하려면 Trade 메뉴에서 구매하거나 Mint 메뉴에서 직접 mint한다. 구매한 경우 mAsset의 가격 변동에 직접 영향을 받는다. mint한 경우 나중에 (아마도 유동성을 제공하는게 사용한) 동일한 mAsset을 반납하면 담보를 돌려받을 수 있기 때문에 가격 변동에 영향을 덜 받는다. 그러나 mint할 때 초과담보가 필요하고, 담보를 되찾을 때 수수료가 높은 단점이 있다.
비슷한 용어가 자주 등장하여 한번 정리하고 넘어갑니다.
mint (open position) / burn (close position) - 초과담보를 제공하여 mAsset 즉 CDP(collateralized debt position)를 만들고, mAsset을 소멸하고 초과담보 되찾기
deposit / withdraw - mAsset에 대한 담보를 (아마도 최소 담보 비율 150%를 맞추기위해) 추가로 제공하고, (최소 담보 비율을 지키는 선에서) 담보를 일부 인출한다.
provide / withdraw - MIR/mAsset과 UST 쌍을 제공한 대가로 해당 LP 토큰 받고, LP 토큰을 돌려주고 자신의 기여분에 해당하는 (즉, 처음 제공한 토큰 수량과 다를 수 있음) MIR/mAsset과 UST 받기, 이 과정에서 유니스왑과 마찬가지로 impermanent loss (가격 상승시 자산을 그대로 가지고 있을 경우 대비 손해) 발생 가능
stake / unstake - MIR 보상을 받기위해 LP 토큰을 스테이킹하고, 아마도 LP 토큰을 withdraw하려고 LP 토큰 언스테이킹하기
MIR stake - MIR를 스테이킹하고 거버넌스 투표에 참여 (바로 위에 있는 MIR-UST LP stake와 다름)
인센티브
다양한 작업별로 인센티브를 얻을 수 있다.
LP 토큰 - LP/trading commission (0.3%), 최종 withdraw할 때 실현
mAsset-UST LP stake - 프로토콜이 추가 발행하는 토큰을 받음, 보상 claim 트랜잭션 필요
MIR-UST LP stake - 프로토콜이 추가 발행하는 토큰을 mAsset-UST LP 보다 3배 가중치로 받음, 보상 claim 트랜잭션 필요
MIR stake - mAsset을 소멸하고 담보를 찾을(withdraw) 때 1.5% 수수료를 MIR로 스왑하여 받음, 또 투표 제안 비용(100 MIR)을 나눔, 보상만큼 자동으로 스테이킹 수량 증가
LUNA stake - 테라 프로토콜의 트랜잭션 수수료와 MIR 에어드롭을 받음
"My Page" 메뉴에서 MIR stake 보상을 확인하기 힘들다. LP stake 같은 경우 거의 한시간에 한번씩 보상 정산 트랜잭션(예)이 있지만, MIR stake 보상 정산 트랜잭션(발표 시점에 가장 최근 예)은 하루에 한번도 없는 경우가 있기 때문이다.
일정 금액을 가지고 어떤 방법이 가장 수익이 좋을지 궁금할 수 있다.
UST를 가지고 MIR와 mAsset 트레이딩 - 로빈후드에서 주식 투자하듯이 시세 차익을 노림
LP 스테이킹 (발표 시점 300+% → 200% 전후) - 프로토콜이 추가 발행하는 토큰에서 기여도 만큼 보상
MIR 스테이킹 (발표 시점 10% 전후) - 담보를 돌려받을(withdraw) 때 수수료와 투표 제안 비용에서 기여도 만큼 보상
LUNA 스테이킹 - LUNA 가격 변동 + UST tax 등 트랜잭션 수수료 + MIR 에어드롭, 언스테이킹에 3주가 걸리는 단점
미래
현재 게시판에서 MIR 스테이킹을 유도하는 즉 인센티브를 키우는 방안과 한번에 여러 mAsset을 추가할 때 발생할 수 있는 문제를 논의하고 있다. MIR가 묶이게 되는 투표 기간을 2주에서 한주로 줄이자는 제안이 호응을 받고 있다. 거버넌스 투표로 커뮤니티 자금을 지원할 수 있고, 청산 봇 프로젝트를 지원하자는 제안이 있다. 미러 프로토콜 테라 버전과 이더리움 버전의 다양한 정보를 한눈에 보여주는 사이트도 생각해봄 직하다.
앵커 프로토콜(Anchor Protocol)이라는 테라 DeFi 프로젝트도 선보일 예정이다. 앵커 프로토콜의 목표는 PoS 체인들의 보상을 모아서 안정적인 이자를 제공하는 것이다. 이를 위해 스테이킹한 토큰을 담보하고 스테이킹 보상을 얻을 수 있는 bAsset(bonded asset) 즉 유동화한 스테이킹 토큰을 만든다.
테라는 mAsset들을 모은 인덱스 펀드 토큰 그리고 앵커 프로토콜과 미러 프로토콜을 결합한 yield bearing stock(예, 애플 주식 mAsset을 보유하면 수량이 늘어남)을 예고하기도 했다.
미러 프로토콜은 이더리움에 비해 짧은 블록타임(6~7초)와 낮은 수수료로 DeFi를 경험할 수 있는 좋은 기회이다.
DISCLAIMER: 저자는 LUNA 투자자이며 회사에서 테라 프로토콜 관련 서비스와 스테이킹을 제공하는 업무를 했습니다.
2020.01.08 - 첫 발행
2020.01.13 - 저자, 송금시 memo 불가, mAsset을 담보로 mAsset mint, 청산 설명, mint/burn 가능 시간, 가격 차이가 줄어드는 이유, 구매와 mint 비교, lp 반환시 토큰 수량 차이, 가격 변동이 아니라 가격 상승시 impermanent loss, 정산 트랜잭션 링크 수정