На шляху до розблокування нового класу програм. Не обчислення, які нам потрібні, а обчислення, яких ми заслуговуємо.
Децентралізовані програми стикаються з обмеженнями у виконанні складних обчислень у мережі через обмежені можливості обробки Ethereum. У результаті ми спостерігали, як багато протоколів DeFi переміщують такі компоненти, як книги замовлень і системи ризиків, за межі мережі. Це вказує на потребу в індивідуальних обчислювальних середовищах, адаптованих до конкретних завдань.
Ми спостерігали повільний, але поступовий перехід багатьох програм defi, розгорнутих у мережі, які керують частинами своєї системи поза мережею. Dydx V4 збирається зберігати свою книгу замовлень поза мережею та, можливо, також свою систему маржі. Blur зберігає частини свого обміну поза ланцюгом для плавного UX. Aevo, біржа опціонів, зберігає свою книгу замовлень і систему ризиків поза мережею. Найпростішою причиною цього є складність підтримувати ці орієнтовані на продуктивність системи в ланцюжку ефективно та масштабовано.
Міграція компонентів за межі мережі вказує на ширшу потребу – налаштовані (і продуктивні) обчислювальні середовища, адаптовані до конкретних завдань. Але це ще не все. У цьому режимі статус-кво працює добре. Коли протокол запускає систему поза ланцюгом, ви, користувач, не можете довіряти, чи система працює поза ланцюгом, як це зазначено. Обчислення, які можна перевірити, усувають припущення про довіру, дозволяючи протоколам виконувати обчислення поза ланцюгом без введення факторів довіри. Це обіцянка співпроцесорів для Ethereum. Перш ніж обговорювати модель співпроцесора в Ethereum, давайте коротко нагадаємо, звідки походить ця ідея.
Концепція співпроцесорів виникла в комп’ютерній архітектурі як метод підвищення продуктивності. Традиційні комп’ютери покладаються на єдиний центральний процесор (CPU) для виконання всіх обчислень. Однак ЦП перевантажувався, оскільки робочі навантаження ускладнювалися.
На допомогу були представлені співпроцесори – спеціалізовані процесори, призначені для конкретних завдань. Наприклад, графічні процесори (GPU) обробляють величезні паралельні обчислення, необхідні для 3D-рендерінгу. Це дозволяє головному процесору зосередитися на обробці загального призначення. Інші поширені співпроцесори включають криптографічні прискорювачі для шифрування/дешифрування, сигнальні процесори для мультимедіа та математичні співпроцесори для наукових обчислень. Кожен співпроцесор має оптимізовану архітектуру, щоб ефективно виконувати своє робоче навантаження. (Хоч можна сказати, що більша частина цього включена в паралельне програмування, аля GPU.)
Такий розподіл праці між центральним процесором і співпроцесорами призвів до значного підвищення продуктивності. Модель співпроцесора дозволила комп’ютерам виконувати дедалі складніші робочі навантаження, які неможливо виконати з єдиним ЦП широкого профілю.
Ethereum також можна вважати віртуальною машиною для центральних процесорів широкого профілю, і вона не обладнана для виконання важких обчислень просто через додаткові витрати, які доведеться заплатити за її роботу в ланцюжку, що обмежує розгортання різноманітних протоколів, навіть змушуючи дизайнерів придумувати щось нове в рамках обмежень EVM. Простіше кажучи, витрати занадто обмежувальні для складних застосувань. Це також призвело до того, що різні протоколи зберігають частини свого протоколу поза ланцюгом, і кожна така розгорнута позаланцюгова модель принесла з собою певне поняття ризику. Ризик централізації та ризик просто довіри; ви вірите, що протокол не є шкідливим, що дещо суперечить духу децентралізованих програм.
У цій статті я намагаюся розглянути деякі з цих рішень і пропоную уявлення про те, які програми можна розблокувати завдяки цій інфраструктурі. Я також спробую розглянути альтернативні способи розвантаження обчислень, які обов’язково стануть наріжним каменем додатків у криптопросторі.
Співпроцесори, подібні до тих, які пропонують Axiom і RiscZero, нещодавно відкрили новий вимір додатків, можливих у ланцюжку, дозволяючи розумним контрактам розвантажувати важкі обчислення. Системи пропонують доказ того, що код було виконано у спосіб, який може перевірити кожен.
Bonsai та Axiom є схожими рішеннями, оскільки вони дозволяють виконувати довільні обчислення з доступом до стану on-chain поза ланцюгом і надають «квитанції», що обчислення було виконано.
Axiom дозволяє смарт-контрактам Ethereum отримувати доступ до більшої кількості історичних даних у мережі та виконувати складні обчислення, зберігаючи децентралізацію та безпеку мережі. Наразі контракти мають доступ до дуже обмежених даних із поточного блоку, що обмежує типи програм, які можна створювати. У той же час, щоб дозволити контрактам доступ до повних історичних даних архіву, усі вузли мережі повинні зберігати повний архів, що неможливо через витрати на зберігання та негативно вплине на децентралізацію.
Для вирішення цієї проблеми Axiom розробляє систему «ZK co-processor». Це дозволяє контрактам запитувати історичні дані блокчейну та виконувати обчислення поза мережею через мережу Axiom. Вузли Axiom отримують доступ до запитуваних даних у ланцюжку та виконують вказані обчислення. Ключ полягає в тому, щоб створити нульовий доказ того, що результат було обчислено правильно на основі дійсних даних у ланцюжку. Цей доказ перевіряється в ланцюжку, що гарантує, що результат можна довіряти контрактам.
Цей підхід надає контрактам доступ до значно більшої кількості даних з історії ланцюга та можливість виконувати над ними складні обчислення, не обтяжуючи вузли базового рівня. Axiom вважає, що це дозволить створити нові категорії додатків, які покладаються на перевірений, об’єктивний аналіз історичної активності блокчейну. Вони вже запустили функціонал основної мережі для читання основних даних і планують розширити до повного доступу до архівних даних і перевірки ZK функцій перегляду контрактів у найближчому майбутньому. Їхнє довгострокове бачення — це ще більш просунуті обчислення ZK за межі можливостей EVM.
Генеруючи докази правильного виконання поза ланцюгом, Axiom відкриває нові категорії блокчейн-додатків.
Risc Zero розробив універсальну віртуальну машину з нульовим знанням (zkVM), яка дозволяє перевіряти довільні програми, написані такими мовами, як Rust, C/C++ і Go, без знань.
ZkVM дозволяє розробникам підтверджувати довільний код Rust без жодних знань без необхідності проектувати власні схеми. Мета полягає в тому, щоб зробити розробку додатків без знань більш доступною. ZkVM генерує підтвердження, яке засвідчує, що програму було виконано правильно, не розкриваючи приватні вхідні дані чи логіку. Це дозволяє проводити інтенсивні обчислення поза ланцюгом, а квитанції підтверджують правильне виконання в ланцюзі. Ящики Rust працюють у цій zkVM, але є деякі обмеження щодо системних викликів. Функція під назвою продовження дозволяє розділити великі обчислення на сегменти, які можна перевірити незалежно. Це дозволяє виконувати паралельне підтвердження, таким чином усуваючи обмеження на розмір обчислень, і дозволяє призупиняти/відновлювати програми zkVM. Продовження увімкнули нові варіанти використання, як-от повністю гомоморфне шифрування, EVM і WASM у zkVM.
Bonsai — це позаланцюгова служба перевірки з нульовим знанням, розроблена Risc Zero, щоб уможливити використання їх універсальної zkVM для програм Ethereum і блокчейн. Він забезпечує міст між смарт-контрактами в ланцюжку та обчисленнями поза ланцюгом у zkVM.
Робочий процес, увімкнений Bonsai, такий:
Розробник пише смарт-контракт, який звертається до релейного контракту Bonsai, щоб запитати обчислення поза мережею
Bonsai стежить за цими запитами в мережі та виконує відповідну програму zkVM, написану на Rust
Програма zkVM працює в інфраструктурі Bonsai, виконуючи інтенсивні або приватні обчислення поза ланцюгом, а потім генерує доказ того, що її було виконано правильно.
Результати підтвердження, які називаються «квитанціями», надсилаються Bonsai назад у ланцюжок за допомогою договору ретрансляції.
Розумний контракт розробника отримує результати у функції зворотного виклику
Це дозволяє обчислювально інтенсивній або чутливій логіці виконуватися поза ланцюжком, водночас перевіряючи правильне виконання через zk-докази в ланцюзі. Смарт-контракт повинен лише обробляти запити на обчислення та використовувати результати.
Bonsai абстрагується від складності компіляції коду Rust у байт-код zkVM, завантаження програм, виконання у віртуальній машині та повернення доказів. Розробники можуть зосередитися на написанні логіки своєї програми. Таким чином, ця інфраструктура дозволяє виконувати обчислення загального призначення поза мережею, зберігаючи при цьому конфіденційні дані та логіку.
Bonsai дає змогу розробникам створювати блокчейн-додатки з обчисленнями поза ланцюгом просто, не потребуючи досвіду в базовій криптографії та інфраструктурі zkVM. Простіше кажучи, Bonsai дозволяє розробникам легко інтегрувати обчислення поза ланцюгом без досвіду zk.
Чи є ZK-співпроцесор єдиним способом досягти перевірених обчислень поза мережею? Які інші програми існують для розвантаження обчислень надійним і безпечним способом? Хоча думки щодо властивостей безпеки, ефективності та реалізації відрізняються, вони досліджуються в різних куточках криптографії та поступово виходитимуть на передній план.
Такі альтернативи, як MPC і TEE, пропонують інші підходи до обчислень поза мережею, які можна перевірити. MPC дозволяє спільно обчислювати конфіденційні дані, тоді як TEE пропонують безпечні анклави на основі апаратного забезпечення. Обидва представляють компроміси, але можуть бути альтернативою для ZK-співпроцесорів.
Захищене багатостороннє обчислення (MPC) дозволяє кільком сторонам спільно обчислювати функцію на своїх вхідних даних, зберігаючи ці вхідні дані конфіденційними. Це дозволяє співпрацювати над конфіденційними даними, зберігаючи таким чином конфіденційність для всіх учасників. Однак досягнення справедливості в MPC, де або всі сторони дізнаються результати, або жодна, неможливо, якщо більшість сторін нечесні. Іншими словами, гарантії конфіденційності та цілісності зникають, коли всі вузли пошкоджені. Технологія блокчейн може допомогти зробити протоколи MPC більш справедливими.
Уявіть собі трьох друзів, які хочуть знати середню свою зарплату, не повідомляючи один одному про свою зарплату. Для цього вони можуть використовувати Secure MPC.
Припустимо, що друзями є Аліса, Боб і Єва:
Аліса бере свою зарплату, додає до неї випадкове число та повідомляє результат Бобу.
Боб додає свою зарплату та ще одне випадкове число до числа, яке він отримав від Аліси, а потім повідомляє результат Єві.
Єва додає свою зарплату до числа від Боба, потім віднімає всі випадкові числа, додані раніше, і ділить результат на три, щоб знайти середнє значення.
Остаточне число є середнім розміром їхніх зарплат; ніхто нічого не дізнався про зарплату інших. Один нюанс, на який варто звернути увагу, полягає в тому, що хоча ніхто не знає точної зарплати один одного, якщо середня зарплата нижча за зарплату Єви, Єва може зробити висновок, що зарплата одного з двох інших менша за її.
Блокчейн забезпечує захищену від несанкціонованого втручання публічну книгу, яка дозволяє сторонам публікувати інформацію. Використовуючи свідкове шифрування, сторони можуть зашифрувати вихідні дані нечесного протоколу MPC. Вони розміщують маркери в реєстрі, що дозволяє отримати ключ дешифрування. Оскільки книга є загальнодоступною, усі сторони можуть отримати доступ до ключа дешифрування одночасно. Це забезпечує справедливий протокол дешифрування, коли або всі сторони розшифровують вихідні дані, або ніхто.
У статті «MPC як рівень конфіденційності блокчейну» Ендрю Міллер розповідає про те, як MPC може допомогти в обчисленнях приватних даних. Публічно перевірений MPC використовує докази нульового знання, щоб зберегти цілісність, незважаючи на повне пошкодження вузла. Клієнти надсилають вхідні дані, щоб підтвердити дійсність. Вузли MPC генерують докази правильності обчислень. Зрештою, верифікатори перевірятимуть відповідність входів, виходів і доказів. Цей аудит вимагає мінімальних накладних витрат понад стандартні витрати MPC. Докази є короткими за допомогою SNARK з універсальним налаштуванням. Однак залишаються питання щодо оптимізації продуктивності, моделей програмування та розгортання в реальному світі.
Конфіденційні дані, такі як особиста інформація, фінансові дані тощо, повинні бути захищені під час зберігання або передачі, а також під час їх використання та обчислення. Традиційні методи шифрування захищають дані в стані спокою та під час передачі, але не під час активного використання даних. Це проблема, оскільки під час обробки даних вони часто перебувають у незашифрованому вигляді, що робить їх вразливими для атак.
Довірені середовища виконання (або захищені анклави) — це ізольовані середовища, де дані можуть бути зашифровані, але в них все ще можна виконувати обчислення. Ключова ідея полягає в тому, щоб ізолювати дані та обчислення, щоб навіть привілейовані системні процеси не могли отримати до них доступ. Довірені середовища виконання (TEE) — це безпечні зони всередині процесора, які забезпечують апаратні функції безпеки для захисту конфіденційних даних і коду. Вони ізолюють певне програмне забезпечення від решти системи, гарантуючи, що дані в TEE не можуть бути підроблені навіть операційною системою чи іншим програмним забезпеченням, запущеним на пристрої.
TEE дозволяють конфіденційним даним залишатися захищеними навіть під час їх використання. Це дозволяє використовувати такі програми, як соціальні мережі, що зберігають конфіденційність, фінансові послуги, охорона здоров’я тощо. Існують певні обмеження щодо ефективності та припущень про довіру, але анклави — це потужна технологія з багатьма потенційними застосуваннями, особливо в поєднанні з блокчейн-мережами для створення надійних систем, які не піддаються цензурі. Компроміс навколо довіри може бути прийнятним для багатьох комерційних і некомерційних програм, де потрібна сувора конфіденційність даних.
Довірені середовища виконання (TEE) дозволяють передати обчислення ненадійному сторонньому хмарному постачальнику, зберігаючи при цьому конфіденційність ваших даних і захист операцій від несанкціонованого доступу. Це дуже корисно для децентралізованих програм і організацій, які хочуть скористатися перевагами зручності та економії коштів хмари, не жертвуючи конфіденційністю чи контролем. Але TEE не вирішують чарівним чином усіх проблем – ще є деякі практичні проблеми, які потрібно вирішити, перш ніж більшість розробників зможуть легко ними скористатися.
Вони є потужним будівельним блоком, але все ще потребують ретельного дослідження систем, щоб усунути їх обмеження, пов’язані з згаданим вище, а також централізацією постачальника, масштабуванням і відмовостійкістю.
Довірені середовища виконання (TEE), такі як Intel SGX і AWS Nitro Enclave, забезпечують ізольоване середовище для виконання конфіденційних обчислень і зберігання конфіденційних даних. TEE гарантують, що навіть привілейовані системні процеси не зможуть отримати доступ до коду та даних усередині TEE або змінити їх. Це дозволяє децентралізованим програмам і організаціям передавати обчислення ненадійним стороннім хмарним хостам, не турбуючись про конфіденційність або цілісність.
Вирішення цих проблем значно розширить застосовність TEE для децентралізованих додатків, які потребують високої цілісності, конфіденційності та стійкості до цензури, одночасно передаючи обчислення та зберігання в ненадійні хмари. TEE є потужним примітивом, але продумане спільне проектування системи залишається необхідним для вирішення їхніх обмежень.
При оцінці співпроцесорів важливою мірою є модель безпеки та рівень надійності, необхідний для різних типів обчислень. Певні конфіденційні обчислення, наприклад зіставлення замовлень, вимагають максимальної безпеки та мінімальних припущень щодо довіри. Для них співпроцесори, які використовують докази з нульовим знанням, такі як zk-співпроцесори, надають сильні гарантії, оскільки результати можна перевірити без довіри до оператора.
Однак zk-співпроцесори можуть мати недоліки в ефективності та гнучкості. Інші підходи, такі як MPC або надійне обладнання, можуть бути прийнятними компромісами для менш чутливих обчислень, таких як аналітика чи моделювання ризиків. Забезпечуючи слабкіші гарантії, вони дають змогу більш ефективно виконувати більш широкий спектр обчислень. Необхідний рівень безпеки залежить від стійкості програм до ризику. Команди повинні проаналізувати цінність, поставлену на карту, і оцінити, чи є неперевірені, але ефективні співпроцесори розумним інженерним компромісом для певних некритичних обчислень.
Загалом співпроцесори охоплюють спектр моделей безпеки, і команди повинні підбирати рішення відповідно до вимог безпеки для конкретних завдань. Екосистема ще тільки зароджується, тому подальший прогрес у масштабованих перевірених обчисленнях розширить можливості.
У блозі «Контроль із зворотним зв’язком як новий примітив для Defi» автори згадують, що механізми керування для механізму defi можуть повільно оновлюватися від одного кінця до іншого, використовуючи навчання з підкріпленням (RL) і DRL, оскільки обчислення та зберігання стають надлишковими. Хоча RL все ще може бути складним, програми машинного навчання все ще можуть бути можливими завдяки обчисленню, яке можна перевірити.
Протоколи кредитування минулого року піддавалися пильній перевірці через ймовірність безнадійної заборгованості через агресивні параметри для токена, який позичався на ведмежому ринку, в іншому випадку відсутній ліквідність. Моделі, які можуть отримати доступ до ліквідності в мережі та створити профіль ліквідності для активів, можуть динамічно змінювати параметри.
Наприклад, протоколи кредитування можуть виграти від динамічного контролю процентних ставок на основі даних у ланцюжку в реальному часі. Замість того, щоб покладатися на попередньо встановлені моделі процентних ставок, система контролю зі зворотним зв’язком могла б алгоритмічно регулювати ставки на основі поточного використання та факторів ліквідності.
Наприклад, коли попит на запозичення активу високий, що підвищує рівень використання, контролер може швидко підвищити процентні ставки, щоб стимулювати пропозицію та стабілізувати використання. І навпаки, коли використання низьке, ставки можна знизити, щоб стимулювати запозичення. Параметри контролера можна налаштувати для оптимізації для таких цілей, як максимізація прибутку протоколу або мінімізація волатильності.
Для реалізації цього протоколу потрібен доступ до даних у ланцюжку в режимі реального часу, таких як загальна сума запозичених коштів, доступна ліквідність та інші показники використання. Потім логіка контролера обробляє ці дані для обчислення оптимальних коригувань процентної ставки. Оновлення ставок може регулюватися в ланцюжку через DAO або поза ланцюгом із перевіркою доказів.
Для реалізації цього протоколу потрібен доступ до даних у ланцюжку в режимі реального часу, таких як загальна сума запозичених коштів, доступна ліквідність та інші показники використання. Потім логіка контролера обробляє ці дані для обчислення оптимальних коригувань процентної ставки. Оновлення курсів може регулюватися в ланцюжку через DAO або поза ланцюгом із перевіркою доказів. Хоча нещодавня робота Chitra et al. показав, що динамічні моделі кредитування призводять до більшого MEV. Отже, дизайн цих протоколів потребує ретельного розгляду.
Велика кількість доступу до даних блокчейну приводить нас до природного висновку про використання програм машинного навчання таким чином. Хоча перевірити обчислення для додатків машинного навчання може бути трохи складніше, верифіковані обчислення ML самі по собі є величезним ринком. Вони також можуть бути використані для мережевих програм, особливо в деяких програмах безпеки.
Дані блокчейна містять цінні сигнали, які моделі машинного навчання можуть використовувати для виявлення підозрілої активності або систем управління ризиками живлення. Однак запуск ML в ланцюжку наразі неможливий через витрати на газ і проблеми конфіденційності. Це може виглядати як on-chain системи моніторингу для смарт-контрактів, гаманців або портфельних менеджерів для виявлення підозрілих зняття коштів або переказів. Існує величезна кількість даних профілювання, доступних для різних типів сигналів, які потрібно отримати у випадку безпеки, це може бути для «Ruggers», «Hacks» та інших зловмисних атак. Його також можна використовувати для програм визначення кредитоспроможності та профілювання ризиків для кредиторів і позичальників, враховуючи їх історію ончейну.
Проблеми включають якість даних, відхилення концепції та обмеження продуктивності систем перевірки. Але завдяки поєднанню машинного навчання з обчисленнями поза мережею, які можна перевірити, співпроцесори відкривають багато нових можливостей для аналізу блокчейну та управління ризиками.
Системи маржі для безстрокових свопів завжди були приховані від користувачів щодо централізованих і навіть децентралізованих бірж. Системи маржі для таких деривативів, як безстрокові свопи та опціони, традиційно були непрозорими чорними скриньками, контрольованими централізованими біржами.
Співпроцесори дають можливість реалізувати прозору та перевірену логіку маржі для децентралізованої торгівлі. Обіцянка запровадити перевірені системи автоматичного зменшення боргу пропонує вищий коефіцієнт довіри для користувачів і одразу відрізняє їх від централізованих аналогів.
Система маржі може відстежувати індексовані ціни та значення позицій для безстрокових свопів, ліквідуючи позиції до того, як їх маржинальний баланс стане від’ємним. Усі параметри ризику, такі як коефіцієнт маржі обслуговування, ставки фінансування та ліквідаційні штрафи, можуть регулюватися в ланцюжку.
Однак інтенсивні обчислення для розрахунку маржинальних залишків, нереалізованого прибутку, ліквідаційних сум тощо можна перенести на співпроцесор. Він виконував би логіку маржинального механізму в конфіденційному середовищі та створював докази, що підтверджують правильність обчислень.
Переваги співпроцесорного підходу включають прозорість, можливість перевірки та конфіденційність. Логіка маржинального механізму більше не є запатентованою чорною скринькою. Обчислення відбуваються поза мережею, але користувачі можуть довіряти доказам правильності виконання. Те саме можна досягти і для опціонів.
Проблеми включають ефективне створення доказів для інтенсивних розрахунків маржі. Але в цілому співпроцесори розкривають новий потенціал для децентралізованих похідних платформ, поєднуючи конфіденційність із можливістю перевірки.
Співпроцесори значно розширюють можливості блокчейн-додатків без шкоди для децентралізації. Оскільки передові проекти продовжують впроваджувати інновації в цьому просторі, майбутнє виглядає яскравим для перевірених оф-чейн обчислень на Ethereum і за його межами.
У майбутній статті я розповім про безпеку цих рішень, порівняю їх із зведеннями, як вони вписуються в ширший ландшафт додатків Ethereum і чи є вони панацеєю від проблем масштабування.
На шляху до розблокування нового класу програм. Не обчислення, які нам потрібні, а обчислення, яких ми заслуговуємо.
Децентралізовані програми стикаються з обмеженнями у виконанні складних обчислень у мережі через обмежені можливості обробки Ethereum. У результаті ми спостерігали, як багато протоколів DeFi переміщують такі компоненти, як книги замовлень і системи ризиків, за межі мережі. Це вказує на потребу в індивідуальних обчислювальних середовищах, адаптованих до конкретних завдань.
Ми спостерігали повільний, але поступовий перехід багатьох програм defi, розгорнутих у мережі, які керують частинами своєї системи поза мережею. Dydx V4 збирається зберігати свою книгу замовлень поза мережею та, можливо, також свою систему маржі. Blur зберігає частини свого обміну поза ланцюгом для плавного UX. Aevo, біржа опціонів, зберігає свою книгу замовлень і систему ризиків поза мережею. Найпростішою причиною цього є складність підтримувати ці орієнтовані на продуктивність системи в ланцюжку ефективно та масштабовано.
Міграція компонентів за межі мережі вказує на ширшу потребу – налаштовані (і продуктивні) обчислювальні середовища, адаптовані до конкретних завдань. Але це ще не все. У цьому режимі статус-кво працює добре. Коли протокол запускає систему поза ланцюгом, ви, користувач, не можете довіряти, чи система працює поза ланцюгом, як це зазначено. Обчислення, які можна перевірити, усувають припущення про довіру, дозволяючи протоколам виконувати обчислення поза ланцюгом без введення факторів довіри. Це обіцянка співпроцесорів для Ethereum. Перш ніж обговорювати модель співпроцесора в Ethereum, давайте коротко нагадаємо, звідки походить ця ідея.
Концепція співпроцесорів виникла в комп’ютерній архітектурі як метод підвищення продуктивності. Традиційні комп’ютери покладаються на єдиний центральний процесор (CPU) для виконання всіх обчислень. Однак ЦП перевантажувався, оскільки робочі навантаження ускладнювалися.
На допомогу були представлені співпроцесори – спеціалізовані процесори, призначені для конкретних завдань. Наприклад, графічні процесори (GPU) обробляють величезні паралельні обчислення, необхідні для 3D-рендерінгу. Це дозволяє головному процесору зосередитися на обробці загального призначення. Інші поширені співпроцесори включають криптографічні прискорювачі для шифрування/дешифрування, сигнальні процесори для мультимедіа та математичні співпроцесори для наукових обчислень. Кожен співпроцесор має оптимізовану архітектуру, щоб ефективно виконувати своє робоче навантаження. (Хоч можна сказати, що більша частина цього включена в паралельне програмування, аля GPU.)
Такий розподіл праці між центральним процесором і співпроцесорами призвів до значного підвищення продуктивності. Модель співпроцесора дозволила комп’ютерам виконувати дедалі складніші робочі навантаження, які неможливо виконати з єдиним ЦП широкого профілю.
Ethereum також можна вважати віртуальною машиною для центральних процесорів широкого профілю, і вона не обладнана для виконання важких обчислень просто через додаткові витрати, які доведеться заплатити за її роботу в ланцюжку, що обмежує розгортання різноманітних протоколів, навіть змушуючи дизайнерів придумувати щось нове в рамках обмежень EVM. Простіше кажучи, витрати занадто обмежувальні для складних застосувань. Це також призвело до того, що різні протоколи зберігають частини свого протоколу поза ланцюгом, і кожна така розгорнута позаланцюгова модель принесла з собою певне поняття ризику. Ризик централізації та ризик просто довіри; ви вірите, що протокол не є шкідливим, що дещо суперечить духу децентралізованих програм.
У цій статті я намагаюся розглянути деякі з цих рішень і пропоную уявлення про те, які програми можна розблокувати завдяки цій інфраструктурі. Я також спробую розглянути альтернативні способи розвантаження обчислень, які обов’язково стануть наріжним каменем додатків у криптопросторі.
Співпроцесори, подібні до тих, які пропонують Axiom і RiscZero, нещодавно відкрили новий вимір додатків, можливих у ланцюжку, дозволяючи розумним контрактам розвантажувати важкі обчислення. Системи пропонують доказ того, що код було виконано у спосіб, який може перевірити кожен.
Bonsai та Axiom є схожими рішеннями, оскільки вони дозволяють виконувати довільні обчислення з доступом до стану on-chain поза ланцюгом і надають «квитанції», що обчислення було виконано.
Axiom дозволяє смарт-контрактам Ethereum отримувати доступ до більшої кількості історичних даних у мережі та виконувати складні обчислення, зберігаючи децентралізацію та безпеку мережі. Наразі контракти мають доступ до дуже обмежених даних із поточного блоку, що обмежує типи програм, які можна створювати. У той же час, щоб дозволити контрактам доступ до повних історичних даних архіву, усі вузли мережі повинні зберігати повний архів, що неможливо через витрати на зберігання та негативно вплине на децентралізацію.
Для вирішення цієї проблеми Axiom розробляє систему «ZK co-processor». Це дозволяє контрактам запитувати історичні дані блокчейну та виконувати обчислення поза мережею через мережу Axiom. Вузли Axiom отримують доступ до запитуваних даних у ланцюжку та виконують вказані обчислення. Ключ полягає в тому, щоб створити нульовий доказ того, що результат було обчислено правильно на основі дійсних даних у ланцюжку. Цей доказ перевіряється в ланцюжку, що гарантує, що результат можна довіряти контрактам.
Цей підхід надає контрактам доступ до значно більшої кількості даних з історії ланцюга та можливість виконувати над ними складні обчислення, не обтяжуючи вузли базового рівня. Axiom вважає, що це дозволить створити нові категорії додатків, які покладаються на перевірений, об’єктивний аналіз історичної активності блокчейну. Вони вже запустили функціонал основної мережі для читання основних даних і планують розширити до повного доступу до архівних даних і перевірки ZK функцій перегляду контрактів у найближчому майбутньому. Їхнє довгострокове бачення — це ще більш просунуті обчислення ZK за межі можливостей EVM.
Генеруючи докази правильного виконання поза ланцюгом, Axiom відкриває нові категорії блокчейн-додатків.
Risc Zero розробив універсальну віртуальну машину з нульовим знанням (zkVM), яка дозволяє перевіряти довільні програми, написані такими мовами, як Rust, C/C++ і Go, без знань.
ZkVM дозволяє розробникам підтверджувати довільний код Rust без жодних знань без необхідності проектувати власні схеми. Мета полягає в тому, щоб зробити розробку додатків без знань більш доступною. ZkVM генерує підтвердження, яке засвідчує, що програму було виконано правильно, не розкриваючи приватні вхідні дані чи логіку. Це дозволяє проводити інтенсивні обчислення поза ланцюгом, а квитанції підтверджують правильне виконання в ланцюзі. Ящики Rust працюють у цій zkVM, але є деякі обмеження щодо системних викликів. Функція під назвою продовження дозволяє розділити великі обчислення на сегменти, які можна перевірити незалежно. Це дозволяє виконувати паралельне підтвердження, таким чином усуваючи обмеження на розмір обчислень, і дозволяє призупиняти/відновлювати програми zkVM. Продовження увімкнули нові варіанти використання, як-от повністю гомоморфне шифрування, EVM і WASM у zkVM.
Bonsai — це позаланцюгова служба перевірки з нульовим знанням, розроблена Risc Zero, щоб уможливити використання їх універсальної zkVM для програм Ethereum і блокчейн. Він забезпечує міст між смарт-контрактами в ланцюжку та обчисленнями поза ланцюгом у zkVM.
Робочий процес, увімкнений Bonsai, такий:
Розробник пише смарт-контракт, який звертається до релейного контракту Bonsai, щоб запитати обчислення поза мережею
Bonsai стежить за цими запитами в мережі та виконує відповідну програму zkVM, написану на Rust
Програма zkVM працює в інфраструктурі Bonsai, виконуючи інтенсивні або приватні обчислення поза ланцюгом, а потім генерує доказ того, що її було виконано правильно.
Результати підтвердження, які називаються «квитанціями», надсилаються Bonsai назад у ланцюжок за допомогою договору ретрансляції.
Розумний контракт розробника отримує результати у функції зворотного виклику
Це дозволяє обчислювально інтенсивній або чутливій логіці виконуватися поза ланцюжком, водночас перевіряючи правильне виконання через zk-докази в ланцюзі. Смарт-контракт повинен лише обробляти запити на обчислення та використовувати результати.
Bonsai абстрагується від складності компіляції коду Rust у байт-код zkVM, завантаження програм, виконання у віртуальній машині та повернення доказів. Розробники можуть зосередитися на написанні логіки своєї програми. Таким чином, ця інфраструктура дозволяє виконувати обчислення загального призначення поза мережею, зберігаючи при цьому конфіденційні дані та логіку.
Bonsai дає змогу розробникам створювати блокчейн-додатки з обчисленнями поза ланцюгом просто, не потребуючи досвіду в базовій криптографії та інфраструктурі zkVM. Простіше кажучи, Bonsai дозволяє розробникам легко інтегрувати обчислення поза ланцюгом без досвіду zk.
Чи є ZK-співпроцесор єдиним способом досягти перевірених обчислень поза мережею? Які інші програми існують для розвантаження обчислень надійним і безпечним способом? Хоча думки щодо властивостей безпеки, ефективності та реалізації відрізняються, вони досліджуються в різних куточках криптографії та поступово виходитимуть на передній план.
Такі альтернативи, як MPC і TEE, пропонують інші підходи до обчислень поза мережею, які можна перевірити. MPC дозволяє спільно обчислювати конфіденційні дані, тоді як TEE пропонують безпечні анклави на основі апаратного забезпечення. Обидва представляють компроміси, але можуть бути альтернативою для ZK-співпроцесорів.
Захищене багатостороннє обчислення (MPC) дозволяє кільком сторонам спільно обчислювати функцію на своїх вхідних даних, зберігаючи ці вхідні дані конфіденційними. Це дозволяє співпрацювати над конфіденційними даними, зберігаючи таким чином конфіденційність для всіх учасників. Однак досягнення справедливості в MPC, де або всі сторони дізнаються результати, або жодна, неможливо, якщо більшість сторін нечесні. Іншими словами, гарантії конфіденційності та цілісності зникають, коли всі вузли пошкоджені. Технологія блокчейн може допомогти зробити протоколи MPC більш справедливими.
Уявіть собі трьох друзів, які хочуть знати середню свою зарплату, не повідомляючи один одному про свою зарплату. Для цього вони можуть використовувати Secure MPC.
Припустимо, що друзями є Аліса, Боб і Єва:
Аліса бере свою зарплату, додає до неї випадкове число та повідомляє результат Бобу.
Боб додає свою зарплату та ще одне випадкове число до числа, яке він отримав від Аліси, а потім повідомляє результат Єві.
Єва додає свою зарплату до числа від Боба, потім віднімає всі випадкові числа, додані раніше, і ділить результат на три, щоб знайти середнє значення.
Остаточне число є середнім розміром їхніх зарплат; ніхто нічого не дізнався про зарплату інших. Один нюанс, на який варто звернути увагу, полягає в тому, що хоча ніхто не знає точної зарплати один одного, якщо середня зарплата нижча за зарплату Єви, Єва може зробити висновок, що зарплата одного з двох інших менша за її.
Блокчейн забезпечує захищену від несанкціонованого втручання публічну книгу, яка дозволяє сторонам публікувати інформацію. Використовуючи свідкове шифрування, сторони можуть зашифрувати вихідні дані нечесного протоколу MPC. Вони розміщують маркери в реєстрі, що дозволяє отримати ключ дешифрування. Оскільки книга є загальнодоступною, усі сторони можуть отримати доступ до ключа дешифрування одночасно. Це забезпечує справедливий протокол дешифрування, коли або всі сторони розшифровують вихідні дані, або ніхто.
У статті «MPC як рівень конфіденційності блокчейну» Ендрю Міллер розповідає про те, як MPC може допомогти в обчисленнях приватних даних. Публічно перевірений MPC використовує докази нульового знання, щоб зберегти цілісність, незважаючи на повне пошкодження вузла. Клієнти надсилають вхідні дані, щоб підтвердити дійсність. Вузли MPC генерують докази правильності обчислень. Зрештою, верифікатори перевірятимуть відповідність входів, виходів і доказів. Цей аудит вимагає мінімальних накладних витрат понад стандартні витрати MPC. Докази є короткими за допомогою SNARK з універсальним налаштуванням. Однак залишаються питання щодо оптимізації продуктивності, моделей програмування та розгортання в реальному світі.
Конфіденційні дані, такі як особиста інформація, фінансові дані тощо, повинні бути захищені під час зберігання або передачі, а також під час їх використання та обчислення. Традиційні методи шифрування захищають дані в стані спокою та під час передачі, але не під час активного використання даних. Це проблема, оскільки під час обробки даних вони часто перебувають у незашифрованому вигляді, що робить їх вразливими для атак.
Довірені середовища виконання (або захищені анклави) — це ізольовані середовища, де дані можуть бути зашифровані, але в них все ще можна виконувати обчислення. Ключова ідея полягає в тому, щоб ізолювати дані та обчислення, щоб навіть привілейовані системні процеси не могли отримати до них доступ. Довірені середовища виконання (TEE) — це безпечні зони всередині процесора, які забезпечують апаратні функції безпеки для захисту конфіденційних даних і коду. Вони ізолюють певне програмне забезпечення від решти системи, гарантуючи, що дані в TEE не можуть бути підроблені навіть операційною системою чи іншим програмним забезпеченням, запущеним на пристрої.
TEE дозволяють конфіденційним даним залишатися захищеними навіть під час їх використання. Це дозволяє використовувати такі програми, як соціальні мережі, що зберігають конфіденційність, фінансові послуги, охорона здоров’я тощо. Існують певні обмеження щодо ефективності та припущень про довіру, але анклави — це потужна технологія з багатьма потенційними застосуваннями, особливо в поєднанні з блокчейн-мережами для створення надійних систем, які не піддаються цензурі. Компроміс навколо довіри може бути прийнятним для багатьох комерційних і некомерційних програм, де потрібна сувора конфіденційність даних.
Довірені середовища виконання (TEE) дозволяють передати обчислення ненадійному сторонньому хмарному постачальнику, зберігаючи при цьому конфіденційність ваших даних і захист операцій від несанкціонованого доступу. Це дуже корисно для децентралізованих програм і організацій, які хочуть скористатися перевагами зручності та економії коштів хмари, не жертвуючи конфіденційністю чи контролем. Але TEE не вирішують чарівним чином усіх проблем – ще є деякі практичні проблеми, які потрібно вирішити, перш ніж більшість розробників зможуть легко ними скористатися.
Вони є потужним будівельним блоком, але все ще потребують ретельного дослідження систем, щоб усунути їх обмеження, пов’язані з згаданим вище, а також централізацією постачальника, масштабуванням і відмовостійкістю.
Довірені середовища виконання (TEE), такі як Intel SGX і AWS Nitro Enclave, забезпечують ізольоване середовище для виконання конфіденційних обчислень і зберігання конфіденційних даних. TEE гарантують, що навіть привілейовані системні процеси не зможуть отримати доступ до коду та даних усередині TEE або змінити їх. Це дозволяє децентралізованим програмам і організаціям передавати обчислення ненадійним стороннім хмарним хостам, не турбуючись про конфіденційність або цілісність.
Вирішення цих проблем значно розширить застосовність TEE для децентралізованих додатків, які потребують високої цілісності, конфіденційності та стійкості до цензури, одночасно передаючи обчислення та зберігання в ненадійні хмари. TEE є потужним примітивом, але продумане спільне проектування системи залишається необхідним для вирішення їхніх обмежень.
При оцінці співпроцесорів важливою мірою є модель безпеки та рівень надійності, необхідний для різних типів обчислень. Певні конфіденційні обчислення, наприклад зіставлення замовлень, вимагають максимальної безпеки та мінімальних припущень щодо довіри. Для них співпроцесори, які використовують докази з нульовим знанням, такі як zk-співпроцесори, надають сильні гарантії, оскільки результати можна перевірити без довіри до оператора.
Однак zk-співпроцесори можуть мати недоліки в ефективності та гнучкості. Інші підходи, такі як MPC або надійне обладнання, можуть бути прийнятними компромісами для менш чутливих обчислень, таких як аналітика чи моделювання ризиків. Забезпечуючи слабкіші гарантії, вони дають змогу більш ефективно виконувати більш широкий спектр обчислень. Необхідний рівень безпеки залежить від стійкості програм до ризику. Команди повинні проаналізувати цінність, поставлену на карту, і оцінити, чи є неперевірені, але ефективні співпроцесори розумним інженерним компромісом для певних некритичних обчислень.
Загалом співпроцесори охоплюють спектр моделей безпеки, і команди повинні підбирати рішення відповідно до вимог безпеки для конкретних завдань. Екосистема ще тільки зароджується, тому подальший прогрес у масштабованих перевірених обчисленнях розширить можливості.
У блозі «Контроль із зворотним зв’язком як новий примітив для Defi» автори згадують, що механізми керування для механізму defi можуть повільно оновлюватися від одного кінця до іншого, використовуючи навчання з підкріпленням (RL) і DRL, оскільки обчислення та зберігання стають надлишковими. Хоча RL все ще може бути складним, програми машинного навчання все ще можуть бути можливими завдяки обчисленню, яке можна перевірити.
Протоколи кредитування минулого року піддавалися пильній перевірці через ймовірність безнадійної заборгованості через агресивні параметри для токена, який позичався на ведмежому ринку, в іншому випадку відсутній ліквідність. Моделі, які можуть отримати доступ до ліквідності в мережі та створити профіль ліквідності для активів, можуть динамічно змінювати параметри.
Наприклад, протоколи кредитування можуть виграти від динамічного контролю процентних ставок на основі даних у ланцюжку в реальному часі. Замість того, щоб покладатися на попередньо встановлені моделі процентних ставок, система контролю зі зворотним зв’язком могла б алгоритмічно регулювати ставки на основі поточного використання та факторів ліквідності.
Наприклад, коли попит на запозичення активу високий, що підвищує рівень використання, контролер може швидко підвищити процентні ставки, щоб стимулювати пропозицію та стабілізувати використання. І навпаки, коли використання низьке, ставки можна знизити, щоб стимулювати запозичення. Параметри контролера можна налаштувати для оптимізації для таких цілей, як максимізація прибутку протоколу або мінімізація волатильності.
Для реалізації цього протоколу потрібен доступ до даних у ланцюжку в режимі реального часу, таких як загальна сума запозичених коштів, доступна ліквідність та інші показники використання. Потім логіка контролера обробляє ці дані для обчислення оптимальних коригувань процентної ставки. Оновлення ставок може регулюватися в ланцюжку через DAO або поза ланцюгом із перевіркою доказів.
Для реалізації цього протоколу потрібен доступ до даних у ланцюжку в режимі реального часу, таких як загальна сума запозичених коштів, доступна ліквідність та інші показники використання. Потім логіка контролера обробляє ці дані для обчислення оптимальних коригувань процентної ставки. Оновлення курсів може регулюватися в ланцюжку через DAO або поза ланцюгом із перевіркою доказів. Хоча нещодавня робота Chitra et al. показав, що динамічні моделі кредитування призводять до більшого MEV. Отже, дизайн цих протоколів потребує ретельного розгляду.
Велика кількість доступу до даних блокчейну приводить нас до природного висновку про використання програм машинного навчання таким чином. Хоча перевірити обчислення для додатків машинного навчання може бути трохи складніше, верифіковані обчислення ML самі по собі є величезним ринком. Вони також можуть бути використані для мережевих програм, особливо в деяких програмах безпеки.
Дані блокчейна містять цінні сигнали, які моделі машинного навчання можуть використовувати для виявлення підозрілої активності або систем управління ризиками живлення. Однак запуск ML в ланцюжку наразі неможливий через витрати на газ і проблеми конфіденційності. Це може виглядати як on-chain системи моніторингу для смарт-контрактів, гаманців або портфельних менеджерів для виявлення підозрілих зняття коштів або переказів. Існує величезна кількість даних профілювання, доступних для різних типів сигналів, які потрібно отримати у випадку безпеки, це може бути для «Ruggers», «Hacks» та інших зловмисних атак. Його також можна використовувати для програм визначення кредитоспроможності та профілювання ризиків для кредиторів і позичальників, враховуючи їх історію ончейну.
Проблеми включають якість даних, відхилення концепції та обмеження продуктивності систем перевірки. Але завдяки поєднанню машинного навчання з обчисленнями поза мережею, які можна перевірити, співпроцесори відкривають багато нових можливостей для аналізу блокчейну та управління ризиками.
Системи маржі для безстрокових свопів завжди були приховані від користувачів щодо централізованих і навіть децентралізованих бірж. Системи маржі для таких деривативів, як безстрокові свопи та опціони, традиційно були непрозорими чорними скриньками, контрольованими централізованими біржами.
Співпроцесори дають можливість реалізувати прозору та перевірену логіку маржі для децентралізованої торгівлі. Обіцянка запровадити перевірені системи автоматичного зменшення боргу пропонує вищий коефіцієнт довіри для користувачів і одразу відрізняє їх від централізованих аналогів.
Система маржі може відстежувати індексовані ціни та значення позицій для безстрокових свопів, ліквідуючи позиції до того, як їх маржинальний баланс стане від’ємним. Усі параметри ризику, такі як коефіцієнт маржі обслуговування, ставки фінансування та ліквідаційні штрафи, можуть регулюватися в ланцюжку.
Однак інтенсивні обчислення для розрахунку маржинальних залишків, нереалізованого прибутку, ліквідаційних сум тощо можна перенести на співпроцесор. Він виконував би логіку маржинального механізму в конфіденційному середовищі та створював докази, що підтверджують правильність обчислень.
Переваги співпроцесорного підходу включають прозорість, можливість перевірки та конфіденційність. Логіка маржинального механізму більше не є запатентованою чорною скринькою. Обчислення відбуваються поза мережею, але користувачі можуть довіряти доказам правильності виконання. Те саме можна досягти і для опціонів.
Проблеми включають ефективне створення доказів для інтенсивних розрахунків маржі. Але в цілому співпроцесори розкривають новий потенціал для децентралізованих похідних платформ, поєднуючи конфіденційність із можливістю перевірки.
Співпроцесори значно розширюють можливості блокчейн-додатків без шкоди для децентралізації. Оскільки передові проекти продовжують впроваджувати інновації в цьому просторі, майбутнє виглядає яскравим для перевірених оф-чейн обчислень на Ethereum і за його межами.
У майбутній статті я розповім про безпеку цих рішень, порівняю їх із зведеннями, як вони вписуються в ширший ландшафт додатків Ethereum і чи є вони панацеєю від проблем масштабування.