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

![](https://924749453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8nGtxpJ3ZiChnFRmLdKA%2Fuploads%2FechQthZVefGrZCBtmBC7%2F%25EB%25B3%25B4%25EC%2583%2581%25ED%2592%2580%25402x.png?alt=media\&token=42022619-08ba-4dba-9bc2-a5d6e8e1f39d)

### 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\*(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) 기준 매일 자정마다 포인트에 따른 보상이 모두에게 정산되고, 이후 리더보드는 초기화됩니다.

![](https://924749453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8nGtxpJ3ZiChnFRmLdKA%2Fuploads%2FL2M6hri1tBDyysmtjfFo%2Fimage.png?alt=media\&token=2991c695-f424-40be-9b05-c8099f077213)

### 2. 일일 $WALK 보상 풀

#### 2-1) 소개

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

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

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

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

1. 기본 보상 풀 (**Base Reward Pool)**
2. 추가 보상 풀 (**Additional Reward Pool)**

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

![](https://924749453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8nGtxpJ3ZiChnFRmLdKA%2Fuploads%2FBnGAzK5og9XJSD4M4RBH%2FWalk%25EB%258F%2599%25EC%25A0%2581%25EA%25B3%25B5%25EA%25B8%2589%25402x.png?alt=media\&token=413ede16-ceb3-4d11-8bac-220a141fd0f1)

### 3. 동적 공급 메커니즘

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

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

* 사용자 수 (DAU, MAU)
* 수리 비용
* 전체 비용 (레벨 업 비용 + 수리 비용 + 제작 비용)
* $WALK 순 인출량 (순 매도량)

**(1) $WALK 보상 풀**

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

$$
Pool\_t=Pool\_{t-1}\*(RI\_t+1)
$$

$$Pool\_t=t시점의\ Pool\ Size$$​

$$RI\_t=t시점의\ Repair\ Index$$​

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

$$
Base\ Pool\_t=Pool\_t\*0.15
$$

$$
Additional\ Pool\_t=Pool\_t\*0.85
$$

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

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

**(2) 수리 지표(Repair Index)**

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

$$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\ Reward\_{Alice}=({\sqrt\[3]{Point\_{Alice}}\over\sum \sqrt\[3]{Point\_{user}}})\*Base\ Pool\_t
$$

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

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

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

$$
Additional\ Reward\_{Alice}={Point\_{Alice}\over \sum (Point\_{user})}\*Additional\ Pool\_t
$$

### Dynamic Reward v2

**(5) V1 보상 (V1 Reward)**

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

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

$$
V1\ Reward\_{Alice}=Base\_{Alice}+Additional\_{Alice}
$$

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

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

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

**(6) V2 보상 (V2 Reward)**

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

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

$$
\Sigma\  \alpha =Surplus Reward = Pool\  Size-\Sigma V1.5\ Reward
$$

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

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

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

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

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

$$
WP\_{Alice}(weighted\ point)={Point\_{Alice}\over \Sigma^n\_{rank=1}Point\_{user}}
$$

$$
if)\ Alice's\ Rank>n,\ \ WP\_{Alice}=0
$$

$$
\alpha\_{Alice}=WP\_{Alice}\*Surplus\ Reward
$$

$$
V2\ 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이 조건 보상을 받을 수 있게 된다면, 조건 보상 분배 로직에 따라 잉여 보상을 추가적으로 분배 받게 됩니다.
