$WALK (Utility Token)

$WALK: 유틸리티 토큰

$WALK는 SuperWalk의 유틸리티 토큰입니다.

  • 토큰 이름: Walk Token

  • 토큰 티커: $WALK

  • 컨트랙트 주소: 0x976232eB7Eb92287fF06c5D145bD0d1C033eCA58

  • 총 발행량: 무제한

$WALK는 무제한 발행되지만 매일 총 발행량 제한(Supply Cap)을 둠으로써 과도한 인플레이션을 방지합니다.

사용자들은 GPS와 걸음 수 센서로 측정되는 걷기와 달리기를 통해 포인트(Point)를 얻습니다. 이렇게 얻은 포인트를 바탕으로 매일 $WALK 보상을 정산 받습니다.

*정산 시간: 00시 00분 ~ 00시 10분 (KST)

기존 X2E 프로젝트의 한계

서비스가 인기를 끌수록 역설적이게도 유틸리티 토큰의 가격은 하락할 수 있다는 문제가 있습니다. 다음과 같은 상황에서 유틸리티 토큰의 인플레이션이 발생합니다.

  • 이용자 수가 많아짐에 따라 유틸리티 토큰의 발행량 또한 급증하게 됩니다. 이는 유틸리티 토큰의 초인플레이션을 발생시키고 따라서 토큰의 가치는 하락합니다.

  • 이용자 수가 많아짐에 따라 NFT의 개수가 증가하여 토큰의 가치가 하락합니다.

  • 이용자는 스펙을 상승시킴에 따라 채산성이 증가합니다. 가령 신발 NFT의 퍼포먼스(Performance) 지표값이 상승하거나, 에너지 및 내구도가 닳는 비율이 감소하게 되면 이용자는 더 많은 토큰을 채굴할 수 있게 됩니다. 이 또한 토큰의 가치가 하락하는 요인이 됩니다.

이렇게 유틸리티 토큰의 하이퍼 인플레이션을 경험한 사용자 대거가 게임을 이탈한다는 한계가 해결되지 못하고 있습니다.

SuperWalk는 위와 같은 문제를 해결할 수 있는 토큰 메커니즘을 도입하여 프로젝트를 운영하고 있습니다. 이 부분에 대한 자세한 설명은 아래에서 이어질 예정입니다.

*WALK와 관련된 핵심 로직은 프로젝트 로드맵에 따라 정기적으로 업데이트 될 예정입니다. 해당 대규모 업데이트 이전에 커뮤니티를 통해 수집된 데이터와 의사결정의 과정을 투명하게 공지하겠습니다.

1. 포인트 기반의 WALK 보상

1-1) 사용자 별 포인트 계산

SuperWalk의 Shoes NFT 사용자는 GPS 기반의 걷기 또는 달리기를 통해 포인트를 획득할 수 있습니다. 각 사용자가 얻을 수 있는 포인트는 다음과 같은 요인들에 의해 결정됩니다.

  • GPS 수신도

  • 목표 속력에 대한 정확도

  • 소모한 에너지 (운동 시간)

  • Shoes NFT의 종류 (Walker, Jogger, Runner, Allrounder)

  • Shoes NFT의 Performance(퍼포먼스) 스탯 수치

  • Shoes NFT의 잔여 내구도

  • Shoes NFT의 Luck(럭) 스탯 수치에 따른 확률적 추가 포인트

  • (추후) 연속 운동 일수 (일간 5분 이상)

사용자가 1분동안 운동을 하고 얻을 수 있는 포인트를 계산하는 식은 아래와 같습니다.

Point=Accuracy(Parametert+Parameterp1Parameterp2)Point = Accuracy*(Parameter_t+Parameter_{p_1}*Parameter_{p_2})
  • Accuracy: 목표 속력에 대한 정확도

  • Parameter t: Shoes NFT의 종류와 관련된 변수

  • Parameter p1: Shoes NFT의 Performance 스탯 수치와 관련된 변수

  • Parameter p2: 내구도와 관련된 변수

식의 Parameter t 를 통해 신발 종류에 따라 다른 가중치를 부여합니다.

1-2) 포인트 리더보드

포인트 리더보드를 통해 사용자는 본인의 포인트와 이에 따른 예상 $WALK 보상 수량을 확인할 수 있습니다. 해당 정보는 한 시간마다 집계되어 리더보드에 표시됩니다. KST(UTC+9) 기준 매일 자정마다 포인트에 따른 보상이 모두에게 정산되고, 이후 리더보드는 초기화됩니다.

2. 일일 $WALK 보상 풀

2-1) 소개

사용자들에게 분배되는 일일 $WALK 보상 풀의 규모는 이를 계산하는 식의 설정 변수에 따라 동적으로 조절됩니다. 동적 보상 풀을 결정하는 주요 변수는 전체 사용자가 하루동안 소모하는 수리 비용입니다.

수리 비용을 $WALK 보상 풀의 주요 변수로 설정하게 된 이유는 다음과 같습니다.

수리 비용은 사용자의 활성도를 가장 잘 나타내는 지표입니다. 나아가 수리 비용과 사용자 수, 그리고 포인트의 상관계수가 0.73~0.96로 유의미한 수치를 보이고 있음을 내부 데이터를 통해 확인할 수 있었습니다.

$WALK 획득 양극화를 해소하고 신규 사용자에게 수리 비용으로 소각되는 $WALK를 보장하려는 목적에서 일일 $WALK 보상 풀은 아래와 같이 두 부분으로 나뉘게 됩니다.

  1. 기본 보상 풀 (Base Reward Pool)

  2. 추가 보상 풀 (Additional Reward Pool)

이 두 가지 풀에 대한 설명은 아래에서 이어집니다.

3. 동적 공급 메커니즘

3-1) 수리 비용에 기반한 동적 공급 메커니즘

일일 $WALK 보상 풀의 규모는 아래 식에 의해 매일 조정됩니다. 동적 공급을 위한 변수는 CBT 기간동안 쌓은 데이터가 반영되어 변동될 수 있습니다. 추후에 식에 반영될 수 있는 변수는 다음과 같습니다.

  • 사용자 수 (DAU, MAU)

  • 수리 비용

  • 전체 비용 (레벨 업 비용 + 수리 비용 + 제작 비용)

  • $WALK 순 인출량 (순 매도량)

(1) $WALK 보상 풀

해당 날의 $WALK 보상 풀의 크기를 결정하는 공식은 다음과 같습니다.

Poolt=Poolt1(RIt+1)Pool_t=Pool_{t-1}*(RI_t+1)

Poolt=t시점의 Pool SizePool_t=t시점의\ Pool\ Size

RIt=t시점의 Repair IndexRI_t=t시점의\ Repair\ Index

$WALK 보상 풀이 산정되는 공식의 주요 변수는 이전 시점의 $WALK 보상 풀 크기와 수리 지표(Repair Index)입니다.

Base Poolt=Poolt0.15Base\ Pool_t=Pool_t*0.15
Additional Poolt=Poolt0.85Additional\ Pool_t=Pool_t*0.85

이때, 일일 $WALK 보상 풀은 15:85의 비율로 기본 보상 풀(Base Reward Pool)과 추가 보상 풀(Additional Reward Pool)로 나눠지게 됩니다. 기본 보상 풀과 추가 보상 풀에 관한 자세한 설명은 아래에서 확인할 수 있습니다.

*해당 비율은 퍼블릭 베타 테스트(PBT) 데이터에 따라 변동될 수 있습니다.

(2) 수리 지표(Repair Index)

$WALK 보상 풀의 크기를 결정하는 주요 변수인 수리 지표(Repair Index)의 공식입니다.

RIt={(if, a0)   min{a=ΔParameterrtβb(if, a<0)   max{a=ΔParameterrtβb RI_t= \begin{cases} (if,\ a\geq0)\ \ \ min \begin{cases} a= {\Delta Parameter_{r_t}}*\beta \\ \\ b \end{cases} \\ \\ \\ (if,\ a<0)\ \ \ max \begin{cases} a={\Delta Parameter_{r_t}}*\beta \\ \\ -b \end{cases} \\ \end{cases}

수리 지표의 주요 변수는 t-1 시점 대비 t 시점의 총 수리 비용의 변화율입니다.

가령, t-1 시점 대비 t 시점의 총 수리 비용이 증가했다면 수리 지표는 양수를 띠게 됩니다. 이렇게 계산된 수리 지표를 상기 $WALK 보상 풀 계산 공식에 대입하면, t 시점의 $WALK 보상 풀 크기는 t-1 시점보다 커지게 될 것입니다.

반대로, t-1 시점 대비 t 시점의 총 수리 비용이 감소했다면 수리 지표는 음수를 띠게 됩니다. 이렇게 계산된 수리 지표를 상기 $WALK 보상 풀 계산 공식에 대입하면, t 시점의 $WALK 보상 풀 크기는 t-1 시점보다 작아지게 될 것입니다.

$WALK 보상 풀의 크기가 t-1 시점 대비 t 시점에 급격하게 커지거나 작아지는 일을 방지하기 위해, 수리 지표의 하루 최대 변화율을 b%로 제한했습니다. 제한 수치는 테스트 데이터에 따라 변동될 수 있습니다.

이렇게 계산된 일일 $WALK 보상 풀은 15:85의 비율로 기본 보상 풀(Base Reward Pool)과 추가 보상 풀(Additional Reward Pool)로 할당되게 됩니다.

(3)기본 보상 풀 (Base Reward Pool)

시간이 흘러 기존 사용자들의 채산성이 상승할수록 신규 사용자의 채산성은 급격하게 떨어집니다. 이렇게 발생하는 $WALK 채굴의 양극화를 완화하기 위한 이유로 $WALK 보상 풀의 일부를 기본 보상 풀로 할당하게 되었습니다.

기본 보상 풀 공식은 다음과 같습니다.

Base RewardAlice=(PointAlice3Pointuser3)Base PooltBase\ Reward_{Alice}=({\sqrt[3]{Point_{Alice}}\over\sum \sqrt[3]{Point_{user}}})*Base\ Pool_t

(4) 추가 보상 풀 (Additional Reward Pool)

사용자 간 스펙 격차에 따른 $WALK 보상의 차등은 추가 보상(Additional Reward)을 통해 만들어 낼 수 있습니다.

추가 보상 풀 공식은 다음과 같습니다.

Additional RewardAlice=PointAlice(Pointuser)Additional PooltAdditional\ Reward_{Alice}={Point_{Alice}\over \sum (Point_{user})}*Additional\ Pool_t

Dynamic Reward v2

(5) V1 보상 (V1 Reward)

추가 보상 풀까지는 기존 다이나믹 리워드와 동일합니다만, 이제부터는 다이나믹 리워드 v2로 새롭게 추가된 내용입니다.

기본 보상과 추가 보상을 합하면 v1 보상이 산출됩니다.

V1 RewardAlice=BaseAlice+AdditionalAliceV1\ Reward_{Alice}=Base_{Alice}+Additional_{Alice}

그리고 산출된 v1 보상과 유저가 그 날 획득한 포인트 중 최소값이 v1.5 보상으로 계산됩니다.

V1.5 Reward=min(V1 Reward, Point)V1.5\ Reward=min(V1\ Reward,\ Point)

이를 통해 포인트보다 더 많은 정산을 받던 유저들은 포인트와 1:1 비율로 WALK를 정산 받게 됩니다.

(6) V2 보상 (V2 Reward)

V2 Reward=V1.5 Reward+αV2\ Reward=V1.5\ Reward+\alpha

특정 조건을 만족하는 유저는 a 만큼의 보상을 추가로 받게되며, a와 v1.5 보상의 합이 v2 보상이 됩니다.

Σ α=SurplusReward=Pool SizeΣV1.5 Reward\Sigma\ \alpha =Surplus Reward = Pool\ Size-\Sigma V1.5\ Reward

조건 보상인 a는 풀 사이즈와 총 v1.5 보상의 차입니다. v1.5 보상은 항상 v1 보상보다 작거나 같으며, v1.5 보상이 v1 보상보다 작은 경우에는 풀 사이즈보다 더 적은 개수만 분배됩니다. 따라서 분배되지 않고 잉여로 남은 보상이 a가 됩니다.

(7) 조건 보상(a)의 분배

앞으로 다양한 조건 보상 분배 기준을 연구할 예정입니다. 초기에는 기존 유저에게 익숙한 포인트를 기준으로 조건 보상을 분배하게 됩니다. 정산일의 순위가 상위 x% 이상인 유저는 조건 보상을 분배 받게 됩니다.

(본 백서의 분배 기준과 분배 인원 수는 새로운 시스템을 테스트하고 최적화하기 위한 목적으로, 언제든 변경될 수 있습니다.)

정산일의 순위가 상위 x% 이상인 유저는 아래와 같은 공식에 따라 차등적인 조건 보상을 분배 받게 됩니다. 조건 보상은 각 유저가 획득한 포인트의 가중치에 따라 계산됩니다.

WPAlice(weighted point)=PointAliceΣrank=1nPointuserWP_{Alice}(weighted\ point)={Point_{Alice}\over \Sigma^n_{rank=1}Point_{user}}
if) Alices Rank>n,  WPAlice=0if)\ Alice's\ Rank>n,\ \ WP_{Alice}=0
αAlice=WPAliceSurplus Reward\alpha_{Alice}=WP_{Alice}*Surplus\ Reward
V2 RewardAlice=V1.5 RewardAlice+αAliceV2\ Reward_{Alice}=V1.5\ Reward_{Alice}+\alpha_{Alice}

🔑 $WALK 보상 풀 계산 예시

다음 두 예시에서는 두 시점 간 수리 비용 변화율을 이용하여 $WALK 보상 풀의 크기를 구하는 과정을 포함하고 있습니다.

*해당 예시는 $WALK 보상 풀 계산의 이해를 돕기 위한 목적으로 작성되었으며, 실제 로직과는 수치가 다르다는 점 참고 바랍니다.

예시1) 1일차 대비 2일차의 $WALK 보상 풀의 크기가 작아지는 경우, John 이 받게 될 $WALK

1일차 $WALK 보상 풀 규모: 100,000 $WALK

1일차 수리 비용: 70,000 $WALK

2일차 수리 비용: 68,000 $WALK

1일차 수리 비용 대비 2일 수리 비용 변화율: -2.857%

2일차 $WALK 보상 풀 규모: 97,143 $WALK

John의 2일차 포인트가 300점일 때, John은 2일차 자정에 분배 로직에 따라 $WALK 291.43개를 정산 받게 됩니다.

예시2) 1일차 대비 2일차의 $WALK 보상 풀의 크기가 커지는 경우, John 이 받게 될 $WALK

1일차 $WALK 보상 풀 규모: 100,000 $WALK

1일차 수리 비용: 70,000 $WALK

2일차 수리 비용: 72,000 $WALK

1일차 수리 비용 대비 2일 수리 비용 변화율: +2.857%

2일차 $WALK 보상 풀 규모: 102,857 $WALK

다이나믹 리워드 v1: John의 2일차 포인트가 300점일 때, John은 2일차 자정에 분배 로직에 따라 $WALK 308.57개를 정산 받게 됩니다.

다이나믹 리워드 v2: John의 2일차 포인트가 300점일 때, 2일차 자정에 분배 로직에 따라 $WALK 308.57개로 계산되지만, 새로 추가된 v2의 로직에 따라 포인트와 정산값 중 최소값인 $WALK 300개를 분배 받게 됩니다. 이때, John이 조건 보상을 받을 수 있게 된다면, 조건 보상 분배 로직에 따라 잉여 보상을 추가적으로 분배 받게 됩니다.

Last updated