«Клиенту больше 18 лет.» «Оборот компании выше 500 млн ₽.» «Субъект не в санкционном списке.» Datum ZK выдаёт регулятору, партнёру или смарт-контракту криптографически проверяемое да / нет - без копии паспорта, финотчёта или списка. Исходные данные никогда не покидают ваш контур.
Когда контрагент просит «подтвердите, что клиент старше 18» - он не хочет копию паспорта. Он хочет доказательство. Копия паспорта ему вредна: она кладёт его в скоуп 152-ФЗ.
Zero-knowledge доказательства позволяют доказать утверждение о данных, не раскрывая сами данные. Datum ZK упаковывает эту криптографию в набор готовых «цепей» (circuits) - стандартных проверок вроде «возраст ≥ N», «резидент ≥ N лет», «баланс в диапазоне», «ID принадлежит списку», - которые вызываются как обычный REST API. Proof весом 192 байта, верификация - 12 мс, поверх любого транспорта.
Цепи проверены математически и аудированы. Подключаются вызовом API с именем и параметрами. Сущности - ссылаются на записи в депозитарии.
Каждый видит ровно столько, сколько положено - и ничего больше. Математика, не договоры.
Это то, что отправляется verifier'у. Это всё, что он получает от вас. В дашборде - тот же объект плюс audit-метаданные.
curl -X POST https://api.datum.ru/v1/zk/prove \
-H "Authorization: Bearer $DATUM_KEY" \
-d '{
"circuit": "age_over",
"subject_ref": "tok_01HXZP…",
"public": { "threshold": 18 }
}'
circuit=age_over · threshold=18 · result=true
$ datum-verify --vkey age_over.vkey proof.bin [✓] proof format ok [✓] pairing check ok [✓] public input binding ok PROOF VALID verified locally in 11.4 ms no outbound traffic
Мы не просим вас писать circom. Готовые цепи с понятными параметрами - как вызов SDK-функции. Каждая версия подписана, журналируется, совместима назад.
Не «когда-нибудь в Web3», а сейчас - внутри российского финтеха, маркетплейсов и медтеха.
Клиент один раз подтверждает возраст через ЕСИА в депозитарии. При каждом заказе маркетплейс получает proof age_over(18) = true - без даты рождения. Курьер не видит паспорт в приложении. Роскомнадзор не видит в логах ничего, кроме факта проверки.
Контрагент - американский банк - требует доказать, что клиент не в OFAC-списке. Отдавать ему ФИО - утечка + ФЗ-242. Вместо этого: proof merkle_exclusion(id, sanctions_root). Публичный root обновляется регулятором. На стороне контрагента - 13 мс verify и галочка в compliance-отчёте.
Страховая не может видеть диагноз - это специальная категория ПДн. Но ей нужно знать: «покрывается ли случай полисом». Клиника строит proof diagnosis_in_coverage(policy_terms). Страховая получает covered = true/false. Никто не узнал, что человек болен.
Тендерная площадка требует «оборот ≥ 500M ₽» и «членство в СРО». Вместо сдачи финотчёта и справок - два proof: financial_threshold (подписан аудитором) + merkle_inclusion(sro_registry). Площадка видит, что компания квалифицирована; финансовых показателей не видит.
Никакого экзотического стека. BN254 / BLS12-381, Groth16 / Plonk, Circom 2. Всё, что аудировалось вдоль и поперёк.
| Схема | Groth16 (BN254) · Plonk (BN254) · Halo2 (BN254) - по выбору |
| Кривые | BN254 · BLS12-381 · secp256k1 (для on-chain) |
| DSL | Circom 2 · Noir · halo2-lib |
| Proof size | 192 B (Groth16) · ~450 B (Plonk) |
| Prove time | 140-420 мс на типовую цепь (16-vCPU prover pod) |
| Verify time | 10-14 мс · offline · без обращения к Datum |
| Trusted setup | Perpetual Powers of Tau (phase 1) + per-circuit phase 2 ceremony |
| On-chain | Ethereum · Polygon · TAC · Base |
| SDK | JS (browser-prover · WASM 4MB) · Python · Go · Rust |
| Ceremony log | Публичный журнал церемоний, signed, reproducible |
| Compliance | Криптография - сертифицированные эллиптические кривые; 152-ФЗ - на уровне депозитария |
Если вашего вопроса нет - напишите sales@datumcloud.ru.
Криптография. Verifier проверяет парные отношения на эллиптической кривой BN254 - без обращения к Datum. Если prover не знает реальных private inputs, ему не удаётся построить валидную пару (A, B); вероятность подделки - 2⁻¹²⁸ (практически ноль). Это та же математика, которая защищает Ethereum snark-rollups.
В идеале - нет. Verifier - обычная бинарка с понятным выводом PROOF VALID. Мы поставляем его с цифровой подписью, документацией и заключением аудита КриптоПро / независимого reviewer. На практике ЦБ и Минцифры уже рассматривают ZK в рамках пилотов цифрового рубля - инфраструктурно мы совместимы.
BN254 сама по себе несертифицируема по ГОСТу - это зарубежная кривая. Для сценариев с формальным требованием ГОСТ мы оборачиваем proof в слой с ГОСТ-подписью Datum (подтверждающей факт issuance), так что verifier цепочкой «ГОСТ-подпись → внутренний ZK-proof» соответствует формальным требованиям. Для новых проектов поддерживается российская кривая bn2021 (beta).
Per-circuit phase-2 ceremony - многосторонний MPC, в котором участвуют Datum, клиент и независимые аудиторы. Пока хоть один участник честно удалил свой тосичный вклад - setup надёжен. Логи ceremony публикуются. Plonk использует universal phase-1 (Perpetual Powers of Tau, 120+ участников) - для новых цепей отдельная церемония не нужна вовсе.
Поэтому каждая цепь из библиотеки проходит внутренний audit + внешний review (Zellic / OpenZeppelin). Custom-цепи - аналогично, review включено в стоимость. Формальная верификация на критичных участках (range-checks, merkle-depth bounds).
Да. @datum/zk-prover - WASM-пакет (~4 MB), prove в браузере за 1-3 с. Для мобильных - native modules под iOS/Android. Chrome, Safari, Firefox - все текущие, все WebAssembly-compatible.
По числу сгенерированных proof'ов и по числу цепей. Library circuits - от 5 ₽ за proof при типовых объёмах. Custom circuit - разовая разработка + эксплуатация. PoC - free tier 10к proof/месяц.
30 минут с криптографом. Берём ваш типовой compliance-сценарий (возраст, санкции, оборот), показываем подходящую цепь и вывод верификатора на реальных данных.