В Worldcoin Foundation открыли исходные коды компонентов проекта и устройства Orb для верификации личности. Они опубликованы на GitHub под двойной лицензией MIT/Apache 2.0.
Выпуск включает в себя весь код Orb, необходимый для захвата изображений и их безопасной передачи в World App. Устройство сначала проверяет, что пользователь World ID — человек, используя изображения глаз и лица. Затем Orb выполняет процесс проверки радужной оболочки глаза и передает данные в службу верификации, а сам процесс занимает несколько секунд.
В Worldcoin Foundation отмечают, что Orb должно соответствовать целому ряду требований: конфиденциальности (обрабатывать изображения локально на устройстве), безопасности, прозрачности и проверяемости.
Tools for Humanity (TFH), участник проекта Worldcoin, потратил годы на создание вычислительной среды для Orb. В основе дизайна устройства лежит Nvidia Jetson, который локально обрабатывает потоки с пяти камер для проверки World ID. Кроме того, сфера оснащена двумя микроконтроллерами Arm Cortex M4 под управлением Zephyr RTOS. Наконец, Orb имеет специальный защищённый элемент, который, подобно аппаратному кошельку, хранит закрытый ключ подписи.
Сфера запускает на Jetson несколько приложений с использованием асинхронного кода Rust. Они выполняют основные функции, такие как обработка данных датчиков, взаимодействие с нейросетями и применение обновлений. Для вывода данных нейросети используется движок Nvidia TensorRT, полностью задействующий 384-ядерный графический процессор Jetson.
Orb OS разработали с использованием дистрибутива GNU/Linux, основанного на Debian и Ubuntu, но оптимизированного с точки зрения безопасности. Orb OS включает в себя полную проверку целостности системы, защищённую конфигурацию Linux, систему беспроводных обновлений и поддержку воспроизводимых сборок. Для критически важных криптографических операций (например, аутентификации на серверной части) ОС взаимодействует с доверенной средой выполнения (TEE) на Jetson, а также с выделенным элементом безопасности.
Среди ключевых компонентов программного обеспечения Orb — функция do_signup в orb-core, которая кодирует высокоуровневый поток для каждой проверки World ID. Эта функция вызывает этап захвата изображения и этап биометрической обработки, а затем отправляет подписанные коды радужной оболочки глаза в службу проверки. Кроме того, do_signup вызывает upload_custody_images для безопасной отправки изображений пользователя в World App.
Автофокусировка стала одной из самых сложных частей системы обработки изображений. Реализация на Rust содержит контроллер обратной связи, обеспечивающий оценку резкости. Выходной сигнал передается от Jetson на микроконтроллер, который управляет подачей электрического тока на жидкостную линзу захвата изображения.
let offset = if self.sharpness_peak_searching { MAX_DF_DT * dt } else if self.sharpness_peak — self.sharpness_last <= PEAK_TOLERANCE { // Just stop at the peak. self.pid.reset(); 0.0 } else { self.pid .advance(self.sharpness_peak, self.sharpness_last, dt) .clamp(-MAX_DF_DT * dt, MAX_DF_DT * dt) };
Когда сфера создаёт изображения глаз и лица достаточного качества, они передаются в биометрический конвейер. В нём проверка подлинности и генерация кодов радужной оболочки выполняется при помощи интерфейсов Python, а также реализации фильтра Габора.
Затем изображения глаз передаются в систему вывода распознавания радужной оболочки (IRIS). Эта современная реализация была создана TFH и впоследствии открыта для Worldcoin Foundation. Код Rust оптимизирован для того, чтобы всегда хранить IRIS и другие большие модели в памяти. Разработчики использовали дизайн, вдохновлённый процессом Android Zygote, который позволяет избежать загрузки избыточных копий общих зависимостей.
Каждый пакет данных подписывается закрытым ключом сферы, затем шифруется предоставленным пользователем открытым ключом и передаётся на смартфон.
В Worldcoin Worldcoin намерены сосредоточиться на максимально открытой разработке, более открытой реализации песочницы для тестирования компонентов и поддержке децентрализованного аудита.
Гендиректор OpenAI Сэм Альтман запустил криптовалютный проект Worldcoin в 2023 году. Открыть в нём счёт World ID может только реальный человек. Чтобы получить World ID, он должен зарегистрироваться и пройти процедуру сканирования радужной сетчатки глаза при личной встрече с помощью сферы Worldcoin.
В марте испанский регулятор потребовал от Tools for Humanity прекратить сбор и обработку некоторых категорий персональных данных. Ранее в агентство поступило несколько жалоб, в которых, среди прочего, говорится о сборе данных без возможности отзыва согласия и от несовершеннолетних.
Источник: habr.com