Зачем это нужно
Спам остаётся дешевле чашки кофе: ботнеты и ML-генераторы легко рассылают миллионы писем, а фильтрам приходится балансировать между перехватом мусора и риском задеть легитимную почту.
Идея, описанная ниже, поднимает цену отправки каждого сообщения для злоумышленника, но почти незаметна для честного отправителя.
Суть идеи в трёх строках
Мы добавляем к письму небольшую «марку» — строку, для которой отправитель вычисляет Proof-of-Work (PoW).
Проверка подлинности занимает один вызов хэш-функции на стороне получателя.
Если марка валидна, фильтр может чуть-чуть понизить спам-скор письма.
Мини-спецификация
Заголовок | Что хранит |
---|---|
| Целое |
| Название алгоритма (например |
| Строка-решение, чей хэш начинается как минимум с |
Можно куда-то добавить ссылку на спецификацию, чтобы получатель мог понять, как с этими заголовками работать.
Алгоритм
Отправитель перебирает
X-Postage-Proof
, покаhash
не начинается сN
нулей (X-Postage
).Получатель одним вызовом хэша проверяет, что:
алгоритм совпадает (
X-Postage-Hash
);нулей в хэше ≥
X-Postage
.
При успехе письмо считается «оплаченным» — фильтр может снизить спам-оценку.
Почему это работает
Экспоненциальный барьер: каждый дополнительный ноль удваивает среднее время подбора.
Незаметно добропорядочным отправителям: при
N = 20
подбор занимает миллисекунды даже на смартфоне.Drop-in интеграция: никаких изменений SMTP-диалога; заголовки совместимы с SPF/DKIM/DMARC.
Проверка почти бесплатна: один хэш на письмо.
Гибкая сложность
Отправитель сам выбирает баланс между стоимостью и скоростью отправки:
Обычные письма — маленькое
N
(быстро и почти бесплатно).Важные письма — большее
N
(дольше считать, но выше шанс обойти спам-фильтр).
Попытки
Уже были подходы к реализации похожих механизмов, например, Hashcash и исследовательского «Penny Black» от Microsoft. Они обсуждались ещё с 2000-х, а в 2023-24 гг. тему PoW-марок поднимали и на M3AAWG, и на IETF — но стандарт так и не родился и классические клиенты не имеют такого функционала. Хотя реализация сводится к трём заголовкам — минимальное изменение фильтра, которое не мешает обычной почте проходить как раньше, но даёт отправителям возможность «доплатить» CPU-временем и получить бонус к своему спам-скорингу, если важное письмо должно гарантированно долететь до получателя, или, наоборот, если хочется быть уверенным во входящих письмах, особенно в контексте коммуникации между своими сервисами и доменами.