Детальний аналіз доказу шахрайства: від інтерактивних схем до технічної еволюції ZK Fraud Proof

robot
Генерація анотацій у процесі

Доказ шахрайства та реалізація ZK Fraud Proof

доказ шахрайства є широко використовуваним технічним рішенням у сфері блокчейну, яке вперше з'явилося в спільноті Ethereum і було прийнято такими проектами Layer2, як Arbitrum та Optimism. Після виникнення екосистеми біткоїна у 2023 році Робін Лінус запропонував рішення BitVM, яке має в основі доказ шахрайства, на основі існуючих технологій біткоїна надаючи нову модель безпеки для другого рівня або мостів.

BitVM пройшов кілька етапів еволюції, від ранньої версії BitVM0, основаної на логічних воротах, до пізнішої версії BitVM2, в якій основою стали ZK Fraud Proof і верифікаційні схеми Groth16, відповідні технологічні шляхи постійно вдосконалюються. Кілька проектів, таких як Bitlayer, Citrea, BOB та інші, реалізували різні рішення на базі технології BitVM.

У цій статті буде розглянуто приклад схеми доказу шахрайства Optimism, проаналізовано її схему на основі віртуальної машини MIPS та інтерактивного доказу шахрайства, а також основні ідеї ZK-доказу шахрайства.

OutputRoot і StateRoot

Optimism є відомим проектом Optimistic Rollup, його інфраструктура складається з послідовника та смарт-контрактів на Ethereum. Після обробки транзакцій послідовник відправляє дані на Ethereum. Запуск клієнта вузла Optimism дозволяє завантажити ці дані та виконати їх локально, обчисливши хеш поточного набору станів.

Якщо сортувальник завантажить неправильний хеш набору станів, локальний обчислений результат буде іншим, у такому випадку можна ініціювати сумнів через систему доказу шахрайства.

Блокчейни на основі EVM зазвичай використовують структуру даних Merkle Tree для запису набору станів, що називається World State Trie. Після виконання транзакції World State Trie змінюється, а його остаточний хеш також оновлюється. Ethereum називає цей хеш StateRoot, який використовується для позначення зміни набору станів.

Система облікового запису Optimism схожа на Ethereum, також використовує поле StateRoot. Секретар періодично завантажує OutputRoot в Ethereum, OutputRoot розраховується на основі StateRoot та ще двох полів.

BitVM фонова інформація: доказ шахрайства та реалізація ZK Fraud Proof

MIPS віртуальна машина та дерево Меркла пам'яті

Щоб перевірити правильність OutputRoot в ланцюгу, найпростішим способом є реалізація клієнта OP-вузла на Ethereum, але існує дві проблеми:

  1. Інтелектуальний контракт не може автоматично отримати вхідні параметри, необхідні для доказу шахрайства.
  2. Обмеження Gas Limit в Ethereum, не підтримує складні обчислювальні завдання

Перше питання може бути вирішене за допомогою контракту PreimageOracle. Щодо другого питання, команда OP написала віртуальну машину MIPS на Solidity, реалізувавши частину функцій вузлів OP.

Команда розробників OP написала спрощену програму на Golang, функціональність якої в основному відповідає виконанню транзакцій OP-нодами, генерації блоків та модулю OutputRoot. Але через надмірні обчислювальні витрати вона не може повністю виконати всі транзакції в ланцюзі.

Для цього Optimism розробив інтерактивну систему доказів шахрайства, яка деталізує процес обробки транзакцій у впорядковану обробку MIPS-операційних кодів. Після виконання кожного операційного коду стан віртуальної машини змінюється, ці записи узагальнюються в дереві Меркла.

У інтерактивному доказі шахрайства необхідно визначити, який код операції MIPS призвів до помилки хешу стану віртуальної машини, а потім відтворити той стан на ланцюгу та виконати цей код операції, щоб перевірити, чи є результати однаковими. Це вимагає завантаження частини інформації про стан віртуальної машини MIPS на ланцюг.

Контракти, пов'язані з доказом шахрайства в блокчейні, виконують команду MIPS за допомогою функції Step:

солідність функція step( байтів пам'яті _stateData, bytes пам'ять _proof ) публічні повернення (байти32) { // ... }

_stateData та _proof параметри містять залежні дані виконання однієї MIPS операції, такі як стан регістрів, хеш стану пам'яті тощо.

OP використовує 32-бітну архітектуру MIPS, пам'ять може бути організована у 28-ми рівневому двійковому дереві Меркла, на нижньому рівні є 2^27 листків, які записують дані за адресами пам'яті. Хеш усіх листкових даних, зібраних разом, дорівнює memRoot.

BitVM фонова інформація: доказ шахрайства та реалізація ZK Fraud Proof

Інтерактивний доказ шахрайства

Щоб визначити спірний MIPS код операції, команда OP розробила протокол Fault Dispute Game(FDG). У FDG є два ролі: викликач і захисник, обидві сторони повинні локально побудувати GameTree.

GameTree складається з двох рівнів дерева: перший рівень листя - це OutputRoot різних блоків, другий рівень листя - це статус хешу віртуальної машини MIPS. Сторони спору багаторазово взаємодіють в мережі, врешті-решт визначаючи одну операцію MIPS, яку потрібно виконати в мережі.

Підсумовуючи, інтерактивний доказ шахрайства містить два основні механізми:

  1. FDG позиціонування необхідно виконати в ланцюгу для MIPS операційного коду та інформації про стан VM
  2. Виконати цю операцію на віртуальній машині MIPS в мережі Ethereum, щоб отримати остаточний результат.

BitVM фонова інформація: доказ шахрайства та реалізація ZK Fraud Proof

ZK-діоказ шахрайства

Традиційні доказ шахрайства мають складну взаємодію, існують такі проблеми:

  1. Багаторазові взаємодії призводять до великих витрат на gas
  2. Процес взаємодії триває довго, під час якого Rollup не може нормально виконувати транзакції
  3. Висока складність розробки специфічних VM на блокчейні

Щоб вирішити ці проблеми, Optimism запропонував концепцію ZK Fraud Proof. Основна суть полягає в тому, що під час виклику вказуються транзакції, які потрібно відтворити, секвенсер надає ZK доказ, який перевіряється контрактом Ethereum.

На відміну від інтерактивного доказу шахрайства, ZK Fraud Proof перетворює багаторазові взаємодії на одноразове генерування та перевірку ZK-доказів, заощаджуючи час і кошти. На відміну від ZK Rollup, OP Rollup на основі ZK Fraud Proof генерує докази лише у разі оскарження, знижуючи обчислювальні витрати.

Ідея ZK-доказу шахрайства також була прийнята BitVM2. Проекти, що використовують BitVM2, такі як Bitlayer, Goat Network та інші, реалізують програму верифікації ZK Proof через біткойн-скрипт, що значно зменшує розмір програми для запису в блокчейн.

BitVM фонові знання: доказ шахрайства та реалізація ZK Fraud Proof

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити