Книга фантастика, вроде из нескольких частей. Читал давно, все повылетало из головы, но помню что ГГ для прокачки нужно было попасть в подчинение женщине, которая его истязала и ментально, морально, физически. Она вроде его как-то ранее поработила принудительно и он еле вырвался, а потом он уже сам отправился к ней. Типа он пройдя это испытание становится круче.
Для ЛЛ: Я ищу нескольких собственников / управляющих небольшими кофейнями или точками продаж кофе с собой, для тестирования созданного мной сервиса. С вас обратная связь и статистика, с меня бесплатный доступ к сервису в течении нескольких месяцев.
Дисклеймер: Так как данная тема для меня очень важна, и я понимаю, что все люди разные, я решил написать два поста: - «Sixth Cup простыми словами» для тех, кто хочет быстро понять суть - «Sixth Cup: сервис лояльности в Telegram и рост рейтинга на картах» для тех, кому интересны детали и контекст
Проблематика У большинства небольших кофеен, реализующих программу лояльности, из тех что я знаю, используется программа лояльности типа панч-карты или "N-й напиток в подарок". На мой взгляд у этого подхода есть минусы. Для клиента: карточки постоянно теряются, потом находятся в другой курточке, сумке или еще где то. А дальше в зависимости от клиентоориентированности кофейни: могут взять все твои карточки, если в сумме соберется нужное кол-во покупок, а могут отправить собирать целую карточку. Для бизнеса, как мне кажется, минус еще существенней, у этого способа отсутствует какая-то интерактивность. В лучшем случае карточки будут меняться раз в месяц, а скорее раз в квартал, если вообще будут меняться. Но как сообщить клиенту, что на этой неделе скидка на пунш, или летом в жару вы готовы сделать скидку на айс латте? Еще один важный минус для бизнеса, это отсутствие прозрачности. Нечестный сотрудник, может забирать оплату наличными себе в карман, проводя по кассе вместо обычной продажи выдачу бесплатного напитка. И если вариант с наклейками контролировать сложно (нужно пересчитывать кол-во выданных наклеек и проверять, что бы это кол-во совпадало с продажами), то для варианта с печатями, контроль просто невозможен.
Мой сервис Sixth Cup это сервис реализующий программу лояльности для кофеен типа купи Х чашек и получи следующую бесплатно. Вообще его разработка началась с вопроса "А можно ли сделать так, что бы телеграм бот проверял, подписан ли клиент на канал кофейни, перед тем как выдать ему бесплатную чашку?". В целом да, почему нет, но потом появились новые детали: нет места / ресурсов на установку нового оборудования, соответственно никаких сканеров шк / qr, компьютера или дисплея. Единственное что есть это платежный терминал. Первой мыслью было разобраться в возможностях терминала, но ее я откинул. Терминалов разных много, так же как и банков предлагающих эквайринг. У всех могут быть разные прошивки и разные возможности, а решение должно быть универсальным, и максимально простым в настройке и использовании. Тогда я зашел с другой стороны, у каждого человека в кармане лежит телефон, почему бы не использовать его. Вариант с приложением может быть не очень удобен, для android и iOS приложения несовместимы. С другой стороны, если мы говорим о веб сайте, то для нас нет никакой разницы. Соответственно для сотрудника кофейни я могу реализовать весь функционал с помощью веб сайта, что будет достаточно удобно, по нескольким причинам. Первая, не нужно ничего устанавливать на телефон, переходишь на сайт и все работает. Вторая - адаптивность, сайт открытый на телефоне и на компьютере немного отличается, для удобства использования. Для клиента кофейни все проще. Раз он должен быть подписан на телеграм канал, а проверять подписку должен бот, мы можем реализовать весь функционал в нем. Последний вопрос, где реализовать бизнес-логику. Для этого я решил использовать api сервер, потому что это с одной стороны упрощает разработку отдельных компонентов системы, с другой позволяет в будущем добавить другие способы взаимодействия с сервисом, например приложение для клиента, или телеграм бот для сотрудников кофейни.
В итоге я пришел к следующей реализации: телеграм бот с которым взаимодействует клиент кофейни, web приложение (сайт) с которым взаимодействуют сотрудники кофейни и api сервер реализующий бизнес-логику и работу с базой данных, с которым связывается и бот и web приложение.
В начале разработки я предполагал следующий сценарий использования сервиса: 1. Клиент заказывает кофе (одну или несколько чашек). 2. Сотрудник кофейни, при получении оплаты, уточняет у клиента участвует ли тот в программе лояльности. 2.1 Опционально, если клиент не участвует, сотрудник коротко рассказывает правила (полные правила есть в боте) и предлагает перейти к боту отсканировав qr код, который доступен на сайте. 3. Сотрудник фиксирует продажу кофе нажав на кнопку на сайте и получает qr код в который зашифрована ссылка на бот и уникальный ключ связанный с конкретной продажей. Этот qr код сканирует клиент, после чего, у него на телефоне открывается телеграм бот, в текстовом поле уже введена нужная команда и код, клиент просто нажимает на кнопку "отправить". Бот проверяет что клиент подписан на канал кофейни и показывает подтверждение регистрации покупки (видео).
При этом и от сотрудника и от клиента должно требоваться минимум действий, что бы не создавать очередь в час пик и не раздражать.
Работа с отзывами В процессе разработки возникла еще одна вопрос: для кофейни, тем более небольшой, важны отзывы и оценки на картах (например Яндекс или 2gis), так почему бы не помочь с этим? И тогда я решил добавить в телеграм бот диалог запрашивающий отзыв. Он может быть вызван клиентом в произвольный момент времени, и он же запускается автоматически после регистрации покупки клиентом. Если предполагается негативный отзыв, бот предлагает отправить его следующим сообщением. Если отзыв предполагается позитивным, бот предлагает оставить его на одном из отзовиков перейдя по ссылке. Я предполагаю, что подобный подход даст несколько результатов. Во первых, на негативную обратную связь можно будет реагировать оперативнее, т.к. отзывы будут собираться в отдельном разделе на сайте, в одном месте, а не на разных платформах с отзывами. Во вторых, негативные отзывы не будут покидать периметр сервиса, т.к. в большинстве случаев, человеку столкнувшемуся с негативом достаточно его выплеснуть в одном месте (в боте), а искать другие способы оставить отзыв ему будет уже лень. Это само по себе будет позитивно влиять на среднюю оценку на отзовиках, т.к. позволит уменьшить кол-во низких оценок с негативными отзывами. В третьих, диалог запрашивающий отзыв будет запускаться при каждом посещении, и для положительных отзывов он будет предлагать оставить их на отзовиках, что должно увеличить кол-во положительных оценок. В результате, как я предполагаю, сервис позволит в некотором роде манипулировать оценкой на отзовиках, увеличивая и среднюю оценку и кол-во оценок.
Функционал На текущий момент реализован следующий функционал: Возможности для клиента: Клиент может с помощью бота регистрировать свои покупки (видео). При накоплении достаточного кол-ва покупок (по умолчанию 5) он может получить код на бесплатную чашку кофе. Кроме того с помощью бота клиент может просматривать свой статус (всего заказов, прогресс накопления, доступные вознаграждения, последний заказ). Клиент может оставлять с помощью бота отзывы в произвольный момент времени, кроме того бот запрашивает отзыв, после регистрации покупки.
Возможности для кофейни: Сотрудник кофейни создает qr коды с уникальными кодами для одной или нескольких чашек (видео). Есть список заказов, в котором отражено кол-во чашек в заказе, тип (обычные или бесплатные), статус (готов, выполнен, удален), сотрудник выполнивший заказ, ID покупателя (если покупка был зарегистрирована), дата и время выполнения. Для каждого заказа в списке доступна страница с деталями (скриншот в конце). Доступен список отзывов (id отзыва, id покупателя, первые 50 символов отзыва, статус отзыва, исполнитель и дата создания). Для каждого отзыва доступна страница, на которой указан полный текст, можно изменить ответственного и статус, перечислены комментарии (системные, например создание или смена ответственного, и пользовательские) и поле, что бы пользователь мог оставить комментарий. Есть список сотрудников (ID, Логин, ФИО, Тип, Статус). Для каждого сотрудника можно открыть страницу на которой можно сменить тип учетной записи (manager или staff), имя или фамилию, можно деактивировать учетную запись (удалить, если она никогда не активировалась) и сбросить пароль (например если сотрудник забыл свой пароль). Кроме того есть страница для создания нового сотрудника. В системе реализовано разделение прав, учетки типа staff не имеют возможностей доступных учетным записям типа manager.
ЗаключениеСейчас я ищу нескольких партнеров с которыми мог бы протестировать сервис и оценить результативность: как он влияет на оценку на картах, как он влияет на кол-во продаж, как часто возвращаются участники программы лояльности. Для этого мне требуется статистика о продажах (оборот и суммы не нужны, только кол-во) как до начала использования сервиса, так и во время. Со своей стороны, я предлагаю несколько месяцев бесплатного использования сервиса (все что касается обслуживания и хостинга компонентов). Сам бот можно пощупать по ссылке: https://t.me/sixth_cup_botЕсли у вас остались вопросы, вы можете задать их в комментариях ниже, или написав мне в личку в телеге
СкриншотыНиже будут представлены скриншоты некоторых возможностей бота и сайта для сотрудников
Регистрация покупки. В диалоге бот автоматически запрашивает отзыв
Добавление отзыва в произвольный момент времени
Запрос текущего статуса и попытка получить код на бесплатную чашку
Мобильная версия сайта для сотрудников. Основные возможности доступны с главной страницы в один-два клика.
Страница для создания qr на несколько напитков. Опция "перенесенные" доступна для переноса накопленных ранее покупок, например с панч-карт.
Qr для регистрации покупки. Если его отсканировать, можно перейти к соответствующему диалогу в боте. Но успешно активировать его можно только один раз.
Как устроена
математика Marsa Chain изнутри, почему здесь бессильны видеокарты из NASA и как
запрыгнуть в первый вагон гибридного Web3-проекта до первого халвинга
Ну что, признавайтесь,
сколько миллионов часов вы суммарно натапали в Telegram за последний
год? Сколько раз вам
обещали «крутой аирдроп,
который
изменит жизнь», а насыпали три копейки, которых едва хватит на пачку чипсов? Ну
хорошо, две.
Пока 99% Web3-сообщества продолжают яростно симулировать бурную
деятельность и собирать виртуальные фантики в надежде, что разработчики очередной
тапалки не переобуются в воздухе, создатель Marsa решил пойти другим путем. Путем
настоящей математики.
Почти две недели назад запустился проект Marsa Chain. И нет, это не очередной пушистый кликер. Это
полноценный гибридный блокчейн, который элегантно скрестил майнинг (PoW) и
стейкинг (PoS). Привет меня зовут Никита и я решил пролить свет на этот проект,
т.к. задумка показалась очень интересной и нестандартной. Уверен, что многие
разделят со мной это мнение.
Часть 1. Почему Marsa Chain – это НЕ
очередная «тапалка»
Милый, но вызывает негатив от плачевного опыта🐹
Как устроен обычный майнинг в Биткоине? Ты покупаешь огромную жужжащую
коробку (ASIC), платишь за электричество как за крыло от самолета (если не живёшь в Иркутской области) и у кого эта коробка мощнее - тот и забирает все монеты.
В Marsa разработчик сказал: «Спасибо, нам этот обогреватель не нужен».
И внедрил гибридный консенсус, где капитал и правила сети важнее, чем кремний. Кстати, да, он в одну каску продумал
концепт и воплотил его в жизнь.
Майнинг в Marsa – это закрытый интеллектуальный клуб с лотереей. Вот
как это устроено:
● Залог (MINER_STAKE): Ты не можешь просто зайти с улицы и начать
майнить. Сначала ты должен показать сети свою лояльность - заморозить определенное
количество монет MRS на своем счету. Это твой входной билет и гарантия честной
игры.
● Хэш-кредиты
(Твои патроны):
Исходя из твоего залога, сеть выдает тебе строго ограниченное количество «кредитов»
на майнинг. Один кредит = одна попытка угадать правильный код (хэш) блока.
● Жесткий тайм-менеджмент
(REFILL_PERIOD): Каждые
100 блоков (это примерно 20 минут) счетчик обнуляется! Если ты не успел потратить
свои попытки - они просто сгорают, а сеть выдает тебе новые.
Почему
мощный ПК
или
GPU здесь
– это просто
дорогой
кирпич?
Допустим, у тебя суперкомпьютер из NASA, а у меня обычный смартфон. Мы оба закинули в стейк одинаковое количество MRS и получили по 1000 кредитов на эти 20 минут. Твой мощный комп бахнет эти 1000 попыток за полсекунды. А мой телефон будет не спеша отправлять их по одной. Да, твой комп проверит свои «билетики» чуть быстрее. Но как только они кончатся - ты будешь сидеть и курить бамбук вместе со своим мощным процессором все оставшиеся 20 минут, ожидая нового раунда. Мы в абсолютно равных условиях! Мощное железо дает лишь микро-преимущество в скорости внутри одного задания, но оно не может обойти лимиты сети.
Чтобы жизнь майнерам вообще не казалась медом, сеть пересчитывает сложность каждые 10 блоков (примерно 2.5 минуты). Если в сеть резко набежит толпа ботов, сложность мгновенно улетит в космос, и их копеечные попытки превратятся в тыкву. Сеть защищает себя сама на уровне математики.
Часть 2. Часики тикают: первый ХАЛВИНГ
Marsa не за горами
Максимальная эмиссия ограничена 50-тью миллиардами MRS. И каждые 1
050 000 блоков сеть включает жесткий режим экономии - первый халвинг.
Прямо сейчас сеть выдает блоки каждые 12 -15 секунд. До первого халвинга
у нас осталось около 5 - 6 месяцев.
Сеть запущена совсем недавно, добыто около 80 000 блоков (мы находимся на отметке
в 0.08% от старта!).
Через 6 месяцев награда упадет на 50% и станет 4 500 MRS за блок. Но
вместе с наградой в два раза упадет и стоимость одной попытки майнинга (кредита)
- с 10 MRS до 5 MRS.
Что это значит? Сеть не превратится в закрытый олигархат, где майнят только «старички». Снижение
стоимости кредита и награды за блок, открывают возможности для других новых
пользователей.
Заключение: Как попасть в
зарождающееся комьюнити?
Пока что проект находится в режиме ожидания первых майнеров (я
в их числе). Здесь нет открытых реферальных ссылок, еще нет официального приложения
в Google
Play
(App Store)
и монету нельзя купить на бирже. Если вы попали сюда, быть может, это шанс поучаствовать
в чём-то грандиозном?
Но этот период тишины - временный. Разработчик активно готовит платформу
к массовому запуску, и когда люди узнают о перспективе этого блокчейна - начнется
сумасшедший хайп.
Недавно был создан Telegram-канал специально для того, чтобы собрать
команду единомышленников. Создатель Marsa объявил о старте открытого тестирования
и выдаёт первые 10000 монет для майнинга, участники канала узнают обо всех
обновлениях первыми. Пока проект на ультрараннем этапе, общая конкуренция низкая.
Можно забирать самые жирные блоки, каждый блок приносит по 9 000 MRS.
Разбираем криптографический движок под кнопкой "Тап" в Telegram: почему в этой сети лимиты протокола и математика SHA-256 сильнее, чем ангары с китайскими ASIC-майнерами
Всех приветствую! В прошлой статье я поднял тему децентрализации, рассказав о новом гибридном блокчейне Marsa Chain, где майнинг привязан к вашему стейку, а не к мощности железа. Естественно, в голову технарям приходят мысли: «Да это просто очередная тапалка, которая рисует циферки на сервере!» или «Да я напишу скрипт, залью ноду миллионом запросов в секунду с суперкомпьютера и заберу все блоки!».
Ну что ж, критика здесь уместна. Но давайте откроем капот и посмотрим на реальный криптографический движок, который разработчик зашил под банальную кнопку «Тап». Спойлер для владельцев ферм из 1000 GPU: ваши видеокарты здесь - это просто дорогие камушки. И вот почему.
Часть 1. Криптография «Экзамена»: Механика Commitment-Challenge
В обычном Биткоине майнер
занимается
тупой работой
грубой
силы (Brute-force): берет заголовок
блока и гоняет миллиарды
случайных чисел (nonce) в секунду,
пока не
угадает
красивый хэш.
В Marsa Chain этот фокус
не пройдет. Здесь реализована классическая,
но немного модифицированная
схема Commitment-Challenge-Response (Обязательство-Задача-Ответ).
Представьте это как строгий
экзамен
с запечатанным бланком:
1. Генерация Nonce: До
того,
как
нода
выдаст
вам
задачу,
ваше
устройство локально
генерирует случайное
число или
строку
(nonce).
2. Запечатанный
конверт (Commitment): Устройство мгновенно
считает
SHA256(nonce). Это ваш commitment
- уникальный отпечаток, «запечатанный конверт» с вашим
ответом. Вы отправляете его на ноду ДО того,
как
узнаете вопрос.
3. Выдача
задачи (Challenge):
Нода проверяет
ваш
стейк,
списывает
1 кредит за попытку, сохраняет ваш
«конверт»
и только после
этого
выдает
уникальную
задачу (challenge)
- непредсказуемые метаданные, привязанные
к текущему
блоку.
4. Поиск решения (Hash):
Устройство
считает финальный хэш:
clientHash = SHA256(challenge +
nonce).
И этот результат должен удовлетворять
текущей сложности сети.
5. Проверка (Submit):
Вы отправляете
результат. Нода
заново пересчитывает всё. Она проверяет, что
SHA256(nonce) == commitment (вы
не подменили число, как говорится,
задним числом), проверяет честность
хэша, подпись вашего кошелька и
высоту блока.
Простыми словами:
Вы сначала кладете свой «ответ» в конверт, ставите на него сургучную печать (рельефный оттиск), отдаете экзаменатору и только потом получаете текст вопроса. Поменять ответ задним числом уже невозможно, т.к. нарушится целостность печати. Именно поэтому нельзя «подглядеть задачу, а потом перебрать миллион вариантов на суперкомпьютере». На одну попытку даётся один заранее зафиксированный nonce и один строго контролируемый хэш. Подделка без знания исходных данных криптографически невозможна.
Часть 2. Почему лимиты протокола сильнее любого суперкомпьютера
«Хорошо, скажет продвинутый программист, я не буду подделывать хэш. Я просто создам миллион аккаунтов, заблокирую на каждом по 10 MRS и завалю ноду-валидатора миллиардом запросов в секунду. Мощность моего сервера позволит мне взять объемом!»
И снова мимо. Разработчик Marsa Chain зашил жесткие лимиты на уровне самого консенсуса, которые делают DDoS-майнингэкономически бессмысленным:
● Лимит «висящих» задач: На один адрес разрешено иметь не более 2 незавершенных challenge одновременно. Вы физически не можете запросить третью задачу, пока не ответите на предыдущие или не отмените их.
● Смерть задачи (TTL): Выданный challenge живет всего ~5 секунд. Не успели посчитать, подписать ключом Ed25519 и отправить обратно, всё, попытка сгорает, а кредит списан.
● Rate limit на submit: Нода жестко ограничивает частоту отправки готовых решений. Загасить сервер спамом не получится, потому что автоматические фильтры забанят адрес быстрее, чем компьютер завершит первый цикл.
В итоге: побеждает не тот, у кого «самый дорогой сервер», а тот, кто регулярно участвует по правилам сети и имеет легитимные кредиты, обеспеченные стейком.
Часть 3. Железобетонная on-chain верификация
Допустим, гениальный хакер смог обойти интерфейс Telegram Mini App и напрямую отправляет пакеты, имитируя, что «блок найден». Поможет ли это ему? Нет.
Чтобы блок добавился в блокчейн Marsa Chain и майнер получил свои законные 9000 MRS, решение проходит тотальную on-chain верификацию у валидаторов:
1. Валидность высоты цепи: Старые или дублирующиеся хэши отклоняются мгновенно (защита от anti-replay).
3. Проверка консенсуса: Блок публично проверяется другими независимыми валидаторами сети. Если хоть один бит информации сфальсифицирован, то блок летит в корзину.
Резюме
Marsa Chain – это пример того, как сложная математика защищает блокчейн от болезней современности: ASIC-монополии, бот-ферм и пустых затрат мегаватт энергии. Сеть пересчитывает сложность каждые 10 блоков (около 2,5 минут), моментально адаптируясь под любой наплыв хэшрейта.
Повторю, что проект находится на ультраранней стадии, у нас есть уникальная возможность изучать и тестировать эту технологию одними из первых.
https://t.me/marsachain_ru Подписывайтесь, чтобы первыми узнать о запуске открытых инвайтов и выходе официального приложения в Google Play (App Store)!
Комментарии