目次
- 1 プリコンパイルコントラクト(Precompiled Contracts)とは?
- 2 イーサリアムのプリコンパイルコントラクトの例
- 3 プリコンパイルコントラクトの利点とイーサリアムの進化
- 4 まとめ
イーサリアムにはプリコンパイル(Precompiles)または、イーサリアムのプリコンパイルコントラクト(Precompiled Contracts)という言葉を、ハードフォークの実装EIPを見ることがあります。このイーサリアムのプリコンパイルコントラクトとはどのようなもので、どのような利点があるのでしょうか?
本稿ではイーサリアムのプリコンパイルコントラクトとはどのようなものか、ベルリンアップデートでEIP-2537プリコンパイルコントラクトを実装することでイーサリアムにどのような利点があるのかなどについて詳しく解説を行います。ベルリンアップデートについては墨汁マガジンVol.428「イーサリアムベルリン(Berlin)アップデートはいつになる?ハードフォークの重要性と影響」を参照してください。
プリコンパイルコントラクト(Precompiled Contracts)とは?
イーサリアムのプリコンパイルコントラクトとはどのようなものでしょうか?まずプリコンパイルコントラクトは、Maker DAOのようなイーサリアムを活用してデプロイするスマートコントラクトとは異なり、イーサリアムレイヤー上のコントラクトを指します。
まずイーサリアムのコントラク実行を行えるのはイーサリアム上のスタックベースのバーチャルマシン”EVM(Ethereum Virtual Machine)”により、実行するコントラクト操作のシビアなガス計算を行います。
例えばzk-SNARKsのようなより複雑な処理をEVMで行うことを考えると、大量のガスを使用しEVMでの実行が非常に難しいのです。対してプリコンパイルコントラクトは