zk-STARK

Просунутий рівень
Існує два популярні типи доведення з нульовим розголошенням (zk), які іноді також називають zk-протоколами SNARK й STARK. Доведення з нульовим розголошенням – це метод криптографічної верифікації, за якого одна сторона, що доводить, може довести іншій стороні, що верифікує, що дане твердження є істинним без необхідності надання будь-якої підтверджуючої інформації, крім того факту, що твердження дійсно є істинним.
Zk-STARK розшифровується як "масштабований прозорий аргумент знання із нульовим розголошенням". zk-STARK були розроблені Елі-Беном Сасоном, професором Техніону, ізраїльського технологічного інституту. На відміну від zk-SNARK, які залежать від початкового довіреного налаштування між тим, хто доводить і тим, хто верифікує, zk-STARK не вимагають початкового довіреного налаштування, оскільки вони покладаються на більш компактну криптографію за допомогою стійких до колізій хеш-функцій. Цей підхід також усуває теоретико-числові припущення про zk-SNARK, які є дорогими в обчислювальному відношенні, й теоретично можуть бути атаковані з боку квантових комп'ютерів.
Простіше кажучи, доведення zk-STARK є більш простою структурою з погляду криптографічних припущень. Однак це супроводжується суттєвим недоліком: вони мають великий розмір підтвердження, зазвичай у 10-100 разів більший, ніж zk-SNARK. Така різниця в розмірі даних робить їх дорожчими і може створювати обмеження під час використання технології для надсилання криптовалюти по мережі та іншим програмам.

Для звичайних випадків використання доведення з нульовим розголошенням важливі як конфіденційність, так і безпека. Прикладом є аутентифікація особи. Використання певних онлайн-сервісів вимагає верифікації вашої особи та права доступу до цих платформ. Це часто вимагає надання особистої інформації, такої як ім'я, адреса електронної пошти, дата народження та багато іншого.

Доведення з нульовим розголошенням можуть спростити аутентифікацію як для платформ, так і для користувачів. Після створення zk-доведення з використанням публічних вхідних даних (дані, що підтверджують членство користувача на платформі) та приватних вхідних даних (даних користувача), користувач може просто подавати його для аутентифікації своєї особи щоразу, коли йому потрібно отримати доступ до сервісу. Це спрощує роботу користувачів та звільняє організації від необхідності зберігати величезні обсяги особистої інформації.