Как вы зарабатываете
Вознаграждение узла — доля дневной эмиссии, определяемая тем, сколько он застейкал, и тремя измерениями того, что он с этим стейком делал. Вот формула, которую программа на самом деле выполняет, с частями, которые она не может знать, отмеченными как таковые.
Каждая константа на этой странице читается из crates/rewards в openfiat-core. Ни один узел ещё не получал выплат.
Что определяет вашу долю
Эмиссия за эпоху фиксирована. Ваше вознаграждение — ваш вес относительно веса каждого подходящего узла, а вес — это стейк, умноженный на три измерения сервиса, каждое не выше 1,0.
share = emission × (stake × connectivity × availability × pinning) ÷ Σ (the same, for every eligible node)
effective_stake
Сколько вы застейкали
Читается из вашего ончейн-аккаунта стейка, а не из числа, которое узел сообщает о себе. Стейк даёт узлу балласт: если два узла называют один и тот же аккаунт, оба исключаются из эпохи.
connectivity_bps
Строите ли вы мост к Solana
1,0, если сеть видела, что ваш узел порождает анонс blockhash от Solana, и 0,4, если видела только, как он распространяет его через gossip. Узел-мост выполняет строго больше работы, и разница видна в его собственных подписанных анонсах, а не в заявлении.
availability_bps
Какую часть суток вы были в сети
Доля из 24 часовых интервалов эпохи, в которых ваш узел был услышан. Быть услышанным один раз в интервале засчитывает его, и быть услышанным пятьсот раз засчитывает столько же, так что заваливать сеть трафиком ничего не даёт.
pinning_bps
Раздаёте ли вы контент
1,0, если ваш узел вернул байты, соответствующие адресу контента, когда ему бросили вызов, и 0,7, если ему не бросали вызов или он не справился. Это единственное из трёх, что доказано, а не правдоподобно, — байты, которые сворачиваются в CID, нельзя выдать, не владея ими.
Оговорка об этом четвёртом множителе. Подтверждённая таблица в OFS-4100 §9.2 перечисляет три фактора — стейк, связность, доступность — и не упоминает пиннинг. Крейт всё равно его применяет. Там, где спецификация и код расходятся, эта страница следует коду, потому что именно код рассчитывал бы график; но читайте множитель пиннинга как нечто, опережающее спецификацию, а не определённое ею.
Ничто здесь не может превысить 1,0
Каждый множитель — доля единицы, и программа отказывается запускаться с набором параметров, где какой-то из них таковым не является.
Это не осторожность, это единственная схема, которая сходится. Пул эпохи — фиксированное число токенов, а множители решают, как этот пул делится. Множитель выше 1,0 не переплатит хорошему узлу откуда-то со стороны — он раздал бы токены, которых нет в ведре инфраструктуры. RewardParams::validate отвергает такой набор сразу, а не даёт дефициту всплыть в день выплаты.
Именно поэтому награда за раздачу контента построена как штраф для узлов, которые его не раздают. «Узлы, которые пиннят, зарабатывают больше» и «узлы, которые не пиннят, зарабатывают меньше» описывают один и тот же результат, и только второе можно реализовать, не выдумывая токены. Узел, который пиннит, сохраняет всю свою долю; узел, который не пиннит ничего, отдаёт три десятых своей.
| Связность | Контент | Множитель |
|---|---|---|
| Мост к Solana | Ответил на вызов | 1.00 |
| Мост к Solana | Вызова не было или не справился | 0.70 |
| Только gossip | Ответил на вызов | 0.40 |
| Только gossip | Вызова не было или не справился | 0.28 |
Читайте две центральные строки вместе: узел только с gossip, раздающий контент (0.40), всё равно зарабатывает меньше, чем узел-мост, не раздающий ничего (0.70). Раздача контента — премия поверх подключения к цепочке, а не его замена.
Подставьте свои числа
Левый столбец — то, чем управляете вы. Правый делит результат надвое: то, что ваши входные данные задают точно, и то, что зависит от сети, которая ещё не сложилась.
Ваш узел
Ниже 1000 OPEN узел вообще не взвешивается. Ему не платят уменьшенную долю — его игнорируют.
Из 24 часовых интервалов эпохи. Интервал засчитывается один раз, сколько бы трафика вы ни отправили в течение него.
Определяется вашими входными данными
1.00из возможных 1,00
Ваш множитель качества — три фактора сервиса, соединённые так, как их соединяет график.
- связность
- 1.00
- доступность
- 1.00
- пиннинг
- 1.00
- качество
- 1.00
Зависит от остальной сети
Ваша доля — это ваш вес, делённый на вес каждого подходящего узла, поэтому её нельзя вычислить только из ваших данных. Живого итога, который можно подставить, нет — эта страница не читает состояние цепочки, и ни одно вознаграждение никогда не выплачивалось. Так что итог — это допущение, его задаёте вы, и оба числа ниже опираются на него и ни на что более твёрдое.
- 1.1%
- Ваша доля пула эпохи
- 928.72
- OPEN за эпоху при этом допущении
Весь пул — 82,192 OPEN за эпоху, делённый между каждым подходящим узлом. Оба числа сдвигаются в тот же миг, как кто-то ещё стейкает, и ни одно не является прогнозом.
Пул конечен
Эмиссия начального периода — это ведро, а не ставка. Оно пустеет.
120 000 000 OPEN — 12% предложения — зарезервированы, чтобы платить узлам, пока доход протокола слишком мал, чтобы иметь значение, и распределены поровну примерно на четыре года ежедневных эпох. В день, когда оно опустеет, пул вознаграждений становится ровно долей казначейства инфраструктуры от расчётных комиссий: тем, что сеть заработала, и ничем больше. Тот, кто рассчитывает узел по числам выше, должен рассчитать его и на этот день.
- 120,000,000
- OPEN в ведре
- 82,192
- OPEN за эпоху
- 1,460
- Ежедневных эпох
Начальное распределение «Инфраструктура / бутстрап узлов», 12% всего предложения.
Делится между каждым подходящим узлом и ограничен тем, что осталось в ведре.
Около четырёх лет, после чего эмиссия — это то, что финансирует доход протокола.
Чего эта страница вам не скажет
Трёх чисел не хватает, и каждого не хватает намеренно.
Сколько это стоит в вашей валюте
У OPEN нет рынка и, значит, нет цены. Число в долларах, евро или юанях здесь было бы величиной, которую этот проект выдумал о собственном токене и подал вам с авторитетом калькулятора. Честного курса для пересчёта нет, поэтому нет и пересчёта.
Доходность, APR или прибыль
Процентная доходность звучит как обещание, а это не то, что протокол может обещать. Эмиссия за этим пустеет за четыре года, доля делится с каждым входящим узлом, и ни один из параметров не зафиксирован — §9 делает их все обновляемыми через управление. Единственное годовое число скрыло бы все три вещи.
Сколько сеть застейкала сегодня
Эта страница не читает состояние цепочки. Ваша доля зависит от общего стейка по всем подходящим узлам, и вместо того чтобы подставить правдоподобное число, калькулятор делает этот итог допущением, которое задаёте вы, а затем помечает всё, что на него опирается.
Что на самом деле работает
Расчёт есть. Выплаты — нет.
Узлы наблюдают активность друг друга и публикуют увиденное, а график, превращающий эти наблюдения в суммы, реализован и протестирован — детерминированно, чтобы любой с теми же наблюдениями вывел тот же ответ и узел-плательщик можно было проверить, а не доверять ему. Не хватает последнего шага: ничто не отправляет график в цепочку, и хранилище вознаграждений пусто. Ни один узел никогда не получал выплат.
Каждое значение здесь — параметр управления, а не константа: порог в 1,000 OPEN, 24 интервалов доступности и четыре множителя можно изменить голосованием без правки кода. Это сегодняшние значения по умолчанию.
Константы читаются из crates/rewards/src/params.rs; арифметика повторяет schedule.rs, включая места, где она округляет вниз.
Запустите узел и узнайте
Модель вознаграждений — меньшая половина решения. Бо́льшая — стоят ли машина, канал и внимание того для вас: в руководстве оператора есть реальное оборудование, реальные команды и части, которые ещё не построены.