Конфіденційність розрахунків та Web 3.0
В цьому пості я поясню, що таке конфіденційність розрахунків і як це призведе до появи абсолютно нової хвилі додатків для Web 3.0.
Почнемо з того, як все почалося. Ерік Хьюз, один із засновників руху шифропанків і автор «Маніфесту шифропанків», написав 9 березня 1993 року:
Конфіденційність необхідна для відкритого суспільства в епоху електронних технологій. Конфіденційність - це не секретність. Особиста справа-це те, про що ніхто не хоче ділитися з усім світом, а секретна справа — це те, що ніхто не хоче знати. Конфіденційність-це здатність вибірково розкривати себе світу.
Якщо ви ще не прочитали це повністю, то вам дійсно слід це зробити. Це створює прекрасний фон для всього, що відбувається у просторі.
Всі ми знаємо, що за цим послідувало. Сатоші публікує "Bitcoin white paper" 31 жовтня 2008 року, і тут ми знову можемо вказати на геніальність Еріка Хьюза:
Конфіденційність у відкритому суспільстві вимагає систем анонімних транзакцій
І довгий час саме це забезпечував Біткоін. Однак з часом це ставало все менш і менш таким, так як з'ясувалося, що при складних методах розбору і аналізу графа Біткоін і, зокрема, використання людьми On-ramps, анонімність, яку забезпечував Біткоін, почала зруйновуватись.
За цим пішли спроби поліпшити анонімність біткоіну за допомогою технології, розробленої "Ніколасом Ван Саберхагеном" (ще одним повністю анонімним автором) з допомогою Bytecoin в 2012 році. Потім пішли Monero (форк Bytecoin) і Z-Cash.
Все це були спроби забезпечити "конфіденційність транзакцій". Тобто здатність надавати людям можливість розкривати свою особистість або наміри тільки при бажанні; в цьому суть конфіденційності. З практичної точки зору це розуміють як, конфіденційність щодо учасників транзакції, того, що вони здійснюють, а також результати і наслідки будь-якої транзакції.
По суті, ми знаємо, що транзакція відбулася, але весь зміст даної транзакції заплутаний.
Що, якби ми захотіли піти далі і не тільки заплутати транзакції, але і повністю приховати їх розрахунки на будь-якому компьютері від кого би то не було?
Що робити, якщо нам потрібна абсолютна впевненість у тому, що код, який ми думаємо, працює, дійсно працює, але насправді ми не бачимо, як він працює?
І нарешті, код повинен десь працювати, і хтось завжди матиме доступ до машини, на якій працює код?
А якщо я скажу, що розраховувальна конфіденційність забезпечує все перераховане вище?
- Повна конфіденційність протягом всієї обробки будь-яких даних
- Абсолютна впевненість в тому, що код, який ми завантажуємо, дійсно запущений.
- Ніхто, навіть власник машини, не зможе отримати доступ до запущеного коду.
Приведені вище сценарії демонструють:
- Немає конфіденційності. Аліса відправляє 1 BTC. Він проходить перевірку в блокчейні Біткоін і тепер відправлений Бобу. Всі це бачать.
- Транзакційна конфіденційність. Невідомий відправник відправляє невідому кількість BTC. Він перевіряється, і баланси на невідому суму оновлюються. Всі бачать тільки це.
- Розраховувальна конфіденційність. Взагалі нічого не може просочитися. Ніхто навіть не знає, що була транзакція, не кажучи вже про те, хто в ній брав участь і на яку суму.
Давайте додамо ще трохи контексту, переглянувши приклад використання NFT.
Apymon був проектом NFT, випущеним ще на початку 2021 року. Ідея була новою. NFT у формі яйця, і при цьому симпатичний, ймовірно, щось, що саме по собі могло б діяти як NFT.
Щоб додати загадковості, у Apymon був секрет, захований в яйці. Це був маленький монстр. На додаток до цього було обіцяно, що деякі яйця будуть містити кріптопанків та інші популярні NFT, а також ефір.
Але коли все було на виду, як це було можливо? Це неможливо.
Було неможливо побудувати рішення, яке приховувало б вміст яєць чесним і децентралізованим способом. Єдиним рішенням була централізація. І це зразу же було зустрінуте претензіями з боку спільноти про те, що розробники навмисно розподілили приховані нагороди на яйця, що зберігаються у них і інсайдерів. Проект виявився провальним.
Як це буде відрізнятися від розраховувальної конфіденційності? Якщо ми згадаємо, що дає нам розраховувальна конфіденційність:
- Код для проекту разом з перевіреними функціями випадкової ініціалізації можна було б розгорнути в мережі, що забезпечує конфіденційність розрахунків, такий як Obscuro.
- При цьому у нас була б абсолютна впевненість в тому, що за кожне замінтченне яйце були розподілені приховані нагороди абсолютно випадковим чином — конфіденційно навіть від самих розробників.
- Ніхто (і я маю на увазі взагалі ніхто) ніколи не дізнається зміст конкретного яйця, поки власник цього яйця не "відкриє" його.
- Цей акт відкриття буде повністю приватним-дія тільки між власником і «мережею».
Виявляється, існує лише одне рішення, яке може забезпечити такий тип розраховувальної конфіденційності. Це довірені середовища виконання (TEE).
Довірене середовище виконання- це захищена область центрального процесора або CPU. Це гарантує, що код і дані, завантажені всередину, захищені щодо конфіденційності та цілісності при їх обробці.
- Тримати в секреті матеріал криптографічного ключа.
- Не дозволяти іншим людям шпигувати або спостерігати за транзакціями, включаючи власника або оператора TEE.
- Пошук зашифрованих конфіденційних даних.
- Підписувати криптографічними ключами..
- Виконувати код з повною конфіденційністю.
- Підтвердити код, щоб забезпечити гарантії того, що те, що, на вашу думку, працює, дійсно працює.
Рішення всього перерахованого вище є невирішеним завданням без використання TEE. Докази з нульовим розголошенням не можуть вирішити цей набір проблем, а гомоморфне шифрування все ще перебуває в зародковому стані. ТЕЕ забезпечують практичне і елегантне рішення
Публікація у блогу Гевіна Томаса являє собою чудову модель мислення.
Дізнатися більше
Якщо ви хочете дізнатись більше про Obscuro, перегляньте наш Litepaper або пориньте в наш Whitepaper. Ви також можете спілкуватися з ком'юніті в Discord і стежити за нами в Twitter і Telegram.