«Клиенту больше 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 | Криптография — ФИПС/NIST-совместимые кривые; 152-ФЗ — на уровне депозитария |
Если вашего вопроса нет — напишите sales@datumcloud.ru.
Криптография. Verifier проверяет парные отношения на эллиптической кривой BN254 — без обращения к Datum. Если prover не знает реальных private inputs, ему не удаётся построить валидную пару (A, B); вероятность подделки — 2⁻¹²⁸ (практически ноль). Это та же математика, которая защищает Ethereum snark-rollups.
В идеале — нет. Verifier — обычная бинарка с понятным выводом PROOF VALID. Мы поставляем его с FIPS-подписью, документацией и заключением аудита КриптоПро / независимого 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-сценарий (возраст, санкции, оборот), показываем подходящую цепь и вывод верификатора на реальных данных.