변호사가 본 ‘루나 사태’ ① 공격은 누가, 어떻게?
[김정민의 친절한 IT 이야기] 권도형 대표의 지나친 자신감에 공격세력은 기회를 엿보고 있었다 6단계에 걸친 공격 감행 추정돼
이달 들어 ‘국산 코인’ 중 글로벌 시가총액 10위권에 있었던 코인이 한순간에 휴지가 되는 사태가 발생했다. 바로 루나 코인 사태이다. 5월 6일까지 10만 원이 넘었던 루나 코인은 현재 0.25원을 밑돌고 있다. 이 사태는 왜 발생했으며, 이 사태가 벌어진 책임을 공동창업자인 테라폼랩스 권도형 대표에게 물을 수 있을지가 초미의 관심사가 되고 있다.
결론부터 말하자면, 권도형 대표에게 이번 사태에 대한 책임을 묻기는 쉽지 않을 것이다. 기술적으로 세세하게 파고들지 못한다면, 피해자들의 피해배상을 구하는 목소리는 공염불에 지나지 않을 것이다. 그렇다면 루나 사태와 같은 피해를 방지하기 위해서는 어떤 점을 유념해야 하는지, 도대체 스테이블 코인은 무엇이고, 테라(UST)와 루나는 어떻게 동작하도록 설계가 되었으며, 이번 폭락 사태를 막을 수 있는 방법은 있었는지 궁금해진다.
테라 코인(스테이블 코인)의 작동원리
루나 사태를 이해하기 위해서는 먼저 ‘스테이블 코인’과 ‘Defi(Decentralized Finance, 탈중앙화 금융)’에 대해서 알아야 한다. Defi는 간단히 말해 현재 증권사, 은행, 투자자문사 등이 하는 기능을 코인 세상에서 구현한 것이다. 실제로 엄청난 액수의 거래가 이루어지고 있다. 스테이블 코인은 가격 변동성이 거의 없는 ‘Stable’한 코인이라는 의미다. 금융거래의 기본은 화폐이고 Defi에도 안정적인 화폐 시스템이 필요하다. 일반 코인은 변동성이 심해 일상생활에서 화폐로 쓰기 힘들다. 화폐의 기본적인 기능은 ‘가치저장’과 ‘교환’인데 코인의 심한 변동성은 코인이 화폐로서의 기능을 하지 못하게 하는 요인이었다. 코인 자체의 변동성이 심하면 사람들은 이자를 몇 푼 더 받는 것보다 코인 가격 상승에 더 연연하게 되기 때문이다.
그래서 법정통화(일반적으로는 미국 달러)와 페깅(pegging, 코인 시세를 법정화폐의 가치에 고정시키는 것)되어 가격 변동이 거의 없는 스테이블 코인이 개발되었다. Defi는 변동성이 없는 스테이블 코인을 바탕으로 각종 블록체인 금융상품(예금, 대출, 펀드 등)을 만들어 서비스하고 있다. 테라 코인은 여러 종류가 있는데, 각각 달러, 유로, 위안, 엔, 파운드, SDR(Special Drawing Rights, 국제통화기금 IMF의 특별인출권)에 페깅된 코인들이 그것이다. 그 중 제일 중요한 것이 미국 달러에 페깅된 코인인 UST이이고 일반적으로 ‘테라 코인’은 UST의 의미로 사용된다.
스테이블 코인이 필요한 것은 알겠고, 페깅은 무엇이고 스테이블 코인은 어떻게 만들어지는지가 궁금하다. 실제로 이것을 알아야 이번 사태의 본질을 이해할 수 있다.
국가가 처음 화폐를 만들었을 때, 아무도 종이쪼가리를 신뢰하지 않았다. 쌀이나 비단, 금이 더 중요했다. 달러조차도 언제든지 금으로 바꿀 수 있었기 때문에 사람들이 달러를 믿고 사용했다(금본위제, 바꾸는 행위를 ‘태환’이라고 한다). 1971년 금본위제가 폐기된 후에야 달러도 자립(불태환)하게 되었다. 스테이블 코인 개발 방식과 발전 과정도 거의 유사하다. 스테이블 코인을 법정화폐(달러)로 바꾸는 것을 보장하는 유형(A), 코인 계의 기축통화인 비트코인이나 이더리움으로 교환을 보장하는 유형(B), 아예 이러한 교환의 보장이 없이 알고리즘으로 가격을 유지하겠다는 유형(C) 등 세 종류가 있다. A유형과 B유형은 유사하므로 A유형과 C유형에 대해서만 구체적으로 알아보자.
테더(Tether, USDT)라는 스테이블 코인은 테더 1개를 발행할 때마다 1달러를 예치해둔다. 즉 테더의 발행 수량만큼 회사가 달러를 가지고 있어 언제든지 바꿔줄 수 있다(A유형). 예치금 덕분에 사람들은 테더의 안정성을 신뢰하지만, 달러 예치금을 확보하는데 많은 자금이 필요하고, 예치금을 운용해 얻을 수 있는 수익을 포기하고 예치만 해야 하므로 비효율이 크다. A유형은 이런 비효율성 때문에 발전이 더딘데, 1971년부터 달러가 불태환 화폐가 된 것처럼 불태환 스테이블 코인(C유형)이 고안되기 시작했고, 그래서 만들어진 것이 테라(UST)이다.
알고리즘으로 코인의 가격을 일정하게 유지하는 것이 쉬운 일은 아니다. 그래서 알고리즘이 복잡할 뿐만 아니라 이해하기도 상당히 어렵다. 이해하기 쉽게 설명하려면 상당한 비약이 있을 수 밖에 없고 핵심 위주로 이해하는 것이 도움이 된다.
테라에는 테라 프로토콜(Protocol)이라는 것이 있다. 테라가 1달러에 페깅되게 해주는 알고리즘이라고 생각하면 편하다. 루나(LUNA)는 테라 프로토콜의 작동에 필요한 보조 코인이다. 작동방식은 경제학의 기본 뼈대인 수요 공급에 따른 가격 결정의 원리다. 테라의 가격이 1달러 아래로 떨어지면 테라의 공급을 줄이고, 1달러 위로 올라가면 공급을 늘리는 방식으로 가격을 조절한다. 수요 공급의 조절이 시장에서 자동으로 이루어지게 설계하는 것이 중요한데, 테라 프로토콜이 그것이다.
테라 프로토콜의 핵심은 1테라를 1달러의 가치를 가지는 수량만큼의 루나로 교환을 보장하는 것이다. “1테라 = 1달러”가 유지되는 과정을 살펴보자. 만약 어느 순간에 “1테라 = 1.1달러”가 되는 경우, 시장참여자(우리들)는 1달러 만큼의 루나를 사서 이를 1테라로 바꾸면 1달러를 투자하여 1.1달러를 얻게 된다. 이를 차익거래라고 하고 주식시장에서는 프로그램 매매로 차익거래를 한다. 참여자는 차익을 남기려고 이 과정을 수행하고, 이를 통해 테라의 공급이 증가하여 1.1달러이던 테라의 가격은 1달러에 접근하게 된다. 반대로 어느 순간 1테라가 0.9달러가 되는 경우, 시장참여자는 1테라를 1달러 만큼의 루나로 교환한 후 루나를 시장에서 팔면 1달러를 손에 쥘 수 있다. 즉 0.9달러를 넣고 1달러를 얻을 수 있는 차익거래이다. 이 과정을 통해 테라의 공급이 줄어들어 테라는 1달러에 접근하게 된다.
외부 세력의 빌미가 된 테라 코인의 취약점은
앞에서는 테라 스테이블 코인의 이해를 위한 핵심 내용을 설명했다. 그런데 지금까지 잘 동작해오던 테라 프로토콜이 어떤 이유로 파괴되고 루나 가격 폭락 사태에 이르게 되었을까?
먼저 수요 공급 곡선에 의한 시장 가격 형성이 되기 위해서는 ‘완전 경쟁 시장’이 전제가 되어야 한다. 쉽게 말해 판매자와 소비자가 매우 많아야 하고, 대량의 수요를 받쳐줄 공급이 있어야 하고, 대량의 공급을 수용할 수요가 있어야 하는데 이를 유동성이라고 한다. 즉 유통되는 테라의 개수가 적고, 충분한 대기 공급과 수요가 없다면 테라의 가격 변동폭이 커지고, 외부의 요인 또는 돈 많은 자본가의 장난질에 테라 프로토콜은 쉽게 망가질 수 있다. WTI(석유가격) ETF 같은 파생상품 시장도 비슷한데, 시장에 유동성이 제대로 공급되지 않으면, 실제 석유가격과 ETF가격이 일시적으로 큰 괴리가 발생하여 ETF가 망가지게 된다.
따라서 테라 프로토콜이 유지되기 위한 핵심은 테라의 풍부한 유동성이고 이를 담당하는 것이 이 ‘앵커 프로토콜’(Anchor Protocol)이다. 풍부한 유동성이 전제되어야 완전 경쟁 시장에 가까워져 차익거래를 통한 수요 공급 조절에 의해 테라 가격이 1달러로 회귀할 수 있다.
앵커 프로토콜은 시장참여자(투자자)가 테라를 사서 예치해두면 연 19.5%의 이자(예치이자=은행의 예금이자)를 주는 것으로 설계되었다. 고율의 이자로 인해 많은 투자자들이 유입되면 이들이 예치한 테라가 안정성을 확보하고 유동성 공급에 쓰이게 된다. 즉 앵커 프로토콜을 통해 투자자로부터 유입된 대량의 테라가 테라 프로토콜의 운용에 사용되어 완전 경쟁 시장과 같은 가격 결정 메커니즘을 유지할 수 있다. 앵커 프로토콜 덕분에 테라는 글로벌 가상화폐 시총 10위권에 올라갈 수 있었다.
그러나 연 19.5%의 예치이자에 대한 우려와 비판이 많았다. 앵커 프로토콜이 유지되기 위해서는 예치이자보다 높은 대출이자로 대출해야 하고 대출 수요도 있어야 한다. 이른바 ‘예대마진’이다. 그런데 테라의 대출이자는 12~17% 정도로 예대마진이 마이너스이고, 차액을 루나 재단에서 보조해주고 있다고 알려져 있었다. 이 때문에 뒤에 예치되는 테라로 앞에 예치된 테라의 이자를 지급하는 ‘폰지 사기’와 유사하다고 의심하는 사람이 많아졌다.
그렇다면 루나 코인 폭락 사태는 왜 일어난 것인가? 잘나가는 사람이 있으면 시기하는 사람이 있고, 누군가 완벽한 시스템을 설계했다고 떠벌리고 다니면 이를 공격해서 무너뜨려 보고싶은 욕구가 당연히 생기게 마련이다. 개발자와 돈 많은 자본가는 특히 더 그렇다(실제로는 막대한 돈을 벌려고 공격했을 가능성이 크다).
지난해 말부터 테라와 같은 알고리즘 스테이블 코인에 대해 위험성을 경고하고 지속가능성을 의심하는 전문가가 계속 늘어났다. 그때마다 권도형 대표는 테라의 안전을 자신했지만, 내부적으로는 지난 1월 테라 프로토콜과 앵커 프로토콜을 안정적으로 관리, 운영하기 위해 루나재단(LFG, Luna Foundation Guard)을 만들고, 준비금 조성, 생태계 지원 등의 역할을 맡겼다. 테라와 1달러의 안정적인 페깅을 위해 테라 프로토콜(알고리즘), 앵커 프로토콜, 그리고 LFG라는 3가지의 안전장치를 구비해가고 있었다.
공격자는 이런 3중의 안전장치가 견고해지기 전에 루나 재단이라는 방어자와 한판 붙어보려고 기회를 보고 있었다. 누가 왜 공격을 했는지는 알 수 없지만, 루나 사태 전후의 정황과 코인의 거래량 및 시세 그래프를 보면 공격이 있었다는 것은 기정사실로 받아들여지고 있다.
공격 시점의 선택...”루나재단이 가장 취약한 시기”
루나재단은 대표 트위터 계정을 통해서 소통하는데, 최근 2가지 큰 이벤트를 공지했다. 첫째, 대량(15억 달러 가량)의 비트코인 추가 매입, 둘째, 3 Pool에서 4 Pool로의 이전이 그것이다. 테라는 알고리즘 스테이블 코인으로 비트코인을 준비금으로 확보할 필요는 없지만, 페깅에 대한 안전장치인 지급준비금 성격으로 비트코인을 구매한 것이다. 이 비트코인을 19.5% 이자 지급에 보조금으로 사용한 것으로 추정되는데, 결국 앵커 프로토콜에 테라가 더 많이 예치될수록 이자 지급을 위해 루나재단은 더 많은 비트코인을 구매해야 한다. 비트코인은 코인계의 기축통화이므로 언제든지 테라 코인으로 바꿔 이자로 지급할 수 있다.
공격자가 찾은 취약한 시점은 4 Pool로의 이전이다. Pool은 말그대로 코인들을 모아 놓은 거대한 저장소(웅덩이)를 의미한다. 테라 프로토콜을 유지하려면 테라와 다른 스테이블 코인의 교환이 보장되어야 한다. 테라 투자자가 언제든지 다른 스테이블 코인과의 교환을 통해 투자금의 회수가 가능하게 해야 한다. 특히 엄청나게 큰 액수의 교환도 한꺼번에 이루어질 수 있어야 시스템의 안정적인 유지가 가능하다.
국가의 금융위기가 닥치면 국가간 통화스와프(swap)를 체결하는 것과 유사한데, 국가가 외환보유고를 계속 늘릴 수는 없기 때문에 통화스와프 체결을 통해 보완하는 것이다. 한미 통화스와프가 체결되어 있으면 달러 외환보유고가 부족하더라도 언제든지 원화를 달러로 바꿀 수 있으니 달러 부족사태를 지연시킬 수 있다. 다만 무한정 스왑을 허용하지는 않고 수량이 정해져 있다. Pool은 스왑에 사용할 스테이블 코인들을 담아놓는 저장소인데, Pool에 담긴 코인의 종류가 많을수록, 코인 수량이 많을수록 안정적이다.
또 하나 중요한 것은 Pool 내의 코인 비율이다. 일반적으로 3 Pool에서는 3개의 코인의 비율을 1/3씩으로 유지하는데, A, B, C 코인으로 구성된 3 Pool에서 누군가가 막대한 수량의 A코인을 B코인으로 교환해간다면, Pool에 A코인은 많고, B코인은 거의 없게 된다. 이 순간 다시 대량의 A코인을 B코인으로 교환해달라는 요청이 들어오면 Pool에서 처리할 수 없게 되어 투자자의 투자금 회수가 불가능한 사태가 벌어지는 것이다.
공격자의 공격 시나리오를 추정해보면 이렇다. 첫 단계, 테라를 모아두었다가 일시에 시장에 풀어 테라의 가격을 1달러 아래(실제 0.8달러)로 심하게 떨어뜨린다(디페깅). 이어 두번째 단계, 테라(0.8달러)를 사서 1달러치 루나로 바꾸고 루나를 시장에 팔아 1달러를 확보하려는 차익거래가 늘어난다. 그 다음 세번째 단계, 시장에 루나가 급격히 늘어나니 루나재단이 루나를 소각하려 하는데 소각량보다 더 많은 루나를 공격자가 시장에 푼다. 그 다음 네번째 단계, 테라와 루나 가격이 동시에 하락하는 것을 보고 투자자들은 차익거래를 멈추고 예치된 테라를 다른 스테이블 코인으로 바꾸고, 루나도 계속 판다(뱅크런과 비슷). 다섯번째, 3 Pool의 코인 비율이 무너지고 더 이상 테라를 다른 스테이블 코인으로 바꿀 수 없게 되어 시장에서 테라와 루나의 시가 매도가 쌓인다. 여섯번째, 테라와 루나의 가격이 끝도 없이 떨어진다.
루나재단은 테라, 루나 코인의 사용이 증가하면서 기존에 사용하던 3 Pool의 용량이 부족해질 것을 걱정했고 더 큰 용량의 4 Pool로의 이전을 결정했으나, 공격자는 4 Pool로의 이전 시점에 유동성(용량)이 일시적으로 부족하게 될 것을 알고 공격 타이밍을 잡은 것으로 보인다. ②로 이어짐.




댓글