Перейти к содержимому

Розыгрыши

Розыгрыш — это хранилище (vault) с takoGRAM. Всё, что зарабатывают депозиты в нём, складывается в приз, и каждый период выбирается победитель. Сам депозит никогда не входит в приз: внесённое вы всегда можете забрать.

  1. Вы отправляете takoGRAM в хранилище. Оно записывает ваш депозит в Gram по текущему курсу.
  2. Пока вы участвуете, доход вашего депозита идёт в приз, а не вам.
  3. Каждый период розыгрыш закрывается и выбирает победителей по публичной случайности.
  4. Приз добавляется к депозитам победителей, и они продолжают играть уже с ним.
  5. При выходе вы получаете депозит целиком плюс всё, что выиграли.

Шанс пропорционален депозиту: 1 000 Gram в розыгрыше на 10 000 Gram выигрывают первый приз в 10% случаев. Если разбить депозит на много мелких, шанс не изменится.

Депозит блокируется минимум на один период. Без блокировки можно было бы войти перед самым розыгрышем, забрать часть приза, который заработали чужие депозиты, и уйти. С блокировкой поздний вход стоит целого периода дохода, а это ровно столько, сколько розыгрыш стоит в среднем.

У розыгрыша может быть до пяти победителей, которые делят приз. Часть каждого приза идёт в накопительный джекпот: в каждом розыгрыше у первого победителя есть фиксированный шанс его забрать, иначе джекпот растёт дальше. В тестнете розыгрыш каждый час, три победителя, 20% приза уходит в джекпот, и джекпот выпадает в одном розыгрыше из десяти.

У любого Telegram-чата может быть свой розыгрыш. Адрес его хранилища вычисляется из id чата, поэтому бот и приложение находят его без всякого реестра, а повторное создание даёт то же хранилище. См. Telegram.

Победителей выбирают по drand — сети независимых организаций, которая публикует случайное число каждые 3 секунды. Никто, включая команду Tako, валидаторов и того, кто закрывает розыгрыш, не знает число до публикации.

  • При закрытии розыгрыш фиксирует раунд drand примерно на минуту вперёд. Депозиты и выводы останавливаются, пока он не раскрыт.
  • Контракт сам, в блокчейне, проверяет подпись drand для этого раунда по публичному ключу drand.
  • Выигрышный билет — это случайное число по модулю суммы депозитов. Его владелец — первый победитель.

Откройте любой розыгрыш в эксплорере и нажмите Check against drand. Браузер скачает подпись у drand и повторит обе проверки: BLS-подпись по публичному ключу drand и то, что случайность хранилища — хеш этой подписи. Покажет и выигравший билет. Математика — в разделе Случайность.