Сьогодні використання доказів з нульовим знанням для захисту конфіденційності в системах цифрової ідентичності стало певною мірою звичним. Різноманітні проекти паспортів на основі доказів з нульовим знанням (дослівно проекти ZK-паспортів, які мають на увазі цифрові ідентичності на основі технології доказів з нульовим знанням) розробляють надзвичайно зручні програмні пакети для користувачів, завдяки яким користувачі можуть доводити наявність дійсних документів, не розкриваючи жодних деталей про свою особу. Використання біометричних технологій для верифікації та забезпечення конфіденційності через доказ з нульовим знанням World ID (колишній Worldcoin) нещодавно перевищило 10 мільйонів користувачів. Один з урядових проектів цифрової ідентичності в Тайвані використовує докази з нульовим знанням, а Європейський Союз також все більше звертає увагу на цю технологію в сфері цифрової ідентичності.
На перший погляд, цифрова ідентичність на основі технології нульових знань широко впроваджується і, здається, стане великою перемогою d/acc (примітка: концепція, запропонована Віталіком у 2023 році, яка виступає за просування розвитку децентралізованих технологій за допомогою технологічних інструментів (таких як криптографія, блокчейн тощо), прискорюючи технологічний прогрес, одночасно захищаючи від потенційних ризиків, і забезпечуючи баланс між технологічними інноваціями та безпекою, приватністю і людською автономією). Вона може захистити наші соціальні медіа, системи голосування та різноманітні інтернет-сервіси від атак відьом і маніпуляцій роботів, не жертвуючи приватністю. Але чи справді все так просто? Чи існують ризики для ідентичності на основі нульових знань? У цій статті будуть викладені наступні думки:
Докази нульового знання (ZK-wrapping) вирішують безліч важливих проблем.
Існують ризики, пов'язані з ідентичністю, упакованою в нульові знання. Ці ризики, здається, не мають великого відношення до біометрії чи паспортів, більшість ризиків (витік конфіденційної інформації, схильність до примусу, системні помилки тощо) головним чином походять від жорсткого дотримання властивості «одна особа - одна ідентичність».
Інший екстремум, тобто використання «доказу багатства (Proof of wealth)» для протидії атакам «відьом», в більшості випадків є недостатнім, тому нам потрібно якесь рішення «подібного до ідентичності».
Ідеальний стан в теорії лежить між двома крайнощами, а саме, що вартість отримання N ідентичностей становить N².
Ця ідеальна ситуація важко реалізується на практиці, але відповідний «багатогранний ідентифікатор» наближається до неї, тому є найбільш реалістичним рішенням. Багатогранний ідентифікатор може бути явним (наприклад, ідентифікатор на основі соціальної графіки), або неявним (існує кілька типів ідентифікаторів на основі нульових знань, і жоден з цих типів не має ринкової частки, що наближається до 100%).
Як працює ідентичність, упакована у доказ нульового знання?
Уявіть собі, що ви отримали World ID, скануючи райдужну оболонку ока, або ж за допомогою NFC-рідера на телефоні відсканували паспорт, отримавши ідентифікацію на основі паспорта з нульовими знаннями. Що стосується аргументу цієї статті, основні властивості цих двох способів є однаковими (існують лише незначні відмінності на краях, наприклад, у випадку з багатогромадянством).
На вашому телефоні є секретне значення s. У глобальному реєстрі на ланцюгу є публічне хеш-значення H(s). Під час входу в додаток ви згенеруєте унікальний ідентифікатор користувача для цього додатка, а саме H(s, app_name), і підтвердите його за допомогою доказів з нульовим розголошенням: цей ідентифікатор походить з того ж секретного значення s, що й публічне хеш-значення у реєстрі. Отже, кожне публічне хеш-значення може генерувати лише один ідентифікатор для кожного додатка, але ніколи не розкривається, з яким публічним хеш-значенням відповідає ідентифікатор, що належить певному додатку.
Насправді, дизайн може бути трохи складнішим. У World ID спеціальний ID програми насправді є хеш-значенням, що містить ID програми та ID сесії, тому різні операції в межах однієї програми також можуть бути взаємно відключені. Дизайн паспорта на основі нульових знань також може бути побудований подібним чином.
Перед тим, як обговорити недоліки цього типу ідентифікації, спочатку потрібно усвідомити його переваги. За межами невеликої сфери ідентифікації на основі нульових знань (ZKID) для того, щоб довести свою особу сервісам, які потребують перевірки ідентичності, вам доводиться розкривати своє повне законне посвідчення особи. Це серйозно порушує принцип «мінімальних прав» в комп'ютерній безпеці: процес повинен отримувати лише мінімально необхідні права та інформацію для виконання своїх завдань. Вони повинні довести, що ви не робот, вам більше 18 років або ви з певної країни, але те, що вони отримують, це вказівка на вашу повну особистість.
Наразі найкращим можливим покращенням є використання непрямих токенів, таких як номер телефону, номер кредитної картки тощо: у цьому випадку суб'єкти, які знають ваш номер телефону / номер кредитної картки, пов'язаний з діяльністю в додатку, і суб'єкти, які знають ваш номер телефону / номер кредитної картки, пов'язаний з законною особою (компанією або банком), є взаємно відокремленими. Але ця відокремленість є дуже крихкою: номер телефону та інша інформація можуть бути розкриті в будь-який момент.
А завдяки технології упаковки на основі нульових знань (ZK-wrapping, метод захисту приватності особи користувача за допомогою нульових знань, що дозволяє користувачам підтверджувати свою особу без розкриття чутливої інформації) вищезазначена проблема значною мірою вирішена. Але далі треба обговорити менш згадуваний аспект: все ще існують певні проблеми, які не лише залишаються невирішеними, але й можуть загостритися через суворе обмеження "одна особа - одна особа" в таких рішеннях.
Нульові докази самі по собі не можуть забезпечити анонімність
Припустимо, що платформа нульових знань ідентичності (ZK-identity) працює так, як очікується, строго відтворюючи всі вищезгадані логіки, і навіть знайдено спосіб захистити конфіденційну інформацію не технічних користувачів протягом тривалого часу без покладання на централізовані установи. Але водночас ми можемо зробити реалістичне припущення: програми не будуть активно співпрацювати з захистом конфіденційності, вони дотримуватимуться принципу "прагматизму", а впроваджені ними дизайнерські рішення, хоч і під прикриттям "максимізації зручності для користувачів", насправді, здається, завжди будуть схилятися до їхніх політичних та комерційних інтересів.
У таких сценаріях соціальні медіа-додатки не використовуватимуть складні рішення, такі як часта зміна сеансових ключів, а натомість надаватимуть кожному користувачу унікальний ідентифікатор, що належить лише цьому додатку. І оскільки система ідентифікації дотримується правила «одна особа - один ідентифікатор», користувач може мати лише один обліковий запис (що контрастує з нинішнім «слабким ідентифікатором» (weak ID), наприклад, обліковим записом Google, де звичайна людина може легко зареєструвати близько 5 облікових записів). У реальному світі для досягнення анонімності зазвичай потрібно кілька облікових записів: один для «загальної ідентичності», інші - для різних анонімних ідентичностей (докладніше див. «finsta і rinsta»). Таким чином, у цій моделі анонімність, яку користувачі насправді можуть отримати, ймовірно, буде нижчою, ніж на сьогоднішній день. Таким чином, навіть система «одна особа - один ідентифікатор», обгорнута у нульові знання, може поступово призвести нас до світу, де всі дії повинні бути прив’язані до єдиного публічного ідентифікатора. У часи зростаючих ризиків (наприклад, моніторинг дронів тощо) позбавлення людей можливості захищати себе через анонімність призведе до серйозних негативних наслідків.
Нульові знання самі по собі не можуть захистити вас від примусу
Навіть якщо ви не розкриваєте своє секретне значення s, ніхто не може побачити публічні зв'язки між вашими рахунками, але що якщо хтось примусить вас це зробити? Уряд може примусити вимагати розкрити ваше секретне значення, щоб переглянути всі ваші дії. Це не просто балачки: уряд США вже почав вимагати від заявників на візу розкриття своїх облікових записів у соціальних мережах. Крім того, роботодавці можуть легко встановити розкриття повної публічної інформації як умову працевлаштування. Навіть окремі додатки на технічному рівні можуть вимагати від користувачів розкрити свою особистість в інших додатках, перш ніж дозволити реєстрацію (використання входу через додаток за замовчуванням виконує цю операцію).
Так само, у цих випадках цінність властивостей нульового знання зникає, але недоліки нової властивості «одна особа – один рахунок» все ще залишаються.
Ми, можливо, можемо знизити ризик примусу через оптимізацію дизайну: наприклад, використовуючи механізм багаторазових обчислень для генерації унікального ID для кожного застосунку, щоб користувачі могли спільно брати участь з постачальниками послуг. Таким чином, якщо оператор застосунку не бере участі, користувач не зможе довести свій унікальний ID в цьому застосунку. Це ускладнить примус інших розголошувати повну особистість, але не зможе повністю усунути цю можливість, а також у таких схем є й інші недоліки, наприклад, вимога до розробників застосунків бути активними суб'єктами в реальному часі, а не пасивними смарт-контрактами на ланцюзі (які не потребують постійного втручання).
Нульове знання самостійно не може вирішити ризики, які не пов'язані з конфіденційністю
Усі форми особи мають крайові випадки:
На основі ідентифікації, що видається урядом (Government-rooted ID), включаючи паспорти, не покриває безгромадянських осіб і не охоплює тих, хто ще не отримав такі документи.
З іншого боку, такі урядові системи ідентифікації нададуть унікальні привілеї власникам кількох громадянств.
Видавнича організація паспортів може стати жертвою хакерської атаки, а розвідки ворожих країн навіть можуть підробити мільйони фальшивих ідентичностей (наприклад, якщо російський стиль «партизанських виборів» почне поширюватися, можуть використовувати фальшиві особистості для маніпуляції виборами).
Для тих, хто має ушкоджені біометричні характеристики через травми або хвороби, біометрична ідентифікація буде повністю недійсною.
Біометрична ідентифікація може бути підроблена. Якщо цінність біометричної ідентифікації стане надзвичайно високою, ми навіть можемо побачити, як хтось спеціально вирощує людські органи, лише для того, щоб «масово виробляти» такі ідентифікації.
Ці крайні випадки найбільше шкодять системам, що намагаються підтримувати властивість «одна людина — один ідентифікатор», і вони зовсім не пов'язані з конфіденційністю. Тому нульові знання не можуть тут допомогти.
Покладатися на «докази багатства» для запобігання відьомським атакам недостатньо для вирішення проблеми, тому нам потрібна якась форма ідентифікаційної системи.
У чистому криптопанковському середовищі поширеним альтернативним рішенням є: повністю покладатися на «докази багатства», щоб запобігти відьомським атакам, а не створювати будь-яку форму системи ідентифікації. Дозволяючи кожному рахунку створювати певні витрати, можна запобігти тому, щоб хтось легко створював велику кількість облікових записів. Така практика вже має прецеденти в Інтернеті, наприклад, форум Somethingawful вимагав від зареєстрованих користувачів сплатити одноразовий внесок у розмірі 10 доларів; якщо обліковий запис було заблоковано, ця плата не повертається. Проте на практиці це не є справжньою криптоекономічною моделлю, оскільки найбільшою перешкодою для створення нового облікового запису є не повторна сплата 10 доларів, а отримання нової кредитної картки.
Теоретично, навіть можна зробити платіж умовним: під час реєстрації облікового запису вам потрібно лише заблокувати деяку суму коштів, і ви втратите ці кошти лише в надзвичайно рідкісних випадках, коли обліковий запис буде заблокований. Теоретично, це може значно підвищити витрати на атаки.
Цей підхід демонструє значні результати у багатьох ситуаціях, але в деяких типах сценаріїв він зовсім не працює. Я зосереджуся на двох типах сценаріїв, які назвемо «сценаріями, подібними до універсального базового доходу (UBI-like)» та «сценаріями, подібними до управління (governance-like)».
Потреба в ідентичності в сценаріях, подібних до універсального базового доходу (UBI-like)
Термін «сцена універсального базового доходу» означає ситуацію, коли потрібно виплачувати певну кількість активів або послуг дуже широкій (в ідеалі всім) групі користувачів, незалежно від їх платоспроможності. Worldcoin систематично впроваджує це: будь-яка особа, яка має World ID, може регулярно отримувати невелику кількість токенів WLD. Багато аірдропів токенів також досягають подібних цілей більш неформальними способами, намагаючись забезпечити, щоб принаймні частина токенів потрапила до якомога більшої кількості користувачів.
Особисто я не вважаю, що цінність таких токенів може досягти рівня, достатнього для забезпечення особистого життя. У економіці, що керується штучним інтелектом і має масштаб багатства, що досягає нинішніх тисяч, такі токени можуть мати цінність для забезпечення життя; але навіть у такому випадку проекти, що контролюються державою та підтримуються природними ресурсами, все ще займуть більш важливе місце в економічному плані. Однак я вважаю, що такі "міні-УБІ" можуть реально вирішити проблему: дати людям достатню кількість криптовалюти для виконання деяких базових транзакцій на блокчейні та онлайн-покупок. Конкретно це може включати:
Отримати ENS ім'я
Опублікувати хеш в ланцюзі для ініціалізації певної ідентичності з нульовим знанням
Оплата зборів соціальних медіаплатформ
Якщо криптовалюти отримають широке визнання в усьому світі, це питання більше не існуватиме. Але в умовах, коли криптовалюти ще не стали популярними, це може бути єдиним способом, яким люди можуть отримати доступ до не фінансових застосувань на блокчейні та пов'язаних з ними онлайн товарів і послуг, інакше вони можуть зовсім не мати доступу до цих ресурсів.
Крім того, існує ще один спосіб досягнення подібного ефекту, а саме «універсальні базові послуги»: надання кожному, хто має ідентифікацію, права на відправлення обмеженої кількості безкоштовних транзакцій у певному додатку. Цей підхід може бути більш відповідним до механізму стимулювання та мати вищу капітальну ефективність, оскільки кожен додаток, що користується цим, може це робити без необхідності оплати за не користувачів; однак це також пов'язано з певними компромісами, оскільки універсальність знижуватиметься (користувач може бути впевнений лише в доступі до додатків, які беруть участь у цій програмі). Але навіть у такому випадку все ще потрібне рішення для ідентифікації, щоб запобігти атакам спаму на систему та уникнути виключності, яка виникає внаслідок вимоги оплати від користувачів через певні способи оплати, які можуть бути недоступні для всіх.
Остання важлива категорія, на яку слід звернути увагу, - це «універсальний базовий депозит (universal basic security deposit)». Однією з функцій ідентичності є надання об'єкта для притягнення до відповідальності без необхідності заставляти кошти, що дорівнюють розміру стимулів. Це також допомагає досягти мети: зменшити залежність від особистого капіталу при входженні в гру (навіть повністю обійтися без будь-якого капіталу).
Потреба в ідентичності в сценаріях, подібних до управління (governance-like)
Уявіть собі систему голосування (наприклад, лайки та репости на соціальних медіа): якщо ресурси користувача A у 10 разів більші, ніж у користувача B, то його голосувальні права також будуть у 10 разів більшими. Але з економічної точки зору кожна одиниця голосувальних прав приносить A прибуток, який у 10 разів більший за прибуток B (оскільки обсяг A більший, будь-яке рішення буде мати більш значний вплив на його економічну сторону). Тому в цілому вигода A від голосування є у 100 разів більшою, ніж вигода B від його голосування. Саме тому ми виявляємо, що A витрачає значно більше зусиль на участь у голосуванні, досліджує, як голосувати, щоб максимізувати свої цілі, і навіть може стратегічно маніпулювати алгоритмом. Це також є основною причиною, чому «кит» може мати надмірний вплив у механізмі голосування токенів.
Більш універсальною та глибшою причиною є те, що система управління не повинна надавати однакову вагу «одна особа контролює 100 000 доларів» та «1000 осіб спільно володіють 100 000 доларів». Останнє представляє 1000 незалежних індивідів, тому воно буде містити більш різноманітну цінну інформацію, а не високу повторюваність малих обсягів інформації. Сигнали від 1000 осіб також, як правило, є більш «помірними», оскільки думки різних індивідів часто взаємно компенсують одна одну.
Це стосується як офіційних систем голосування, так і «неофіційних систем голосування», наприклад, здатності людей брати участь у культурній еволюції через відкриті висловлювання.
Це свідчить про те, що системи управління не будуть справжнім задоволені концепцією «незалежно від джерела фінансування, фонди однакового обсягу повинні розглядатися однаково». Системі насправді потрібно розуміти ступінь внутрішньої координації цих фондів.
Слід зазначити, що якщо ви погоджуєтеся з моєю описовою рамкою для двох наведених вище типів сценаріїв (сценарій загального базового доходу та сценарій управління), то з технічної точки зору потреба в такому чітко визначеному правилі, як «одна людина - один голос», більше не існує.
Для застосування в сценаріях, подібних до універсального базового доходу (UBI-like), дійсно необхідною є ідентифікаційна схема: перша ідентифікація безкоштовна, з обмеженням на кількість доступних ідентифікацій. Коли вартість отримання більшої кількості ідентифікацій стане такою високою, що вчинення атак на систему втратить сенс, тоді буде досягнуто обмежувального ефекту.
Для додатків, подібних до управління, основна вимога полягає в тому, щоб мати можливість визначити за допомогою якогось непрямого індикатора, чи є ресурс, якому ви піддаєтеся, одним керуючим агентом або якоюсь «природно сформованою» групою з низьким ступенем координації.
У цих двох сценах особа все ще є дуже корисною, але вимога дотримуватися строгих правил, таких як «одна особа — один ідентифікатор», більше не існує.
Теоретично ідеальний стан: витрати на отримання N ідентичностей дорівнюють N².
З наведених вище міркувань видно, що існує два види тиску, які з протилежних кінців обмежують очікувану складність отримання кількох ідентичностей у системі ідентифікації:
По-перше, не можна встановлювати чітке і видиме жорстке обмеження на «кількість ідентифікацій, які можна легко отримати». Якщо у людини може бути лише одна особа, то про анонімність не може бути й мови, і є ймовірність примусу до розкриття особи. Насправді, навіть фіксована кількість, що перевищує 1, також несе ризики: якщо всі знають, що у кожної особи є 5 ідентифікацій, то вас можуть змусити розкрити всі 5.
Інша причина підтримки цього полягає в тому, що анонімність сама по собі є дуже крихкою, тому потрібен достатньо великий буфер безпеки. Завдяки сучасним інструментам ШІ, міжплатформене пов'язання поведінки користувачів стало легким, завдяки таким відкритим даним, як звички у висловлюваннях, час публікації, інтервали між публікаціями, теми обговорень тощо, можна точно визначити особу, використовуючи лише 33 біти інформації. Люди, можливо, можуть використовувати інструменти ШІ для захисту (наприклад, коли я анонімно публікував контент, спочатку я писав його французькою, а потім перекладав на англійську за допомогою локально запущеної великої мовної моделі), але навіть у такому випадку не хочеться, щоб одна помилка повністю знищила свою анонімність.
По-друге, ідентичність не може бути повністю пов'язана з фінансами (тобто вартість отримання N ідентичностей становить N), оскільки це дозволить великим суб'єктам легко отримати надмірний вплив (що, в свою чергу, призведе до повної втрати голосу малими суб'єктами). Нова механіка Twitter Blue ілюструє це: щомісячна плата за сертифікацію в 8 доларів занадто низька, щоб ефективно обмежити зловживання, і користувачі вже в основному не звертають уваги на цей сертифікаційний знак.
Крім того, ми, можливо, не хочемо, щоб суб'єкт з кількістю ресурсів в N разів міг безперешкодно вчиняти неналежні дії в N разів.
З огляду на вищевикладені аргументи, ми сподіваємося на максимально легке отримання кількох ідентичностей за умов дотримання таких обмежень: (1) обмеження влади великих суб’єктів у додатках, схожих на управління; (2) обмеження зловживань у додатках, що нагадують універсальний основний дохід.
Якщо безпосередньо запозичити математичну модель управлінських застосувань, наведену раніше, ми отримаємо чітку відповідь: якщо наявність N ідентичностей приносить вплив N², то вартість отримання N ідентичностей повинна бути N². Цікаво, що ця відповідь також застосовна до застосувань, схожих на універсальний базовий дохід.
Старі читачі цього блогу, можливо, помітили, що це повністю збігається з графіком з попередньої статті про «квадратичне фінансування», і це не випадково.
Плюралістична ідентичність (Pluralistic identity) може реалізувати цю ідеальну ситуацію
Термін «система множинних ідентичностей» означає механізм ідентифікації, в якому немає єдиного домінуючого органу випуску, незалежно від того, чи це фізична особа, організація чи платформа. Цю систему можна реалізувати двома способами:
Явна плюралістична ідентичність (Explicit pluralistic identity, також відома як «ідентичність на основі соціальної графіки social-graph-based identity»). Ви можете підтвердити свою ідентичність (або інші заяви, такі як підтвердження того, що ви є членом певної спільноти) через підтвердження інших людей у вашій спільноті, при цьому ідентичності цих підтверджувачів також перевіряються за тим же механізмом. Стаття «Децентралізоване суспільство» містить більш детальне пояснення такого дизайну, Circles є нинішнім працюючим прикладом.
Імпліцитна плюралістична ідентичність (Implicit pluralistic identity). Це поточний стан, існує безліч різних постачальників ідентифікації, включаючи Google, Twitter, подібні платформи різних країн та різні документи, видані урядом. Дуже мало застосувань приймають лише один вид ідентифікації, більшість застосувань підтримують кілька, оскільки лише так можна досягти потенційних користувачів.
Останній знімок ідентифікаційної карти Circles. Circles є одним з найбільших у світі проектів ідентичності на основі соціальних графів.
Явна множинна ідентичність природно має анонімність: ви можете мати анонімну ідентичність (навіть кілька), і кожна ідентичність може створювати репутацію в спільноті через свої дії. Ідеальна система явної множинної ідентичності навіть може не потребувати концепції «окремих ідентичностей»; натомість ви, можливо, будете мати нечітке множина, що складається з перевірених минулих дій, і зможете детально підтверджувати різні частини залежно від потреби кожної дії.
Нульові докази полегшать досягнення анонімності: ви можете використовувати головну особистість для запуску анонімної особистості, надавши в приватному порядку перший сигнал для визнання нової анонімної особистості (наприклад, за допомогою нульового доказу довести, що у вас є певна кількість токенів, щоб мати можливість публікувати контент на anon.world; або за допомогою нульового доказу продемонструвати, що ваші підписники в Твіттері мають певну характеристику). Можливо, є й більш ефективні способи використання нульових доказів.
Крива «витрат» для прихованих багатогранних особистостей є більш крутою, ніж парабола, але все ще має більшість необхідних характеристик. Більшість людей мають деякі з форм особистостей, перерахованих у цій статті, а не всі. Ви можете отримати ще одну форму особистості з певними зусиллями, але чим більше форм особистості ви маєте, тим нижчий буде коефіцієнт вигоди для отримання наступної. Отже, це забезпечує необхідний стримуючий вплив на атаки управління та інші зловживання, водночас гарантуючи, що примушувачі не можуть вимагати (і не можуть розумно очікувати) від вас розкриття певного набору фіксованих ідентичностей.
Будь-яка форма багатогранної ідентичності (незалежно від того, є вона прихованою чи явною) природно має вищу стійкість до помилок: особа з інвалідністю рук або очей все ще може мати паспорт, а особа без громадянства також може довести свою ідентичність через певні неурядові канали.
Слід зазначити, що якщо частка ринку певної форми ідентичності наближається до 100% і стає єдиним варіантом входу, то вищезазначені характеристики перестануть діяти. На мій погляд, це найбільший ризик, з яким можуть стикнутися системи ідентичності, що надто прагнуть до "універсальності": як тільки їх частка ринку наближається до 100%, це переведе світ з багатогранних ідентичностей до моделі "одна людина - одна ідентичність", яка, як зазначено в цій статті, має безліч недоліків.
На мою думку, ідеальним результатом поточного проєкту «Одна людина - одна особа» є інтеграція з системою ідентифікації на основі соціальних графів. Найбільшою проблемою, з якою стикаються проєкти ідентифікації на основі соціальних графів, є складність масштабування на величезну кількість користувачів. Натомість система «Одна людина - одна особа» може використовуватися для початкової підтримки соціальних графів, створюючи мільйони «насіннєвих користувачів», і в подальшому кількість користувачів стане достатньою для безпечного розвитку глобального розподіленого соціального графа.
Особлива подяка волонтерам Balvi, членам Silviculture та учасникам команди World за участь у обговоренні.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Vitalik: багатогранні труднощі цифрової ідентичності та технології ZK
Автор: Віталік Бутерін
Переклад: Саорша, Foresight News
Сьогодні використання доказів з нульовим знанням для захисту конфіденційності в системах цифрової ідентичності стало певною мірою звичним. Різноманітні проекти паспортів на основі доказів з нульовим знанням (дослівно проекти ZK-паспортів, які мають на увазі цифрові ідентичності на основі технології доказів з нульовим знанням) розробляють надзвичайно зручні програмні пакети для користувачів, завдяки яким користувачі можуть доводити наявність дійсних документів, не розкриваючи жодних деталей про свою особу. Використання біометричних технологій для верифікації та забезпечення конфіденційності через доказ з нульовим знанням World ID (колишній Worldcoin) нещодавно перевищило 10 мільйонів користувачів. Один з урядових проектів цифрової ідентичності в Тайвані використовує докази з нульовим знанням, а Європейський Союз також все більше звертає увагу на цю технологію в сфері цифрової ідентичності.
На перший погляд, цифрова ідентичність на основі технології нульових знань широко впроваджується і, здається, стане великою перемогою d/acc (примітка: концепція, запропонована Віталіком у 2023 році, яка виступає за просування розвитку децентралізованих технологій за допомогою технологічних інструментів (таких як криптографія, блокчейн тощо), прискорюючи технологічний прогрес, одночасно захищаючи від потенційних ризиків, і забезпечуючи баланс між технологічними інноваціями та безпекою, приватністю і людською автономією). Вона може захистити наші соціальні медіа, системи голосування та різноманітні інтернет-сервіси від атак відьом і маніпуляцій роботів, не жертвуючи приватністю. Але чи справді все так просто? Чи існують ризики для ідентичності на основі нульових знань? У цій статті будуть викладені наступні думки:
Як працює ідентичність, упакована у доказ нульового знання?
Уявіть собі, що ви отримали World ID, скануючи райдужну оболонку ока, або ж за допомогою NFC-рідера на телефоні відсканували паспорт, отримавши ідентифікацію на основі паспорта з нульовими знаннями. Що стосується аргументу цієї статті, основні властивості цих двох способів є однаковими (існують лише незначні відмінності на краях, наприклад, у випадку з багатогромадянством).
На вашому телефоні є секретне значення s. У глобальному реєстрі на ланцюгу є публічне хеш-значення H(s). Під час входу в додаток ви згенеруєте унікальний ідентифікатор користувача для цього додатка, а саме H(s, app_name), і підтвердите його за допомогою доказів з нульовим розголошенням: цей ідентифікатор походить з того ж секретного значення s, що й публічне хеш-значення у реєстрі. Отже, кожне публічне хеш-значення може генерувати лише один ідентифікатор для кожного додатка, але ніколи не розкривається, з яким публічним хеш-значенням відповідає ідентифікатор, що належить певному додатку.
Насправді, дизайн може бути трохи складнішим. У World ID спеціальний ID програми насправді є хеш-значенням, що містить ID програми та ID сесії, тому різні операції в межах однієї програми також можуть бути взаємно відключені. Дизайн паспорта на основі нульових знань також може бути побудований подібним чином.
Перед тим, як обговорити недоліки цього типу ідентифікації, спочатку потрібно усвідомити його переваги. За межами невеликої сфери ідентифікації на основі нульових знань (ZKID) для того, щоб довести свою особу сервісам, які потребують перевірки ідентичності, вам доводиться розкривати своє повне законне посвідчення особи. Це серйозно порушує принцип «мінімальних прав» в комп'ютерній безпеці: процес повинен отримувати лише мінімально необхідні права та інформацію для виконання своїх завдань. Вони повинні довести, що ви не робот, вам більше 18 років або ви з певної країни, але те, що вони отримують, це вказівка на вашу повну особистість.
Наразі найкращим можливим покращенням є використання непрямих токенів, таких як номер телефону, номер кредитної картки тощо: у цьому випадку суб'єкти, які знають ваш номер телефону / номер кредитної картки, пов'язаний з діяльністю в додатку, і суб'єкти, які знають ваш номер телефону / номер кредитної картки, пов'язаний з законною особою (компанією або банком), є взаємно відокремленими. Але ця відокремленість є дуже крихкою: номер телефону та інша інформація можуть бути розкриті в будь-який момент.
А завдяки технології упаковки на основі нульових знань (ZK-wrapping, метод захисту приватності особи користувача за допомогою нульових знань, що дозволяє користувачам підтверджувати свою особу без розкриття чутливої інформації) вищезазначена проблема значною мірою вирішена. Але далі треба обговорити менш згадуваний аспект: все ще існують певні проблеми, які не лише залишаються невирішеними, але й можуть загостритися через суворе обмеження "одна особа - одна особа" в таких рішеннях.
Нульові докази самі по собі не можуть забезпечити анонімність
Припустимо, що платформа нульових знань ідентичності (ZK-identity) працює так, як очікується, строго відтворюючи всі вищезгадані логіки, і навіть знайдено спосіб захистити конфіденційну інформацію не технічних користувачів протягом тривалого часу без покладання на централізовані установи. Але водночас ми можемо зробити реалістичне припущення: програми не будуть активно співпрацювати з захистом конфіденційності, вони дотримуватимуться принципу "прагматизму", а впроваджені ними дизайнерські рішення, хоч і під прикриттям "максимізації зручності для користувачів", насправді, здається, завжди будуть схилятися до їхніх політичних та комерційних інтересів.
У таких сценаріях соціальні медіа-додатки не використовуватимуть складні рішення, такі як часта зміна сеансових ключів, а натомість надаватимуть кожному користувачу унікальний ідентифікатор, що належить лише цьому додатку. І оскільки система ідентифікації дотримується правила «одна особа - один ідентифікатор», користувач може мати лише один обліковий запис (що контрастує з нинішнім «слабким ідентифікатором» (weak ID), наприклад, обліковим записом Google, де звичайна людина може легко зареєструвати близько 5 облікових записів). У реальному світі для досягнення анонімності зазвичай потрібно кілька облікових записів: один для «загальної ідентичності», інші - для різних анонімних ідентичностей (докладніше див. «finsta і rinsta»). Таким чином, у цій моделі анонімність, яку користувачі насправді можуть отримати, ймовірно, буде нижчою, ніж на сьогоднішній день. Таким чином, навіть система «одна особа - один ідентифікатор», обгорнута у нульові знання, може поступово призвести нас до світу, де всі дії повинні бути прив’язані до єдиного публічного ідентифікатора. У часи зростаючих ризиків (наприклад, моніторинг дронів тощо) позбавлення людей можливості захищати себе через анонімність призведе до серйозних негативних наслідків.
Нульові знання самі по собі не можуть захистити вас від примусу
Навіть якщо ви не розкриваєте своє секретне значення s, ніхто не може побачити публічні зв'язки між вашими рахунками, але що якщо хтось примусить вас це зробити? Уряд може примусити вимагати розкрити ваше секретне значення, щоб переглянути всі ваші дії. Це не просто балачки: уряд США вже почав вимагати від заявників на візу розкриття своїх облікових записів у соціальних мережах. Крім того, роботодавці можуть легко встановити розкриття повної публічної інформації як умову працевлаштування. Навіть окремі додатки на технічному рівні можуть вимагати від користувачів розкрити свою особистість в інших додатках, перш ніж дозволити реєстрацію (використання входу через додаток за замовчуванням виконує цю операцію).
Так само, у цих випадках цінність властивостей нульового знання зникає, але недоліки нової властивості «одна особа – один рахунок» все ще залишаються.
Ми, можливо, можемо знизити ризик примусу через оптимізацію дизайну: наприклад, використовуючи механізм багаторазових обчислень для генерації унікального ID для кожного застосунку, щоб користувачі могли спільно брати участь з постачальниками послуг. Таким чином, якщо оператор застосунку не бере участі, користувач не зможе довести свій унікальний ID в цьому застосунку. Це ускладнить примус інших розголошувати повну особистість, але не зможе повністю усунути цю можливість, а також у таких схем є й інші недоліки, наприклад, вимога до розробників застосунків бути активними суб'єктами в реальному часі, а не пасивними смарт-контрактами на ланцюзі (які не потребують постійного втручання).
Нульове знання самостійно не може вирішити ризики, які не пов'язані з конфіденційністю
Усі форми особи мають крайові випадки:
Ці крайні випадки найбільше шкодять системам, що намагаються підтримувати властивість «одна людина — один ідентифікатор», і вони зовсім не пов'язані з конфіденційністю. Тому нульові знання не можуть тут допомогти.
Покладатися на «докази багатства» для запобігання відьомським атакам недостатньо для вирішення проблеми, тому нам потрібна якась форма ідентифікаційної системи.
У чистому криптопанковському середовищі поширеним альтернативним рішенням є: повністю покладатися на «докази багатства», щоб запобігти відьомським атакам, а не створювати будь-яку форму системи ідентифікації. Дозволяючи кожному рахунку створювати певні витрати, можна запобігти тому, щоб хтось легко створював велику кількість облікових записів. Така практика вже має прецеденти в Інтернеті, наприклад, форум Somethingawful вимагав від зареєстрованих користувачів сплатити одноразовий внесок у розмірі 10 доларів; якщо обліковий запис було заблоковано, ця плата не повертається. Проте на практиці це не є справжньою криптоекономічною моделлю, оскільки найбільшою перешкодою для створення нового облікового запису є не повторна сплата 10 доларів, а отримання нової кредитної картки.
Теоретично, навіть можна зробити платіж умовним: під час реєстрації облікового запису вам потрібно лише заблокувати деяку суму коштів, і ви втратите ці кошти лише в надзвичайно рідкісних випадках, коли обліковий запис буде заблокований. Теоретично, це може значно підвищити витрати на атаки.
Цей підхід демонструє значні результати у багатьох ситуаціях, але в деяких типах сценаріїв він зовсім не працює. Я зосереджуся на двох типах сценаріїв, які назвемо «сценаріями, подібними до універсального базового доходу (UBI-like)» та «сценаріями, подібними до управління (governance-like)».
Потреба в ідентичності в сценаріях, подібних до універсального базового доходу (UBI-like)
Термін «сцена універсального базового доходу» означає ситуацію, коли потрібно виплачувати певну кількість активів або послуг дуже широкій (в ідеалі всім) групі користувачів, незалежно від їх платоспроможності. Worldcoin систематично впроваджує це: будь-яка особа, яка має World ID, може регулярно отримувати невелику кількість токенів WLD. Багато аірдропів токенів також досягають подібних цілей більш неформальними способами, намагаючись забезпечити, щоб принаймні частина токенів потрапила до якомога більшої кількості користувачів.
Особисто я не вважаю, що цінність таких токенів може досягти рівня, достатнього для забезпечення особистого життя. У економіці, що керується штучним інтелектом і має масштаб багатства, що досягає нинішніх тисяч, такі токени можуть мати цінність для забезпечення життя; але навіть у такому випадку проекти, що контролюються державою та підтримуються природними ресурсами, все ще займуть більш важливе місце в економічному плані. Однак я вважаю, що такі "міні-УБІ" можуть реально вирішити проблему: дати людям достатню кількість криптовалюти для виконання деяких базових транзакцій на блокчейні та онлайн-покупок. Конкретно це може включати:
Якщо криптовалюти отримають широке визнання в усьому світі, це питання більше не існуватиме. Але в умовах, коли криптовалюти ще не стали популярними, це може бути єдиним способом, яким люди можуть отримати доступ до не фінансових застосувань на блокчейні та пов'язаних з ними онлайн товарів і послуг, інакше вони можуть зовсім не мати доступу до цих ресурсів.
Крім того, існує ще один спосіб досягнення подібного ефекту, а саме «універсальні базові послуги»: надання кожному, хто має ідентифікацію, права на відправлення обмеженої кількості безкоштовних транзакцій у певному додатку. Цей підхід може бути більш відповідним до механізму стимулювання та мати вищу капітальну ефективність, оскільки кожен додаток, що користується цим, може це робити без необхідності оплати за не користувачів; однак це також пов'язано з певними компромісами, оскільки універсальність знижуватиметься (користувач може бути впевнений лише в доступі до додатків, які беруть участь у цій програмі). Але навіть у такому випадку все ще потрібне рішення для ідентифікації, щоб запобігти атакам спаму на систему та уникнути виключності, яка виникає внаслідок вимоги оплати від користувачів через певні способи оплати, які можуть бути недоступні для всіх.
Остання важлива категорія, на яку слід звернути увагу, - це «універсальний базовий депозит (universal basic security deposit)». Однією з функцій ідентичності є надання об'єкта для притягнення до відповідальності без необхідності заставляти кошти, що дорівнюють розміру стимулів. Це також допомагає досягти мети: зменшити залежність від особистого капіталу при входженні в гру (навіть повністю обійтися без будь-якого капіталу).
Потреба в ідентичності в сценаріях, подібних до управління (governance-like)
Уявіть собі систему голосування (наприклад, лайки та репости на соціальних медіа): якщо ресурси користувача A у 10 разів більші, ніж у користувача B, то його голосувальні права також будуть у 10 разів більшими. Але з економічної точки зору кожна одиниця голосувальних прав приносить A прибуток, який у 10 разів більший за прибуток B (оскільки обсяг A більший, будь-яке рішення буде мати більш значний вплив на його економічну сторону). Тому в цілому вигода A від голосування є у 100 разів більшою, ніж вигода B від його голосування. Саме тому ми виявляємо, що A витрачає значно більше зусиль на участь у голосуванні, досліджує, як голосувати, щоб максимізувати свої цілі, і навіть може стратегічно маніпулювати алгоритмом. Це також є основною причиною, чому «кит» може мати надмірний вплив у механізмі голосування токенів.
Більш універсальною та глибшою причиною є те, що система управління не повинна надавати однакову вагу «одна особа контролює 100 000 доларів» та «1000 осіб спільно володіють 100 000 доларів». Останнє представляє 1000 незалежних індивідів, тому воно буде містити більш різноманітну цінну інформацію, а не високу повторюваність малих обсягів інформації. Сигнали від 1000 осіб також, як правило, є більш «помірними», оскільки думки різних індивідів часто взаємно компенсують одна одну.
Це стосується як офіційних систем голосування, так і «неофіційних систем голосування», наприклад, здатності людей брати участь у культурній еволюції через відкриті висловлювання.
Це свідчить про те, що системи управління не будуть справжнім задоволені концепцією «незалежно від джерела фінансування, фонди однакового обсягу повинні розглядатися однаково». Системі насправді потрібно розуміти ступінь внутрішньої координації цих фондів.
Слід зазначити, що якщо ви погоджуєтеся з моєю описовою рамкою для двох наведених вище типів сценаріїв (сценарій загального базового доходу та сценарій управління), то з технічної точки зору потреба в такому чітко визначеному правилі, як «одна людина - один голос», більше не існує.
У цих двох сценах особа все ще є дуже корисною, але вимога дотримуватися строгих правил, таких як «одна особа — один ідентифікатор», більше не існує.
Теоретично ідеальний стан: витрати на отримання N ідентичностей дорівнюють N².
З наведених вище міркувань видно, що існує два види тиску, які з протилежних кінців обмежують очікувану складність отримання кількох ідентичностей у системі ідентифікації:
По-перше, не можна встановлювати чітке і видиме жорстке обмеження на «кількість ідентифікацій, які можна легко отримати». Якщо у людини може бути лише одна особа, то про анонімність не може бути й мови, і є ймовірність примусу до розкриття особи. Насправді, навіть фіксована кількість, що перевищує 1, також несе ризики: якщо всі знають, що у кожної особи є 5 ідентифікацій, то вас можуть змусити розкрити всі 5.
Інша причина підтримки цього полягає в тому, що анонімність сама по собі є дуже крихкою, тому потрібен достатньо великий буфер безпеки. Завдяки сучасним інструментам ШІ, міжплатформене пов'язання поведінки користувачів стало легким, завдяки таким відкритим даним, як звички у висловлюваннях, час публікації, інтервали між публікаціями, теми обговорень тощо, можна точно визначити особу, використовуючи лише 33 біти інформації. Люди, можливо, можуть використовувати інструменти ШІ для захисту (наприклад, коли я анонімно публікував контент, спочатку я писав його французькою, а потім перекладав на англійську за допомогою локально запущеної великої мовної моделі), але навіть у такому випадку не хочеться, щоб одна помилка повністю знищила свою анонімність.
По-друге, ідентичність не може бути повністю пов'язана з фінансами (тобто вартість отримання N ідентичностей становить N), оскільки це дозволить великим суб'єктам легко отримати надмірний вплив (що, в свою чергу, призведе до повної втрати голосу малими суб'єктами). Нова механіка Twitter Blue ілюструє це: щомісячна плата за сертифікацію в 8 доларів занадто низька, щоб ефективно обмежити зловживання, і користувачі вже в основному не звертають уваги на цей сертифікаційний знак.
Крім того, ми, можливо, не хочемо, щоб суб'єкт з кількістю ресурсів в N разів міг безперешкодно вчиняти неналежні дії в N разів.
З огляду на вищевикладені аргументи, ми сподіваємося на максимально легке отримання кількох ідентичностей за умов дотримання таких обмежень: (1) обмеження влади великих суб’єктів у додатках, схожих на управління; (2) обмеження зловживань у додатках, що нагадують універсальний основний дохід.
Якщо безпосередньо запозичити математичну модель управлінських застосувань, наведену раніше, ми отримаємо чітку відповідь: якщо наявність N ідентичностей приносить вплив N², то вартість отримання N ідентичностей повинна бути N². Цікаво, що ця відповідь також застосовна до застосувань, схожих на універсальний базовий дохід.
Старі читачі цього блогу, можливо, помітили, що це повністю збігається з графіком з попередньої статті про «квадратичне фінансування», і це не випадково.
Плюралістична ідентичність (Pluralistic identity) може реалізувати цю ідеальну ситуацію
Термін «система множинних ідентичностей» означає механізм ідентифікації, в якому немає єдиного домінуючого органу випуску, незалежно від того, чи це фізична особа, організація чи платформа. Цю систему можна реалізувати двома способами:
Останній знімок ідентифікаційної карти Circles. Circles є одним з найбільших у світі проектів ідентичності на основі соціальних графів.
Явна множинна ідентичність природно має анонімність: ви можете мати анонімну ідентичність (навіть кілька), і кожна ідентичність може створювати репутацію в спільноті через свої дії. Ідеальна система явної множинної ідентичності навіть може не потребувати концепції «окремих ідентичностей»; натомість ви, можливо, будете мати нечітке множина, що складається з перевірених минулих дій, і зможете детально підтверджувати різні частини залежно від потреби кожної дії.
Нульові докази полегшать досягнення анонімності: ви можете використовувати головну особистість для запуску анонімної особистості, надавши в приватному порядку перший сигнал для визнання нової анонімної особистості (наприклад, за допомогою нульового доказу довести, що у вас є певна кількість токенів, щоб мати можливість публікувати контент на anon.world; або за допомогою нульового доказу продемонструвати, що ваші підписники в Твіттері мають певну характеристику). Можливо, є й більш ефективні способи використання нульових доказів.
Крива «витрат» для прихованих багатогранних особистостей є більш крутою, ніж парабола, але все ще має більшість необхідних характеристик. Більшість людей мають деякі з форм особистостей, перерахованих у цій статті, а не всі. Ви можете отримати ще одну форму особистості з певними зусиллями, але чим більше форм особистості ви маєте, тим нижчий буде коефіцієнт вигоди для отримання наступної. Отже, це забезпечує необхідний стримуючий вплив на атаки управління та інші зловживання, водночас гарантуючи, що примушувачі не можуть вимагати (і не можуть розумно очікувати) від вас розкриття певного набору фіксованих ідентичностей.
Будь-яка форма багатогранної ідентичності (незалежно від того, є вона прихованою чи явною) природно має вищу стійкість до помилок: особа з інвалідністю рук або очей все ще може мати паспорт, а особа без громадянства також може довести свою ідентичність через певні неурядові канали.
Слід зазначити, що якщо частка ринку певної форми ідентичності наближається до 100% і стає єдиним варіантом входу, то вищезазначені характеристики перестануть діяти. На мій погляд, це найбільший ризик, з яким можуть стикнутися системи ідентичності, що надто прагнуть до "універсальності": як тільки їх частка ринку наближається до 100%, це переведе світ з багатогранних ідентичностей до моделі "одна людина - одна ідентичність", яка, як зазначено в цій статті, має безліч недоліків.
На мою думку, ідеальним результатом поточного проєкту «Одна людина - одна особа» є інтеграція з системою ідентифікації на основі соціальних графів. Найбільшою проблемою, з якою стикаються проєкти ідентифікації на основі соціальних графів, є складність масштабування на величезну кількість користувачів. Натомість система «Одна людина - одна особа» може використовуватися для початкової підтримки соціальних графів, створюючи мільйони «насіннєвих користувачів», і в подальшому кількість користувачів стане достатньою для безпечного розвитку глобального розподіленого соціального графа.
Особлива подяка волонтерам Balvi, членам Silviculture та учасникам команди World за участь у обговоренні.