성장 스토리 ⭐️
home
📔

Ch 5. 테라 네트워크 업그레이드 과정

Columbus-3 이전 (Columbus-2)

Columbus-2는 2019년 6월 런칭한 테라 블록체인 메인넷입니다. Columbus-2는 Columbus-1에서 발생할 수 있는 여러 문제를 개선하기 위해 진행된 업그레이드로, 주요 변화는 다음과 같습니다.

오라클 작동 방식 개선

배경: Columbus-1 오라클에서는 Validator들이 다른 Validator들의 투표 값들을 볼 수 있었고, 슬래싱을 피하기 위해 다른 Validator의 제출값을 그대로 베껴서 제출하는 문제가 발생할 수 있었습니다.
변경 사항: Columbus-2부터 오라클 투표를 두 단계로 나누어서 진행하였고, 앞에서 설명한 방식대로 처음에는 제출값에 대한 해시값을 제출하도록 하여서 Validator들이 남의 제출값을 그대로 베끼는 문제가 발생하지 않도록 하였습니다.

기타

테라-루나 스왑에 대해서 Spread Fee를 부과하기 시작했습니다. 이는 온체인-오프체인 루나 가격 차에 의한 프론트 러닝 공격을 방지하기 위한 목적에서 도입되었습니다. 이 Spread Fee는 오라클에 성공적으로 참여한 Validator들에게 보상으로 분배되었습니다.
산타 프로젝트는 Columbus-2가 가동 중이던 2019년 8월에 시작되었습니다. 이 당시는 테라 블록체인의 트랜잭션 볼륨도 크지 않았고 테라 트랜잭션에 부과되는 Tax Rate도 0.1% 남짓이었습니다. 그래서 Validator의 루나 스테이킹 보상이 충분하지 못했습니다. 스테이킹 보상 수익을 유의미하게 만들기 위해 자발적으로 조성된 루나 기금을 루나 인플레이션 보상으로 나누어주는 산타 프로젝트가 실행되었습니다.

Columbus-3

Columbus-3는 2019년 11월에 런칭한 메인넷입니다. 온체인 거버넌스가 본격화되고 루나 스테이킹에 대한 보상도 실질적으로 증가했다는 점에서 Columbus-3는 테라와 루나 토큰 생태계에 많은 변화를 가져왔습니다. 테라 팀이 Columbus-2까지는 수수료 부과에 보수적이어서 트랜잭션들에 최대한 낮은 수수료를 부과했었지만, Columbus-3부터는 수수료를 어느정도 높였다는 것도 눈여겨 볼 만 합니다.

루나 보유 유인 증가

배경: 루나를 보유하고 있을 유인을 효율적으로 제공하는 것은 테라 네트워크의 보안과 안정성에 큰 영향을 줍니다. 하지만 산타 프로젝트 부분에서 설명한대로 테라 블록체인에서는 루나 스테이킹에 대한 유인이 부족하였습니다. 그리고 테라 팀은 테라 블록체인에서의 루나의 활용성을 증가시켜야한다고 생각하였습니다.
변경 사항1: 루나 스테이킹에 대한 보상을 늘렸습니다. 우선 Tax Rate을 0.11%에서 0.5%까지 대폭 인상하였습니다. 그리고 Columbus-2까지는 Spread Fee를 Oracle Validator에게 제공하였지만 Columbus-3부터는 Spread Fee는 소각하고 대신 화폐 주조에 따른 Seigniorage 중 일부를 Oracle Validator에게 제공하였습니다.
변경 사항2: 루나가 온체인 거버넌스 토큰으로 본격적으로 사용되기 시작했습니다. 이를 통해 루나 홀더들이 테라 프로토콜 의사 결정 과정에 참여하게 되었습니다.
변경 사항3: 테라 네트워크 내 지불 등 트랜잭션을 위한 자산은 테라라는 근거 하에 루나 트랜잭션에 대해서는 수수료를 부과하지 않도록 바꾸었습니다.
영향: 산타 프로젝트와 같이 인플레이션 보상이 없이도 Validator들에게 충분한 보상을 줄 수 있는 시스템이 구축되었습니다. 아래는 Terra FCD 데이터를 다운받아서 분석한 2019년부터 2020년 4월까지의 일별 스테이킹 수익률 그래프입니다. 그래프를 보시면 산타프로젝트가 진행됨과 함께 2019년 8월 경부터 스테이킹 보상이 확 증가한 것을 볼 수 있습니다. 이후 2019년 12월 26일, 산타프로젝트는 종료되었습니다. 이 당시에는 Columbus-3가 실행되고 있었는데, 산타 프로젝트가 종료되었음에도 일별 스테이킹 보상률이 떨어지지 않은 것을 확인할 수 있습니다. 물론 산타 프로젝트 봇에 의해 안정적이었던 스테이킹 보상의 변동성이 커지긴 했지만 전체적인 수준은 일정 수준 이상에서 유지되고 있음을 확인할 수 있습니다.

기타

오라클 vote period가 12 블록에서 5 블록으로 줄어들었습니다. 그리고 오라클 리워드를 받을 수 있는 구간을 0.02%에서 0.07%로 늘리고 오라클 리워드를 받는 기간도 더 길게 만들었습니다. 이를 통해 Validator가 오라클에 정직하게 참여했음에도 슬래싱을 받는 경우를 줄이려고 하였습니다.
Double signing에 대한 슬래싱 규모를 1%에서 5%로 증가시켰습니다.
마켓 모듈과 관련해서는 PoolRecoveryPeriod를 하루로 설정하고, 최저 Spread Fee는 2%로 설정하고 (Spread Fee) Tobin Tax는 0.25%로 설정하였습니다 (Front-running Attack 설명).

Columbus-5

2021년 9월 테라는 Columbus-5라는 중요한 업그레이드를 진행하였습니다. 이 업그레이드에서는 기존에 Validator에게 주던 스테이킹 보상 구조가 다시 한번 크게 바뀌었습니다. Columbus-5 런칭 이후에도 Proposal 172 같이 중요한 업데이트가 이어졌습니다. 그리고 IBC와 같이 테라 생태계가 확장하는데 필요한 요소들이 Columbus-5에서 다루어졌습니다.

시뇨리지 및 스왑 수수료 보상 변화

배경1: Columbus-4까지는 시뇨리지 중 reward_weight만큼은 오라클 리워드 풀로, 나머지는 커뮤니티 풀에 들어가고 있었습니다. 하지만 시뇨리지가 너무 빠르게 쌓이면서 오라클 리워드 풀과 커뮤니티 풀이 둘 다 너무 커졌다는 의견이 커뮤니티에서 제시되었습니다.
배경2: 150M 테라 생태계 기금이 조성되면서 시뇨리지 수익을 통해 조성된 커뮤니티 풀을 이용한 테라 프로젝트 지원의 필요성이 적어졌고 커뮤니티에서는 시뇨리지를 소각하자는 의견이 제시되었습니다.
변경 사항1: 테라 발행에 따라 발생한 루나 주조 차익을 전량 소각시키기로 결정하였습니다. 더이상 이 루나들은 커뮤니티 풀로 들어가지 않습니다.
변경 사항2: 시뇨리지가 Validator들에게 유효한 스테이킹 보상이 되었는데 이 보상을 모두 소각시킴에 따라서 온체인 마켓에서 발생된 스왑 수수료 중 일부를 오라클 투표에 대한 보상으로 지급하게 되었습니다.
영향1: 이전까지는 테라 발행량 증가에 따라 루나 공급량이 줄어드는 효과가 직접적이지 않았습니다. 왜냐하면 시뇨리지 중 일부만 소각되었기 때문입니다. 하지만 시뇨리지 소각이 진행되기 시작하면 테라 생태계 확장에 따라 루나의 공급량을 더 줄이는 효과를 가져올 수 있을거라 생각됩니다.
이 변화는 결과적으로 루나를 디플레이션 토큰으로 만들 변화로 평가되고 있습니다. 정확하게 말하면 이더리움의 EIP-1559와 비슷하게 네트워크 활성화에 따라 루나의 가치를 상승시키는 역할을 할거라 기대받고 있습니다. 아래 그림을 보면 테라 프로젝트 런치 이후로 실질적으로 큰 변화없이 유지되었던 루나 공급량이 Columbus-5를 기점으로 줄어들기 시작한 것을 확인할 수 있습니다.
영향2: 스왑 수수료는 Validator들에게 약 7-9% 정도의 수익을 보상해줄거라 계산됩니다. 이는 시뇨리지 분배에 따른 수익률과 비슷한 수준이기 때문에 Validator들에 대한 스테이킹 보상은 비슷하거나 더 많아질거라 예상됩니다.

기타

테라 네트워크 Mempool에서 오라클 Vote에 해당하는 트랜잭션을 우선적으로 처리하도록 수정되었습니다. 이를 통해서 Validator들이 오라클 역할을 제대로 수행했음에도 Mempool 상황에 따라 블록에 들어가지 못하게 되어서 슬래싱받는 상황을 막을 수 있습니다.
코스모스 IBC 프로토콜을 지원하기로 하였습니다. IBC를 통해 테라 스테이블 코인들이 다른 텐더민트 네트워크에서도 활용될 가능성이 생겼고 테라 수요가 더욱 더 커질 수 있습니다.
온체인 마켓 스왑 테라-루나 풀에서 테라 소각 풀과 테라 발행 풀의 유동성 규모를 각각 다르게 설정하였습니다. 테라 소각 풀의 사이즈를 테라 발행 풀의 사이즈보다 더 작게 설정하였습니다.

Proposal 172: 2022년 1월 6일 Tax Rate 소멸

배경: Columbus-5에서 시뇨리지 전량 소각을 결정하고 난 이후부터 루나 스테이킹 보상은 Tax Rate와 온체인 스왑 수수료에 의해 결정되었습니다. 하지만 실질적으로 Tax Rate가 전체 스테이킹 보상에서 차지하는 비중은 매우 작았습니다. 오히려 개발하는 과정에서 Tax Rate에 의해 비용이 발생하는 것이 개발자가 테라 생태계로 들어오는것을 방해하고 있었습니다. 거기다가 테라 커뮤니티에서는 Gas Fee로 테라 블록체인에 대한 스팸 공격을 충분히 막을 수 있을거라는 의견이 호응을 얻었습니다.
변경 사항1: Tax Rate를 0으로 고정시키기로 결정하였습니다. 그에 따라 테라 트랜잭션에 대해 부과되는 가스비 이외의 별도의 수수료 지출은 없어지게 되었습니다.
영향1: 테라 프로토콜의 Treasury가 유명무실해졌습니다. 백서에 설명되어 있듯이 Treasury는 시뇨리지와 Tax Rate을 기반으로 동작하였습니다. 하지만 Columbus-5에서 모든 시뇨리지를 소각하고, Proposal 172 통과 이후부터는 Tax Rate도 0이 되면서 Treasury는 테라 블록체인 위에서 거의 활용되지 않게 되었습니다.
분석해볼만한 지표들
스테이킹 보상율: Proposal 172는 Tax Rate이 Validator들의 스테이킹 수익에 큰 영향을 주지 않는다는 배경하에 시작되었습니다. Flipside Crypto 사이트를 보면 2022년 1월 22일 경부터 Tax Rate 변경된 걸로 추정됩니다. Proposal 172 시행 이후에도 정말 스테이킹 보상이 별로 떨어지지 않았는지 간단하게 분석해보았습니다. 데이터는 Terra FCD의 데이터를 사용하였고, 2022년 1월 1일 데이터부터 2022년 2월 19일까지의 데이터를 분석하였습니다. 아래 그림을 보면 2022년 1월 22일을 기준으로 양 옆을 비교해보면 일별 스테이킹 수익률과 연 스테이킹 수익률 모두 떨어지지는 않은 것으로 보입니다.
하지만 아직 Proposal 172이 네트워크에 적용된 지 한 달밖에 안 되었기 때문에 위의 데이터만으로 분석 내용에 대해 단정할 수는 없습니다. 장기적으로 스테이킹 보상율의 변화를 추적해보는 것이 필요합니다.
테라 개발 생태계 활성화: Proposal 172에서 개발 생태계의 활성화를 주요 목적으로 언급한만큼 실제로 테라 개발 생태계가 얼마나 활성화되었는지를 장기적으로 추적해보는것도 의미있을 것 같습니다. 깃헙 커밋 수 등으로 개발 생태계 활성화를 측정하는게 부정확하다고 느껴진다면 테라 블록체인에 컨트랙트를 만들고 배포하는 비용이 얼마나 줄어들었는지 계산해보는 것도 의미있을것 같습니다. 만약 0 Tax Rate에 의해 테라 개발자 커뮤니티가 활성화되고 좋은 서비스들이 많이 생기면, 그만큼 테라 생태계가 확장되고 테라 발행이 늘어나면서 스왑 수수료 등의 스테이킹 보상율이 늘어날 수도 있다고 생각합니다.

BTC 기금 조성

2022년 3월, 테라 커뮤니티는 BTC로 이루어진 기금을 조성하겠다고 하였습니다. 이 기금은 TerraUSD 가격이 $1보다 심하게 낮아졌을때 시장에 풀려있는 TerraUSD를 흡수하여 빠르게 TerraUSD의 가격을 $1로 회복시키는 유동성을 제공하는 목적에서 활용될 예정입니다. 이미 온체인 마켓이 있긴 하지만, death spiral도 발생할 수 있을 정도로 심한 하락기에 온체인 마켓을 보조하는 목적으로 제안된 것이죠. 그래서 BTC 기금이 운용될 때 사용되는 파라미터들도 온체인 마켓과 마찬가지로 풀 사이즈, 풀 사이즈 복구 주기, 최소 spread fee 등이 있습니다.
BTC 기금을 통해서 시장 하락기에 TerraUSD 공급량을 수축시킬 경우 루나 발행에 따른 death spiral 발생 가능성이라는 이슈에 대해서 비교적 자유롭습니다. 새롭게 발행될 루나늘 통해서 공급량을 조절하는 것이 아니라 실제 BTC를 통해 시장에 풀려있는 TerraUSD를 흡수하기 때문에 death spiral 등의 이슈를 고민하지 않아도 되는 것이죠. 그래서 여기서는 온체인 마켓에 비해서 TerraUSD 공급을 수축시킬 때의(ExitFlow) 풀 사이즈(50M → 500M)와 풀 복구 주기(약 4분 → 약 1분)를 조금 더 공격적으로 설정하려고 하고 있습니다. 다만, BTC 기금이 TerraUSD와 BTC가 거래되는 마켓으로 이용되는 것을 막기 위해 최소 spread fee는 약 2% 정도로 설정하려고 합니다. 반대로, 하락기 종료 후에는 BTC 기금에 다시 BTC를 채워넣어야 하는데 이때의(EntryFlow) 파라미터들도 별도로 설정하려고 하고 있고, 이 때는 MinSpread는 낮추고 BTC가 기금으로 들어오는 속도는 어느정도 제한하는 방향으로 파라미터를 설정하고 있습니다.
온체인 마켓을 통해 TerraUSD 공급량을 줄일 경우에는 그만큼 루나가 새롭게 발행됩니다. 이 때, 온체인 마켓을 통해서 루나의 공급량이 너무 늘어나서 루나 가격도 하락하면 이는 다시 TerraUSD 가격에 악영향을 미칠 수 있습니다. 그 때문에 온체인 마켓에서 짧은 기간동안 너무 많은 루나가 온체인 마켓을 통해서 발행되는 것을 막으려고 합니다. 일정 기간 테라의 가격이 패깅에서 벗어난 상태가 지속이 되는 것도 감수할 정도로요.

네트워크 업그레이드와 스테이킹 보상 변화 정리

Columbus-2
Columbus-3
Columbus-5
Proposal 172
Gas Fee
O
O
O
O
Tax Rate
0.11% (Validator에게 지급)
0.11% → 0.5% (Validator에게 지급)
0.5% (Validator에게 지급)
0.5% → 0.0%
Spread Fee
O (Validator에게 지급)
O (소각)
O (Validator에게 지급)
O (Validator에게 지급)
Tobin Tax
X
O (소각)
O (Validator에게 지급)
O (Validator에게 지급)
Seigniorage
-
일부 소각 일부 Validator에게 지급
전량 소각
전량 소각
Columbus-3 영향
Validator들의 스테이킹 보상이 높아짐
Columbus-5 영향
루나가 디플레이션 통화로 바뀌어서 테라 생태계가 확장될수록 루나 가격은 올라가게 됨
Proposal 172 영향
스테이킹 보상은 큰 변화없고, 개발자 생태계가 정말 활성화되는지 확인해야함