EIP-2537: Довгий шлях до попередньої компіляції Ethereum
EIP-2537 є останньою EVM-препроцесорною інструкцією, яка була визначена для додавання у оновленні Pectra. Ця інструкція додає до EVM різні обчислювальні функції для кривої BLS12-381, такі як обчислення пар на полях кривих.
EIP-2537 спочатку був запропонований у 2020 році, а підтвердження його включення до оновлення Ethereum відбулося лише у 2025 році. У цій статті буде представлено процес управління EIP-2537 та розглянуто, чому знадобилося 5 років, щоб включити цю пропозицію в оновлення.
Фон пропозиції
У січні 2017 року Віталік Бутерін вперше представив алгоритм парування та криву alt_bn128. Після цього Віталік та Крістіан Рейтвайснер запропонували EIP-196 та EIP-197, щоб додати підтримку обчислень з використанням кривої alt_bn128 до EVM.
У жовтні 2017 року оновлення Byzantium офіційно включило криву alt_bn128, що реалізувало обчислення парних полів кривих всередині EVM, що дозволило виконувати перевірку доказів ZK-Snarks всередині EVM.
У листопаді 2017 року команда zcash представила криву BLS12-381, яка має вищу безпеку та продуктивність у порівнянні з alt_bn128. Багато блокчейн-протоколів згодом прийняли криву BLS12-381.
У травні 2018 року Джастін Дрейк зазначив, що майбутнє PoS та шардінг-апгрейди Ethereum можуть використовувати алгоритм BLS-мультипідпису на основі BLS12-381. Як виявилося, пізніший апгрейд ETH2 дійсно використовував криву BLS12-381.
З розвитком ETH2 все більше зростає заклик до впровадження BLS12-381 у виконувальний рівень ETH. У лютому 2020 року дослідники запропонували EIP-2537, сподіваючись протестувати його разом з тестовою мережею ETH2. Автор EIP-2537 Алекс Стокс закликав включити цю пропозицію у жорсткий форк Berlin.
Перед тим як представити подальший зміст, потрібно спочатку зрозуміти EIP-1962. Цю пропозицію було висунуто Matter Labs у квітні 2019 року, вона підтримує три криві: BLS12, BN та MNT4/6, плануючи одноразово додати 10 попередніх асемблерних інструкцій. Але пропозиція виявилась занадто складною і викликала сумніви у багатьох розробників.
Щоб вирішити проблему EIP-1962, Matter Labs у лютому 2020 року запропонувала кілька варіантів розподілу EIP, зокрема:
EIP-2537: надає підтримку BLS12-381
EIP-2539: надає підтримку BLS12-377
PR#2541: надає підтримку кривої BLS12-377 (Zexe ) без EIP номеру (
Серед них EIP-2537 є найважливішим, оскільки консенсусний рівень також використовує криву BLS12-381. Основною метою цих пропозицій є реалізація верифікації підписів BLS на консенсусному рівні в основній мережі. Тоді ETH2 розробляв контракт на депозит, введення BLS12-381 попередньої компіляції дозволило б реалізувати верифікацію підписів у контракті на депозит, щоб уникнути ризику втрати коштів користувачів.
Коли EIP-2537 тільки був запропонований, Віталік вказав на ряд проблем, які в основному зосереджені на змісті документації EIP. Після цього автор провів відповіді та обговорення.
6 березня 2020 року на конференції розробників Ethereum обговорювали EIP-2537. Віталік вважає, що ця пропозиція є дуже ефективною для рекурсивних SNARK-доказів і в довгостроковій перспективі не зашкодить Ethereum. Конференція підтвердила пріоритет EIP-2537, усі клієнти погодилися якнайшвидше реалізувати його та планують завершити розробку до оновлення Berlin.
Після цього EIP-2537 став завданням високого пріоритету. На засіданні 20 березня було підтверджено, що EIP-2537 замінює EIP-1962 як основну пропозицію BLS і включається до попереднього списку оновлення Berlin.
На конференції в квітні офіційно було включено EIP-2537 до оновлення Berlin hard fork, визначено терміни реалізації в квітні та тестування в травні-червні, а також включено його до списку найвищих пріоритетів.
Потім EIP-2537 перейшов до великої розробки та тестування, які обговорювалися на майже 20 основних зустрічах розробників. Основні моменти включають:
Обговорення проблеми кодування ABI
Синхронізація прогресу реалізації клієнтів
Проблеми, що існують у реалізації PR Geth
Тестування тестової мережі YOLO
Взаємозв'язок із депозитним контрактом
Проблема різноманітності клієнтів
проблема ціноутворення витрат на газ
Однак, через високу складність реалізації, EIP-2537 врешті-решт був вилучений з тестової мережі YOLO v3 та оновлення Berlin на зустрічі розробників Ethereum Core #99. Основна причина полягає в тому, що він витрачав занадто багато ресурсів для розробки, впливаючи на розробку інших EIP.
У квітні 2021 року Ethereum завершив оновлення Berlin, але не містив EIP-2537. Це призвело до того, що оновлення Berlin виглядало досить мізерно.
! [Годинник управління Ethereum: подорож до компіляції EIP-2537])https://img-cdn.gateio.im/webp-social/moments-3198079b11f21298df05682606409838.webp(
Подальший розвиток
Після цього кілька оновлень Ethereum не змогли включити EIP-2537:
Оновлення Лондона: виключено через складність та проблеми з ціноутворенням газу
Оновлення Shanghai: Розробники зосереджуються на функції виведення PoS, відтермінування EIP-2537
Cancun оновлення: акцент на EIP-4844, EIP-2537 не обговорювався
До лютого 2024 року розробники знову розглянуть EIP-2537 у рамках обговорення оновлення Pectra. На цей час реалізація вже не є проблемою, залишилася лише проблема ціноутворення витрат газу.
У грудні 2024 року до січня 2025 року розробники остаточно визначили цінову модель EIP-2537, вирішивши питання витрат.
! [Годинник управління Ethereum: подорож EIP-2537 перед складанням])https://img-cdn.gateio.im/webp-social/moments-75338d7a495f20ef25a70cca21a48381.webp(
Підсумок
EIP-2537 від запропонування в лютому 2020 року до остаточного затвердження в січні 2025 року пройде майже 5 років. Протягом цього часу відбулися численні обговорення щодо оновлень та відмов, що в основному пов'язано зі складністю реалізації, змінами в пріоритетах оновлень Ethereum та іншими факторами. Цей процес демонструє складність управління Ethereum, а також тривалий шлях, який технічні пропозиції можуть пройти від моменту їх подання до остаточного прийняття.
! [Годинник управління Ethereum: подорож до компіляції EIP-2537])https://img-cdn.gateio.im/social/moments-55d3bb142078f459d3a41ead42cd599(
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
14 лайків
Нагородити
14
3
Поділіться
Прокоментувати
0/400
RumbleValidator
· 21год тому
Стабільність ноди є ключовою, ефективності недостатньо.
Переглянути оригіналвідповісти на0
GasFeeTears
· 21год тому
Хто витримає таку довгу розв'язку?
Переглянути оригіналвідповісти на0
BanklessAtHeart
· 21год тому
Після п'яти років заточування меча він нарешті прийшов!
EIP-2537: 5-річний зигзагоподібний шлях до інструкцій з попередньої збірки Ethereum BLS12-381
EIP-2537: Довгий шлях до попередньої компіляції Ethereum
EIP-2537 є останньою EVM-препроцесорною інструкцією, яка була визначена для додавання у оновленні Pectra. Ця інструкція додає до EVM різні обчислювальні функції для кривої BLS12-381, такі як обчислення пар на полях кривих.
EIP-2537 спочатку був запропонований у 2020 році, а підтвердження його включення до оновлення Ethereum відбулося лише у 2025 році. У цій статті буде представлено процес управління EIP-2537 та розглянуто, чому знадобилося 5 років, щоб включити цю пропозицію в оновлення.
Фон пропозиції
У січні 2017 року Віталік Бутерін вперше представив алгоритм парування та криву alt_bn128. Після цього Віталік та Крістіан Рейтвайснер запропонували EIP-196 та EIP-197, щоб додати підтримку обчислень з використанням кривої alt_bn128 до EVM.
У жовтні 2017 року оновлення Byzantium офіційно включило криву alt_bn128, що реалізувало обчислення парних полів кривих всередині EVM, що дозволило виконувати перевірку доказів ZK-Snarks всередині EVM.
У листопаді 2017 року команда zcash представила криву BLS12-381, яка має вищу безпеку та продуктивність у порівнянні з alt_bn128. Багато блокчейн-протоколів згодом прийняли криву BLS12-381.
У травні 2018 року Джастін Дрейк зазначив, що майбутнє PoS та шардінг-апгрейди Ethereum можуть використовувати алгоритм BLS-мультипідпису на основі BLS12-381. Як виявилося, пізніший апгрейд ETH2 дійсно використовував криву BLS12-381.
З розвитком ETH2 все більше зростає заклик до впровадження BLS12-381 у виконувальний рівень ETH. У лютому 2020 року дослідники запропонували EIP-2537, сподіваючись протестувати його разом з тестовою мережею ETH2. Автор EIP-2537 Алекс Стокс закликав включити цю пропозицію у жорсткий форк Berlin.
! Годинник управління Ethereum: подорож EIP-2537 перед складанням
Берлінські заворушення
Перед тим як представити подальший зміст, потрібно спочатку зрозуміти EIP-1962. Цю пропозицію було висунуто Matter Labs у квітні 2019 року, вона підтримує три криві: BLS12, BN та MNT4/6, плануючи одноразово додати 10 попередніх асемблерних інструкцій. Але пропозиція виявилась занадто складною і викликала сумніви у багатьох розробників.
Щоб вирішити проблему EIP-1962, Matter Labs у лютому 2020 року запропонувала кілька варіантів розподілу EIP, зокрема:
Серед них EIP-2537 є найважливішим, оскільки консенсусний рівень також використовує криву BLS12-381. Основною метою цих пропозицій є реалізація верифікації підписів BLS на консенсусному рівні в основній мережі. Тоді ETH2 розробляв контракт на депозит, введення BLS12-381 попередньої компіляції дозволило б реалізувати верифікацію підписів у контракті на депозит, щоб уникнути ризику втрати коштів користувачів.
Коли EIP-2537 тільки був запропонований, Віталік вказав на ряд проблем, які в основному зосереджені на змісті документації EIP. Після цього автор провів відповіді та обговорення.
6 березня 2020 року на конференції розробників Ethereum обговорювали EIP-2537. Віталік вважає, що ця пропозиція є дуже ефективною для рекурсивних SNARK-доказів і в довгостроковій перспективі не зашкодить Ethereum. Конференція підтвердила пріоритет EIP-2537, усі клієнти погодилися якнайшвидше реалізувати його та планують завершити розробку до оновлення Berlin.
Після цього EIP-2537 став завданням високого пріоритету. На засіданні 20 березня було підтверджено, що EIP-2537 замінює EIP-1962 як основну пропозицію BLS і включається до попереднього списку оновлення Berlin.
На конференції в квітні офіційно було включено EIP-2537 до оновлення Berlin hard fork, визначено терміни реалізації в квітні та тестування в травні-червні, а також включено його до списку найвищих пріоритетів.
Потім EIP-2537 перейшов до великої розробки та тестування, які обговорювалися на майже 20 основних зустрічах розробників. Основні моменти включають:
Однак, через високу складність реалізації, EIP-2537 врешті-решт був вилучений з тестової мережі YOLO v3 та оновлення Berlin на зустрічі розробників Ethereum Core #99. Основна причина полягає в тому, що він витрачав занадто багато ресурсів для розробки, впливаючи на розробку інших EIP.
У квітні 2021 року Ethereum завершив оновлення Berlin, але не містив EIP-2537. Це призвело до того, що оновлення Berlin виглядало досить мізерно.
! [Годинник управління Ethereum: подорож до компіляції EIP-2537])https://img-cdn.gateio.im/webp-social/moments-3198079b11f21298df05682606409838.webp(
Подальший розвиток
Після цього кілька оновлень Ethereum не змогли включити EIP-2537:
До лютого 2024 року розробники знову розглянуть EIP-2537 у рамках обговорення оновлення Pectra. На цей час реалізація вже не є проблемою, залишилася лише проблема ціноутворення витрат газу.
У грудні 2024 року до січня 2025 року розробники остаточно визначили цінову модель EIP-2537, вирішивши питання витрат.
! [Годинник управління Ethereum: подорож EIP-2537 перед складанням])https://img-cdn.gateio.im/webp-social/moments-75338d7a495f20ef25a70cca21a48381.webp(
Підсумок
EIP-2537 від запропонування в лютому 2020 року до остаточного затвердження в січні 2025 року пройде майже 5 років. Протягом цього часу відбулися численні обговорення щодо оновлень та відмов, що в основному пов'язано зі складністю реалізації, змінами в пріоритетах оновлень Ethereum та іншими факторами. Цей процес демонструє складність управління Ethereum, а також тривалий шлях, який технічні пропозиції можуть пройти від моменту їх подання до остаточного прийняття.
! [Годинник управління Ethereum: подорож до компіляції EIP-2537])https://img-cdn.gateio.im/social/moments-55d3bb142078f459d3a41ead42cd599(