У серпні минулого року ми випустилиZeth, перший тип-1 zkEVM, побудований з використанням RISC Zero zkVM, що дозволив розробникам втілити виконання EVM в ZK. Потім в цьому роців травні ми покращили Zeth для підтримки Optimistic rollups у рамкахRFP Фонду Оптимізму, надаючи розробникам змогу генерувати докази правдивості, які консолідують похідні роллапу в нульовому знанні.
Сьогодні ми анонсуємо Kailua, пакет програмного забезпечення для оновлення оптимістичних зведень до гібридних зведень ZK, перша реалізація якого підтримується Optimism’sKonaдвигун переходу стану rollup. Kailua не тільки прозоро виконує Kona в незміненому вигляді в zkVM, але й вводить власну нову ігру, яка підвищує сучасний рівень вирішення спорів шляхом зменшення вимог застави та затримок у фіналізації!
Не плутати з містом у гавайському окрузі Кона, Kailua - це набір інструментів та контрактів для міграції ролапів з довгих інтерактивних систем доведення відсутності помилок до коротких неконтактивних ZK-доведень відсутності помилок, створених за допомогою RISC Zero zkVM. Основні його компоненти:
Примітка: Мінімальна версія стеку OP, необхідна для використання Kailua, - V1.4, оскільки вона використовує контракт DisputeGameFactory замість застарілого контракту L2OutputOracle.
Гра конфлікту Kailua поєднує нуль-знання з парадигмою оптимістичного rollup у новій гібридній системі, яка покращує безпеку та продуктивність, знижуючи витрати на експлуатацію та затримки остаточності! Це узагальнено у таблиці нижче:
ㅤ | Оптимістичні Rollups | ZK Rollups | Гібридні Rollups (Kailua) |
Забезпечення для N викликів | N депозитів | N/A | 1 депозит |
Застава для N пропозицій | N депозитів | N/A | 1 депозит |
Вартість запропонувати N блоків | 1 транзакція | 1 транзакція N блок доказів | 1 транзакція ≤ N/K хешів |
Максимальна вартість оскарження пропозиції N блоку | D + лог(N) транзакцій D - максимальна глибина комп. | N/A | 3 транзакції K блок доказів |
Мінімальна затримка остаточності для пропозиції N блоків | D + log(N) таймаути * D максимальна комп. глибина | N разів доказу | 1 тайм-аут K блок часів доведення |
На відміну від ZK Rollups, гібридна парадигма Kailua дозволяє роллапам працювати нормально, не хвилюючись про постійні витрати і час для підтвердження, а також звільняти своїх користувачів від будь-яких додаткових витрат за підтвердження, які накопичуються і стають помітними в випадках, коли:
У новому дизайні Кайлуа витрати на вирішення суперечки за допомогою ZK повністю несуть недобросовісні сторони, будь то недобросовісний пропозер або валідатор!
Rollup, використовуючи Kailua, може безпечно забезпечити свою безпеку під час відновлення будь-яких робочих навантажень! Це тому, що валідатори Kailua все ще можуть видача необхідних транзакцій виклику, щоб забезпечити безпеку своїх rollups навіть до обчислення доказів, щоб виправдати їх. Внаслідок цього це означає, що замість турбуватися про налаштування потенційно складної та дорогоцінної інфраструктури доказів, гібридні роллапи Kailua можуть покладатися на децентралізовану інфраструктуру ринку доказів, якRISC Zero’s Безкраїннийу часи потреб з гарантіями безпеки та активності для їх запитів на докази!
Зменшення операційних витрат на виконання порівняно з ZK Rollups - це чудово, але стає ще краще! Кайлуа також зменшує витрати на заставу, необхідні для запуску rollup від “лінійно до числа пропозицій/викликів” до сталого! Це означає, що навіть за довгих періодів остаточності мінімальна застава, необхідна чесним сторонам для забезпечення безпеки та життєздатності системи, може бути зменшена на порядки - від десятків тисяч до сотень (в USD)!
По-перше, давайте підсумуємо основну механіку поточних ігор із суперечками про зведення. Гра Truebit з бісектрисами представила можливість розв’язувати суперечки в результаті довгих детермінованих обчислень за допомогою повторюваних раундів взаємодії виклик-відповідь. Цей механізм був основою безпеки в оптимістичних зведеннях, які надають чутливу до часу можливість грати в гру, щоб забезпечити цілісність реєстру другого рівня. Чутливість до часу забезпечує жвавість роллапу, але несе ризик для його безпеки, оскільки чесні гравці в грі з бісектрисами можуть не робити свої ходи вчасно або не мати достатньо коштів, щоб зіграти стільки випадків гри, скільки може нечесних гравців. Однак його основні криптографічні припущення мінімальні, що зробило його дуже практичним вибором.
Правила гри в основі суперечок, що ґрунтуються на дисекції, передбачають кілька видів «тайм-аутів», наданих гравцям для здійснення ходів. Найбільш помітні два з них:
Ці дві затримки сприяють тому, що загалом називається “Період остаточності”. У поточних конструкціях атакувальник може пожертвувати власний заставний кошт, щоб кілька разів запускати останню затримку, можливо, навіть вичерпуючи ресурси захисників. Цей вектор атаки був ключовим для безпеки rollups, включаючи Arbitrum, який наразі впроваджує новий протокол суперечокBoLD) , яке має на меті довести, що верхній рівень тайм-ауту для відкритих суперечок становить приблизно 6,3 днів.
Spoiler: Kailua скорочує цей тайм-аут до години! І усуває потенційну можливість атаки на вичерпання ресурсів!
Докази з нульовим відомості можуть бути використані замість гри бісекції як неінтерактивний механізм для вирішення будь-яких суперечок щодо стану rollup. Ця одноразова природа означає, що час, відведений на вирішення суперечок, може бути значно скорочений до часу, необхідного для доведення одного блоку!
Хоча така зміна механіки може здатися розумною, це все одно не є оптимальним введенням ZK в оптимістичну гру в суперечки! Замість того, щоб вимагати доказів лише для того, щоб продемонструвати, що запропонований стан зведення є недійсним, можна також використовувати докази zk для демонстрації валідності, навіть в оптимістичній обстановці! Маючи на увазі подвійність доказів, Kailua лише вимагає, щоб претенденти сигналізували про свій «намір» оскаржити пропозицію, перешкоджаючи завершенню цієї пропозиції, доки не буде надано доказ помилки або обґрунтованості, щоб спростувати або того, хто претендує, або той, хто пропонує, і вилучити їхні відповідні дії з гри. Отже, це дозволяє Kailua позбавити ролап від занепокоєння про те, що час доказу потенційно не такий короткий, як останній тайм-аут.
Але Kailua не тільки усуває тривалі затримки завершення через інтерактивні транзакції «виклик-відповідь», але й усуває більшу частину застави, необхідної для підтримки зведень! Гравці в грі з бісектрисами повинні робити ставки на окремі частини застави в кожному випадку гри, в яку вони грають. В основному це пов’язано з тим, що гравець може програти в ігровому екземплярі через те, що просто не відповість вчасно, що нічого не говорить про його чесність в цілому. Примітно, що Кайлуа долає це обмеження за допомогою суперечок ZK! У Кайлуа, якщо гравець оскаржує пропозицію, і ця пропозиція пізніше виявляється дійсною, то Кайлуа дискваліфікує цього гравця через його доведену нечесність! Ця проста зміна означає, що претендентам тепер потрібно лише внести заставу, щоб взяти на себе роль претендента, а потім видати стільки челенджів, скільки потрібно, а не виставляти окрему заставу за кожен виклик або гру. Примітно, що те саме зменшення застави безпечно застосовується і до ініціаторів пропозиції через ті самі міркування, не побоюючись нападок з боку заможного ініціатора, який може спамити систему.
Однак, рідко коли стільки переваг йдуть безкоштовно! Порівняно з оптимістичними роллапами, в цьому гібридному дизайні є додаткові витрати на публікацію даних, які необхідні для видалення взаємодій, необхідних у грі розчленування. Ми розробили Kailua так, щоб ці накладні витрати на DA були незначними порівняно з витратами на повне доведення в ZK Rollup, що призводить до оберненої залежності накладних витрат на транзакцію в Kailua від TPS!
У роллапі Кайлуа, де виклик / доказ стосується послідовності блоків K rollup, пропонувач Кайлуа повинен опублікувати не більше ніж N / K хешів як «дані контрольної точки», коли пропонує перехід до стану, що просуває роллап на N блоків. K - це кількість непорожніх блоків, що охоплюють кожний виклик / доказ, і є налаштованим параметром, який визначає витрати на спори. Ми говоримо не більше ніж N / K, оскільки кількість обов’язкових контрольних точок може бути значно зменшена, якщо у пропозиції є багато порожніх блоків.
У випадку досить активного rollup з дуже малою кількістю порожніх блоків, вищезазначені накладні витрати будуть незначними, оскільки це буде додаткова вартість публікації лише 32/K додаткових байтів на блок. З K=1, для головної мережі Optimism, наприклад, це означає публікацію одного блобу кожні 2 години і 15 хвилин, що відповідаєіснуюча ставка пропозицій основної мережі OP, і далеко нижче заВитрати DA за такий період. При поточній швидкості транзакцій на секунду (TPS) і вартості $3 за блоб, це менше ніж $0.0001 за транзакцію!
Однак, у випадку зведення, яке має низьку корисність блокового простору (наприклад, через дуже низький час блокування), накладні витрати на наївну публікацію N/K хешів можуть бути непрактичними, але Kailua не наївний! У цьому випадку умова створення контрольної точки може використовувати другий параметр, E, який позначає максимальну кількість порожніх блоків, які може покрити контрольна точка. Потім потрібна 32-байтова контрольна точка (хеш блоку/стану) для покриття послідовності блоків, що містять щонайбільше E порожніх блоків або K непорожніх блоків. На щастя, E може бути значно більшим числом, ніж K, залежно від того, наскільки дешево доводити порожні блоки.
Кайлуа в даний час переживає швидкий розвиток і підходить тільки для тестових середовищ, а не для виробництва. Ми продовжуємо вдосконалювати та розвивати Кайлуа, додаючи нові функції, оптимізуючи витрати та продуктивність, і можливо підтримуємо більше стеків rollup! Кайлуа є повністю відкритим проектом, опублікованим під керівництвом RISC Zero’sGithub.
Командний рядок Kailua дозволяє легко розгортати локальну OP devnet та оновлювати її для використання ZK fault proofs лише кількома командами. Після цього ви можете використовувати командний рядок для запуску пропонента та валідатора, а також взаємодіяти з вашою локальною devnet, як це зазвичай робили б. Якщо вас цікавить тестування фактичної гри у разі виявлення несправностей, ви можете використовувати командний рядок для аномальної взаємодії, як це ви зазвичай не робили б, і викликати деякі неправильні пропозиції та спостерігати, як валідатор викликає їх і відхиляє за допомогою RISC Zero zkVM!
На решетці неможливо було б не написати новий пост про випуск RISC Zero без деякої кількості циклів! У таблиці нижче наведено деякі бенчмарки OP Mainnet, які супроводжуються кількома застереженнями.
Блок | Цикли | Транзакції | Вартість перевірки Bonsai |
126223114 | 17,121,252,466 | 108 | $22 |
126223244 | 16,202,792,886 | 98 | $21 |
126223597 | 15,194,355,377 | 85 | $20 |
126229327 | 14,245,181,555 | 81 | $19 |
126210813 | 10,663,051,955 | 43 | $14 |
126210550 | 10,596,525,804 | 37 | $14 |
Незважаючи на те, що кількість циклів майже в чотири рази перевищує op-zeth, витрати на доведення на транзакцію в цій таблиці вдвічі-п’ять разів кращі завдяки вдосконаленням в RISC Zero prover.
У серпні минулого року ми випустилиZeth, перший тип-1 zkEVM, побудований з використанням RISC Zero zkVM, що дозволив розробникам втілити виконання EVM в ZK. Потім в цьому роців травні ми покращили Zeth для підтримки Optimistic rollups у рамкахRFP Фонду Оптимізму, надаючи розробникам змогу генерувати докази правдивості, які консолідують похідні роллапу в нульовому знанні.
Сьогодні ми анонсуємо Kailua, пакет програмного забезпечення для оновлення оптимістичних зведень до гібридних зведень ZK, перша реалізація якого підтримується Optimism’sKonaдвигун переходу стану rollup. Kailua не тільки прозоро виконує Kona в незміненому вигляді в zkVM, але й вводить власну нову ігру, яка підвищує сучасний рівень вирішення спорів шляхом зменшення вимог застави та затримок у фіналізації!
Не плутати з містом у гавайському окрузі Кона, Kailua - це набір інструментів та контрактів для міграції ролапів з довгих інтерактивних систем доведення відсутності помилок до коротких неконтактивних ZK-доведень відсутності помилок, створених за допомогою RISC Zero zkVM. Основні його компоненти:
Примітка: Мінімальна версія стеку OP, необхідна для використання Kailua, - V1.4, оскільки вона використовує контракт DisputeGameFactory замість застарілого контракту L2OutputOracle.
Гра конфлікту Kailua поєднує нуль-знання з парадигмою оптимістичного rollup у новій гібридній системі, яка покращує безпеку та продуктивність, знижуючи витрати на експлуатацію та затримки остаточності! Це узагальнено у таблиці нижче:
ㅤ | Оптимістичні Rollups | ZK Rollups | Гібридні Rollups (Kailua) |
Забезпечення для N викликів | N депозитів | N/A | 1 депозит |
Застава для N пропозицій | N депозитів | N/A | 1 депозит |
Вартість запропонувати N блоків | 1 транзакція | 1 транзакція N блок доказів | 1 транзакція ≤ N/K хешів |
Максимальна вартість оскарження пропозиції N блоку | D + лог(N) транзакцій D - максимальна глибина комп. | N/A | 3 транзакції K блок доказів |
Мінімальна затримка остаточності для пропозиції N блоків | D + log(N) таймаути * D максимальна комп. глибина | N разів доказу | 1 тайм-аут K блок часів доведення |
На відміну від ZK Rollups, гібридна парадигма Kailua дозволяє роллапам працювати нормально, не хвилюючись про постійні витрати і час для підтвердження, а також звільняти своїх користувачів від будь-яких додаткових витрат за підтвердження, які накопичуються і стають помітними в випадках, коли:
У новому дизайні Кайлуа витрати на вирішення суперечки за допомогою ZK повністю несуть недобросовісні сторони, будь то недобросовісний пропозер або валідатор!
Rollup, використовуючи Kailua, може безпечно забезпечити свою безпеку під час відновлення будь-яких робочих навантажень! Це тому, що валідатори Kailua все ще можуть видача необхідних транзакцій виклику, щоб забезпечити безпеку своїх rollups навіть до обчислення доказів, щоб виправдати їх. Внаслідок цього це означає, що замість турбуватися про налаштування потенційно складної та дорогоцінної інфраструктури доказів, гібридні роллапи Kailua можуть покладатися на децентралізовану інфраструктуру ринку доказів, якRISC Zero’s Безкраїннийу часи потреб з гарантіями безпеки та активності для їх запитів на докази!
Зменшення операційних витрат на виконання порівняно з ZK Rollups - це чудово, але стає ще краще! Кайлуа також зменшує витрати на заставу, необхідні для запуску rollup від “лінійно до числа пропозицій/викликів” до сталого! Це означає, що навіть за довгих періодів остаточності мінімальна застава, необхідна чесним сторонам для забезпечення безпеки та життєздатності системи, може бути зменшена на порядки - від десятків тисяч до сотень (в USD)!
По-перше, давайте підсумуємо основну механіку поточних ігор із суперечками про зведення. Гра Truebit з бісектрисами представила можливість розв’язувати суперечки в результаті довгих детермінованих обчислень за допомогою повторюваних раундів взаємодії виклик-відповідь. Цей механізм був основою безпеки в оптимістичних зведеннях, які надають чутливу до часу можливість грати в гру, щоб забезпечити цілісність реєстру другого рівня. Чутливість до часу забезпечує жвавість роллапу, але несе ризик для його безпеки, оскільки чесні гравці в грі з бісектрисами можуть не робити свої ходи вчасно або не мати достатньо коштів, щоб зіграти стільки випадків гри, скільки може нечесних гравців. Однак його основні криптографічні припущення мінімальні, що зробило його дуже практичним вибором.
Правила гри в основі суперечок, що ґрунтуються на дисекції, передбачають кілька видів «тайм-аутів», наданих гравцям для здійснення ходів. Найбільш помітні два з них:
Ці дві затримки сприяють тому, що загалом називається “Період остаточності”. У поточних конструкціях атакувальник може пожертвувати власний заставний кошт, щоб кілька разів запускати останню затримку, можливо, навіть вичерпуючи ресурси захисників. Цей вектор атаки був ключовим для безпеки rollups, включаючи Arbitrum, який наразі впроваджує новий протокол суперечокBoLD) , яке має на меті довести, що верхній рівень тайм-ауту для відкритих суперечок становить приблизно 6,3 днів.
Spoiler: Kailua скорочує цей тайм-аут до години! І усуває потенційну можливість атаки на вичерпання ресурсів!
Докази з нульовим відомості можуть бути використані замість гри бісекції як неінтерактивний механізм для вирішення будь-яких суперечок щодо стану rollup. Ця одноразова природа означає, що час, відведений на вирішення суперечок, може бути значно скорочений до часу, необхідного для доведення одного блоку!
Хоча така зміна механіки може здатися розумною, це все одно не є оптимальним введенням ZK в оптимістичну гру в суперечки! Замість того, щоб вимагати доказів лише для того, щоб продемонструвати, що запропонований стан зведення є недійсним, можна також використовувати докази zk для демонстрації валідності, навіть в оптимістичній обстановці! Маючи на увазі подвійність доказів, Kailua лише вимагає, щоб претенденти сигналізували про свій «намір» оскаржити пропозицію, перешкоджаючи завершенню цієї пропозиції, доки не буде надано доказ помилки або обґрунтованості, щоб спростувати або того, хто претендує, або той, хто пропонує, і вилучити їхні відповідні дії з гри. Отже, це дозволяє Kailua позбавити ролап від занепокоєння про те, що час доказу потенційно не такий короткий, як останній тайм-аут.
Але Kailua не тільки усуває тривалі затримки завершення через інтерактивні транзакції «виклик-відповідь», але й усуває більшу частину застави, необхідної для підтримки зведень! Гравці в грі з бісектрисами повинні робити ставки на окремі частини застави в кожному випадку гри, в яку вони грають. В основному це пов’язано з тим, що гравець може програти в ігровому екземплярі через те, що просто не відповість вчасно, що нічого не говорить про його чесність в цілому. Примітно, що Кайлуа долає це обмеження за допомогою суперечок ZK! У Кайлуа, якщо гравець оскаржує пропозицію, і ця пропозиція пізніше виявляється дійсною, то Кайлуа дискваліфікує цього гравця через його доведену нечесність! Ця проста зміна означає, що претендентам тепер потрібно лише внести заставу, щоб взяти на себе роль претендента, а потім видати стільки челенджів, скільки потрібно, а не виставляти окрему заставу за кожен виклик або гру. Примітно, що те саме зменшення застави безпечно застосовується і до ініціаторів пропозиції через ті самі міркування, не побоюючись нападок з боку заможного ініціатора, який може спамити систему.
Однак, рідко коли стільки переваг йдуть безкоштовно! Порівняно з оптимістичними роллапами, в цьому гібридному дизайні є додаткові витрати на публікацію даних, які необхідні для видалення взаємодій, необхідних у грі розчленування. Ми розробили Kailua так, щоб ці накладні витрати на DA були незначними порівняно з витратами на повне доведення в ZK Rollup, що призводить до оберненої залежності накладних витрат на транзакцію в Kailua від TPS!
У роллапі Кайлуа, де виклик / доказ стосується послідовності блоків K rollup, пропонувач Кайлуа повинен опублікувати не більше ніж N / K хешів як «дані контрольної точки», коли пропонує перехід до стану, що просуває роллап на N блоків. K - це кількість непорожніх блоків, що охоплюють кожний виклик / доказ, і є налаштованим параметром, який визначає витрати на спори. Ми говоримо не більше ніж N / K, оскільки кількість обов’язкових контрольних точок може бути значно зменшена, якщо у пропозиції є багато порожніх блоків.
У випадку досить активного rollup з дуже малою кількістю порожніх блоків, вищезазначені накладні витрати будуть незначними, оскільки це буде додаткова вартість публікації лише 32/K додаткових байтів на блок. З K=1, для головної мережі Optimism, наприклад, це означає публікацію одного блобу кожні 2 години і 15 хвилин, що відповідаєіснуюча ставка пропозицій основної мережі OP, і далеко нижче заВитрати DA за такий період. При поточній швидкості транзакцій на секунду (TPS) і вартості $3 за блоб, це менше ніж $0.0001 за транзакцію!
Однак, у випадку зведення, яке має низьку корисність блокового простору (наприклад, через дуже низький час блокування), накладні витрати на наївну публікацію N/K хешів можуть бути непрактичними, але Kailua не наївний! У цьому випадку умова створення контрольної точки може використовувати другий параметр, E, який позначає максимальну кількість порожніх блоків, які може покрити контрольна точка. Потім потрібна 32-байтова контрольна точка (хеш блоку/стану) для покриття послідовності блоків, що містять щонайбільше E порожніх блоків або K непорожніх блоків. На щастя, E може бути значно більшим числом, ніж K, залежно від того, наскільки дешево доводити порожні блоки.
Кайлуа в даний час переживає швидкий розвиток і підходить тільки для тестових середовищ, а не для виробництва. Ми продовжуємо вдосконалювати та розвивати Кайлуа, додаючи нові функції, оптимізуючи витрати та продуктивність, і можливо підтримуємо більше стеків rollup! Кайлуа є повністю відкритим проектом, опублікованим під керівництвом RISC Zero’sGithub.
Командний рядок Kailua дозволяє легко розгортати локальну OP devnet та оновлювати її для використання ZK fault proofs лише кількома командами. Після цього ви можете використовувати командний рядок для запуску пропонента та валідатора, а також взаємодіяти з вашою локальною devnet, як це зазвичай робили б. Якщо вас цікавить тестування фактичної гри у разі виявлення несправностей, ви можете використовувати командний рядок для аномальної взаємодії, як це ви зазвичай не робили б, і викликати деякі неправильні пропозиції та спостерігати, як валідатор викликає їх і відхиляє за допомогою RISC Zero zkVM!
На решетці неможливо було б не написати новий пост про випуск RISC Zero без деякої кількості циклів! У таблиці нижче наведено деякі бенчмарки OP Mainnet, які супроводжуються кількома застереженнями.
Блок | Цикли | Транзакції | Вартість перевірки Bonsai |
126223114 | 17,121,252,466 | 108 | $22 |
126223244 | 16,202,792,886 | 98 | $21 |
126223597 | 15,194,355,377 | 85 | $20 |
126229327 | 14,245,181,555 | 81 | $19 |
126210813 | 10,663,051,955 | 43 | $14 |
126210550 | 10,596,525,804 | 37 | $14 |
Незважаючи на те, що кількість циклів майже в чотири рази перевищує op-zeth, витрати на доведення на транзакцію в цій таблиці вдвічі-п’ять разів кращі завдяки вдосконаленням в RISC Zero prover.