Пакетні докази Етеріуму: запропоновано спільну оплату
Пакетні докази Етеріуму можуть отримати механізм спільної оплати: учасник спільноти Марчгілл (Marchhill) подав проєкт пропозиції, за яким кілька транзакцій використовуватимуть один доказ, але збережуть окремі платежі й підписи.
Проєкт передбачає універсальну перевірку доказів і спонсоровану пакетну обробку. Спонсор оплачуватиме складові пакетного доказу, а учасники — власні твердження. До блоку можна буде включити лише частину початкової групи без повторного підписання транзакцій її учасниками.
Марчгілл подав пропозицію до репозиторію EIP мережі Етеріум 13 листопада. Вона залишається на стадії розробки: їй ще не надали номера EIP, не відкрили окремої теми для обговорення і не визначили дату активації в основній мережі. Як оновлення мережі документ також не ухвалили.
Проєкт замінює попереднє подання — запит на внесення змін №12654. Він об’єднує правила універсальної перевірки, ідентифікації доказів, обмеження ресурсів, зведення залежностей і пакетних платежів.
Як розподілятимуть оплату
За задумом, спонсор платитиме за кожен збережений лист пакета — окрему складову доказу, яка містить кілька тверджень. Учасники оплачуватимуть свої транзакції відповідно до поданих ними тверджень.
Складальник блоку зможе включити будь-яку дійсну підмножину пакета. Якщо транзакція готова до включення, її автору не доведеться знову підписувати її лише через те, що інших учасників початкової групи залишили поза блоком.
Кожна транзакція збереже власний нонс і квитанцію. Нонс визначає місце транзакції в послідовності операцій облікового запису, а квитанція фіксує результат її виконання. Спільна робота над доказом не відокремлюватиме ці записи від відповідних транзакцій.
Відповідність платежів перевірятимуть під час фіналізації, а рекурсивні докази підтверджуватимуть джерела, використані в пакеті. Проєкт розрізняє перевірку дійсності тверджень і перевірку наявності необхідної оплати.
Платежі за твердження зі знижкою та платежі спонсорів надходитимуть безпосередньо складальникам блоків. Звичайні докази, що охоплюють одне твердження, і надалі можна буде подавати до публічного мемпулу, де транзакції очікують включення до блоків.
Зв’язок із пропозицією EIP-8288
Проєкт Марчгілла пропонує активувати схему LEANSTARK_SCHEME, зарезервовану в EIP-8288. Авторами цієї базової пропозиції є Віталік Бутерін і Тома Коражер (Thomas Coratger). Вона передбачає об’єднання криптографічних підписів і доказів поза основним процесом виконання Етеріуму.
Транзакції визначали б твердження, які потрібно перевірити, а рекурсивний STARK підтверджував би їхню дійсність на рівні блоку. STARK — це криптографічний доказ правильного виконання обчислення, який не вимагає від кожного перевіряльника повторювати його. Рекурсія дозволяє одному доказу перевіряти інші й об’єднувати їхні результати.
Наразі EIP-8288 лише резервує універсальну схему leanSTARK і не дозволяє використовувати її у фреймах залежностей. Марчгілл пропонує відкрити цю можливість, а також замінити твердження, що містить лише хеш даних у базовому проєкті, на стабільний дайджест списку тверджень.
Розробка спирається на попередні обговорення криптографічної перевірки, зокрема підтримку Бутеріним обробки складної криптографії за допомогою агрегованих доказів. Його коментарі стосувалися базової архітектури, тоді як проєкт Марчгілла визначає конкретну схему перевірки та оплати.
Попередні тарифи та обмеження
Подана редакція встановлює орієнтовну плату в 15 400 газу за нативну перевірку та 572 000 газу за звичайну універсальну перевірку. Внутрішня частка вартості доказу становить 5 100 газу, платіж за лист — 675 000 газу, а плата за пакетне твердження — 4 200 газу.
Окрему плату за лист у проєкті пояснюють тим, що прив’язка платежів додає фіксований обсяг роботи понад звичайну перевірку. Самі твердження та платежі не потребуватимуть додаткової внутрішньої частки вартості доказу. Усі суми ще потрібно спільно відкалібрувати: вони не є остаточними тарифами і не підтверджують економії для користувачів.
Серед засобів контролю ресурсів — попередній ліміт у 16 384 різні залежності на блок, незалежний від ліміту газу, і відповідне правило відповідності списку включення. Один лист може містити до 256 тверджень, а один крок доказу — до 16 входів. Жоден із двох останніх показників не є обмеженням для всього блоку.
Що потрібно перевірити перед активацією
Перед запуском автори проєкту вимагають виміряти повний цикл обробки блоку та пізнє виправлення спонсорства. Також потрібно перевірити, чи вкладається плата за кожен доказ у газові ліміти транзакцій з урахуванням необхідних накладних витрат.
Матеріали тестування розрізняють виміряні результати окремого вузла й обробки блоку на одній машині та змодельовані показники для 16 робочих процесів. Проєкт вимагає задокументувати наявні дані й прогалини у вимірюваннях продуктивності.
Якщо спонсорство визнають недійсним, робота складальника блоку може виявитися марною. Згідно з документом, газ за включення не компенсуватиме цих витрат. Конкретна побудова зобов’язань і способи кодування залишаються у зафіксованій специфікації системи доказів. Нових мережевих повідомлень пропозиція не запроваджує.