Оракул цифрового следа
Мы не спрашиваем ваше имя. Мы читаем ваш User-Agent.
Предсказание собирается из того, что ваш браузер и так рассказывает каждому серверу: сеть, агент, часовой пояс, экран, час визита. Расклад фиксируется на ваши календарные сутки — до полуночи в вашем поясе он не изменится ни на символ.
Оракул настраивает приборы под ваш сигнал…
01 — Наблюдение
Всё, что видно оракулу до первого вашего слова. Ничего из этого мы не выпрашивали: браузер отдаёт это сам, любому серверу, в каждом запросе.
02 — Выбор
Семь способов задать вопрос одному и тому же зерну случайности. Карты, руны, гексаграммы, числа и цвета — разные языки одного и того же следа.
Шар предсказаний требует вопроса, техно-гороскопу можно назвать дату рождения — остальным ритуалам достаточно вашего следа.
03 — Механика
Здесь нет генератора, который переигрывает ответ до тех пор, пока он вам не понравится. Есть чистая функция: одинаковый ввод — одинаковый вывод, всегда.
01
Берём только устойчивое: префикс сети (/24 для IPv4, /48 для IPv6), семейство браузера с мажорной версией, семейство ОС и первый язык из Accept-Language. Всё это сворачивается в шестнадцать шестнадцатеричных символов и обратно не разворачивается.
02
Календарная дата берётся в вашем часовом поясе, а не в поясе сервера. Пока идут ваши сутки, расклад заморожен: перезагрузка страницы, соседняя вкладка и повторный вопрос вернут ровно тот же текст.
03
Отпечаток, дата, имя ритуала и хеш вопроса склеиваются и подписываются HMAC-SHA256 на секрете сервера. Из подписи берутся четыре 32-битных слова — это и есть seed. Первые восемь символов мы показываем как доказательство, что ничего не подкручивали.
04
Генератор xoshiro128** раскручивает зерно в последовательность и выбирает карты, руны, черты гексаграммы или число судьбы. В полночь по вашему поясу меняется дата — и вместе с ней переписывается вся судьба.
04 — Хроника
Что оракул уже произнёс за эти сутки. Без имён и адресов — только ритуал, время и первая строка расклада.