World открыла исходный код ProveKit для ZK-верификации личности
По данным The Block, решение позволяет проверять возраст, гражданство или статус верификации локально, на устройстве пользователя, без раскрытия исходной приватной информации третьим сторонам.

Компания World (ранее Worldcoin) выложила в открытый доступ ProveKit — криптографический тулкит на базе ZK-доказательств для подтверждения персональных данных. По данным The Block, решение позволяет проверять возраст, гражданство или статус верификации локально, на устройстве пользователя, без раскрытия исходной приватной информации третьим сторонам. Для аудитории, проектирующей identity-слой в Web3, повод — не сам лейбл «open-source», а разбор того, какая схема обязательств лежит в основе и насколько она устойчива к типичным атакам на credential-протоколы.
Архитектурный разбор
Любой ZK-инструментарий такого класса сводится к трём слоям: извлечение атрибутов из подписанного документа (или иного issuer-артефакта), генерация доказательства корректности этих атрибутов в схеме обязательств и верификация на стороне проверяющего — on-chain смарт-контрактом или off-chain сервисом. ProveKit, по описанию источника, заточен под клиентскую генерацию proof: это сразу задаёт требования по размеру схемы (circuit size) и по объёму witness'а, который пользователь должен хранить локально. Чем жирнее схема — тем выше вычислительный оверхед на мобильном устройстве и тем привлекательнее вектор атаки по таймингу или по отказу в обслуживании.
Выбор конкретной SNARK/STARK-схемы — Groth16, PLONK, Halo2 или STARK — определяет три вещи: нужен ли trusted setup, каков размер доказательства и насколько дорога верификация на верификаторе. Без доступа к исходникам и бенчмаркам утверждать что-либо о выбранной схеме нельзя; именно это и предстоит проверить в первую очередь любому, кто рассматривает интеграцию.
Что проверить на практике
Прежде чем тащить тулкит в свой pipeline, стоит пройтись по конкретным точкам.
Состав зависимостей и лицензия. Закрытые или «source-available» компоненты внутри «open-source» релиза обнуляют его смысл для аудитора. Параметры trusted setup, если схема его требует: откуда ceremony, кто участвовал, публиковались ли логи. Размер доказательства и время верификации на целевом устройстве — мобильный класс, не сервер с 128 ядрами; бенчмарк на Pixel-уровне обязателен. Поведение под adversarial input: отозванные документы, повторное использование nonce, рассинхрон между подписью issuer'а и извлечённым атрибутом. Логика revocation и anti-sybil: ZK-доказательство скрывает атрибут, но не отвечает за уникальность — это задача протокола верхнего уровня, а не самого ProveKit.
Вердикт
Open-source релиз ZK-тулкита сам по себе нейтрален; ценность определяется тем, насколько корректно реализована схема обязательств и нет ли бэкдоров в логике извлечения атрибутов из issuer-артефакта. До публикации исходного кода, результатов независимого аудита и воспроизводимых бенчмарков любые заявления о «приватности по дизайну» остаются маркетинговым заявлением, а не техническим фактом. Следим за репозиторием, ждём issue-трекера и ревью от профильных команд.