ГоловнаАкадеміяzk-SNARKs vs zk-STARKs — битва стовпів блокчейн-приватності

zk-SNARKs vs zk-STARKs — битва стовпів блокчейн-приватності

List

Про приватність у крипті не писав хіба що ледачий. Тема заросла міфами з обох боків: одні переконані, що крипта — це повна приватність, інші наполягають, що блокчейн-транзакції прозоріші за будь-який банківський переказ. Правда, як завжди, десь посередині — і трохи складніша за обидва твердження.

Для того, щоб розібратися з цим питанням та дати відповідь: чи існує справжня приватність у блокчейні, пропонуємо добряче зануритися у світ Zero-Knowledge технологій.

Бо так склалося, що саме наявність літер ZK або Z у назві криптопроекта чи криптосервіса сприймається більшістю як ознака приватності.

Наскільки це відповідає дійсності та що справді скривається за цими літерами розберемо у цієї статті.

Треба попередити, що тема ZK — це справжня «вища математика» у криптографії, і зрозуміти що тут до чого не просто складно, а супер-складно. Тема ізобіліє сухими термінами та математичними формулами і на слух сприймається наче нудна лекція з вищої математики в універі. Спробуємо розкласти її так, щоб навіть ваша бабуся зрозуміла, у чому суть, не втрачаючи при цьому технічної глибини питання.

Ключові висновки

  • Приватність у блокчейні не є “за замовчуванням”. Більшість мереж прозорі, а справжня конфіденційність досягається завдяки підходу Zero-Knowledge.
  • ZKP дають змогу довести факт без розкриття даних. Можна підтвердити коректність транзакції, наявність коштів або відповідність вимогам, не показуючи суму, баланс чи персональну інформацію.
  • Є дві ключові “родини” технологій: zk-SNARKs і zk-STARKs. Це різні компроміси між компактністю, швидкістю, прозорістю та вимогами до початкового налаштування.
  • zk-SNARKs — про компактність і швидку on-chain перевірку, але часто потребують trusted setup, що створює ризик у разі компрометації стартової церемонії.
  • zk-STARKs — про прозорість і масштабування, не потребують trusted setup і виглядають сильніше з погляду довгострокової безпеки та квантової стійкості, але докази зазвичай більші за розміром.
  • ZK — це не лише про приватність. ZK-ролапи та докази — фундамент для масштабування, цифрової ідентичності та фінтеху нового покоління у Web3.
Завантажити застосунок Trustee Plus
Download APK file

Докази з нульовим знанням

Уявіть: ви хочете довести банку, що ваш дохід перевищує певний поріг — але не показувати конкретну цифру. Або підтвердити вік на сайті, не вказуючи дату народження. Або провести транзакцію в блокчейні так, щоб ніхто не знав суму та відправника — але при цьому всі могли переконатися, що все чисто.

Звучить як магія. Але насправді — чисто математика. І називається це доказами з нульовим знанням (Zero-Knowledge Proofs або ZKP).

Що ж це за докази такі?

Якщо ви будете шукати інформацію по цій темі, то скоріше за все вам будуть зустрічатися різноманітні варіації цього терміну: 

  • докази з нульовим знанням
  • докази з нульовим розкриттям
  • докази з нульовим розголошенням
  • 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 Snar Ks Vs Zk Star Ks 1

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-SNARKs часто критикують.

У класичних zk-SNARK безпека всіх подальших доказів залежить від того, наскільки чесно пройшло початкове генерування параметрів. Тому й проводять багатосторонні церемонії: кожен учасник вносить свою частку випадковості — і якщо хоча б один із них діяв чесно та видалив свої дані, система залишається надійною.

Приклади реалізації

Технологія zk-SNARKs має конкретні приклади реалізації, а самє: в Zcash, в Ethereum через zkEVM, у протоколах Groth16 і PLONK. Доречі, Zcash — це один із перших практичних випадків використання цієї технології.

Інши приклади застосування zk-SNARKs:

  • розробка приватних криптовалют
  • zk-rollups
  • DeFi-протоколи

Переваги та недоліки

Переваги:

  • дуже маленькі докази (буквально кілька сотень байтів)
  • швидка верифікація (що особливо корисно для блокчейнів і on-chain перевірки)
  • Технологія добре вивчена і широко використовується на практиці

Недоліки:

  • довірена ініціалізація (trusted setup) — потенційна точка вразливості, якщо церемонія проведена неправильно або секрет не знищено, можна зламати коректність параметрів
  • класичні zk-SNARKs не вважаються квантово-стійкими
  • складна криптографія та залежність від еліптичних кривих

Що таке zk-STARKs

Zk Snar Ks Vs Zk Star Ks 2

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 помітно більші за розміром. Іноді в рази. Це важливо, якщо кожен байт впливає на вартість транзакції.

Приклади використання

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 індустрії та пов'язаних сервісів та продуктів.

Завантажити застосунок Trustee Plus
Download APK file

Висновок

ZK-докази — це спосіб сказати «я знаю секрет» без того, щоб його розкривати. SNARKs роблять це компактно і швидко, але вимагають довіри до процесу ініціалізації. STARKs позбулися цієї вимоги і краще виглядають з точки зору квантової стійкості, але платять за це розміром доказів.

Обидві технології активно розвиваються. Розрив у розмірах доказів поступово скорочується — з'являються нові схеми, гібриди, оптимізації.

Ймовірно, через кілька років питання «SNARKs чи STARKs» звучатиме приблизно як «SQL чи NoSQL» — не «що краще», а «що краще підходить для конкретного завдання».

А поки що — це два різних інструменти для однієї мети: надати людям контроль над своїми даними без шкоди для прозорості системи.

Встанови Trustee Plus - криптогаманець з платіжною карткою!

Всі переваги в одному застосунку

coin-3
mobile-app
coin-2coin-1
Цей вебсайт використовує файли cookieЩоб забезпечити функціональність сайту та підготувати статистичний аналіз способів навігації відвідувачів, ми використовуємо файли cookie. Керувати налаштуваннями