🚅

EIP-197

2023/02/12に公開

EIP-197: Precompiled contracts for optimal ate pairing check on the elliptic curve alt_bn128

楕円曲線alt_bn128における最適なateのペアリング・チェックのためのプリコンパイルされたコントラクト

なぜこれが必要なのか?

前提

現在のEthereum上のスマートコントラクトの実行は完全に透明であるため、場所、身元、過去の取引履歴などの個人情報を含むいくつかのユースケースには不向き。

前提の解決策

zkSNARKsの技術はこの問題の解決策になる。

問題点

EVMでは理論上zkSNARKsを利用できるが、現状ではgasがかかりすぎてブロックgasの制限を超えてしまう。

解決策

zkSNARKsを利用できるようにgas costを削減できる提案を行う

要約

ブロックガス制限内でzkSNARK検証を行うには、楕円曲線ペアリング演算のコンパイル済みコントラクトが必要です。

概要

特定のペアリングフレンドリー楕円曲線上のペアリング関数用のプリコンパイルされたコントラクトを追加することの提案。
EIP-196と組み合わせて、EthereumスマートコントラクトでzkSNARKsを検証できるようにする。
※EIP-196の概要 = 特定のペアリングフレンドリー楕円曲線上での足し算とスカラー乗算のためのプリコンパイルされたcontractを追加する

詳細な追加の仕方

内容が難しいため割愛
https://eips.ethereum.org/EIPS/eip-197#specification

関連

特定の曲線alt_bn128が選ばれたのは、zkSNARK、より具体的にはペアリング関数の検証構成ブロックに特に適しているからです。さらに、この曲線を選択することで、ZCashとのシナジー効果を利用し、そのコンポーネントと成果物の一部を再利用することができる。

参照

https://eips.ethereum.org/EIPS/eip-197

Discussion