Разбираем криптографический движок под кнопкой "Тап" в 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 и майнер получил свои законные 9 000 MRS, решение проходит тотальную on-chain верификацию у валидаторов:

1. Валидность высоты цепи: Старые или дублирующиеся хэши отклоняются мгновенно (защита от anti-replay).

2. Криптографическая подпись кошелька: Каждый шаг подписывается уникальным приватным ключом вашего устройства.

3. Проверка консенсуса: Блок публично проверяется другими независимыми валидаторами сети. Если хоть один бит информации сфальсифицирован, то блок летит в корзину.

Резюме

Marsa Chain – это пример того, как сложная математика защищает блокчейн от болезней современности: ASIC-монополии, бот-ферм и пустых затрат мегаватт энергии. Сеть пересчитывает сложность каждые 10 блоков (около 2,5 минут), моментально адаптируясь под любой наплыв хэшрейта.

Повторю, что проект находится на ультраранней стадии, у нас есть уникальная возможность изучать и тестировать эту технологию одними из первых.

https://t.me/marsachain_ru  Подписывайтесь, чтобы первыми узнать о запуске открытых инвайтов и выходе официального приложения в Google Play (App Store)!

https://github.com/evilmarsello/marsachain Исходный код TMA и андроид здесь на гитхабеКод ноды будет опубликован в этом месяце.