- 1 イーサリアム2.0のBLS署名とは?
- 2 EIP-2537 BLS12-381曲線のプリコンパイルコントラクト
- 3 今後を見据えてベルリンでEIP-2537を実装する利点
- 4 BLS署名演算バグによる32ETHの消失と対策
- 5 イーサリアム2.0をローンチするには?
- 6 まとめ
イーサリアム2.0は、現在のイーサリアムと比較できないほどオンチェーンスケーリングが可能であり、さらにCasperによるファイナリティとフォークチョイスルールにより、セキュリティと分散性が大幅に上昇します。その一方で現在のイーサリアムレガシーチェーンからイーサリアム2.0にスムーズに移行するためには、イーサリアムレガシーチェーン上での実装も進めなければならないのです。
本稿ではイーサリアム2.0に重要となるEIP-2537のBLS-12-381楕円曲線のプリコンパイルコントラクトについて詳しく解説を行います。イーサリアムのプリコンパイルコントラクトについては墨汁マガジンVol. イーサリアムのプリコンパイルコントラクトとは?利点とEVMの関係性」を参照してください。
イーサリアム2.0のBLS署名とは?
BLS署名とはBoneh–Lynn–Shacham署名の略で、イーサリアムレガシーチェーンでは楕円曲線DSA(以下ECDSAとする)が使用されているのに対し、イーサリアム2.0ではBLS-12-381楕円曲線を使用した新たな署名方式となります。
このECDSAとBLS署名では楕円曲線のある点を利用し、署名が確実に署名者によるものであることを検証することができます。楕円曲線上は双線型写像(Bilinear Map)というベクトルの写像の性質を利用したペアリング暗号という技術を使用しており、BLS署名はECDSAより署名サイズが小さいのに強いセキュリティを持つという特徴を持つのです。
BLS12-381楕円曲線は、2017年にZCashがより効率の良いzk-SNARKsを実装するために設計した楕円曲線で、Saplingで実装しトランザクション生成やメモリ使用率などを大幅に削減することに成功しています。
出典:https://electriccoin.co/ru/blog/new-snark-curve/
ZcashのSaplingとBLS12-381については墨汁マガジンVol.62「ZcashのSaplingの問題点と匿名送金の落とし穴」を参照してください。
EIP-2537 BLS12-381曲線のプリコンパイルコントラクト
EIP-2537では、BLS12-381曲線のオペレーションをプリコンパイルコントラクトとして実装するというものです。このBLS12-381曲線は