Глава 4: Модель MeriToken

4.1 Обзор модели

MeriToken — это основная единица измерения GMC. Её проектирование должно ответить на ключевой вопрос: Как измерение вклада может отражать текущую активность, одновременно уважая исторические заслуги?

Ответ: экспоненциальное затухание + ненулевое минимальное значение.

4.2 Два ключевых значения

Каждый MeritPocket поддерживает два основных значения:

  • curMerit (текущий MeriToken): Значение измерения вклада в реальном времени; затухает со временем и растёт с новыми вкладами
  • minMerit (минимальное значение): Нижняя граница затухания, представляющая долгосрочный осадок исторических вкладов; только увеличивается (за исключением штрафов)
curMerit ≥ minMerit ≥ e (начальное значение)

4.3 Приобретение

MeriToken приобретается через вклад; система чеканит новые Token:

Способ приобретенияОписаниеУсловие срабатывания
Объективное измерениеАвтоматически рассчитывается на основе верифицируемых метрикСистема автоматически фиксирует достижение порога
Задание с наградойПредустановленный Merit за конкретную задачуЗаинтересованные стороны голосуют за одобрение по завершении
Начальное распределениеПредоставляется при регистрации в сетиРегистрация идентичности завершена

Начальное значение = e ≈ 2,718 (натуральная константа, естественно согласованная с моделью экспоненциального затухания).

4.4 Модель затухания

Основная идея

Каждая партия приобретения Merit имеет независимую длительность влияния. Длительность влияния отражает актуальность данного вклада — вклад с длительностью влияния 100 дней полностью затухает в течение 100 дней.

Формула затухания одной партии

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 Философия проектирования

Почему экспоненциальное затухание?

  • Стимулирует непрерывный вклад, а не единичный крупный вклад с последующим бездействием
  • Отражает актуальность вкладов — более свежие вклады оказывают большее влияние на текущую репутацию
  • Естественно моделирует затухание социальной памяти
  • Быстро затухает вначале и замедляется позже, что соответствует интуиции

Почему ненулевой минимум?

  • Признаёт долгосрочную ценность исторических вкладов — прошлые усилия не обнуляются полностью
  • Предотвращает потерю всего права голоса долгосрочными участниками из-за кратковременной паузы
  • Минимальное значение растёт с накопленными вкладами, вознаграждая устойчивое участие

Почему независимая длительность влияния для каждой партии?

  • Разные вклады естественно имеют разную актуальность
  • Одно взаимодействие с клиентом может иметь влияние всего 30 дней
  • Поддержка проекта с открытым исходным кодом может иметь влияние на годы
  • Единая скорость затухания исказила бы ценность различных типов вкладов

4.8 Заметки к обсуждению

Ключевые решения в модели MeriToken:

  • Экспоненциальное затухание + ненулевой минимум: Находит баланс между «стимулированием непрерывного участия» и «уважением исторических вкладов»
  • Независимая длительность влияния для каждой партии: Увеличивает сложность реализации, но точнее отражает различия в актуальности вкладов
  • Минимальное значение только увеличивается (за исключением штрафов): Защищает фундаментальные права долгосрочных участников
  • Начальное значение e: Сочетает математическую элегантность с практическим значением

Требует дальнейшего изучения: Ведёт ли себя формула обновления минимального значения разумно в экстремальных условиях