Как участники проверяют валидность выбора валидатора в Proof‑of‑Fortune (PoF) GoodLuckCoin
В механизме PoF выбор валидатора для формирования блока полностью прозрачен и поддаётся независимой проверке. Это обеспечивается за счёт криптографического инструмента — Verifiable Random Function (VRF). Разберём, как именно участники могут удостовериться в корректности процесса.
Что подлежит проверке
Перед созданием блока нужно подтвердить:
- Корректность генерации случайного значения (vrf_output).
- Правомерность выбора валидатора (его candidate действительно попадает в допустимый диапазон).
- Отсутствие манипуляций с параметрами отбора.
Пошаговый алгоритм проверки
1. Получение исходных данных
Участник запрашивает из блокчейна TON:
- vrf_seed — начальное значение, использованное для расчёта (обычно берётся из хэша последнего блока TON);
- публичный ключ выбранного валидатора;
- vrf_output — результат работы VRF;
- параметры диапазона отбора (например, «топ‑1 по значению candidate»).
Эти данные доступны в:
- последнем блоке PoF, записанном в TON;
- интерфейсе терминала GoodLuckCoin;
- блокчейн‑эксплорере TON (через смарт‑контракт PoF).
2. Локальный расчёт candidate
Участник самостоятельно выполняет VRF‑вычисление:candidate = VRF(public_key_валидатора, vrf_seed)
Для этого используется:
- открытый алгоритм VRF (стандартизован, например, RFC 6979);
- библиотека криптографических функций (доступна в SDK GoodLuckCoin).
3. Сравнение с диапазоном отбора
Участник проверяет, попадает ли полученный candidate в заданный диапазон:
- Если система выбирает «топ‑1», то candidate валидатора должен быть максимальным среди всех возможных.
- Если диапазон задан как «первые 5 значений», то candidate должен входить в эту пятёрку.
4. Верификация VRF
Участник запускает проверку:VRF_verify(public_key, vrf_seed, vrf_output) == true
Это подтверждает:
- vrf_output действительно сгенерирован на основе vrf_seed и приватного ключа валидатора;
- результат не подделан.
5. Контроль параметров события
Участник убеждается, что:
- vrf_seed соответствует хэшу последнего блока TON (исключает подмену источника случайности);
- правила отбора (selection_type) не изменены постфактум;
- LuckLevel валидатора учтён корректно (нет необоснованного преимущества).
Где взять данные для проверки
- Блокчейн TONВсе транзакции PoF хранятся в смарт‑контракте.Доступ через эксплореры: Tonviewer, Tonscan.
- Все транзакции PoF хранятся в смарт‑контракте.
- Доступ через эксплореры: Tonviewer, Tonscan.
- Интерфейс GoodLuckCoinВ терминале есть раздел «Проверка валидатора» с автоматизированным калькулятором VRF.
- В терминале есть раздел «Проверка валидатора» с автоматизированным калькулятором VRF.
- API PoFПрограммируемый доступ к данным блоков и параметрам VRF.
- Программируемый доступ к данным блоков и параметрам VRF.
Примеры проверок
Сценарий 1: подозрение на подмену валидатора
- Участник видит, что валидатор № 42 выбран, но его candidate не максимальный.
- Проверка: локальный расчёт candidate для всех валидаторов показывает, что № 15 имел большее значение.
- Вывод: выбор некорректен — система нарушила правила.
Сценарий 2: проверка случайности
- Участник сравнивает vrf_output с ожидаемым распределением значений.
- Если результаты систематически отклоняются от равномерного распределения — возможна уязвимость VRF.
- Верификация через VRF_verify подтверждает или опровергает подозрения.
Почему это надёжно
- Криптографическая гарантияVRF основан на эллиптических кривых (Ed25519) — взлом вычислительно невозможен.Подделка vrf_output без приватного ключа исключена.
- VRF основан на эллиптических кривых (Ed25519) — взлом вычислительно невозможен.
- Подделка vrf_output без приватного ключа исключена.
- Открытость данныхВсе входные параметры (vrf_seed, публичный ключ) публичны.Алгоритм VRF стандартизован и проверен сообществом.
- Все входные параметры (vrf_seed, публичный ключ) публичны.
- Алгоритм VRF стандартизован и проверен сообществом.
- Независимость проверкиУчастник не зависит от системы — он может верифицировать всё локально.Нет «чёрных ящиков»: каждый шаг прозрачен.
- Участник не зависит от системы — он может верифицировать всё локально.
- Нет «чёрных ящиков»: каждый шаг прозрачен.
Что делать, если обнаружена ошибка
- Зафиксировать доказательстваСохранить хэши блоков, значения vrf_seed, vrf_output, публичные ключи.
- Сохранить хэши блоков, значения vrf_seed, vrf_output, публичные ключи.
- Опубликовать результаты проверкиЧерез форум GoodLuckCoin, соцсети, GitHub.
- Через форум GoodLuckCoin, соцсети, GitHub.
- Обратиться в поддержку PoFПредоставить лог верификации — команда проверит и при необходимости инициирует расследование.
- Предоставить лог верификации — команда проверит и при необходимости инициирует расследование.
- Использовать арбитражЕсли спор не урегулирован, можно привлечь независимых экспертов или децентрализованный суд (если предусмотрен в правилах PoF).
- Если спор не урегулирован, можно привлечь независимых экспертов или децентрализованный суд (если предусмотрен в правилах PoF).
Вывод
Механизм проверки валидатора в PoF построен на трёх принципах:
- Доказуемая случайность (VRF);
- Полная прозрачность (все данные в TON);
- Самостоятельность проверки (любой участник может верифицировать процесс).
Это исключает:
- манипуляции с выбором валидатора;
- скрытые правила отбора;
- зависимость от централизованных органов.
Таким образом, PoF сочетает скорость единичного валидатора с надёжностью коллективного консенсуса — благодаря криптографии, а не доверию.