Смешанное доказательство Merkle с разделением доменов объединило путь непотраченного выхода и путь защиты от повторного использования слота в одном отношении. Размер доказательства снизился с 29,69 до 23,75 КБ, но построение замедлилось с 2,68 до 4,50 секунды, а проверка — с 450,82 до 612,96 миллисекунды. После измерений объединённая конструкция была удалена.
Могут ли два отношения Merkle использовать одно доказательство?
State — аутентифицированный набор текущих непотраченных выходов транзакций (UTXO) и счётчиков консенсуса. Путь UTXO подтверждает наличие одного такого выхода в основном дереве State. Путь защиты от повторного использования подтверждал данные второго дерева: в исследованной конструкции оно не позволяло слишком рано занять недавно освобождённый физический слот. Оба пути относились к бинарным деревьям Merkle фиксированной глубины и проверялись при доказательстве точного перехода от одного корня State к следующему. Конструкция с раздельными доменными тегами объединила их в одну более крупную многолинейную трассу.
Гипотеза была простой: общая алгебра и одна оболочка доказательства должны сократить число байтов, существенно не изменив стоимость построения.
Измеренное сравнение
| Конструкция | Доказательство | Построение | Проверка |
|---|---|---|---|
| Два доказательства для отдельных доменов | 29,69 КБ | 2,68 с | 450,82 мс |
| Одно объединённое доказательство с доменными тегами | 23,75 КБ | 4,50 с | 612,96 мс |
Объединение сократило объём на 20,0%, однако построение стало медленнее на 67,9%, а проверка — на 36,0%.
Почему меньшее доказательство оказалось медленнее
Объединённая конструкция создала одно более крупное многолинейное продолжение (MLE) — полиномиальное представление общей трассы над булевой областью. Работа sumcheck выросла вместе с областью, тогда как два независимых доказательства раньше выполнялись параллельно. Экономия байтов возникла благодаря общей оболочке; потеря времени — из-за отказа от разделения доменов и параллелизма.
После измерений объединённое отношение было удалено. В той ревизии раздельная конструкция сохранила два специализированных доказательства Merkle. Последующие изменения State и рекурсивного доказательства не относятся к этому эксперименту.
Обобщаемый вывод
Размер доказательства сам по себе не определяет стоимость системы. Перед объединением отношений необходимо измерить размер увеличенного многолинейного продолжения, степень протокола sumcheck и потерю параллелизма. Для этой нагрузки сокращение сериализованного доказательства на 20% не оправдало увеличение времени доказывающей стороны на 68%.