Блокчейн (іменник): координаційний механізм, який дозволяє учасникам з усього світу співпрацювати за набором загальновизнаних правил без будь-якої третьої сторони, яка б це сприяла.
Комп'ютери призначені для виконання трьох речей: зберігання даних, обчислення та спілкування один з одним та людьми. Блокчейни додають четверте вимір: додаткові гарантії, що ці три речі (зберігання, обчислення та комунікація) відбуваються згідно з узгодженим способом. Ці гарантії забезпечують співпрацю між незнайомцями без довіреної третьої сторони для полегшення цього (децентралізована).
Ці додаткові гарантії можуть бути економічними (гра довіри та стимули / дезінцентиви) або криптографічними (математика довіри), але більшість застосувань використовують комбінацію обох - криптоекономіка. Це є різким контрастом до поточного статус-кво в основному на репутації систем.
Хоча Web3 часто описується як «читання, запис, володіння», ми вважаємо, що кращею ідеєю для третьої ітерації Інтернету є «читання, запис, перевірка», оскільки ключовою перевагою публічних блокчейнів єгарантоване обчисленняі проста перевірка того, що ці гарантії були забезпечені. Власність може бути підмножиною гарантованого обчислення, якщо ми будуємо цифрові артефакти, які можна купити, продати та контролювати. Однак багато випадків використання блокчейнів користуються гарантованим обчисленням, але не мають прямого відношення до власності. Наприклад, якщо ваше здоров'я в повністю онлайн-грі складає 77/100 - ви володієте цим здоров'ям, чи це лише може бути забезпечено онлайн згідно з загальноприйнятими правилами? Ми стверджуємо останнє, але Chris Dixonможе не погоджуватися.
Web3 = Читати, Писати, Перевіряти
Блокчейни пропонують багато приводів для захоплення, але децентралізована модель також додає накладних витрат і неефективності за допомогою додаткових функцій, таких як P2P-повідомлення та консенсус. Крім того, більшість блокчейнів все ще перевіряють правильні переходи станів шляхом повторного виконання, що означає, що кожен вузол у мережі повинен повторно виконувати транзакції, щоб перевірити правильність запропонованого переходу стану. Це марнотратно і різко контрастує з централізованою моделлю, де виконує лише один суб'єкт. У той час як децентралізована система завжди містить певні накладні витрати та реплікацію, мета повинна полягати в тому, щоб асимптотично наблизитися до централізованого еталону з точки зору ефективності.
Незважаючи на те, що базова інфраструктура значно поліпшилася протягом останнього десятиліття, ще залишилася багато роботи, перш ніж блокчейни зможуть впоратися з масштабом Інтернету. Ми бачимо компроміси по двом основним вісям - експресивність і складність - і вважаємо, що модульність дозволяє швидше експериментувати по межі компромісу, тоді як ZK її розширює:
Модульність - це ступінь, до якої компоненти системи можуть бути розділені та перекомбіновані. Завдяки швидшим циклам зворотного зв'язку та меншим бар'єрам для входу з меншим обсягом необхідного капіталу (як економічного, так і людського) - модульність дозволяє швидше експериментування та спеціалізацію. Питання про модульність проти інтегрованості не є бінарним, а скоріш спектром для експериментів, яким можна визначити, які частини розумно відокремлювати, а які - ні.
Докази з нульовим розголошенням, або ZKPs, з іншого боку, дозволяють одній стороні (доводячій) довести іншій стороні (перевіряючій), що вони знають, що щось є правдивим, не розголошуючи будь-яку додаткову інформацію поза її валідністю. Це може збільшити масштабованість та ефективність, уникнувши повторного виконання (переходячи від моделі всі виконують для перевірки, до моделі один виконує, всі перевіряють), а також виразність, дозволяючи конфіденційність (з обмеженнями). ZKPs також покращують стійкість гарантій, замінюючи слабкі криптекономічні гарантії більш міцними, що відображено зсувом торговельного фронту вперед (за даними, наведеними на вищевказаній діаграмі).
Ми вважаємо, що як модульність, так і «ZKfication of everything» - це тенденції, які будуть продовжувати прискорюватися. Хоча обидві надають цікаві можливості для дослідження простору окремо - нас особливо цікавить перетин обох. Дві ключові питання, які нас цікавлять, це:
Однак, перш ніж ми зможемо відповісти на ці питання, нам потрібен оновлений погляд на те, як виглядатиме модульний стек у 2024 році.
Часто використовуваний образ модульного стеку з чотирма компонентами (виконання, публікація даних, згода, врегулювання) корисний як проста ментальна модель, але ми вважаємо, що це вже неадекватне представлення, оскільки простір модулів значно еволюціонував. Подальше розбунтовування приводить до появи нових компонентів, які раніше розглядалися як частина більшої частини, а також створення нових залежностей та потреби в безпечній взаємодії між різними компонентами (докладніше про це пізніше). З урахуванням темпу, з яким розвивається цей простір, може бути важко слідкувати за всіма інноваціями на різних рівнях стеку.
Раніше спроби дослідження стеку web3 включають ті, які були проведені Кайл Самані(Multikoin) - спочатку опубліковано в2018 та оновлено в 2019. Це охоплює все, починаючи від децентралізованого Інтернет-доступу останньої милі (такого як Гелій) до управління ключами кінцевого користувача. Хоча принципи, що стоять за цим, можуть бути відновлені, деякі частини, такі як доведення та перевірка, повністю відсутні.
З урахуванням цього ми намагалися створити оновлене представлення того, як виглядатиме модульний стек у 2024 році, розширюючи існуючий чотирьох-частинний модульний стек. Він розділений на компоненти, а не за функціональністю, що означає, що P2P мережування, наприклад, включено в консенсус, а не розділено як окремий компонент - головним чином через те, що складно побудувати протокол навколо цього.
Тепер, коли ми маємо оновлений погляд на модульний стек, ми можемо почати розглядати справжнє питання, тобто які частини стеку ZK вже проникли і які відкриті проблеми можуть бути вирішені шляхом введення ZK (чи уникнення повторного виконання, чи функцій конфіденційності). Нижче наведено підсумок наших висновків, перш ніж ми заглибимося в кожний компонент окремо.
Поточним користувачам блокчейнів потрібно перегортати кілька ланцюжків, гаманців та інтерфейсів, що є незручним та діє як тертя для широкого прийняття. Абстрагування операцій користувача - це загальний термін для будь-якої спроби абстрагувати цю складність та дозволити користувачам взаємодіяти лише з одним інтерфейсом (наприклад, конкретною програмою або гаманцем), при цьому вся складність відбувається на бекенді. Деякі приклади абстракцій на рівні інфраструктури включають:
Транзакції потрібно впорядкувати перед додаванням до блоку, що можна зробити багатьма способами: впорядкування за прибутковістю для пропонента (найбільш прибуткові транзакції першими), у порядку подання (перші виходять першими), надання пріоритету транзакціям з приватних пам'ятів, тощо.
Ще одне питання - хто має право робити замовлення транзакцій. У модульному світі це можуть робити кілька різних сторін, включаючи послідовника rollup (централізованого або децентралізованого), L1 sequencing (на основі rollups) та спільну мережу послідовності (децентралізовану мережу послідовників, яку використовують декілька rollups). Усі вони мають різні припущення про довіру та можливості масштабуванняНа практиці фактичне упорядкування транзакцій та їх пакування в блок також може проводитися поза протоколом спеціалізованими учасниками (блокбілдерами).
Шар виконання містить логіку того, як стан оновлюється, і саме тут виконуються смарт-контракти. Крім того, крім повернення результату обчислення, zkVMs також дозволяють доводити, що переходи між станами були виконані правильно. Це дозволяє іншим учасникам мережі перевіряти правильність виконання, перевіряючи лише доказ, замість того щоб повторно виконувати транзакції.
Крім швидкішої та більш ефективної перевірки, ще однією перевагою доведеної виконавчої влади є можливість більш складних обчислень, оскільки ви не зіштовхнетеся з типовими проблемами газу та обмеженими ресурсами on-chain з off-chain обчисленнями. Це відкриває двері до зовсім нових застосувань, які потребують більш інтенсивних обчислень для роботи на блокчейнах та використовують гарантовані обчислення.
Запит даних або читання даних з блокчейну є невід'ємною частиною більшості додатків. У той час як багато обговорень та зусиль за останні роки було спрямовано на масштабування записів (виконання) - масштабування читань навіть важливіше через дисбаланс між ними (особливо в децентралізованому середовищі). Співвідношення між читанням/записом відрізняється для різних блокчейнів, але один даний пункт є Оцінка Sigщо більше 96% всіх викликів до вузлів на Solana були читаючими (на основі 2 років емпіричних даних) - співвідношення читання/запису 24:1.
Масштабування читань включає як отримання більшої продуктивності (більше читань за секунду) за допомогою спеціалізованих клієнтів валідаторів (таких як Sig на Solana), так і можливість виконання більш складних запитів (поєднуючи читання з обчисленням), наприклад, за допомогою співпроцесорів.
Ще одним аспектом є децентралізація методів запиту даних. Сьогодні більшість запитів на отримання даних в блокчейнах здійснюються завдяки довіреним третім сторонам (на основі репутації), таким як вузли RPC (Infura) та індексатори (Пісок). Приклади більш децентралізованих варіантів включають Графікі операторів, які доводять зберігання (які також можна перевірити). Існують також кілька спроб створення децентралізованої мережі RPC, наприклад Infura DINабоLava Мережа (крім децентралізованого RPC, Lava має на меті надавати пізніше додаткові послуги з доступу до даних).
З використанням все більше та більше додатків, що включають ZKPs, доведення та перевірка швидко стають невід'ємною частиною модульного стеку. Проте на сьогоднішній день більшість інфраструктури доведення все ще має дозвіл та централізована, і багато додатків покладаються на одного доведення.
Хоча централізоване рішення менше складне, децентралізація архітектури підтвердження та розбиття її на окремий компонент у модульному стеку приносить кілька переваг. Однією з ключових переваг є гарантії активності, які є важливими для додатків, які залежать від частого створення доказів. Користувачі також отримують переваги у вищій стійкості до цензури та нижчих комісій, які визначаються конкуренцією та розподілом навантаження серед кількох підтверджувачів.
Ми вважаємо, що мережі загального призначення (багато додатків, багато довідників) є кращими, ніж мережі довідників для одного додатку (один додаток, багато довідників) через більшу використання існуючого обладнання та меншу складність для довідників. Вище використання також користується користувачами у вигляді менших комісій, оскільки довідникам не потрібно було б компенсувати надмірність через вищі комісії (проте потрібно покрити постійні витрати).
Figment Капіталзабезпечено добрий огляд поточного стану ланцюга поставок доказів, який складається як з генерації доказів, так і агрегації доказів (що в собі є генерацією доказів, але лише приймаючи два докази як вхід, а не слід виконання).
Джерело: Figment Capital
Джерело: Figment Capital
Публікація даних (DP) забезпечує доступність даних і легке їх відновлення протягом короткого періоду (1-2 тижні). Це важливо як для безпеки (оптимістичні згортки вимагають вхідних даних для перевірки правильного виконання шляхом повторного виконання під час періоду виклику, 1-2 тижні), так і для активності (навіть якщо система використовує докази правильності, може знадобитися підтвердження власності активу для виходу з лазівок, примусових транзакцій або для перевірки того, що вхідні дані відповідають вихідним). Користувачі (такі як zk-мости та згортки) стикаються з одноразовою оплатою, яка покриває витрати на зберігання транзакцій та стану протягом короткого періоду до його очищення. Мережі публікації даних не призначені для зберігання даних на довгостроковий період (замість цього див. наступний розділ для можливих рішень).
Celestiaбув першим альтернативним рівнем DP, що запустив свою основну мережу (31 жовтня), але незабаром з'явиться багато альтернатив на вибір, так як Скористатися, EigenDA, та Близько до DAвсі очікуються запустити протягом 2024 року. Крім того, Ethereum’s EIP 4844оновлення масштабування публікації даних на Ethereum (на додачу до створення окремого ринку оплати за зберігання блобів) та підготовка ґрунту для повного денк-шардінгу. DP також розширюється на інші екосистеми - одним прикладом є@nubit_org/riema-secureє ангельське інвестування для запуску першого біткойн-нативного шару доступності даних, який прагне побудувати Native DP на біткойні.
Багато рішень DP також пропонують послуги поза чистою публікацією даних, включаючи спільну безпеку для суверенних роллапів (таких як СелестіяіДоступно) або більш плавна взаємодія між rollups (наприклад, Avail’sNexus). Також є проекти (ДоміконіНульова гравітація) які пропонують як публікацію даних, так і зберігання довгострокового стану, що є привабливою пропозицією. Це також приклад повторного пакетування двох компонентів у модульному стеку, щось, що ми, ймовірно, побачимо більше в майбутньому (експерименти як із подальшим розбунтовуванням, так і знову збунтовуванням).
Зберігання історичних даних є важливим переважно для синхронізації та обслуговування запитів на дані. Однак не можливо, щоб кожен повний вузол зберігав усі дані, і більшість повних вузлів видаляють старі дані, щоб зберігати апаратні вимоги в межах розумного. Замість цього ми покладаємося на спеціалізовані сторони (архівні вузли та індексатори), щоб зберігати всі історичні дані та надавати їх за запитом користувачів.
Також існують децентралізовані постачальники сховищ, такі як FilecoinабоArweave, які пропонують довгострокові децентралізовані рішення зберігання за розумною ціною. Хоча більшість блокчейнів не мають формального процесу архівного зберігання (просто розраховують на те, що хтось його зберігає), протоколи децентралізованого зберігання є хорошими кандидатами для зберігання історичних даних та додавання деякої надлишковості (принаймні X вузлів зберігають дані) за допомогою вбудованих стимулів мережі зберігання.
Враховуючи, що блокчейни є розподіленими P2P-системами, не існує довіреної третьої сторони, яка визначає глобальну правду. Натомість, вузли мережі домовляються про те, якою є поточна істина (який блок є правильним) за допомогою механізму, який називається консенсусом. Методи консенсусу на основі PoS можна розділити на BFT (де візантійський відмовостійкий кворум валідаторів визначає остаточний стан) або на основі ланцюга (де остаточний стан визначається ретроспективно правилом вибору форку). У той час як більшість існуючих реалізацій консенсусу PoS базуються на BFT, Карданоце приклад реалізації найдовшого ланцюжка. Існує також зростаючий інтерес до механізмів консенсусу на основі DAG, таких як Narwhal-Bullshark, які реалізовані у деяких варіаціях на Aleo, Aptos та Sui.
Консенсус - це важлива частина багатьох різних компонентів модульного стеку, включаючи спільний послідовник, децентралізоване підтвердження та мережі публікації даних на основі блокчейну (не на основі комітетів, таких як EigenDA).
Розрахунок схожий на найвищий суд правосуддя - остаточне джерело правди, де перевіряється правильність переходів держави й вирішуються спори. Угода вважається остаточною в той момент, коли вона незворотня (або в разі ймовірної остатичності - в той момент, коли було б досить складно скасувати її). Час до остатичності залежить від основного рівня розрахунку, який в свою чергу залежить від конкретного правила остатичності та часу блоку.
Повільна остаточність є особливою проблемою в комунікації між роллапами, де роллапам потрібно чекати на підтвердження від Ethereum перед тим, як зможуть схвалити транзакцію (7 днів для оптимістичних роллапів, 12 хвилин та час доведення для роллапів валідності). Це призводить до поганого досвіду користувачів. Існують кілька зусиль для вирішення цієї проблеми за допомогою попередніх підтверджень з певним рівнем безпеки. Приклади включають в себе як рішення, специфічні для екосистеми, так іБагатокутник AggLayerабоzkSync ГіперМіст) та універсальні рішення, такі як Швидкий шар швидкості Nearяка має на меті об'єднати кілька різних екосистем rollup, використовуючи економічну безпеку від EigenLayer. Є також варіантмісцеві роллап-мости, які використовують EigenLayerдля м'яких підтверджень, щоб уникнути очікування повної остаточності.
Безпека пов'язана з міцністю гарантій і є важливою частиною цінної пропозиції блокчейнів. Однак створення криптекономічної безпеки важке - збільшення бар'єрів для входу й дія як тертя для інновацій для тих додатків, які потребують цього (різноманітні посередницькі програми та альтернативні L1s).
Ідея спільної безпеки полягає в тому, щоб використовувати існуючу економічну безпеку з мереж PoS та піддавати її додатковому ризику стриження (умови покарання), а не намагатися кожному компоненту самостійно розгортати свій власний. Були деякі попередні спроби зробити те ж саме в мережах PoWспільний майнінг.)), але неспівміщені стимули полегшили співпрацю шахтарів та експлуатацію протоколу (важче покарати погану поведінку, оскільки робота відбувається в реальному світі, тобто видобуток за допомогою обчислювальної потужності). Безпека PoS є більш гнучкою для використання іншими протоколами, оскільки в ній є як позитивні (винагорода за стейкінг), так і негативні (зниження) стимули.
Протоколи, які будуються на засаді спільної безпеки, включають:
Безпечна та ефективна взаємодія залишається великою проблемою в світі багатьох ланцюжків, чому ілюструє $2.8bn втрачено в результаті взломів мостів. У модульних системах взаємодія стає ще важливішою - Ви спілкуєтеся не лише з іншими ланцюгами, але і модульні блокчейни потребують, щоб різні компоненти спілкувалися один з одним (наприклад, шар розповсюдження та розрахунковий шар). Таким чином, вже не є реальним просто запустити повний вузол або перевірити одне консенсус-доказ, як у інтегрованих блокчейнах. Це додає більше рухомих частин до рівняння.
Інтероперабельність включає як мостки для токенів, так і загальне передавання повідомлень між блокчейнами. Існує кілька різних варіантів, кожен з яких робить різні компроміси щодо безпеки, затримки та вартості. Оптимізація для всіх трьох дуже складна, що зазвичай вимагає пожертвування принаймні однієї з них. Крім того, різні стандарти між ланцюжками ускладнюють впровадження на нових ланцюжках.
Хоча нам ще не вистачає чіткого визначення різних типів легких клієнтів (або вузлів), цей пост від Діно(співзасновник Fluent & Modular Media) дає гарне вступ. Більшість легких клієнтів сьогодні перевіряють лише згоду, але в ідеалі ми мали б мати легкі клієнти, які можуть перевіряти виконання та DA, щоб зменшити припущення про довіру. Це дозволило б наблизитися до безпеки повного вузла, без високих вимог до обладнання.
Припускаючи, що ми зможемо досягти стану, де генерація ZKPs стане дуже швидкою (майже зі швидкістю світла) і надзвичайно дешевою (майже безкоштовною), який вигляд матиме кінцева гра? Іншими словами - коли ZK з'їла модулярний стек?
Загалом, ми вважаємо, що дві речі будуть правдивими в цьому стані світу:
Третім умовою було б конфіденційність (або управління потоком інформації), але це складніше. ZKPs можуть бути використані для деяких додатків з конфіденційністю з доведенням на клієнтському боці, що будується для платформ, таких як Aleo, Aztec або Polygon Miden, але досягнення широкомасштабної конфіденційності для всіх потенційних використань залежить також від прогресу MPC і FHE - потенційна тема для майбутнього блог-посту.
Що, якщо ми помиляємося, і майбутнє не буде ані модульним, ані ZK'fied? Деякі потенційні ризики для нашої тези включають:
Як користувачі, так і розробники страждають від постійно зростаючої кількості ланцюжків. Користувачам потрібно керувати коштами в кількох ланцюжках (і, можливо, кількох гаманцях). Розробники додатків, з іншого боку, мають меншу стабільність і передбачуваність, враховуючи, наскільки простір все ще розвивається, що ускладнює прийняття рішення про те, який ланцюжок будувати. Їм також потрібно думати про фрагментацію стану та ліквідності. Це особливо актуально зараз, оскільки ми все ще експериментуємо на межі того, які компоненти мають сенс відокремлювати, а які будуть знову з'єднані. Ми вважаємо, що абстракція від роботи користувача, а також безпечні та ефективні рішення для взаємодії є важливими частинами для вирішення цієї проблеми.
Не можна уникнути факту, що генерація доказів займає занадто багато часу, а вартість як доведення, так і перевірки досі є надто високою. Конкуруючі рішення, такі як оточуючі середовища довіри/TEEs (приватність) або оптимістичні/криптоекономічні рішення забезпечення безпеки (вартість), все ще мають більший сенс для багатьох застосувань сьогодні.
Багато роботи, однак, виконується щодо оптимізації програмного забезпечення та апаратного прискорення для ZKPs. Агрегування доказів допоможе подальше зменшити витрати на верифікацію, розподіляючи витрати між кількома різними сторонами (нижчі витрати на користувача). Існує також можливість адаптації базового рівня для оптимізації верифікації ZKPs. Одним із викликів щодо апаратного прискорення для ZKPs є швидкий розвиток систем доведення. Це ускладнює створення спеціалізованого апаратного забезпечення (ASICs), оскільки вони ризикують швидко застаріти, якщо стандарти базових систем доведення еволюціонують.
Ingonyamaспробував створити деякі вимірювання продуктивності доведення через порівняльну метрику під назвою ZK оцінка. Вона базується на вартості виконання обчислень (OPEX) та відстежує MMOPS/WATT, де MMOPS означає модулярні операції множення на секунду. Для подальшого читання на цю тему ми рекомендуємо блоги від @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic and @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama, а також ця промова Вей Дай.
ZKPs можуть бути використані лише для забезпечення конфіденційності особистого стану, а не спільного стану, де кілька сторін повинні обчислювати на зашифрованих даних (наприклад, приватний Uniswap). FHE та MPC також необхідні для повної конфіденційності, але перед тим як вони стануть прийнятними варіантами для широкомасштабного використання, вони повинні значно покращити свої показники витрат та продуктивності. Зазначимо, що ZKPs все ще корисні для певних випадків використання, які не потребують конфіденційного спільного стану, наприклад, рішення для ідентифікації або платежі. Не всі проблеми потребують вирішення за допомогою одного й того ж інструменту.
Так де це залишає нас? Хоча ми зробили крок кроку, залишається багато роботи. Найбільш настійкі проблеми, які потрібно вирішити, - це як значення та інформація можуть безпечно переходити між різними модульними компонентами, не жертвуючи швидкістю чи вартістю, а також абстрагування цього від кінцевого споживача, щоб вони не мали справи з мостками між різними ланцюжками, перемиканням гаманців тощо.
Поки ми залишаємося в експериментальній фазі, речі повинні стабілізуватися з часом, коли ми з'ясуємо, де на спектрі оптимальні компроміси для кожного випадку використання. Це, з свого боку, дозволить стандартам (неофіційним або офіційним) виходити на передній план і забезпечувати більшу стабільність для будівельників на цих ланцюжках.
Сьогодні існує багато випадків використання, які за замовчуванням використовують криптоекономічну безпеку через високу вартість та складність генерації ZKPs, та декотрі з яких потребують поєднання двох. Однак ця частка повинна зменшуватися з часом, оскільки ми розробляємо більш ефективні системи доведення та спеціалізоване обладнання для зниження вартості та затримки доведення та верифікації. З кожним експоненційним зменшенням вартості та швидкості відкриваються нові використання.
Хоча цей матеріал спрямований саме на ZKPs, ми також все більше цікавимося тим, як сучасні криптографічні рішення (ZKPs, MPC, FHE та TEE) врешті-решт будуть грати разом - щось, що ми вже бачимо.
Дякую за увагу!
Блокчейн (іменник): координаційний механізм, який дозволяє учасникам з усього світу співпрацювати за набором загальновизнаних правил без будь-якої третьої сторони, яка б це сприяла.
Комп'ютери призначені для виконання трьох речей: зберігання даних, обчислення та спілкування один з одним та людьми. Блокчейни додають четверте вимір: додаткові гарантії, що ці три речі (зберігання, обчислення та комунікація) відбуваються згідно з узгодженим способом. Ці гарантії забезпечують співпрацю між незнайомцями без довіреної третьої сторони для полегшення цього (децентралізована).
Ці додаткові гарантії можуть бути економічними (гра довіри та стимули / дезінцентиви) або криптографічними (математика довіри), але більшість застосувань використовують комбінацію обох - криптоекономіка. Це є різким контрастом до поточного статус-кво в основному на репутації систем.
Хоча Web3 часто описується як «читання, запис, володіння», ми вважаємо, що кращею ідеєю для третьої ітерації Інтернету є «читання, запис, перевірка», оскільки ключовою перевагою публічних блокчейнів єгарантоване обчисленняі проста перевірка того, що ці гарантії були забезпечені. Власність може бути підмножиною гарантованого обчислення, якщо ми будуємо цифрові артефакти, які можна купити, продати та контролювати. Однак багато випадків використання блокчейнів користуються гарантованим обчисленням, але не мають прямого відношення до власності. Наприклад, якщо ваше здоров'я в повністю онлайн-грі складає 77/100 - ви володієте цим здоров'ям, чи це лише може бути забезпечено онлайн згідно з загальноприйнятими правилами? Ми стверджуємо останнє, але Chris Dixonможе не погоджуватися.
Web3 = Читати, Писати, Перевіряти
Блокчейни пропонують багато приводів для захоплення, але децентралізована модель також додає накладних витрат і неефективності за допомогою додаткових функцій, таких як P2P-повідомлення та консенсус. Крім того, більшість блокчейнів все ще перевіряють правильні переходи станів шляхом повторного виконання, що означає, що кожен вузол у мережі повинен повторно виконувати транзакції, щоб перевірити правильність запропонованого переходу стану. Це марнотратно і різко контрастує з централізованою моделлю, де виконує лише один суб'єкт. У той час як децентралізована система завжди містить певні накладні витрати та реплікацію, мета повинна полягати в тому, щоб асимптотично наблизитися до централізованого еталону з точки зору ефективності.
Незважаючи на те, що базова інфраструктура значно поліпшилася протягом останнього десятиліття, ще залишилася багато роботи, перш ніж блокчейни зможуть впоратися з масштабом Інтернету. Ми бачимо компроміси по двом основним вісям - експресивність і складність - і вважаємо, що модульність дозволяє швидше експериментувати по межі компромісу, тоді як ZK її розширює:
Модульність - це ступінь, до якої компоненти системи можуть бути розділені та перекомбіновані. Завдяки швидшим циклам зворотного зв'язку та меншим бар'єрам для входу з меншим обсягом необхідного капіталу (як економічного, так і людського) - модульність дозволяє швидше експериментування та спеціалізацію. Питання про модульність проти інтегрованості не є бінарним, а скоріш спектром для експериментів, яким можна визначити, які частини розумно відокремлювати, а які - ні.
Докази з нульовим розголошенням, або ZKPs, з іншого боку, дозволяють одній стороні (доводячій) довести іншій стороні (перевіряючій), що вони знають, що щось є правдивим, не розголошуючи будь-яку додаткову інформацію поза її валідністю. Це може збільшити масштабованість та ефективність, уникнувши повторного виконання (переходячи від моделі всі виконують для перевірки, до моделі один виконує, всі перевіряють), а також виразність, дозволяючи конфіденційність (з обмеженнями). ZKPs також покращують стійкість гарантій, замінюючи слабкі криптекономічні гарантії більш міцними, що відображено зсувом торговельного фронту вперед (за даними, наведеними на вищевказаній діаграмі).
Ми вважаємо, що як модульність, так і «ZKfication of everything» - це тенденції, які будуть продовжувати прискорюватися. Хоча обидві надають цікаві можливості для дослідження простору окремо - нас особливо цікавить перетин обох. Дві ключові питання, які нас цікавлять, це:
Однак, перш ніж ми зможемо відповісти на ці питання, нам потрібен оновлений погляд на те, як виглядатиме модульний стек у 2024 році.
Часто використовуваний образ модульного стеку з чотирма компонентами (виконання, публікація даних, згода, врегулювання) корисний як проста ментальна модель, але ми вважаємо, що це вже неадекватне представлення, оскільки простір модулів значно еволюціонував. Подальше розбунтовування приводить до появи нових компонентів, які раніше розглядалися як частина більшої частини, а також створення нових залежностей та потреби в безпечній взаємодії між різними компонентами (докладніше про це пізніше). З урахуванням темпу, з яким розвивається цей простір, може бути важко слідкувати за всіма інноваціями на різних рівнях стеку.
Раніше спроби дослідження стеку web3 включають ті, які були проведені Кайл Самані(Multikoin) - спочатку опубліковано в2018 та оновлено в 2019. Це охоплює все, починаючи від децентралізованого Інтернет-доступу останньої милі (такого як Гелій) до управління ключами кінцевого користувача. Хоча принципи, що стоять за цим, можуть бути відновлені, деякі частини, такі як доведення та перевірка, повністю відсутні.
З урахуванням цього ми намагалися створити оновлене представлення того, як виглядатиме модульний стек у 2024 році, розширюючи існуючий чотирьох-частинний модульний стек. Він розділений на компоненти, а не за функціональністю, що означає, що P2P мережування, наприклад, включено в консенсус, а не розділено як окремий компонент - головним чином через те, що складно побудувати протокол навколо цього.
Тепер, коли ми маємо оновлений погляд на модульний стек, ми можемо почати розглядати справжнє питання, тобто які частини стеку ZK вже проникли і які відкриті проблеми можуть бути вирішені шляхом введення ZK (чи уникнення повторного виконання, чи функцій конфіденційності). Нижче наведено підсумок наших висновків, перш ніж ми заглибимося в кожний компонент окремо.
Поточним користувачам блокчейнів потрібно перегортати кілька ланцюжків, гаманців та інтерфейсів, що є незручним та діє як тертя для широкого прийняття. Абстрагування операцій користувача - це загальний термін для будь-якої спроби абстрагувати цю складність та дозволити користувачам взаємодіяти лише з одним інтерфейсом (наприклад, конкретною програмою або гаманцем), при цьому вся складність відбувається на бекенді. Деякі приклади абстракцій на рівні інфраструктури включають:
Транзакції потрібно впорядкувати перед додаванням до блоку, що можна зробити багатьма способами: впорядкування за прибутковістю для пропонента (найбільш прибуткові транзакції першими), у порядку подання (перші виходять першими), надання пріоритету транзакціям з приватних пам'ятів, тощо.
Ще одне питання - хто має право робити замовлення транзакцій. У модульному світі це можуть робити кілька різних сторін, включаючи послідовника rollup (централізованого або децентралізованого), L1 sequencing (на основі rollups) та спільну мережу послідовності (децентралізовану мережу послідовників, яку використовують декілька rollups). Усі вони мають різні припущення про довіру та можливості масштабуванняНа практиці фактичне упорядкування транзакцій та їх пакування в блок також може проводитися поза протоколом спеціалізованими учасниками (блокбілдерами).
Шар виконання містить логіку того, як стан оновлюється, і саме тут виконуються смарт-контракти. Крім того, крім повернення результату обчислення, zkVMs також дозволяють доводити, що переходи між станами були виконані правильно. Це дозволяє іншим учасникам мережі перевіряти правильність виконання, перевіряючи лише доказ, замість того щоб повторно виконувати транзакції.
Крім швидкішої та більш ефективної перевірки, ще однією перевагою доведеної виконавчої влади є можливість більш складних обчислень, оскільки ви не зіштовхнетеся з типовими проблемами газу та обмеженими ресурсами on-chain з off-chain обчисленнями. Це відкриває двері до зовсім нових застосувань, які потребують більш інтенсивних обчислень для роботи на блокчейнах та використовують гарантовані обчислення.
Запит даних або читання даних з блокчейну є невід'ємною частиною більшості додатків. У той час як багато обговорень та зусиль за останні роки було спрямовано на масштабування записів (виконання) - масштабування читань навіть важливіше через дисбаланс між ними (особливо в децентралізованому середовищі). Співвідношення між читанням/записом відрізняється для різних блокчейнів, але один даний пункт є Оцінка Sigщо більше 96% всіх викликів до вузлів на Solana були читаючими (на основі 2 років емпіричних даних) - співвідношення читання/запису 24:1.
Масштабування читань включає як отримання більшої продуктивності (більше читань за секунду) за допомогою спеціалізованих клієнтів валідаторів (таких як Sig на Solana), так і можливість виконання більш складних запитів (поєднуючи читання з обчисленням), наприклад, за допомогою співпроцесорів.
Ще одним аспектом є децентралізація методів запиту даних. Сьогодні більшість запитів на отримання даних в блокчейнах здійснюються завдяки довіреним третім сторонам (на основі репутації), таким як вузли RPC (Infura) та індексатори (Пісок). Приклади більш децентралізованих варіантів включають Графікі операторів, які доводять зберігання (які також можна перевірити). Існують також кілька спроб створення децентралізованої мережі RPC, наприклад Infura DINабоLava Мережа (крім децентралізованого RPC, Lava має на меті надавати пізніше додаткові послуги з доступу до даних).
З використанням все більше та більше додатків, що включають ZKPs, доведення та перевірка швидко стають невід'ємною частиною модульного стеку. Проте на сьогоднішній день більшість інфраструктури доведення все ще має дозвіл та централізована, і багато додатків покладаються на одного доведення.
Хоча централізоване рішення менше складне, децентралізація архітектури підтвердження та розбиття її на окремий компонент у модульному стеку приносить кілька переваг. Однією з ключових переваг є гарантії активності, які є важливими для додатків, які залежать від частого створення доказів. Користувачі також отримують переваги у вищій стійкості до цензури та нижчих комісій, які визначаються конкуренцією та розподілом навантаження серед кількох підтверджувачів.
Ми вважаємо, що мережі загального призначення (багато додатків, багато довідників) є кращими, ніж мережі довідників для одного додатку (один додаток, багато довідників) через більшу використання існуючого обладнання та меншу складність для довідників. Вище використання також користується користувачами у вигляді менших комісій, оскільки довідникам не потрібно було б компенсувати надмірність через вищі комісії (проте потрібно покрити постійні витрати).
Figment Капіталзабезпечено добрий огляд поточного стану ланцюга поставок доказів, який складається як з генерації доказів, так і агрегації доказів (що в собі є генерацією доказів, але лише приймаючи два докази як вхід, а не слід виконання).
Джерело: Figment Capital
Джерело: Figment Capital
Публікація даних (DP) забезпечує доступність даних і легке їх відновлення протягом короткого періоду (1-2 тижні). Це важливо як для безпеки (оптимістичні згортки вимагають вхідних даних для перевірки правильного виконання шляхом повторного виконання під час періоду виклику, 1-2 тижні), так і для активності (навіть якщо система використовує докази правильності, може знадобитися підтвердження власності активу для виходу з лазівок, примусових транзакцій або для перевірки того, що вхідні дані відповідають вихідним). Користувачі (такі як zk-мости та згортки) стикаються з одноразовою оплатою, яка покриває витрати на зберігання транзакцій та стану протягом короткого періоду до його очищення. Мережі публікації даних не призначені для зберігання даних на довгостроковий період (замість цього див. наступний розділ для можливих рішень).
Celestiaбув першим альтернативним рівнем DP, що запустив свою основну мережу (31 жовтня), але незабаром з'явиться багато альтернатив на вибір, так як Скористатися, EigenDA, та Близько до DAвсі очікуються запустити протягом 2024 року. Крім того, Ethereum’s EIP 4844оновлення масштабування публікації даних на Ethereum (на додачу до створення окремого ринку оплати за зберігання блобів) та підготовка ґрунту для повного денк-шардінгу. DP також розширюється на інші екосистеми - одним прикладом є@nubit_org/riema-secureє ангельське інвестування для запуску першого біткойн-нативного шару доступності даних, який прагне побудувати Native DP на біткойні.
Багато рішень DP також пропонують послуги поза чистою публікацією даних, включаючи спільну безпеку для суверенних роллапів (таких як СелестіяіДоступно) або більш плавна взаємодія між rollups (наприклад, Avail’sNexus). Також є проекти (ДоміконіНульова гравітація) які пропонують як публікацію даних, так і зберігання довгострокового стану, що є привабливою пропозицією. Це також приклад повторного пакетування двох компонентів у модульному стеку, щось, що ми, ймовірно, побачимо більше в майбутньому (експерименти як із подальшим розбунтовуванням, так і знову збунтовуванням).
Зберігання історичних даних є важливим переважно для синхронізації та обслуговування запитів на дані. Однак не можливо, щоб кожен повний вузол зберігав усі дані, і більшість повних вузлів видаляють старі дані, щоб зберігати апаратні вимоги в межах розумного. Замість цього ми покладаємося на спеціалізовані сторони (архівні вузли та індексатори), щоб зберігати всі історичні дані та надавати їх за запитом користувачів.
Також існують децентралізовані постачальники сховищ, такі як FilecoinабоArweave, які пропонують довгострокові децентралізовані рішення зберігання за розумною ціною. Хоча більшість блокчейнів не мають формального процесу архівного зберігання (просто розраховують на те, що хтось його зберігає), протоколи децентралізованого зберігання є хорошими кандидатами для зберігання історичних даних та додавання деякої надлишковості (принаймні X вузлів зберігають дані) за допомогою вбудованих стимулів мережі зберігання.
Враховуючи, що блокчейни є розподіленими P2P-системами, не існує довіреної третьої сторони, яка визначає глобальну правду. Натомість, вузли мережі домовляються про те, якою є поточна істина (який блок є правильним) за допомогою механізму, який називається консенсусом. Методи консенсусу на основі PoS можна розділити на BFT (де візантійський відмовостійкий кворум валідаторів визначає остаточний стан) або на основі ланцюга (де остаточний стан визначається ретроспективно правилом вибору форку). У той час як більшість існуючих реалізацій консенсусу PoS базуються на BFT, Карданоце приклад реалізації найдовшого ланцюжка. Існує також зростаючий інтерес до механізмів консенсусу на основі DAG, таких як Narwhal-Bullshark, які реалізовані у деяких варіаціях на Aleo, Aptos та Sui.
Консенсус - це важлива частина багатьох різних компонентів модульного стеку, включаючи спільний послідовник, децентралізоване підтвердження та мережі публікації даних на основі блокчейну (не на основі комітетів, таких як EigenDA).
Розрахунок схожий на найвищий суд правосуддя - остаточне джерело правди, де перевіряється правильність переходів держави й вирішуються спори. Угода вважається остаточною в той момент, коли вона незворотня (або в разі ймовірної остатичності - в той момент, коли було б досить складно скасувати її). Час до остатичності залежить від основного рівня розрахунку, який в свою чергу залежить від конкретного правила остатичності та часу блоку.
Повільна остаточність є особливою проблемою в комунікації між роллапами, де роллапам потрібно чекати на підтвердження від Ethereum перед тим, як зможуть схвалити транзакцію (7 днів для оптимістичних роллапів, 12 хвилин та час доведення для роллапів валідності). Це призводить до поганого досвіду користувачів. Існують кілька зусиль для вирішення цієї проблеми за допомогою попередніх підтверджень з певним рівнем безпеки. Приклади включають в себе як рішення, специфічні для екосистеми, так іБагатокутник AggLayerабоzkSync ГіперМіст) та універсальні рішення, такі як Швидкий шар швидкості Nearяка має на меті об'єднати кілька різних екосистем rollup, використовуючи економічну безпеку від EigenLayer. Є також варіантмісцеві роллап-мости, які використовують EigenLayerдля м'яких підтверджень, щоб уникнути очікування повної остаточності.
Безпека пов'язана з міцністю гарантій і є важливою частиною цінної пропозиції блокчейнів. Однак створення криптекономічної безпеки важке - збільшення бар'єрів для входу й дія як тертя для інновацій для тих додатків, які потребують цього (різноманітні посередницькі програми та альтернативні L1s).
Ідея спільної безпеки полягає в тому, щоб використовувати існуючу економічну безпеку з мереж PoS та піддавати її додатковому ризику стриження (умови покарання), а не намагатися кожному компоненту самостійно розгортати свій власний. Були деякі попередні спроби зробити те ж саме в мережах PoWспільний майнінг.)), але неспівміщені стимули полегшили співпрацю шахтарів та експлуатацію протоколу (важче покарати погану поведінку, оскільки робота відбувається в реальному світі, тобто видобуток за допомогою обчислювальної потужності). Безпека PoS є більш гнучкою для використання іншими протоколами, оскільки в ній є як позитивні (винагорода за стейкінг), так і негативні (зниження) стимули.
Протоколи, які будуються на засаді спільної безпеки, включають:
Безпечна та ефективна взаємодія залишається великою проблемою в світі багатьох ланцюжків, чому ілюструє $2.8bn втрачено в результаті взломів мостів. У модульних системах взаємодія стає ще важливішою - Ви спілкуєтеся не лише з іншими ланцюгами, але і модульні блокчейни потребують, щоб різні компоненти спілкувалися один з одним (наприклад, шар розповсюдження та розрахунковий шар). Таким чином, вже не є реальним просто запустити повний вузол або перевірити одне консенсус-доказ, як у інтегрованих блокчейнах. Це додає більше рухомих частин до рівняння.
Інтероперабельність включає як мостки для токенів, так і загальне передавання повідомлень між блокчейнами. Існує кілька різних варіантів, кожен з яких робить різні компроміси щодо безпеки, затримки та вартості. Оптимізація для всіх трьох дуже складна, що зазвичай вимагає пожертвування принаймні однієї з них. Крім того, різні стандарти між ланцюжками ускладнюють впровадження на нових ланцюжках.
Хоча нам ще не вистачає чіткого визначення різних типів легких клієнтів (або вузлів), цей пост від Діно(співзасновник Fluent & Modular Media) дає гарне вступ. Більшість легких клієнтів сьогодні перевіряють лише згоду, але в ідеалі ми мали б мати легкі клієнти, які можуть перевіряти виконання та DA, щоб зменшити припущення про довіру. Це дозволило б наблизитися до безпеки повного вузла, без високих вимог до обладнання.
Припускаючи, що ми зможемо досягти стану, де генерація ZKPs стане дуже швидкою (майже зі швидкістю світла) і надзвичайно дешевою (майже безкоштовною), який вигляд матиме кінцева гра? Іншими словами - коли ZK з'їла модулярний стек?
Загалом, ми вважаємо, що дві речі будуть правдивими в цьому стані світу:
Третім умовою було б конфіденційність (або управління потоком інформації), але це складніше. ZKPs можуть бути використані для деяких додатків з конфіденційністю з доведенням на клієнтському боці, що будується для платформ, таких як Aleo, Aztec або Polygon Miden, але досягнення широкомасштабної конфіденційності для всіх потенційних використань залежить також від прогресу MPC і FHE - потенційна тема для майбутнього блог-посту.
Що, якщо ми помиляємося, і майбутнє не буде ані модульним, ані ZK'fied? Деякі потенційні ризики для нашої тези включають:
Як користувачі, так і розробники страждають від постійно зростаючої кількості ланцюжків. Користувачам потрібно керувати коштами в кількох ланцюжках (і, можливо, кількох гаманцях). Розробники додатків, з іншого боку, мають меншу стабільність і передбачуваність, враховуючи, наскільки простір все ще розвивається, що ускладнює прийняття рішення про те, який ланцюжок будувати. Їм також потрібно думати про фрагментацію стану та ліквідності. Це особливо актуально зараз, оскільки ми все ще експериментуємо на межі того, які компоненти мають сенс відокремлювати, а які будуть знову з'єднані. Ми вважаємо, що абстракція від роботи користувача, а також безпечні та ефективні рішення для взаємодії є важливими частинами для вирішення цієї проблеми.
Не можна уникнути факту, що генерація доказів займає занадто багато часу, а вартість як доведення, так і перевірки досі є надто високою. Конкуруючі рішення, такі як оточуючі середовища довіри/TEEs (приватність) або оптимістичні/криптоекономічні рішення забезпечення безпеки (вартість), все ще мають більший сенс для багатьох застосувань сьогодні.
Багато роботи, однак, виконується щодо оптимізації програмного забезпечення та апаратного прискорення для ZKPs. Агрегування доказів допоможе подальше зменшити витрати на верифікацію, розподіляючи витрати між кількома різними сторонами (нижчі витрати на користувача). Існує також можливість адаптації базового рівня для оптимізації верифікації ZKPs. Одним із викликів щодо апаратного прискорення для ZKPs є швидкий розвиток систем доведення. Це ускладнює створення спеціалізованого апаратного забезпечення (ASICs), оскільки вони ризикують швидко застаріти, якщо стандарти базових систем доведення еволюціонують.
Ingonyamaспробував створити деякі вимірювання продуктивності доведення через порівняльну метрику під назвою ZK оцінка. Вона базується на вартості виконання обчислень (OPEX) та відстежує MMOPS/WATT, де MMOPS означає модулярні операції множення на секунду. Для подальшого читання на цю тему ми рекомендуємо блоги від @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic and @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama, а також ця промова Вей Дай.
ZKPs можуть бути використані лише для забезпечення конфіденційності особистого стану, а не спільного стану, де кілька сторін повинні обчислювати на зашифрованих даних (наприклад, приватний Uniswap). FHE та MPC також необхідні для повної конфіденційності, але перед тим як вони стануть прийнятними варіантами для широкомасштабного використання, вони повинні значно покращити свої показники витрат та продуктивності. Зазначимо, що ZKPs все ще корисні для певних випадків використання, які не потребують конфіденційного спільного стану, наприклад, рішення для ідентифікації або платежі. Не всі проблеми потребують вирішення за допомогою одного й того ж інструменту.
Так де це залишає нас? Хоча ми зробили крок кроку, залишається багато роботи. Найбільш настійкі проблеми, які потрібно вирішити, - це як значення та інформація можуть безпечно переходити між різними модульними компонентами, не жертвуючи швидкістю чи вартістю, а також абстрагування цього від кінцевого споживача, щоб вони не мали справи з мостками між різними ланцюжками, перемиканням гаманців тощо.
Поки ми залишаємося в експериментальній фазі, речі повинні стабілізуватися з часом, коли ми з'ясуємо, де на спектрі оптимальні компроміси для кожного випадку використання. Це, з свого боку, дозволить стандартам (неофіційним або офіційним) виходити на передній план і забезпечувати більшу стабільність для будівельників на цих ланцюжках.
Сьогодні існує багато випадків використання, які за замовчуванням використовують криптоекономічну безпеку через високу вартість та складність генерації ZKPs, та декотрі з яких потребують поєднання двох. Однак ця частка повинна зменшуватися з часом, оскільки ми розробляємо більш ефективні системи доведення та спеціалізоване обладнання для зниження вартості та затримки доведення та верифікації. З кожним експоненційним зменшенням вартості та швидкості відкриваються нові використання.
Хоча цей матеріал спрямований саме на ZKPs, ми також все більше цікавимося тим, як сучасні криптографічні рішення (ZKPs, MPC, FHE та TEE) врешті-решт будуть грати разом - щось, що ми вже бачимо.
Дякую за увагу!