EIP-2537: учим EVM собственным подписям консенсус-слоя
Валидаторы Ethereum подписывают BLS12-381 — кривой, выбранной за агрегируемость подписей и высокую надёжность. Но EVM знала только старую, более слабую кривую bn128, так что контракт вообще не мог проверить подпись маячной цепочки. EIP-2537 добавляет нативные прекомпайлы BLS12-381, позволяя контрактам проверять собственные подписи консенсус-слоя — недостающее звено для мостов с минимизированным доверием.
- прекомпайлы (EIP-196/197)
- маячная цепочка и подписи BLS
Prague / Electra, май 2025. Прекомпайлы bn128 из Byzantium научили EVM ровно той математике кривых, что нужна для проверки zk-SNARK. Но есть кривая, которую EVM демонстративно не понимала: та, которой подписывает собственный консенсус-слой Ethereum. Каждая аттестация валидатора, каждая подпись sync-комитета — это подпись BLS12-381, и у контракта не было способа её проверить, потому что EVM знала только старую, более слабую кривую bn128. Из-за этого разрыва EVM не могла проверить консенсус собственной цепочки. EIP-2537 закрывает этот разрыв. Давайте выведем его.
Проблема: EVM знала bn128, а не BLS12-381
Консенсус Ethereum использует BLS12-381 Эллиптическая кривая для спаривания (pairing) с надёжностью около 128 бит и, что решающе, с агрегацией подписей — подписи многих валидаторов складываются в одну. Это кривая, которой подписывает маячная цепочка; до EIP-2537 у EVM не было её нативной поддержки. , потому что её подписи агрегируются (подписи целого комитета сворачиваются в одну) и она достаточно надёжна для консенсусного уровня безопасности. У EVM же были прекомпайлы только для bn128 — кривой, которая годится для многих zk-приложений, но слабее (её эффективная надёжность просела ниже комфортной зоны) и, что важнее, не той кривой. Поэтому у контракта попросту не было способа проверить подпись BLS12-381, а реализация математики этой кривой в байткоде неосуществима ровно по той же причине, что и любое спаривание — это стоило бы больше газа, чем вмещает блок.
→ Шаг 2: даём EVM нужную кривую нативно.
EIP-2537: нативные прекомпайлы BLS12-381
Исправление в точности повторяет шаблон bn128, только для другой кривой: EIP-2537 добавляет семейство прекомпайлов для BLS12-381 — сложение точек и умножение на скаляр в обеих группах (G1 и G2), проверку спаривания и map-to-curve Прекомпайл, который детерминированно хеширует произвольный вход в точку на кривой — шаг «hash-to-curve», нужный, чтобы превратить сообщение в то, что схема подписи BLS может подписать и проверить. для хеширования сообщений на кривую — каждый выполняется нативно и оценивается по своей реальной, низкой стоимости. С ними контракт может выполнить операции, которые требует проверка BLS-подписи, и потому способен проверить подпись BLS12-381 одним дешёвым вызовом — на той же кривой, что использует консенсус-слой.
→ Шаг 3: проверяем собственный консенсус Ethereum из контракта.
Выигрыш: мосты, агрегация и одна общая кривая
Как только контракт может проверить подпись BLS12-381, он может проверить собственные подписи маячной цепочки — самое мощное применение — подпись sync-комитет (sync committee) Группа из 512 валидаторов в Altair, которая подписывает каждый блок агрегированной BLS-подписью. С прекомпайлами BLS12-381 контракт (на Ethereum или другой сети) может проверить эту подпись напрямую. . Это недостающее звено для по-настоящему моста с минимизированным доверием (trust-minimized bridge) Мост, в котором целевая сеть проверяет консенсусные подписи исходной сети напрямую, а не доверяет мультиподписи релееров. Ончейн-проверка BLS12-381 позволяет контракту убедиться, что sync-комитет Ethereum подписал состояние, делая мосты из Ethereum куда угодно доверенно-минимизированными. : другая сеть (или L2) может запустить контракт, проверяющий подпись sync-комитета Ethereum, и тем самым подтвердить состояние Ethereum криптографически, а не на слово мультиподписи релееров. Это также открывает эффективные ончейн-схемы агрегированных подписей для стейкинга, DAO и роллапов. И наконец, EVM и консенсус-слой делят одну кривую.