Часть III · Глава 38 из 43 · Prague · Electra

EIP-2537: учим EVM собственным подписям консенсус-слоя

Валидаторы Ethereum подписывают BLS12-381 — кривой, выбранной за агрегируемость подписей и высокую надёжность. Но EVM знала только старую, более слабую кривую bn128, так что контракт вообще не мог проверить подпись маячной цепочки. EIP-2537 добавляет нативные прекомпайлы BLS12-381, позволяя контрактам проверять собственные подписи консенсус-слоя — недостающее звено для мостов с минимизированным доверием.

Обновлено 24 июн. 2026 г. · 8 мин
Предполагается
  • прекомпайлы (EIP-196/197)
  • маячная цепочка и подписи BLS

Prague / Electra, май 2025. Прекомпайлы bn128 из Byzantium научили EVM ровно той математике кривых, что нужна для проверки zk-SNARK. Но есть кривая, которую EVM демонстративно не понимала: та, которой подписывает собственный консенсус-слой Ethereum. Каждая аттестация валидатора, каждая подпись sync-комитета — это подпись BLS12-381, и у контракта не было способа её проверить, потому что EVM знала только старую, более слабую кривую bn128. Из-за этого разрыва EVM не могла проверить консенсус собственной цепочки. EIP-2537 закрывает этот разрыв. Давайте выведем его.

1 шаг Не та кривая

Проблема: EVM знала bn128, а не BLS12-381

Консенсус Ethereum использует BLS12-381 Эллиптическая кривая для спаривания (pairing) с надёжностью около 128 бит и, что решающе, с агрегацией подписей — подписи многих валидаторов складываются в одну. Это кривая, которой подписывает маячная цепочка; до EIP-2537 у EVM не было её нативной поддержки. , потому что её подписи агрегируются (подписи целого комитета сворачиваются в одну) и она достаточно надёжна для консенсусного уровня безопасности. У EVM же были прекомпайлы только для bn128 — кривой, которая годится для многих zk-приложений, но слабее (её эффективная надёжность просела ниже комфортной зоны) и, что важнее, не той кривой. Поэтому у контракта попросту не было способа проверить подпись BLS12-381, а реализация математики этой кривой в байткоде неосуществима ровно по той же причине, что и любое спаривание — это стоило бы больше газа, чем вмещает блок.

консенсус подписывает BLS12-381 — EVM не мог это проверить beacon-цепь подписи BLS12-381 ✗ нельзя проверить прекомпайлы EVM только bn128 — более слабая кривая BLS12-381 в байткоде невозможен — стена цены, как у спаривания контракт не мог проверить подписи самого бикон-чейна
Маячная цепочка подписывает всё кривой BLS12-381, но у EVM были прекомпайлы только для более старой и слабой кривой bn128 — а BLS12-381 в байткоде так же неосуществима, как и любое спаривание. Поэтому контракт не мог проверить собственные подписи консенсус-слоя.

→ Шаг 2: даём EVM нужную кривую нативно.

2 шаг Добавляем BLS12-381

EIP-2537: нативные прекомпайлы BLS12-381

Исправление в точности повторяет шаблон bn128, только для другой кривой: EIP-2537 добавляет семейство прекомпайлов для BLS12-381 — сложение точек и умножение на скаляр в обеих группах (G1 и G2), проверку спаривания и map-to-curve Прекомпайл, который детерминированно хеширует произвольный вход в точку на кривой — шаг «hash-to-curve», нужный, чтобы превратить сообщение в то, что схема подписи BLS может подписать и проверить. для хеширования сообщений на кривую — каждый выполняется нативно и оценивается по своей реальной, низкой стоимости. С ними контракт может выполнить операции, которые требует проверка BLS-подписи, и потому способен проверить подпись BLS12-381 одним дешёвым вызовом — на той же кривой, что использует консенсус-слой.

добавить BLS12-381 нативно, как прекомпайлы bn128 прекомпайлы BLS12-381 нативный C/Go · фикс. дешёвый газ G1/G2add · mulpairingthe checkmap-to-curvehash-to-point та же кривая, что у консенсус-слоя, — теперь проверяема ончейн контракт проверяет BLS-подпись одним дешёвым вызовом
EIP-2537 добавляет нативные прекомпайлы для BLS12-381 — сложение и умножение на G1/G2, проверку спаривания и map-to-curve — по реальной стоимости. Это ровно та кривая, которой подписывает консенсус-слой, так что теперь контракт может проверить BLS-подпись одним дешёвым вызовом.

→ Шаг 3: проверяем собственный консенсус Ethereum из контракта.

3 шаг Проверяем консенсус

Выигрыш: мосты, агрегация и одна общая кривая

Как только контракт может проверить подпись 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 и консенсус-слой делят одну кривую.

проверка консенсуса Ethereum прямо из контракта мосты с минимальным доверием проверка sync-комитета BLS-подпись на L1/L2 агрегация подписей много подписантов → одна проверка стейкинг, DAO, роллапы пара к Altair — контракт может проверить, что подписал sync-комитет EVM и консенсус-слой наконец делят одну кривую
С ончейн-проверкой BLS12-381 контракт может проверять собственные подписи маячной цепочки — открывая мосты с минимизированным доверием (проверка агрегированной подписи sync-комитета на другой сети) и эффективные схемы агрегированных подписей. Это напрямую сочетается со sync-комитетами Altair.
04 Глубже Куда двигаться дальше