ОСТАННІЙ ПОДКАСТ
Підписуйся на найнауковішу розсилку!
І отримуй щотижневі новини науки і технологій

    Ми під'їдаємо крихти cookies за вами. Навіщо це нам?

    Читати

    Пардон за відволікалочку. Допоможи Куншт бути незалежним!

    Пардон за відволікалочку. Допоможи Куншт бути незалежним!

    Повідомлення успішно надіслано

    Для пошуку
    введіть назву запису
    Технології — 13.01.22
    ТЕКСТ: Олександр Чупак
    Ми любимо тексти без помилок. Якщо ви все ж таки щось знайшли, виділіть фрагмент і натисніть
    Ctrl+Enter.
    Пс-с, довірся мені! Як довести, що ви знаєте інформацію, не розголошуючи її

    За допомогою криптографічних алгоритмів можна підтвердити наявність даних без їхнього розкриття. Як це працює і де використовується?

    Мартен Ґерр жив із родиною в селищі Артігат на півдні Франції. У 1548 році він був змушений поїхати геть через звинувачення у дрібних злочинах. Через вісім років у селищі з’явився чоловік, який назвав себе Мартеном Ґерром. Спочатку до нього поставилися з підозрою, але за короткий час він зумів переконати дядька, чотирьох сестер і навіть дружину Мартена. Однак самозванець не дотримав однієї з умов доведення з нульовим розголошенням: повноти інформації. Його афера зазнала провалу через незнання родинних звичаїв. Ґерри походили з Басконії, де не було прийнято продавати успадковану землю, що й намагався зробити самозванець.

     

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

     

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

     

    За своєю суттю, блокчейн є базою даних, що зберігає криптографічно захищений ланцюжок блоків. Звісно, криптографія була винайдена ще задовго до початку нашої ери (згадаймо легендарного Енея Тактика, давньогрецького письменника і військового спеціаліста, який створив пристрій для передачі повідомлень). Як і в античні часи, для здійснення криптовалютних операцій так само потрібно розуміти, від кого й кому надходить інформація, а також мати ключ (шифр) для її розшифрування. Тут виникає проблема: чи можливо зберегти ключ у таємниці, водночас підтвердивши змогу показати інформацію?

    Оксана і Тарас поспішають на допомогу

     

    У 1982 році Шафі Ґолдвассер і Сільвіо Мікалі опублікували статтю з назвою «Імовірнісне шифрування»1. Вони описали концепцію заміщення криптографічного ключа на основі схеми доведення з нульовим розголошенням (Zero-Knowledge Proofs, ZKP). Стаття стала фундаментом для подальшого розвитку технології ZKP та її поширення в безліч сфер життя.

     

    За визначенням, доведення з нульовим розголошенням – це набір інструментів, завдяки яким можна підтвердити факт володіння інформацією без її розкриття. Технологія реалізується за допомогою серії криптографічних алгоритмів. Математично це має вигляд нескінченної послідовності випадкових експериментів, автоматично повторюваних у межах заданого алгоритму. Тому неможливо досягти стовідсоткового підтвердження, але ймовірність володіння даними максимально наближатиметься до 100%, і похибкою можна буде знехтувати. Залежно від протоколу, процедура доведення може бути визначена наперед або погоджена сторонами (більше про це – нижче).

     

    Принцип роботи ZKP найкраще пояснює приклад з «Печерою Алі-Баби». Уявімо печеру у вигляді кола, де з одного боку є вхід, а з іншого – таємні двері, що зачиняють прохід. Перед входом стоять Оксана і Тарас. Дівчина знає спосіб відчинити двері, і Тарас готовий заплатити їй, якщо переконається, що вона справді його знає.

    Джерело: Binance

    Спочатку Тарас чекає назовні. Оксана входить. Далі Тарас заходить у печеру і називає сторону, якою має вийти Оксана. Якщо вона справді знає спосіб відчинити двері, то зможе вийти з будь-якої із двох сторін печери.

    Джерело: Binance

    Якщо Оксана не знає способу, то зможе вийти з потрібного боку з імовірністю 50%. Шанси з’явитися з названої сторони значно зменшуються, якщо повторити процес багато разів. Отже, якщо Оксана щоразу виходить із правильного боку, Тарас переконається, що вона каже правду.

     

    Наведена модель демонструє, що доведення з нульовим розголошенням реалізується через повторення одного визначеного запиту таку кількість разів, що зменшить до мінімуму ймовірність помилки. Далі поговоримо про використання ZKP у реальному житті.

    Джерело: Binance

    Хочеш миру – готуйся до кібервійни

     

    Подібно до багатьох технік захисту інформації, розвиток криптографії значно пришвидшився завдяки використанню у військовій сфері. Не оминула оборонна галузь і доведення з нульовим розголошенням. Особливу увагу йому почали приділяти наприкінці минулого десятиліття американські дослідники з Агентства передових дослідницьких проєктів (DARPA2). Вони вбачають великий потенціал ZKP у сфері кібербезпеки, зокрема для доведення контрагентами факту володіння даними без їхнього розголошення. Завдяки цьому можна буде суттєво знизити ризик витоку важливої інформації, наприклад, під час комунікації між центральним офісом Міністерства оборони і структурними підрозділами.

     

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

     

    Чільне місце в розробці ZKP для військових посідає можливість доведення кількісного потенціалу, тобто змога довести факт наявності в розпорядженні частини певного числа особового складу, техніки, засобів радіозв’язку тощо. У цьому випадку варто розуміти природу інформації, що підлягає доведенню за допомогою ZKP: вона обмежується лише числовими характеристиками, тому запит має бути сформований з використанням певного числового діапазону. Наприклад, якщо командуванню потрібно підтвердити наявність 100 танків на військовій базі, воно надсилає запит у вигляді діапазону (скажімо, 80-120). У відповідь буде надіслане підтвердження або спростування факту відповідності обраному діапазону. Командування може змінювати ширину діапазону, щоб запобігти витоку точної інформації в разі перехоплення даних ворогом.

     

    Очевидно, тут на допомогу військовим приходить математика. Доведення з нульовим розголошенням має будуватися на системі з наступними властивостями:

    1. Повнота (completeness): запит буде задоволений на всьому діапазоні (чого не зміг зробити той, хто назвався Мартеном Ґерром).

    2. Коректність (soundness): імовірність довести неправдиву інформацію близька до нуля.

    3. Нульове розголошення (zero-knowledge): якщо дані є істинними, про них неможливо дізнатися нічого, крім факту істинності.

     

    Іншим прикладом використання ZKP американськими військовими є протокол Фейґа-Фіата-Шаміра3. Це протокол ідентифікації з нульовим розголошенням, що гарантує захист об’єднаної системи тактичного радіозв’язку для передавання голосу (Joint Tactical Radio System). Коли зашифрована інформація переходить між різними ланками системи, відправник може переконатися в тому, що одержувач має визначений ключ шифрування. Таким чином запобігається передача даних зловмисникам, які не мають готового ключа.

     

    Варто зазначити, що ZKP не є класичним математичним доведенням, позаяк допускає мінімальну ймовірність доведення неправдивої інформації. Проте користь від практичного застосування технології не можна порівняти із втратами, можливістю яких можна знехтувати.

    А що для цивільних?

     

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

     

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

    Доведення з нульовим розголошенням має великий потенціал у сфері охорони здоров’я. Держава і приватні медичні заклади збирають дедалі більше приватної інформації про пацієнтів. Сторонам важливо як зберегти високий рівень приватності, так і переконатися в достовірності даних. ZKP може значно спростити життя і зменшити витрати часу в таких випадках:

    1. Медичні страховики часто отримують запити на відшкодування, в яких вказана неправдива інформація. Відповідно, вони повинні проводити безліч часу за аналізом документів для уникнення збитків.

    2. Лікарні, особливо приватні, мають дізнаватися інформацію про пацієнтів: спосіб і спроможність оплати послуг, наявність страховки тощо.

    3. Аптекам важливо достовірно знати, що пацієнт справді отримав рецепт від лікаря.

    4. Пацієнти хочуть переконатися, що лікар має законну ліцензію і не був раніше звинувачений у недбалості чи недобросовісності.

     

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

     

    Розвиток ZKP сприяє появі проєктів децентралізованого інтернету, наприклад, Web 3.04 або ще як її називає засновник WWW Тім Бернерс-Лі – «семантична павутина». Поряд із блокчейном і гомоморфним шифруванням5 (модель шифрування, за якої дії із зашифрованим текстом є аналогічними до дій із відкритим), доведення з нульовим розголошенням дозволяє створювати середовище, де користувачі повністю контролюють особисту інформацію. Розробники усвідомлюють недоліки чинного інтернету, де існує постійний ризик втрати персональних даних. 

     

    Нині Web 3.0 перебуває на етапі розробки; на основі цих технологій та у співпраці з Web3 Foundation розвиваються такі компанії як Unstoppable Domains – децентралізовані домени на блокчейні, та zkSync – «миттєве підтвердження транзакцій без компрометування приватності». Такий собі апгрейд до чинного стану речей у блокчейн-світі, де комісії на транзакції стали надто високими, самі транзакції підтверджують довго, та ще й простежити адресата й адресанта досить легко.

    Немає України без калини, а блокчейну – без протоколів

     

    Позаяк тепер ми усвідомлюємо ширину спектру практичних застосувань ZKP, розгляньмо механізм його використання на блокчейні. Воно забезпечується через дію протоколів, найпопулярнішими серед яких є zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) і zk-STARK (Zero-Knowledge Scalable Transparent ARguments of Knowledge). Перший створив6 професор Каліфорнійського університету Алессандро К’єза у 2011 році. zk-SNARK помітно вдосконалив процес ZKP, оскільки дозволив значно скоротити витрати часу за рахунок зменшення розмірів інформації, потрібної для доведення. Він дав змогу звести до мінімуму кількість комунікацій між сторонами, адже для доведення достатньо обмінятися даними тільки один раз. 

     

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

    ‒ Арифметичний алгоритм розрахунку транзакцій (Arithmetic Circuit).

    ‒ Механізм R1CS (Rank 1 Constraint System), що забезпечує рух даних у правильному напрямі.

    ‒ Еліптичні криві (Elliptic Curves), завдяки яким сторони не можуть дізнатися, в якій частині даних відбувається перевірка.

     

    Прикладом погоджених правил може бути перевірка залишку на банківському рахунку. Наприклад, клієнт повинен підтвердити свою платоспроможність, але не бажає розкривати суму власних коштів у банку. У такому разі надавач послуг задає діапазон значень від мінімально потрібної суми до нескінченності. З іншого боку, клієнт завантажує банківський документ, що показує залишок. Якщо сума відповідає заданому діапазону, протокол сигналізує про підтвердження запиту.

     

    Однак це створює ризик централізації, тому що правила часто погоджуються вузькою групою осіб. Яскравим прикладом використання zk-SNARK є Zcash7 – криптовалюта з відкритим вихідним кодом, що забезпечує приватність транзакцій.

    У 2018 році Елі-Бен Сассон з Ізраїльського Технологічного Інституту опублікував роботу8 про альтернативний протокол – zk-STARK. Одразу впадає у вічі відмінність однієї літери в назві: для zk-SNARK N означає non-transparent, а для zk-STARK T – transparent. Різниця полягає у вищезгаданому початковому рівні довіри. zk-STARK дозволяє оминути попереднє погодження правил гри завдяки спрощеній криптографії, заснованій на геш-функціях, що перетворює будь-які вхідні дані в дані фіксованого розміру (наприклад, бази даних з відбитками пальців9). 

     

    Загалом, zk-STARK розглядається як ефективніший, потенційно швидший і дешевший протокол, залежно від сфери використання. Його найбільший недолік – більші розміри інформації, потрібної для доведення. Це ускладнює завдання для розробників і гальмує розвиток технології. Сьогодні найпомітнішою спільнотою, що працює над запровадженням протоколу zk-STARK, є STARKWARE10. А для найбільш зацікавлених читачів ділимося відкритою базою знань із ZK-технології – Awesome ZKP

    Доведення з нульовим розголошенням поступово перетворюється на стандарт обміну даними в децентралізованому інтернеті. Реалізація проєкту семантичної павутини Web 3.0 дозволить об’єднати мережеві реєстри, надавши додаткової цінності файлам через їхні метадані. У такому разі ZKP виконуватиме фундаментальну роль збереження приватності й захисту від несанкціонованого копіювання. Імовірно, будуть спроби вгадувати алгоритми через потужні квантові комп’ютери, але технологія ZKP постійно змінюватиметься, створюючи безпечні умови для особистої інформації у глобальній мережі.

    ТЕКСТ: Олександр Чупак
    Статті
    Наука
    Екологічно чиста отрута: уривок з книжки «Зоологічна екскурсія супермаркетом»

    Чому краще утриматися від «дикого» промислу морепродуктів, особливо у водоймах, де цвіте вода?

    Наука
    Передумови приходу диктаторів до влади: Італія, Німеччина, РФ

    Що стало передумовами приходу диктаторів до влади на прикладі фашистської Італії, нацистської Німеччини та путінської росії? Розповідає співавтор і ведучий каналу «Історія Без Міфів» Владлен Мараєв.

    Людина
    Як кожен з нас може подякувати військовим і допомогти їм з адаптацією

    Як змінюється світосприйняття військових і що ми можемо зробити, аби висловити їм вдячність і допомогти в адаптації до мирного життя?

    Біологія
    Не тільки в історії. Який слід залишить війна в наших генах

    Як війни, голод та важкі психологічні травми залишають слід у геномі людини й чи можемо ми на це якось повпливати?

    Космос
    Що таке сонячні плями і чи впливають вони на людей

    Чи можуть спалахи на Сонці та магнітні бурі провокувати погане самопочуття в людей?

    Ідеї
    Пропаганда у російському кіно

    Як кіно стало частиною пропагандистської та політичної ідеології росії та чи можна якось дати цьому раду?