Доказ шахрайства та принципи реалізації ZK Fraud Proof
доказ шахрайства є широко використовуваним технологічним рішенням у сфері блокчейну, яке вперше виникло в спільноті Ethereum і було прийняте такими Layer2, як Arbitrum та Optimism. Після виникнення екосистеми Bitcoin у 2023 році Робін Лінус запропонував рішення BitVM, яке базується на основній ідеї доказу шахрайства, надаючи нову модель безпеки для другого рівня Bitcoin або мостів.
BitVM пройшов кілька етапів еволюції, від початкового рішення на основі логічних вентилів до пізніших ZK Fraud Proof та Groth16 перевірочних схем, пов'язані технологічні шляхи постійно вдосконалюються. Наразі на ринку існує кілька проектів, які реалізують різні рішення на базі BitVM.
Ця стаття буде використовувати приклад схеми доказу шахрайства Optimism для аналізу її реалізації на основі віртуальної машини MIPS та інтерактивного доказу шахрайства, а також основних ідей ZK-доказу шахрайства.
OutputRoot і StateRoot
Інфраструктура Optimism складається з послідовників та смарт-контрактів на ланцюзі Ethereum. Після обробки транзакцій послідовник надсилає дані в Ethereum. Будь-хто може запустити вузол Optimism, завантажити дані, завантажені послідовником, і виконати транзакції локально, обчислюючи хеш поточного набору стану.
Якщо сортувальник завантажив неправильний хеш набору станів, результати локальних обчислень будуть різнитися, у такому випадку можна ініціювати доказ шахрайства. Система вживає відповідних заходів щодо сортувальника на основі рішення.
Optimism використовує поле StateRoot, яке аналогічне полю в Ethereum, для відображення змін у наборі станів. Секретар регулярно завантажує OutputRoot до Ethereum, де OutputRoot обчислюється на основі StateRoot та інших полів.
MIPS віртуальна машина та пам'яті Merkle Tree
Щоб перевірити правильність OutputRoot в ланцюзі, команда Optimism реалізувала віртуальну машину MIPS за допомогою Solidity, яка може виконувати частину функцій OP-вузлів. Але через обмеження газу Ethereum неможливо повністю виконати всі транзакції в ланцюзі.
Щоб вирішити цю проблему, Optimism розробив інтерактивну систему доказу шахрайства, яка деталізує процес обробки транзакцій у серію виконання кодів операцій MIPS. Спостерігаючи, який код операції виконується з помилкою, можна визначити, чи є OutputRoot недійсним.
У конкретній реалізації статусна інформація віртуальної машини MIPS організована в дерево Меркла. Контракти, пов'язані з доказом шахрайства, виконують одну інструкцію MIPS за допомогою функції Step і порівнюють її з результатами, поданими сортувальником.
Пам'ять даних віртуальної машини MIPS також організована в 28-рівневу деревоподібну структуру Меркла, memRoot є кореневим хешем цього дерева. Під час виконання інструкцій необхідно надати частину даних пам'яті та доказ Меркла.
Інтерактивний доказ шахрайства
Команда Optimism розробила протокол Fault Dispute Game(FDG) для визначення суперечливих MIPS кодів операцій. Учасники повинні локально побудувати GameTree, що містить два рівні:
Перший рівень листових вузлів - це OutputRoot різних блоків
Другий рівень листових вузлів - це хеш стану віртуальної машини MIPS
Сторони неодноразово взаємодіяли в мережі, зрештою визначивши спірний код операції MIPS та стан VM під час його виконання.
ZK-форма доказ шахрайства
Традиційні докази шахрайства мають проблеми з складною взаємодією, високими витратами на gas, призупиненням Rollup тощо. Для цього Optimism запропонував концепцію ZK Fraud Proof:
Викликатель вказує транзакцію, яку потрібно відтворити
Rollup-секретар генерує ZK-доказ шахрайства цієї транзакції
Верифікація ZK доказів смарт-контрактами Ethereum
У порівнянні з інтерактивними рішеннями, ZK Fraud Proof спрощує багаторазову взаємодію до одного раунду генерування та перевірки ZK-доказу, що суттєво економить час і витрати. На відміну від ZK Rollup, доказ генерується лише під час виклику, що знижує обчислювальне навантаження.
Цей підхід до ZK також був прийнятий BitVM2. Проекти, які використовують BitVM2, реалізують перевірку ZK Proof через скрипти біткоїнів і значно спростили програму для запису в блокчейн.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
12 лайків
Нагородити
12
2
Поділіться
Прокоментувати
0/400
FudVaccinator
· 07-15 02:45
Технічний аспект дуже цікавий, але для L2 достатньо переглядати op.
Переглянути оригіналвідповісти на0
Layer2Observer
· 07-14 03:10
MIPS Віртуальна машина ще нічого, просто витрати занадто великі
Глибина аналізу: еволюція доказу шахрайства та принципи реалізації ZK Fraud Proof
Доказ шахрайства та принципи реалізації ZK Fraud Proof
доказ шахрайства є широко використовуваним технологічним рішенням у сфері блокчейну, яке вперше виникло в спільноті Ethereum і було прийняте такими Layer2, як Arbitrum та Optimism. Після виникнення екосистеми Bitcoin у 2023 році Робін Лінус запропонував рішення BitVM, яке базується на основній ідеї доказу шахрайства, надаючи нову модель безпеки для другого рівня Bitcoin або мостів.
BitVM пройшов кілька етапів еволюції, від початкового рішення на основі логічних вентилів до пізніших ZK Fraud Proof та Groth16 перевірочних схем, пов'язані технологічні шляхи постійно вдосконалюються. Наразі на ринку існує кілька проектів, які реалізують різні рішення на базі BitVM.
Ця стаття буде використовувати приклад схеми доказу шахрайства Optimism для аналізу її реалізації на основі віртуальної машини MIPS та інтерактивного доказу шахрайства, а також основних ідей ZK-доказу шахрайства.
OutputRoot і StateRoot
Інфраструктура Optimism складається з послідовників та смарт-контрактів на ланцюзі Ethereum. Після обробки транзакцій послідовник надсилає дані в Ethereum. Будь-хто може запустити вузол Optimism, завантажити дані, завантажені послідовником, і виконати транзакції локально, обчислюючи хеш поточного набору стану.
Якщо сортувальник завантажив неправильний хеш набору станів, результати локальних обчислень будуть різнитися, у такому випадку можна ініціювати доказ шахрайства. Система вживає відповідних заходів щодо сортувальника на основі рішення.
Optimism використовує поле StateRoot, яке аналогічне полю в Ethereum, для відображення змін у наборі станів. Секретар регулярно завантажує OutputRoot до Ethereum, де OutputRoot обчислюється на основі StateRoot та інших полів.
MIPS віртуальна машина та пам'яті Merkle Tree
Щоб перевірити правильність OutputRoot в ланцюзі, команда Optimism реалізувала віртуальну машину MIPS за допомогою Solidity, яка може виконувати частину функцій OP-вузлів. Але через обмеження газу Ethereum неможливо повністю виконати всі транзакції в ланцюзі.
Щоб вирішити цю проблему, Optimism розробив інтерактивну систему доказу шахрайства, яка деталізує процес обробки транзакцій у серію виконання кодів операцій MIPS. Спостерігаючи, який код операції виконується з помилкою, можна визначити, чи є OutputRoot недійсним.
У конкретній реалізації статусна інформація віртуальної машини MIPS організована в дерево Меркла. Контракти, пов'язані з доказом шахрайства, виконують одну інструкцію MIPS за допомогою функції Step і порівнюють її з результатами, поданими сортувальником.
Пам'ять даних віртуальної машини MIPS також організована в 28-рівневу деревоподібну структуру Меркла, memRoot є кореневим хешем цього дерева. Під час виконання інструкцій необхідно надати частину даних пам'яті та доказ Меркла.
Інтерактивний доказ шахрайства
Команда Optimism розробила протокол Fault Dispute Game(FDG) для визначення суперечливих MIPS кодів операцій. Учасники повинні локально побудувати GameTree, що містить два рівні:
Сторони неодноразово взаємодіяли в мережі, зрештою визначивши спірний код операції MIPS та стан VM під час його виконання.
ZK-форма доказ шахрайства
Традиційні докази шахрайства мають проблеми з складною взаємодією, високими витратами на gas, призупиненням Rollup тощо. Для цього Optimism запропонував концепцію ZK Fraud Proof:
У порівнянні з інтерактивними рішеннями, ZK Fraud Proof спрощує багаторазову взаємодію до одного раунду генерування та перевірки ZK-доказу, що суттєво економить час і витрати. На відміну від ZK Rollup, доказ генерується лише під час виклику, що знижує обчислювальне навантаження.
Цей підхід до ZK також був прийнятий BitVM2. Проекти, які використовують BitVM2, реалізують перевірку ZK Proof через скрипти біткоїнів і значно спростили програму для запису в блокчейн.