Система фильтрации на основе 32-битных битовых масок обещает обеспечить нулевое знание, позволяя серверу обрабатывать эти пользователей без доступа к их личной информации. Это решение особенно актуально для платформ знакомств, где приватность — первостепенной задачей.
Предыстория
В своем предыдущем тексте автор описывал, почему серверы не должны получить доступ к текстовым этим пользователей — их именам, фотографиям и статусам здоровья. Для достижения этой цели он предложил использовать метод шифрования на стороне клиента с поддержкой TweetNaCl. Однако это вызывает вопрос: как сервер будет знать, с кем сопоставлять пользователя? Новая статья отвечает на этот вопрос, рассматривая решение с использованием 32-битных битовых масок.
Как это работает
Сервер не может обрабатывать строки вроде "Женщина", "Одинокая" или "Любитель эспрессо". Вместо этого он работает с целыми числами. Каждое из 32 переключателей в 32-битном числе может представлять разные атрибуты профиля, такие как пол, семейное положение или предпочтения в кофе.
Для каждого пользователя создаются два маски: маска идентичности (i_mask) и маска предпочтений (p_mask), каждое из которых будет 32-битным числом. Фронтенд заполняет эти и отправляет только эти числа на сервер.
Пример: пользователь A определяет свои атрибуты как женщину (1), одинокую (2) и любительницу эспрессо (8), что в сумме даёт i_mask = 330. При этом пользователь B может указать свои предпочтения аналогично, создавая свои p_mask. Сервер сравнивает эти маски с помощью простых математических операций, не зная, что они представляют.
Что это значит для разработчиков
Использование битовых масок открывает новые горизонты для защиты личных данных. Для разработчиков, работающих в области безопасных платформ, это означает, что они могут создавать решения, которые обеспечивают анонимность пользователей, оставаясь конкурентоспособными. Возможность обработки запросов без реальной информации ускоряет алгоритмы и исключает ошибки, связанные с личными данными.
Следующий шаг в разработке этой технологии — интеграция методов глубокого обучения для более сложной фильтрации и сопоставления пользователей.