Про приватність у крипті не писав хіба що ледачий. Тема заросла міфами з обох боків: одні переконані, що крипта — це повна приватність, інші наполягають, що блокчейн-транзакції прозоріші за будь-який банківський переказ. Правда, як завжди, десь посередині — і трохи складніша за обидва твердження.
Для того, щоб розібратися з цим питанням та дати відповідь: чи існує справжня приватність у блокчейні, пропонуємо добряче зануритися у світ Zero-Knowledge технологій.
Наскільки це відповідає дійсності та що справді скривається за цими літерами розберемо у цієї статті.
Треба попередити, що тема ZK — це справжня «вища математика» у криптографії, і зрозуміти що тут до чого не просто складно, а супер-складно. Тема ізобіліє сухими термінами та математичними формулами і на слух сприймається наче нудна лекція з вищої математики в універі. Спробуємо розкласти її так, щоб навіть ваша бабуся зрозуміла, у чому суть, не втрачаючи при цьому технічної глибини питання.
Ключові висновки
- Приватність у блокчейні не є “за замовчуванням”. Більшість мереж прозорі, а справжня конфіденційність досягається завдяки підходу Zero-Knowledge.
- ZKP дають змогу довести факт без розкриття даних. Можна підтвердити коректність транзакції, наявність коштів або відповідність вимогам, не показуючи суму, баланс чи персональну інформацію.
- Є дві ключові “родини” технологій: zk-SNARKs і zk-STARKs. Це різні компроміси між компактністю, швидкістю, прозорістю та вимогами до початкового налаштування.
- zk-SNARKs — про компактність і швидку on-chain перевірку, але часто потребують trusted setup, що створює ризик у разі компрометації стартової церемонії.
- zk-STARKs — про прозорість і масштабування, не потребують trusted setup і виглядають сильніше з погляду довгострокової безпеки та квантової стійкості, але докази зазвичай більші за розміром.
- ZK — це не лише про приватність. ZK-ролапи та докази — фундамент для масштабування, цифрової ідентичності та фінтеху нового покоління у Web3.
Докази з нульовим знанням
Уявіть: ви хочете довести банку, що ваш дохід перевищує певний поріг — але не показувати конкретну цифру. Або підтвердити вік на сайті, не вказуючи дату народження. Або провести транзакцію в блокчейні так, щоб ніхто не знав суму та відправника — але при цьому всі могли переконатися, що все чисто.
Що ж це за докази такі?
Якщо ви будете шукати інформацію по цій темі, то скоріше за все вам будуть зустрічатися різноманітні варіації цього терміну:
- докази з нульовим знанням
- докази з нульовим розкриттям
- докази з нульовим розголошенням
- ZK-докази
Знайте — це все одне й те саме.
Народження ідеї
Ідея народилася ще в 80-х, а саме у 1985 році її сформулювали вчені Голдвассер, Мікалі та Ракофф. Але до реального застосування в криптографії дійшло значно пізніше.
Суть така. Є два учасники: той, хто доводить (Prover), і той, хто перевіряє (Verifier). Prover хоче переконати Verifier, що знає якесь секретне значення — не розкриваючи саме це значення. Verifier у підсумку або переконується, або ні.
Для справжнього ZKP потрібні три умови:
- Повнота (Completeness). Якщо твердження істинне — чесний Prover завжди переконає Verifier.
- Коректність (Soundness). Якщо твердження хибне — шахрай не зможе переконати Verifier (ну або зможе з мізерною ймовірністю).
- Нульове розкриття (Zero-Knowledge). Verifier дізнається рівно одне: твердження істинне. Жодної іншої інформації він не отримує.
Печера Алі-Баби
Уявіть, що є кругла печера з таємним проходом у центрі. Prover заходить в один із рукавів, Verifier зовні кричить, з якого рукава вийти. Якщо Prover дійсно знає секрет — він вийде правильно. Якщо ні — вгадає з імовірністю 50%. Після 20 повторень ймовірність випадкового вгадування — менше одного на мільйон. Секрет при цьому так і не розкритий.
У криптографії це реалізується складніше, але принцип той самий: математичні задачі, які легко перевірити, але неможливо вирішити без секретного ключа.
Що таке zk-SNARKs
![]()
zk-SNARK — це абревіатура. Розшифровується як Zero-Knowledge Succinct Non-interactive Arguments of Knowledge, тобто «Стислі неінтерактивні аргументи знання з нульовим розкриттям інформації».
Разберем цей термін детально по словах:
Zero-Knowledge — нульове розголошення. Ви доводите, що знаєте секрет (наприклад, пароль або приватний ключ), не показуючи сам секрет.
Succinct — доказ невеликий і перевіряється швидко, незалежно від складності вихідного твердження.
Non-interactive — Prover і Verifier не обмінюються повідомленнями туди-назад. Prover генерує доказ один раз і він перевіряється самостійно.
Arguments of Knowledge — це саме аргумент того, що Prover знає секрет, а не просто твердження.
Технічні особливості
Технічно zk-SNARKs будуються на еліптичних кривих і арифметичних схемах — будь-яке обчислення спочатку представляється у вигляді набору математичних обмежень, потім з цього набору будується доказ.
Використання zk-SNARKs вимагає так званої «довіреної ініціалізації» або «надійної конфігурації» (англ. — trusted setup). Тобто, перед запуском системи потрібно один раз згенерувати спеціальні параметри (їх іноді називають «токсичними відходами» (англ. — toxic waste). Якщо хтось збереже ці параметри — він зможе створювати фіктивні докази.
У класичних zk-SNARK безпека всіх подальших доказів залежить від того, наскільки чесно пройшло початкове генерування параметрів. Тому й проводять багатосторонні церемонії: кожен учасник вносить свою частку випадковості — і якщо хоча б один із них діяв чесно та видалив свої дані, система залишається надійною.
Приклади реалізації
Технологія zk-SNARKs має конкретні приклади реалізації, а самє: в Zcash, в Ethereum через zkEVM, у протоколах Groth16 і PLONK. Доречі, Zcash — це один із перших практичних випадків використання цієї технології.
Інши приклади застосування zk-SNARKs:
- розробка приватних криптовалют
- zk-rollups
- DeFi-протоколи
Переваги та недоліки
Переваги:
- дуже маленькі докази (буквально кілька сотень байтів)
- швидка верифікація (що особливо корисно для блокчейнів і on-chain перевірки)
- Технологія добре вивчена і широко використовується на практиці
Недоліки:
- довірена ініціалізація (trusted setup) — потенційна точка вразливості, якщо церемонія проведена неправильно або секрет не знищено, можна зламати коректність параметрів
- класичні zk-SNARKs не вважаються квантово-стійкими
- складна криптографія та залежність від еліптичних кривих
Що таке zk-STARKs
![]()
zk-STARK — це абревіатура, яка розшифровується як Zero-Knowledge Scalable Transparent Arguments of Knowledge — «Масштабовані прозорі аргументи знання з нульовим розкриттям інформації».
Створив їх Елі Бен-Сассон і його команда в StarkWare приблизно у 2018 році. По суті, STARKs — це спроба вирішити головну проблему SNARKs: позбутися trusted setup.
Ключові слова тут — Scalable (масштабованість). Це те, що насправді відрізняє. Ну і Transparent (прозорість), звісно.
Scalable — STARKs краще масштабуються при збільшенні обчислень. Саме це відрізняє zk-STARKs від zk-SNARKs. Якщо SNARKs перевіряються за приблизно постійний час, то у STARKs час верифікації зростає логарифмічно — повільно, але зростає.
Transparent означає: ніякої секретної ініціалізації. Усі параметри публічні й генеруються детерміновано — з випадкових чисел, які може перевірити будь-хто.
Технічні особливості
Замість еліптичних кривих STARKs використовують хеш-функції та алгебру над полями. Це важливо: хеші вважаються квантовостійкими, тоді як еліптичні криві — ні. Тобто, квантовий комп’ютер теоретично може зламати SNARK; STARK — значно складніше. Також, треба відзначити, що ця технологія добре масштабуються та набагато швидше обробляє величезні обсяги транзакцій, що робить STARK ідеальним рішенням для запуску Layer 2 рішень.
Приклади використання
STARKs використовуються насамперед у мережі StarkNet та інших продуктах з StarkWare-екосистемі. Також, цю технологію активно застосовують при розробці zk-rollups нового покоління.
Серед прикладів використання треба відзначити:
- Rhino.fi — багатомережевий DeFi-агрегатор ліквідності та кросчейн-міст, який підключається до десятків блокчейнів і робить перекази/онбординг стейблкоїнів швидкими та дешевими, завдяки використанню STARK для швидких та дешевих транзакцій.
- StarkEx — спеціалізований «двигун» для створення додатків, який дозволяє проектам отримувати переваги STARK-доказів без необхідності будувати складну загальну мережу.
- dYdX — найбільша децентралізована біржа ф'ючерсів, яка довгий час працювала саме на StarkEx, що дозволяло трейдерам торгувати з миттєвим виконанням та нульовим газом.
- Immutable X — провідна L2-мережа для NFT та криптоігор. Завдяки впровадженню технології STARKs вони реалізували можливість мінтити мільйони NFT майже безкоштовно та з миттєвою фіналізацією.
- Sorare — фентезі-футбольна платформа з картками гравців у вигляді NFT, що використовує StarkEx для обробки тисяч обмінів картками щосекунди.
Переваги та недоліки
Переваги:
- відсутність довіреної ініціалізації (trusted setup)
- висока масштабованість
- краща безпека в довгостроковій перспективі
- квантовостійкість
Недоліки:
- більший розмір доказів
- складніше впровадження
- більше навантаження на мережу
zk-STARKs vs zk-SNARKs
Якщо хтось спитає у вас: “так у чому ж різниця?” або “яка технологія краще?”, давайте чесну відповідь: залежить від завдання.
Для порівняння пропонуємо розглянути таблицю:
|
Параметр |
zk-SNARKs |
zk-STARKs |
|
Довірена ініціалізація (Trusted setup) |
Потрібна |
Не потрібна |
|
Розмір доказу |
Маленький |
Більший |
|
Швидкість верифікації |
Дуже швидка |
Падає зі збільшенням обсягу обчислень |
|
Безпека |
Залежить від процедури setup |
Більш прозора |
|
Квантова стійкість |
Слабка або взагалі відсутня, але теоретично можлива |
Реалізована на високому рівні |
|
Масштабованість |
Середня |
Дуже висока |
|
Зрілість технології |
Вища, добре вивчена |
Молодша, активно розвивається |
|
Складність аудиту |
Вища |
Нижча (прозоре налаштування) |
|
Складність впровадження |
Технологія добре відпрацьована |
Складніша у реалізації |
Якщо коротко:
- SNARKs — це про ефективність і компактність
- STARKs — це про безпеку і масштабування
Потрібна максимально дешева верифікація на ланцюжку? Ваш вибір — SNARKs.
Важлива прозорість і стійкість до квантових атак у довгостроковій перспективі? Тоді є сен дивитися у бік STARKs.
У реальності великі проєкти не вибирають одне чи інше — вони експериментують з обома. Екосистема Ethereum бачить і zkSync (SNARK-based), і StarkNet (STARK-based), і Polygon zkEVM і кожен робить ставку на своє.
Перспективи у фінтеху та Web3
Найочевидніше застосування — приватність транзакцій. Застосування ZK-технологій може довести, що у користувача достатньо коштів для угоди, не розкриваючи його баланс. Або підтвердити відповідність вимогам KYC без передачі персональних даних третій стороні.
У DeFi-протоколах, у крос-чейн-мостах, у системах верифікації особи.
Друге застосування — масштабованість. ZK-роллапи (zk-rollups) дають змогу об’єднувати тисячі транзакцій в одне доказ і записувати в блокчейн лише його. Менше даних у мережі — нижчі комісії, вища пропускна здатність.
Як бачити, Zero-knowledge технології — це не просто «про приватність». Це фундамент для:
- масштабування Ethereum
- цифрової ідентичності
- фінансових систем нового покоління
- Web3-додатків
Фактично, без впровадження ZK-технологій масове використання блокчейну виглядає дуже складним та туманним. Ця технологія, котру більшість сприймає суто як інструмент приватності є набаго більш вагомою для всієї Web3 індустрії та пов'язаних сервісів та продуктів.
Висновок
ZK-докази — це спосіб сказати «я знаю секрет» без того, щоб його розкривати. SNARKs роблять це компактно і швидко, але вимагають довіри до процесу ініціалізації. STARKs позбулися цієї вимоги і краще виглядають з точки зору квантової стійкості, але платять за це розміром доказів.
Ймовірно, через кілька років питання «SNARKs чи STARKs» звучатиме приблизно як «SQL чи NoSQL» — не «що краще», а «що краще підходить для конкретного завдання».
А поки що — це два різних інструменти для однієї мети: надати людям контроль над своїми даними без шкоди для прозорості системи.


















































