# EIP-2537:イーサリアム曲線計算の長い道のりEIP-2537は最近のPectraフォークアップグレードで追加が決定されたEVMプリコンパイル命令です。この命令はEVMにBLS12-381曲線のさまざまな計算機能を追加し、曲線の領域でのペアリング計算などを含みます。EIP-2573は2020年に最初に提案され、2025年にイーサリアムのアップグレードに組み込まれることが確認されました。本記事ではEIP-2537のガバナンスの経緯を紹介し、なぜ5年かけてこの提案がアップグレードに組み込まれたのかを探ります。## 提案の背景2017年1月、ヴィタリック・ブテリンは初めてペアリングアルゴリズムとalt_bn128曲線を紹介しました。その後、ヴィタリックとクリスティアン・ライトウィスナーはEIP-196とEIP-197を提案し、EVMにalt_bn128曲線計算のサポートを追加しました。2017年10月のビザンチウムアップグレードで正式にalt_bn128曲線が組み込まれ、EVM内部での曲線領域ペアリング計算が実現し、ZK-Snarksの証明検証がEVM内で完了できるようになりました。2017年11月、zcashチームはBLS12-381曲線を提案しました。これはalt_bn128に比べてより高い安全性と性能を持っています。その後、多くのブロックチェーンプロトコルがBLS12-381曲線を採用し、alt_bn128曲線を放棄しました。2018年5月、ジャスティン・ドレイクはイーサリアムの将来のPoSとシャーディングのアップグレードにBLS12-381曲線に基づくBLSマルチシグアルゴリズムを使用できると指摘しました。これにより、以前のEIP-1011プランは歴史の舞台から退き、後のETH2アップグレードも最終的にBLS12-381曲線を採用しました。ETH2の開発が進む中、ETH実行層にBLS12-381を導入する声が高まっています。2020年2月、一部の研究者がEIP-2537を提案し、ETH2のテストネットでのテストを希望しています。EIP-2537の著者であるアレックス・ストークスは、これをベルリンのハードフォークに組み込むよう呼びかけています。興味深いことに、EIP-2537の著者は、ZKSyncという製品で最もよく知られているMatter Labsの共同設立者でもあります。! [イーサリアムガバナンスウォッチ:EIP-2537プレアッセンブルジャーニー](https://img-cdn.gateio.im/social/moments-1f78fbf1beee46a4a213a7c20c0ddd84)## ベルリンの動乱後続の内容を紹介する前に、EIP-1962について触れる必要があります。これはMatter Labsが2019年4月に提案した最初の楕円曲線領域ペアリングのプレコンパイル提案で、BLS12、BN、およびMNT4/6の3つの曲線をサポートしています。このEIPは、一度に10個のプレコンパイル命令を追加して異なる曲線を処理することを計画しています。しかし、多くの開発者は提案が複雑すぎて実現が難しく、スマートコントラクトエンジニアにとって使いにくいと疑問を呈しています。提案者として、Matter Labsは楕円曲線アルゴリズムの開発を完了し、多言語のリファレンス実装を提供しています。EIP-1962の問題を解決するために、Matter Labsは2020年2月に複数のEIPを分割してEIP-1962を提案し、その一部はインターフェースを継承しています。- EIP-2537はBLS12-381のサポートを提供します- EIP-2539はBLS12-377をサポートします- PR#2541はBLS12-377(Zexeカーブ)のサポートを提供しますが、EIP番号は取得していません。その中でEIP-2537が最も重要であり、なぜならコンセンサス層もBLS12-381曲線を使用しているからです。EIP-1962とEIP-2537の核心的な目的は、メインネットでコンセンサス層のBLS署名検証を実現することです。当時ETH2はデポジットコントラクトを開発中であり、実行層はBLS検証アルゴリズムが欠如していたため、元の設計ではデポジットコントラクトは署名を検証せず、コンセンサス層が検証することになっていました。もし不正が発見された場合、ユーザーの資金損失を引き起こす可能性があります。この背景の中で、コア開発者は、ユーザー資金の損失の可能性を避けるために、デポジット契約内で署名を検証するためにBLS12-381のプリコンパイルを導入したいと考えています。これが当時多数の開発者がEIP-1962とEIP-2537に注目していた理由です。EIP-2537が提案された当初、Vitalikはその内容に関する一連の問題が存在することを指摘しました。その後、著者は返信と議論を行いました。2020年3月6日のコア開発者会議で、VitalikはEIP-2537などが再帰SNARK証明に非常に効果的であり、長期的にはイーサリアムに損害を与えないと考えました。会議ではEIP-2537の優先的地位が確認され、すべてのクライアントはできるだけ早く実装し、Berlinアップグレード前に開発を完了する計画に同意しました。その後、EIP-2537は高優先度のタスクとなりました。3月20日の会議で、EIP-2537がEIP-1962に代わってコアBLS提案として確認され、ベルリンアップグレードの予備リストに入ることが決定されました。4月の会議では、EIP-2537がベルリンのハードフォークアップグレードに正式に組み込まれ、4月の実施、5-6月のテストのタイムラインが確定され、最優先事項として位置付けられました。次にEIP-2537は大量の開発テスト段階に入り、その後の約20回のコア開発者会議ではほぼ毎回関連の議論が行われました。主な内容は次のとおりです:- ABIエンコード問題の議論- 各クライアントの実装進捗同期- GethのPRは16000行のコードを実装しており、安全性と有効性を判断するのが難しい- 開発者はGethが7月前にEIP-2537の開発を完了するのが難しいと述べています。- PRレビューを支援するために暗号学エンジニアを探す提案、テストネットを使用して実装の安全性をテストする- 複雑なアセンブリ最適化を排除してレビューの難易度を下げるかどうかを議論する- デポジット契約の開発者は、EIP-2537を使用しないバージョンが監査を完了したと述べ、EIP-2537を使用するバージョンのリリースを考慮しないことにした。- EIP-2537の専用テストのためにYOLOテストネットを増やすことを決定しましたこれにより、EIP-2537の重要性は、預金契約が完了したことで大幅に低下し、Geth開発者はベルリン前に実現することが難しいと考えています。EIP-2537がベルリンに受け入れられないことはほぼ確定のようです。今後の会議でさらに多くの問題が発生する:- GethはEIP-2537の実装PRに問題があることを発見し、さらなるテストと修正が必要です。- YOLOテストネットに問題が発生し、BLS署名に関連している可能性があります。- クライアントの多様性の問題を議論し、他のクライアントの開発コストを削減するために現在のEIP実装を凍結することを考慮する- Matter LabsはEIP-2539もテストに含めたいと考えていますが、Gethの開発者から反対されています。最終的に99回目のコア開発者会議で、EIP-2537をYOLO v3テストネットおよびBerlinアップグレードから外すことが決定されました。主な理由は、EIP-2537がコア開発者にあまりにも多くの時間を費やさせ、他のEIPの開発が妨げられたことです。副次的な要因として、イーサリアム財団がEVM384を代替案として提案したことがあります。2021年4月、イーサリアムはBerlinアップグレードを完了しました。コアに含まれるEIP-2565などの実装はそれほど複雑ではなく、アップグレードはやや物足りないものでした。これは最も複雑なEIP-2537が除外されたためです。! [イーサリアムガバナンスウォッチ:EIP-2537コンパイル前の旅](https://img-cdn.gateio.im/social/moments-3198079b11f21298df05682606409838)## フォローアップ開発ベルリン後のロンドンアップグレード中、開発者はEIP-2537の追加を検討しましたが、依存ライブラリの変更によりガス価格が変動する可能性があるため、最終的には複雑さから再び放棄されました。2021年6月にEIP-2537をShanghaiアップグレードに組み込む正式提案が行われました。しかし、Mergeアップグレードは開発者の多くの時間を占めました。2022年9月にMergeが完了した後、開発者はようやくShanghaiの目標について議論を再開する機会を得ました。2022年11月、開発者はEIP-2537の延期が必要だと考え、上海アップグレードの核心はPoSの引き出しをサポートすることです。CancunアップグレードはEIP-4844に集中しているため、EIP-2537については議論されていません。2024年2月まで、開発者はPectraアップグレードにEIP-2537を組み込むことを議論しており、実装は問題ではなく、一部のガス消費の価格設定に問題があると見ています。2024年12月から2025年1月にかけて、開発者は具体的なコスト計算モデルを議論し、最終的にEIP-2537のコスト問題を解決します。! [イーサリアムガバナンスウォッチ:EIP-2537プレアッセンブリージャーニー](https://img-cdn.gateio.im/social/moments-75338d7a495f20ef25a70cca21a48381)## まとめEIP-2537は2020年2月に提案され、2025年1月に最終決定されるまで、約5年の時間を経てきました。その間、実現の複雑さやアップグレードテーマとの不一致により何度も延期されました。これはEIPがイーサリアムのアップグレードに組み込まれるかどうかが、自身の価値だけでなく、歴史的な進行要因も考慮する必要があることを示しています。毎回のイーサリアムアップグレードにはそれぞれのテーマがあり、EIP-2537はかつてBerlinアップグレードの最も重要なEIPであったにもかかわらず、その難易度により廃止されました。その後、イーサリアムはPoSの歴史的進行に入り、純粋な実行層EIPは重視されなくなり、EIP-2537は長期間受け入れられないままでした。! [イーサリアムガバナンスウォッチ:EIP-2537コンパイル前の旅](https://img-cdn.gateio.im/social/moments-55d3bb1142078f459d3a41ead42cd599)
EIP-2537の長い道: Berlinアップグレードの拒否からPectraの最終的な採用まで
EIP-2537:イーサリアム曲線計算の長い道のり
EIP-2537は最近のPectraフォークアップグレードで追加が決定されたEVMプリコンパイル命令です。この命令はEVMにBLS12-381曲線のさまざまな計算機能を追加し、曲線の領域でのペアリング計算などを含みます。
EIP-2573は2020年に最初に提案され、2025年にイーサリアムのアップグレードに組み込まれることが確認されました。本記事ではEIP-2537のガバナンスの経緯を紹介し、なぜ5年かけてこの提案がアップグレードに組み込まれたのかを探ります。
提案の背景
2017年1月、ヴィタリック・ブテリンは初めてペアリングアルゴリズムとalt_bn128曲線を紹介しました。その後、ヴィタリックとクリスティアン・ライトウィスナーはEIP-196とEIP-197を提案し、EVMにalt_bn128曲線計算のサポートを追加しました。2017年10月のビザンチウムアップグレードで正式にalt_bn128曲線が組み込まれ、EVM内部での曲線領域ペアリング計算が実現し、ZK-Snarksの証明検証がEVM内で完了できるようになりました。
2017年11月、zcashチームはBLS12-381曲線を提案しました。これはalt_bn128に比べてより高い安全性と性能を持っています。その後、多くのブロックチェーンプロトコルがBLS12-381曲線を採用し、alt_bn128曲線を放棄しました。
2018年5月、ジャスティン・ドレイクはイーサリアムの将来のPoSとシャーディングのアップグレードにBLS12-381曲線に基づくBLSマルチシグアルゴリズムを使用できると指摘しました。これにより、以前のEIP-1011プランは歴史の舞台から退き、後のETH2アップグレードも最終的にBLS12-381曲線を採用しました。
ETH2の開発が進む中、ETH実行層にBLS12-381を導入する声が高まっています。2020年2月、一部の研究者がEIP-2537を提案し、ETH2のテストネットでのテストを希望しています。EIP-2537の著者であるアレックス・ストークスは、これをベルリンのハードフォークに組み込むよう呼びかけています。
興味深いことに、EIP-2537の著者は、ZKSyncという製品で最もよく知られているMatter Labsの共同設立者でもあります。
! イーサリアムガバナンスウォッチ:EIP-2537プレアッセンブルジャーニー
ベルリンの動乱
後続の内容を紹介する前に、EIP-1962について触れる必要があります。これはMatter Labsが2019年4月に提案した最初の楕円曲線領域ペアリングのプレコンパイル提案で、BLS12、BN、およびMNT4/6の3つの曲線をサポートしています。このEIPは、一度に10個のプレコンパイル命令を追加して異なる曲線を処理することを計画しています。しかし、多くの開発者は提案が複雑すぎて実現が難しく、スマートコントラクトエンジニアにとって使いにくいと疑問を呈しています。提案者として、Matter Labsは楕円曲線アルゴリズムの開発を完了し、多言語のリファレンス実装を提供しています。
EIP-1962の問題を解決するために、Matter Labsは2020年2月に複数のEIPを分割してEIP-1962を提案し、その一部はインターフェースを継承しています。
その中でEIP-2537が最も重要であり、なぜならコンセンサス層もBLS12-381曲線を使用しているからです。EIP-1962とEIP-2537の核心的な目的は、メインネットでコンセンサス層のBLS署名検証を実現することです。当時ETH2はデポジットコントラクトを開発中であり、実行層はBLS検証アルゴリズムが欠如していたため、元の設計ではデポジットコントラクトは署名を検証せず、コンセンサス層が検証することになっていました。もし不正が発見された場合、ユーザーの資金損失を引き起こす可能性があります。
この背景の中で、コア開発者は、ユーザー資金の損失の可能性を避けるために、デポジット契約内で署名を検証するためにBLS12-381のプリコンパイルを導入したいと考えています。これが当時多数の開発者がEIP-1962とEIP-2537に注目していた理由です。
EIP-2537が提案された当初、Vitalikはその内容に関する一連の問題が存在することを指摘しました。その後、著者は返信と議論を行いました。2020年3月6日のコア開発者会議で、VitalikはEIP-2537などが再帰SNARK証明に非常に効果的であり、長期的にはイーサリアムに損害を与えないと考えました。会議ではEIP-2537の優先的地位が確認され、すべてのクライアントはできるだけ早く実装し、Berlinアップグレード前に開発を完了する計画に同意しました。
その後、EIP-2537は高優先度のタスクとなりました。3月20日の会議で、EIP-2537がEIP-1962に代わってコアBLS提案として確認され、ベルリンアップグレードの予備リストに入ることが決定されました。4月の会議では、EIP-2537がベルリンのハードフォークアップグレードに正式に組み込まれ、4月の実施、5-6月のテストのタイムラインが確定され、最優先事項として位置付けられました。
次にEIP-2537は大量の開発テスト段階に入り、その後の約20回のコア開発者会議ではほぼ毎回関連の議論が行われました。主な内容は次のとおりです:
これにより、EIP-2537の重要性は、預金契約が完了したことで大幅に低下し、Geth開発者はベルリン前に実現することが難しいと考えています。EIP-2537がベルリンに受け入れられないことはほぼ確定のようです。
今後の会議でさらに多くの問題が発生する:
最終的に99回目のコア開発者会議で、EIP-2537をYOLO v3テストネットおよびBerlinアップグレードから外すことが決定されました。主な理由は、EIP-2537がコア開発者にあまりにも多くの時間を費やさせ、他のEIPの開発が妨げられたことです。副次的な要因として、イーサリアム財団がEVM384を代替案として提案したことがあります。
2021年4月、イーサリアムはBerlinアップグレードを完了しました。コアに含まれるEIP-2565などの実装はそれほど複雑ではなく、アップグレードはやや物足りないものでした。これは最も複雑なEIP-2537が除外されたためです。
! イーサリアムガバナンスウォッチ:EIP-2537コンパイル前の旅
フォローアップ開発
ベルリン後のロンドンアップグレード中、開発者はEIP-2537の追加を検討しましたが、依存ライブラリの変更によりガス価格が変動する可能性があるため、最終的には複雑さから再び放棄されました。
2021年6月にEIP-2537をShanghaiアップグレードに組み込む正式提案が行われました。しかし、Mergeアップグレードは開発者の多くの時間を占めました。2022年9月にMergeが完了した後、開発者はようやくShanghaiの目標について議論を再開する機会を得ました。
2022年11月、開発者はEIP-2537の延期が必要だと考え、上海アップグレードの核心はPoSの引き出しをサポートすることです。CancunアップグレードはEIP-4844に集中しているため、EIP-2537については議論されていません。
2024年2月まで、開発者はPectraアップグレードにEIP-2537を組み込むことを議論しており、実装は問題ではなく、一部のガス消費の価格設定に問題があると見ています。2024年12月から2025年1月にかけて、開発者は具体的なコスト計算モデルを議論し、最終的にEIP-2537のコスト問題を解決します。
! イーサリアムガバナンスウォッチ:EIP-2537プレアッセンブリージャーニー
まとめ
EIP-2537は2020年2月に提案され、2025年1月に最終決定されるまで、約5年の時間を経てきました。その間、実現の複雑さやアップグレードテーマとの不一致により何度も延期されました。これはEIPがイーサリアムのアップグレードに組み込まれるかどうかが、自身の価値だけでなく、歴史的な進行要因も考慮する必要があることを示しています。毎回のイーサリアムアップグレードにはそれぞれのテーマがあり、EIP-2537はかつてBerlinアップグレードの最も重要なEIPであったにもかかわらず、その難易度により廃止されました。その後、イーサリアムはPoSの歴史的進行に入り、純粋な実行層EIPは重視されなくなり、EIP-2537は長期間受け入れられないままでした。
! イーサリアムガバナンスウォッチ:EIP-2537コンパイル前の旅