제4장: MeriToken 모델

4.1 모델 개요

MeriToken은 GMC의 핵심 측정 단위입니다. 이 설계는 하나의 핵심 질문에 답해야 합니다: 기여 측정이 현재의 활동을 반영하면서도 역사적 기여를 존중하려면 어떻게 해야 할까요?

답은: 지수 감쇠 + 0이 아닌 하한값입니다.

4.2 두 가지 핵심 값

각 MeritPocket은 두 가지 핵심 값을 유지합니다:

  • curMerit (현재 MeriToken): 실시간 기여 측정값; 시간이 지남에 따라 감쇠하고 새로운 기여로 증가합니다
  • minMerit (하한값): 감쇠의 하한선으로, 역사적 기여의 장기적 침전물을 나타냅니다; 증가만 합니다 (처벌 제외)
curMerit ≥ minMerit ≥ e (초기값)

4.3 획득

MeriToken은 기여를 통해 획득되며; 시스템이 새로운 Token을 발행합니다:

획득 방식설명트리거 조건
객관적 측정검증 가능한 지표에 기반하여 자동 계산시스템이 임계값 도달을 자동 기록
태스크 바운티특정 태스크에 대해 사전 설정된 Merit이해관계자가 완료 시 투표로 승인
초기 할당네트워크 등록 시 부여신원 등록 완료

초기값 = e ≈ 2.718 (자연 상수, 지수 감쇠 모델과 자연스럽게 정렬됩니다).

4.4 감쇠 모델

핵심 아이디어

각 Merit 획득 배치는 독립적인 영향 지속 기간을 가집니다. 영향 지속 기간은 해당 기여의 시의성을 반영합니다 — 100일의 영향력을 가진 기여는 100일 내에 Merit이 완전히 감쇠됩니다.

단일 배치 감쇠 공식

MeriToken_i(t) = (V_i - B_i) × e^(-λ_i × t) + B_i
  • V_i: 배치의 초기 Merit 값
  • B_i: 배치의 하한값 기여분
  • λ_i: 감쇠 계수, 영향 지속 기간 T_i에 의해 결정 (λ_i = k / T_i, 여기서 k는 상수)
  • t: 획득 이후 경과 시간

총 현재 MeriToken

curMerit = Σ MeriToken_i(t)  (모든 활성 배치의 합)

모든 배치가 완전히 감쇠되면, curMerit은 minMerit에 수렴합니다.

4.5 하한값 (minMerit)

업데이트 규칙

새로운 Merit을 획득할 때마다 하한값이 업데이트됩니다:

현재 curMerit = M, 새로 획득한 Merit = x, 현재 하한값 = B일 때:

새 하한값 B' = (x + M) × B / M

의미: 하한값은 새 Merit이 전체에서 차지하는 비율에 비례하여 증가합니다.

속성

  • 시작값 = e ≈ 2.718
  • 증가만 합니다 (처벌 제외)
  • 역사적 기여의 지울 수 없는 침전물을 나타냅니다
  • 기여를 완전히 중단하더라도, curMerit은 궁극적으로 minMerit 아래로 떨어지지 않습니다

엣지 케이스

curMerit = minMerit (즉, 하한 상태)이고 새 Merit x를 획득할 때:

B' = (x + B) × B / B = x + B

하한값이 x만큼 직접 증가합니다 — 이는 하한 상태에서 획득한 Merit이 전부 하한값으로 침전됨을 의미합니다.

4.6 배치별 독립 감쇠 구현

과제

  • 각 MeritPocket은 Merit 배치 목록을 유지해야 합니다
  • 현재 값을 조회하려면 완전히 감쇠되지 않은 모든 배치를 순회해야 합니다
  • 온체인 저장 및 계산 비용이 배치 수에 따라 선형적으로 증가합니다

최적화 전략

  1. 배치 병합: 유사한 영향 지속 기간을 가진 배치를 주기적으로 병합하여 활성 배치 수를 줄입니다
  2. 오프체인 계산: Rollup을 사용하여 실시간 값을 오프체인에서 계산하고; 온체인에는 스냅샷과 증명만 저장합니다
  3. 배치 침전: 최대 활성 배치 수를 초과하면, 가장 오래된 배치가 자동으로 하한값에 침전됩니다
  4. 지연 계산: 필요할 때만 정확한 값을 계산합니다 (예: 투표 또는 조회 시)

4.7 설계 철학

왜 지수 감쇠인가?

  • 한 번의 대규모 기여 후 비활동보다 지속적인 기여를 장려합니다
  • 기여의 시의성을 반영합니다 — 최근 기여가 현재 평판에 더 큰 영향을 미칩니다
  • 사회적 기억의 감쇠를 자연스럽게 시뮬레이션합니다
  • 초기에 빠르게 감쇠하고 이후 느려져, 직관에 부합합니다

왜 0이 아닌 하한값인가?

  • 역사적 기여의 장기적 가치를 인정합니다 — 과거의 노력이 완전히 0이 되지 않습니다
  • 장기 기여자가 잠시 쉬는 동안 모든 발언권을 잃는 것을 방지합니다
  • 하한값은 누적 기여와 함께 증가하여, 지속적 참여를 보상합니다

왜 배치별 독립 영향 지속 기간인가?

  • 서로 다른 기여는 자연스럽게 서로 다른 시의성을 가집니다
  • 단일 고객 서비스 상호작용은 30일의 영향력만 가질 수 있습니다
  • 오픈소스 프로젝트 유지보수는 수년간의 영향력을 가질 수 있습니다
  • 균일한 감쇠율은 서로 다른 유형의 기여 가치를 왜곡합니다

4.8 논의 메모

MeriToken 모델의 핵심 결정:

  • 지수 감쇠 + 0이 아닌 하한값: "지속적 참여 장려"와 "역사적 기여 존중" 사이의 균형을 달성합니다
  • 배치별 독립 영향 지속 기간: 구현 복잡성을 증가시키지만 기여 시의성의 차이를 더 정확하게 반영합니다
  • 하한값은 증가만 합니다 (처벌 제외): 장기 기여자의 기본 권리를 보호합니다
  • 초기값 e: 수학적 우아함과 실용적 의미를 결합합니다

추가 검토 필요: 하한값 업데이트 공식이 극단적 조건에서 합리적으로 작동하는지 여부