BLUEPRINT
제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 배치 목록을 유지해야 합니다
- 현재 값을 조회하려면 완전히 감쇠되지 않은 모든 배치를 순회해야 합니다
- 온체인 저장 및 계산 비용이 배치 수에 따라 선형적으로 증가합니다
최적화 전략
- 배치 병합: 유사한 영향 지속 기간을 가진 배치를 주기적으로 병합하여 활성 배치 수를 줄입니다
- 오프체인 계산: Rollup을 사용하여 실시간 값을 오프체인에서 계산하고; 온체인에는 스냅샷과 증명만 저장합니다
- 배치 침전: 최대 활성 배치 수를 초과하면, 가장 오래된 배치가 자동으로 하한값에 침전됩니다
- 지연 계산: 필요할 때만 정확한 값을 계산합니다 (예: 투표 또는 조회 시)
4.7 설계 철학
왜 지수 감쇠인가?
- 한 번의 대규모 기여 후 비활동보다 지속적인 기여를 장려합니다
- 기여의 시의성을 반영합니다 — 최근 기여가 현재 평판에 더 큰 영향을 미칩니다
- 사회적 기억의 감쇠를 자연스럽게 시뮬레이션합니다
- 초기에 빠르게 감쇠하고 이후 느려져, 직관에 부합합니다
왜 0이 아닌 하한값인가?
- 역사적 기여의 장기적 가치를 인정합니다 — 과거의 노력이 완전히 0이 되지 않습니다
- 장기 기여자가 잠시 쉬는 동안 모든 발언권을 잃는 것을 방지합니다
- 하한값은 누적 기여와 함께 증가하여, 지속적 참여를 보상합니다
왜 배치별 독립 영향 지속 기간인가?
- 서로 다른 기여는 자연스럽게 서로 다른 시의성을 가집니다
- 단일 고객 서비스 상호작용은 30일의 영향력만 가질 수 있습니다
- 오픈소스 프로젝트 유지보수는 수년간의 영향력을 가질 수 있습니다
- 균일한 감쇠율은 서로 다른 유형의 기여 가치를 왜곡합니다
4.8 논의 메모
MeriToken 모델의 핵심 결정:
- 지수 감쇠 + 0이 아닌 하한값: "지속적 참여 장려"와 "역사적 기여 존중" 사이의 균형을 달성합니다
- 배치별 독립 영향 지속 기간: 구현 복잡성을 증가시키지만 기여 시의성의 차이를 더 정확하게 반영합니다
- 하한값은 증가만 합니다 (처벌 제외): 장기 기여자의 기본 권리를 보호합니다
- 초기값 e: 수학적 우아함과 실용적 의미를 결합합니다
추가 검토 필요: 하한값 업데이트 공식이 극단적 조건에서 합리적으로 작동하는지 여부
