Главное Авторские колонки Вакансии Вопросы
117 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Whitepaper GoodLuckcoin proof-of-fortune blockchain v1.1 автор Дмитрий Андреевич Морыганов

Документ подтверждающий автора блокчейна GoodLuckCoin и алгоритма конценсуса для proof-of-fortune. Автор Морыганов Дмитрий Андреевич
Мнение автора может не совпадать с мнением редакции


Полный механизм работы GoodLuckCoin (PoF) с награждением победителя

1. Вход участника в раунд

Каждый узел сети — это участник, который:

авторизуется через кошелёк TON (Tonkeeper, MyTonWallet и др.);

инициирует участие, нажимая кнопку «Участвовать в раунде» в интерфейсе кошелька или dApp;

подтверждает действие подписью приватного ключа.

2. Первичная проверка смарт‑контрактом

Смарт‑контракт GLC автоматически проверяет:

Баланс: ≥ 10 GLC на кошельке участника;

Статус узла: отсутствие в чёрном списке;

Подлинность подписи: валидность приватного ключа.

При несоответствии условий участник исключается из раунда.

3. Генерация VRF‑выхода участником (узлом)

Для допущенных участников:

Узел получает seed из последнего блока GLC (поле prev_block_hash).

Генерирует VRF‑выход по формуле:

VRF(seed,private_key)→(vrf_output,proof)

Формирует пакет данных:

vrf_output — случайное число/хэш;

proof — доказательство корректности VRF;

public_key — публичный ключ участника;

signature — подпись приватным ключом.

4. Верификация данных смарт‑контрактом

Смарт‑контракт обрабатывает пакеты от 1–19 участников и проверяет:

Валидность proof: соответствие vrf_output входному seed;

Корректность подписи: подлинность приватного ключа;

Баланс: ≥ 10 GLC на момент проверки;

Уникальность: отсутствие дубликатов в текущем раунде.

При ошибке участник исключается из выборки.

5. Выбор победителя

Из оставшихся участников (1–19 человек) смарт‑контракт:

Сравнивает vrf_output всех узлов (как числовые значения или хэши).

Выбирает участника с наименьшим значением vrf_output (минимальный хэш).

Фиксирует:

winner_index — индекс победителя в списке;

winner_id — публичный ключ победителя.

6. Формирование и запись блока в TON Storage

Смарт‑контракт не транслирует блок в сеть TON, а сразу формирует и записывает его в TON Storage (децентрализованное хранилище данных TON).

Блок содержит следующие поля:

block_number — порядковый номер;

participants — массив публичных ключей участников (1–19);

winner_index — позиция победителя в массиве;

winner_id — публичный ключ победителя;

vrf_seed — seed из предыдущего блока;

vrf_outputs — массив результатов VRF всех участников;

proofs — массив доказательств VRF;

timestamp — время создания (UTC);

prev_block_hash — хэш предыдущего блока;

merkle_root — корень Меркла для списка участников;

GLC_reward — награда валидатору (фиксированная сумма в GLC).

Важно:

Запись в TON Storage происходит напрямую через вызовы API TON Storage.

Блок получает уникальный идентификатор хранилища и становится доступен для чтения.

7. Начисление награды победителю

После фиксации блока в TON Storage:

Смарт‑контракт отправляет награду победителю на его кошелёк TON:

базовая награда + 10 GLC (фиксированная премия);

сумма может включать дополнительные бонусы (если предусмотрены правилами).

Транзакция записывается в блокчейн TON с уникальным txID (идентификатором транзакции).

8. Фиксация и верификация результата

Данные о блоке и награде хранятся в двух системах:

Блок — в TON Storage (с постоянным доступом по идентификатору).

Транзакция награды — в блокчейне TON (доступна через TON Scan).

Каждый участник может проверить:

txID транзакции в TON Scan — подтверждает перевод награды;

блок в TON Storage — содержит:

список участников;

vrf_output и proof победителя;

публичный ключ победителя (winner_id);

хэш предыдущего блока (prev_block_hash).

Ключевые гарантии

Неподдельность

Награда подтверждается txID, который невозможно подделать.

Результат раунда зафиксирован в TON Storage и неизменен.

Прозрачность

Все данные (VRF‑выходы, доказательства, списки участников) публичны.

Любой может верифицировать:

корректность vrf_output по seed и public_key;

целостность блока через merkle_root;

связь блоков через prev_block_hash.

Верифицируемость

История блоков хранится вечно в TON Storage.

Транзакции наград доступны через TON Scan по txID.

Блоки можно запросить по block_number через API TON Storage.

Безопасность

Подделка proof или signature невозможна без приватного ключа.

Изменение блока ломает связь через prev_block_hash.

Децентрализация

Участие доступно любому узлу с кошельком TON и ≥ 10 GLC.

Нет центрального администратора.

Пример процесса

Сценарий: раунд с 5 участниками. Шаги:

Участники нажимают «Участвовать», смарт‑контракт проверяет баланс (≥ 10 GLC).

Узлы генерируют vrf_output на основе seed из блока № 1000.

Смарт‑контракт верифицирует proof и подписи.

Среди vrf_output выбирается минимальное значение (например, у участника ID_3).

Смарт‑контракт формирует блок № 1001 и сразу записывает его в TON Storage со данными:

participants = [ID_1, ID_2, ID_3, ID_4, ID_5];

winner_index = 2;

winner_id = ID_3.

Смарт‑контракт переводит 10 GLC + награда на кошелёк ID_3.

txID транзакции фиксируется в блокчейне TON и доступен через TON Scan.


Итог

Механизм PoF в GoodLuckCoin обеспечивает автоматизированный, честный и децентрализованный отбор валидатора блока из 1–19 участников.

Ключевой процесс:

Из пула участников (1–19 узлов) смарт‑контракт отбирает валидатора блока — им становится победитель раунда.

Победителя определяют по минимальному значению vrf_output (хэш‑результата VRF), сгенерированного каждым участником на основе:

seed из предыдущего блока;

приватного ключа узла.

Победа равнозначна назначению валидатором текущего блока — именно победитель формирует и подписывает новый блок.

Как фиксируется результат:

Блок напрямую записывается в TON Storage (без трансляции в сеть TON).

Транзакция награды победителю‑валидатору попадает в блокчейн TON и доступна через TON Scan по txID.

Гарантии:

Честность отбора: победитель‑валидатор определяется криптографически (VRF), без возможности предсказать или подменить результат.

Прозрачность: любой участник может проверить:

корректность vrf_output и proof по входным данным;

целостность блока через merkle_root;

связь блоков через prev_block_hash.

Неизменность: блок в TON Storage и транзакция в блокчейне TON не могут быть изменены.

Верифицируемость: данные хранятся вечно и доступны для аудита:

блок — через API TON Storage по block_number;

транзакция награды — через TON Scan по txID.

Децентрализация: любой узел с кошельком TON и ≥ 10 GLC может участвовать; нет центрального администратора.

Результат:

Победитель раунда становится валидатором блока.

Блок формируется и сохраняется в TON Storage.

Награда (10 GLC + базовая премия) переводится на кошелёк победителя‑валидатора.

Все данные прозрачны, неизменяемы и доступны для проверки в любой момент.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.