성장 스토리 ⭐️
home
📗

Ch 3. 스테이킹 보상과 수수료

이 페이지의 설명은 테라 백서, 도큐멘테이션을 바탕으로 Validator에 대한 보상과 여러 수수료 종류에 대해서 설명합니다. 테라 메인넷 업그레이드 과정에서 Tax Rate를 없애고, 시뇨리지 소각 등을 결정하게된 과정은 이후 챕터에서 설명합니다.

스테이킹 보상

안정적인 보상의 중요성

다른 PoS 블록체인과 마찬가지로 네트워크가 안정적으로 동작하기 위해서는 루나가 지속적으로 스테이킹되어야 합니다. 하지만 루나의 가격이 급격하게 변할때 스테이킹된 루나를 자유롭게 팔지 못한다는 점에서, 그리고 자신의 노드나 자신이 토큰을 위임한 Validator가 제대로 행동하지 않을때 스테이킹된 루나를 슬래싱당할 수도 있다는 점 때문에 루나를 스테이킹하는 데에는 리스크가 따릅니다. 이러한 리스크를 상쇄할만한 보상을 Validator들에게 안정적으로 제공하는 것은 매우 중요한 문제입니다. 테라 프로토콜은 Validator들이 테라 생태계 경제 상황과 상관없이 안정적인 수익을 얻을 수 있도록 하기 위해서 수수료 비율과 루나 소각 비율을 네트워크 상황에 따라 조절합니다.
테라 프로토콜에서는 Validator가 어떻게 행동하냐에 따라 테라 스테이블코인 생태계가 안정적으로 성장할 수 있느냐가 영향을 받습니다. 그런 점에서 테라 프로토콜은 테라 생태계에서 발생한 여러 수수료를 Validator에게 보상으로 제공함으로써 스테이블코인 생태계와 Validator 간의 인센티브를 맞추고 있습니다. 또한, Validator들에게 적절한 보상을 준다는 것은 루나 스테이킹에 대해서 충분한 보상을 준다는 것이기 때문에, 이는 생태계 성장에 따라 거버넌스 토큰인 루나의 가치를 끌어올리는 원동력이 되고, 테라 프로토콜을 좀 더 안정적인 스테이블코인 생태계로 만들어 줍니다.

스테이킹 보상 형식

블록이 생성될 때마다 스테이킹 토큰을 새롭게 발행해서 Validator에게 인센티브로 제공하는 프로젝트들과는 달리, 테라 프로토콜은 인플레이션 기반 인센티브를 제공하지 않습니다. 대신 테라에 의해 이루어지는 트랜잭션들에 부과하는 수수료를 Validator들에게 제공합니다. 초기에는 테라 스테이블 코인으로 진행된 트랜잭션에서 발생한 수수료만 Validator에게 제공했었고, 이후에 네트워크가 업그레이드되면서 온체인 마켓에서 발생한 스왑 수수료도 Validator에게 보상으로 제공되기 시작했습니다. Validator에게 제공하는 간접적인 보상도 있는데, 이는 시뇨리지로 얻어들인 루나 중 일부를 소각시키는 것입니다. 루나의 소각은 Validator들의 mining power를 상대적으로 강화시키고 루나 공급을 줄여 루나 가격 상승을 일으킨다는 점에서도 Validator에 대한 간접적인 보상이 됩니다 (테라 백서 - CH 2.5)
트랜잭션 수수료: 직접 제공되는 수수료. 테라 생태계가 활성화될수록 제공 규모도 더 커집니다.
온체인 마켓 수수료: 직접 제공되는 수수료. 테라 수요가 빠르게 변할수록 제공 규모도 더 커집니다.
시뇨리지 소각: 간접적으로 제공되는 수수료. 루나 양을 줄이고 루나 가격 상승 압력을 발생시킵니다.

초기 트랜잭션 수수료, 루나 소각 비율 업데이트 방식

테라 백서에서는 보상이 안정적으로 유지되도록 하기 위해, 네트워크 상황에 따라 스테이킹 보상이 증가하면 수수료 수익과 루나 소각률을 낮추고, 반대로 스테이킹 보상이 감소하면 수수료 수익과 루나 소각률을 높이려고 하였습니다. 여기서 제시하고 있는 공식은 다음과 같습니다.
ft+1=(1+g)Rt1Rtftf_{t+1} = (1 + g) \cdot \frac{R_{t-1}}{R_t} \cdot f_t
bt+1=(1+g)Rt1Rtbtb_{t+1} = (1+g) \cdot \frac{R_{t-1}}{R_t} \cdot b_t
위 공식에서 ftf_tbtb_t는 각각 t번째 타임스템프에서의 트랜잭션 수수료, 루나 소각률을 의미합니다. 그리고 RtR_t는 그 타임스템프에서의 스테이킹 보상 규모를 의미합니다. 위 식은 이전 타임스템프(t-1) 대비 현재(t)에 스테이킹 수익이 높아졌다면 그 다음 트랜잭션 수수료와 루나 소각률을 상대적으로 줄이도록 하고 있습니다. 여기서 (1+g)(1+g)는 네트워크가 성장하는 것에 따라 스테이킹 수익도 완만하게 커지도록 유도하는 팩터라고 보시면 됩니다.
트랜잭션 수수료율을 적절하게 설정하는 것은 테라 프로토콜 초기에 매우 중요한 문제였습니다. 뒤에서 살펴볼 Columbus-3도 이에 대한 변화가 핵심이었고요. 하지만 Proposal 172를 거치면서 위의 트랜잭션 수수료율은 0으로 고정되어버렸고, 대신 온체인 마켓 스왑에서 수취된 수수료가 주요 스테이킹 보상이 되었습니다.

스테이킹 보상 분석: 트랜잭션 볼륨과의 연관성

스테이킹 보상이 유의미한지 평가하기 위해서는 테라 리서치 팀 블로그처럼 1 루나 스테이킹 당 기대할 수 있는 보상의 수준을 고려해야 합니다. 그 식은 다음과 같습니다.
UnitRewards=transaction_feetotal_staked_luna=trancation_volume  fee_ratetotal_luna_supply  staking_rateUnitRewards = \frac{transaction\_fee}{total\_staked\_luna} = \frac{trancation\_volume\ *\ fee\_rate}{total\_luna\_supply\ *\ staking\_rate}
위 공식에 따르면, 생태계가 커지고 트랜잭션의 양이 많아질수록 전체 보상의 크기는 커지고 그에 따라 루나 스테이킹에 대한 기대 수익이 커집니다. 두번째, 테라가 많이 발행될수록 그 가치만큼의 루나가 소각됩니다. 이는 루나 총 발행량을 줄이는 역할을 하고 그에 따라 스테이킹 기대 수익을 높입니다 (테라 리서치 리포트 - Analysis of Luna Staking Rewards Ch 4).
2019년 11월 27일 해시드 미디엄에 퍼블리싱된 루나 가치 모델링에서도 위의 공식과 유사한 형태로 1 루나 당 스테이킹 수익을 계산하였습니다. 그리고 루나 가격을 1 루나에 대한 스테이킹 보상에 Multiple을 곱하는 형태로 모델링 하였습니다.

[참고] 테라 프로젝트 초기 스테이킹 보상 지원: 산타 프로젝트

위에서 언급했듯이 테라 네트워크는 Validator에게 루나 인플레이션에 의한 블록 보상을 제공해주고 있지 않습니다. 대신 트랜잭션 수수료에 의존하고 있는데, 이는 블록체인 네트워크 초기에는 불리한 인센티브 정책입니다. 왜냐하면 네트워크 초기에는 트랜잭션이 적게 발생할 수 밖에 없기 때문입니다.
이 문제를 해결하고자 테라 커뮤니티는 2019년 8월 8일부터 산타 프로젝트를 시작하였습니다. 이 프로젝트에서 주요 Validator들은 자신의 루나를 모아서 21.6 M 루나 규모의 기금을 조성하고, 봇을 통해 이 기금을 Validator들에게 블록 보상으로 제공해주기로 하였습니다. 이는 약 10% 정도에 해당하는 스테이킹 보상입니다. 아래 그림에서 보이듯이 산타 프로젝트가 시작되자마자 루나 스테이킹 보상율은 0%에서 10% 가까이 올랐습니다.
산타 프로젝트로 모인 기금은 약 1년에 걸쳐 분배될 예정이었지만 테라 생태계가 예상보다 빠르게 성장하였고 그에 따라 2019년 12월 26일 산타 프로젝트는 종료되었습니다. 남은 기금들은 테라 생태계 활성화를 위한 기금으로 들어가서 새로운 프로젝트들을 지원하는데 사용되었습니다. 산타 프로젝트 없이도 Validator들이 루나 스테이킹 수익을 충분히 받을 수 있게 된 이유에는 생태계 확장에 따른 트랜잭션 증가와 Columbus-3부터 대폭 인상된 (0.11% → 0.5%) Tax Rate이 있습니다 (Github - 191221 Farewell to Santa).

수수료 종류

테라 프로토콜에서 수수료는 Validator의 네트워크 기여에 대한 보상 규모를 결정하기 때문에 매우 중요합니다. 그 외에도 온체인 마켓 스왑에 부과되는 수수료들은 여러 수수료 모델들은 공격자들의 무위험 공격 상황을 방지하는 역할도 수행합니다. 이번 챕터에서는 각 수수료 종류들이 어떤 목적에서 설정된 것인지 정리하고 그 값이 결정된 근거에 대해서 설명하려고 합니다.

Transaction Fee: Gas Fee

트랜잭션을 처리하는데 든 연산 비용에 부과하는 수수료입니다. 매 블록마다 수집된 가스비는 리워드 풀에 모였다가 Validator와 Delegator에게 분배됩니다. 이러한 가스비는 이더리움과 마찬가지로 트랜잭션을 처리하는데 드는 비용에 비례해서 증가합니다. 특히 Proposal 172 이후에는 트랜잭션에 추가되는 Stability Fee가 없어짐에 따라 스팸 공격을 막는 역할은 Gas Fee 혼자서 수행하게 되었습니다.

Transaction Fee: Stability Fee

테라 네트워크를 안정시킨다는 명목하에, 모든 테라 트랜잭션에 부과되었던 수수료입니다. 단, 온체인 마켓 상의 스왑에 대해서는 Stability Fee가 부과되지 않았습니다. 이 수수료는 Proposal 172 시행 이전까지는 주요 스테이킹 보상 수입원이었습니다. 테라 커뮤니티와 문서에서는 Stability Fee를 Tax Rate라고 부르는 경우가 많은데, 이 리포트에서도 Stability Fee를 트랜잭션 수수료 혹은 Tax Rate으로 부르겠습니다. Tax Rate은 초창기에 0.1% 이상으로 설정되어있었지만 Columbus-3부터는 최소 비율을 0.5%로 인상하였습니다. 그러다 2022년 1월부터는 Proposal 172를 통해 Tax Rate가 0으로 고정되었습니다.

Swap Fee: Tobin Tax

온체인 마켓에서 진행되는 테라 스테이블 코인 간 스왑에 부과되는 수수료입니다. Tobin Tax는 각 테라 스테이블 코인마다 고정된 비율이 정해져있고, 스테이블 코인 간 스왑이 일어날때 더 높은 Tobin Tax 비율로 적용됩니다. Tobin Tax는 테라 네트워크를 환차익을 실현하기 위한 수단으로 쓰는 공격환율이 급변하는 시기에 오라클의 느린 반응성을 노리고 진행되는 프론트 러닝 공격을 방지하기 위해 설정된 수수료입니다.
Tobin Tax 설정당시 이 값은 국가 간 송금 수수료(바람직하나 테라 활용 사례)와 외환 거래 수수료(테라를 이용한 투기)를 고려하여서 결정되었습니다. 두 시장의 결정적인 차이는 수수료에 있습니다. 국가간 송금 시장에서의 수수료는 보통 7%를 상회합니다. 반면 화폐간 환율을 노리고 트레이딩하는 시장에서의 수수료는 0.02%에 불과합니다. 그래서 테라 프로토콜에서는 송금 시장의 수수료인 7%보다는 낮고, 외환 트레이딩 수수료인 0.02%보다는 높은 수준에서 Tobin Tax의 수수료율을 정하는 것이 이상적이라고 논의되었습니다. 거기다가 앞선 페이지에서 설명한 프론트 러닝 공격을 막을 수 있는 수준으로 Tobin Tax를 설정하였습니다. 환율급변기의 2분간 최대 변화율이 0.08%이었고, 이 부근 값인 0.05%가 Tobin Tax 값으로 적절하지 않겠냐는 의견도 있었습니다. 현재 Tobin Tax는 테라 스테이블코인마다 다르게 책정되고 있는데 대부분 0.3%에서 0.8% 사이의 값을 가지고 있습니다. 각 스테이블 코인마다 부과되는 Tobin Tax는 다음 링크에서 확인 가능합니다.

Swap Fee: Spread Fee

온마켓 마켓을 이용하여 이루어지는 테라-루나 스왑에 부과되는 수수료입니다. 테라 프로토콜은 최소 Spread Fee 비율를 설정해두고 있지만, 실제로 적용되는 Spread Fee 비율은 시장 상황에 따라 가변적입니다. 이는 Spread Fee가 온체인 마켓 AMM에서 결정된 테라-루나 교환 비율과 오라클이 보고한 목표 교환 비율과의 차이에 의해 결정되기 때문이죠. 예를 들어 오프체인에서 루나 가격이 100 USD인데, 온체인 마켓에서의 테라:루나 교환비율이 95:1이라고 해봅시다. 이때의 루나→테라의 Spread Fee는 5%(10095100)(\frac{100-95}{100})가 됩니다. 만약 온체인 마켓 풀 사이즈가 초기 값에서 크게 변화가 없어서 Spread Fee가 최소 Spread Fee보다 작을 경우에는 Spread Fee가 최소 값만큼으로 부과됩니다.
거래 규모, 거래 상태에 따른 Spread Fee의 증가 속도는 온체인 마켓의 풀 사이즈와 상관 관계를 가지게 됩니다. 온체인 마켓의 테라 풀 사이즈가 클수록 Spread Fee는 늦게 상승하기 시작합니다. 그리고 온체인 마켓 풀 사이즈 파라미터의 역할은 실질적으로 Spread Fee에 의해서 실현됩니다. 이는 온체인 마켓에서 테라-루나 한 방향으로만 온체인 마켓이 급격히 일어나서 테라 생태계가 짧은 시간동안 너무 빠르게 확장/수축하는 것을 방지하는 역할을 포함합니다. Spread Fee의 증가 속도는 온체인 마켓 유동성 규모(짧은 시간동안 얼마나 많은 양의 테라가 발행되거나 소각될 수 있는가)와 강한 상관 관계를 가지고 있으며, 이 속도에 의해 테라 경제 생태계의 안정성, 급변기의 테라 가격 회복성이 결정됩니다.
2021년 5월 TerraUSD가 1 USD 가격에서 벗어나서 일주일 정도 회복을 못 한 것도 Spread Fee가 너무 빠르게 증가한 것의 영향이었습니다. 이 당시 Spread Fee가 7-9%까지 치솟아서 차익 거래에 의한 테라 공급량 조절 매커니즘이 작동하지 못하고 있었습니다.

Swap Fee 정리

Tobin Tax 설정 이유
테라 네트워크를 환차익 수단으로 이용하는 것을 방지
환율 급변기에 TerraKRW → TerraUSD → TerraKRW 같은 무위험 프론트 러닝 공격 방지
Spread Fee 설정 이유
온체인 마켓이 루나 마켓 메이커로 활용되어서 테라 수요와 상관없이 테라를 발행, 소각하게 되는 것을 방지
온체인 마켓에서 테라의 발행 혹은 소각이 짧은 시간동안 너무 급격하게 발생하는 것을 방지
루나 가격 급변할 때 루나 → 테라 → 루나 같은 무위험 프론트 러닝 공격 방지
키워드
방지하는 프론트 러닝 공격의 형태
특성
관련 파라미터
Tobin Tax
스테이블 코인 스왑 비용
현물 화폐 환율 급변 시기의 공격
고정된 비율
-
Spread Fee
테라-루나 스왑 비용 테라 발행 유동성 테라 가격 회복 탄력성
루나 가격 급변 시기의 공격
가변적인 비율
온체인 AMM 풀 사이즈 (반비례한 관계)