EIPとは?イーサリアム改善提案の意味・種類・関わる人

EIPとは?イーサリアム改善提案の意味・種類・関わる人 暗号通貨の基礎知識

EIPとは?イーサリアム改善提案を一言でいうと

EIPは「Ethereum Improvement Proposal」の略で、日本語では「イーサリアム改善提案」と呼ばれる文書です。イーサリアムに加えたい新しい機能や手続きを定めた標準仕様で、変更内容の技術的な仕様が書かれています(ethereum.org「イーサリアム改善提案 (EIP)」)。

イーサリアムのネットワークアップグレードやアプリケーション標準は、EIPプロセスを通じて議論され、開発されます。

この記事では、EIPの意味、種類、公式な流れの最初の段階、関わる人、歴史の順に整理します。最後に、同じ「EIP」という略称が別の意味で使われる場合にも触れます。

EIPの意味と、EIPに書かれている内容

EIPには、提案された変更の技術仕様が含まれています。EIPは主に、簡潔な技術仕様と少しの動機付けを提供するべきだとされています(ethereum.org「イーサリアム改善提案 (EIP)」)。

作成に関する決まりごとは、EIP-1という文書にまとめられています。EIP-1には、EIPの作成ガイドラインと、図を含む標準化プロセスの全体が説明されています。

また、提案者には、コミュニティ内で合意を得ることと、自分の案とは異なる意見を文書に記録することが求められています(ethereum.org「イーサリアム改善提案 (EIP)」)。

EIPは「信頼できる情報源」として機能する

EIPは、イーサリアムのコミュニティにとって「信頼できる情報源」として働くと説明されています(ethereum.org「イーサリアム改善提案 (EIP)」)。

また、イーサリアムの更新内容や、アプリ向けの標準は、EIPのプロセスを通じて議論・開発されます。EIPは、人々が変更を提案し、議論し、採用するための手段です。

EIPの作成ガイドラインはEIP-1に含まれています。種類の節で触れるEIP-1559、EIP-20、EIP-721は、それぞれ別の提案です。

EIPの種類:コアEIPとERC

EIPの種類:コアEIPとERC

EIPにはいくつかの種類があります。代表的なものとして、プロトコルの根幹に関わるコアEIPと、アプリケーション向けの標準であるERCが挙げられています(ethereum.org「イーサリアム改善提案 (EIP)」)。

次の表で種類と例を確認できます。

種類 対象 例
コアEIP 合意(コンセンサス)に影響し、ネットワークの更新が必要になる、低レベルなプロトコルの変更 EIP-1559
ERC アプリケーション向けの標準 EIP-20、EIP-721

これら以外の種類や、各EIPの進行状況を示す区分については、EIPの公式サイトに説明があります。

コアEIPとは(EIP-1559の例)

コアEIPは、イーサリアムの合意の仕組みに影響し、ネットワークの更新を伴う低レベルなプロトコルの変更を扱います(ethereum.org「イーサリアム改善提案 (EIP)」)。

代表例として、EIP-1559が挙げられています。個別の仕様の細部は、この記事では扱いません。

ERCとは(EIP-20とEIP-721の例)

ERCは、アプリケーション標準を扱うEIPです(ethereum.org「イーサリアム改善提案 (EIP)」)。例としてEIP-20とEIP-721が挙げられています。

ERCは、アプリケーション標準のためのEIPです。

コアEIPが非コアEIPより広い合意を必要とする理由

コアEIP以外のEIPは、すべてのアプリケーションが採用しなければならないわけではありません。たとえば、EIP-20に従わない代替可能トークンを作ることも可能だと説明されています(ethereum.org「イーサリアム改善提案 (EIP)」)。

一方、コアEIPは広く採用される必要があります。すべてのノードが同じネットワークに残り続けるには、更新が欠かせないからです。

コアEIPは、非コアEIPよりもコミュニティ内で幅広い合意が求められます。(ethereum.org「イーサリアム改善提案 (EIP)」)

EIPはイーサリアムの変更にどう関わるのか

EIPはイーサリアムの変更にどう関わるのか

EIPは、変更の技術仕様を示す文書であると同時に、イーサリアムでガバナンス(意思決定)が行われる単位でもあります。誰でも提案でき、さまざまな立場の関係者が議論したうえで、標準として採用するか、ネットワーク更新に含めるかが決まります(ethereum.org「イーサリアム改善提案 (EIP)」)。

ネットワークアップグレードはEIPの集まりでできている

ネットワークの更新(ネットワークアップグレード)は、複数のEIPの組み合わせで構成されます。各イーサリアムクライアントが、それらを実装する必要があります(ethereum.org「イーサリアム改善提案 (EIP)」)。

クライアント開発者には、必要なEIPがすべて実装されているかを確かめる作業が生じます。メインネット上の他のクライアントと足並みをそろえ、合意を保つためです。

POINT ネットワークアップグレードは、各クライアントが実装する一連のEIPで構成されます。

オフチェーンで行われるイーサリアムのガバナンスとEIP

イーサリアムのプロトコルを所有・管理する特定の個人はいません。それでも変更の判断は必要なので、そのための仕組みとしてガバナンスがあります(ethereum.org「イーサリアムガバナンス」)。

プロトコルレベルのガバナンスはオフチェーンで行われます。投票をブロックチェーン上で行う方式とは異なり、社会的な議論を経て決まり、承認されればコードとして実装されます(ethereum.org「イーサリアムガバナンス」)。

ここでいうガバナンスは、プロトコルの変更に関するものです。アプリケーションの作成やトランザクションの送信は、誰にでも開かれているとされています。

関与する立場としては、ETH保有者、アプリケーションのユーザー、開発者、ノードオペレーター、EIP作成者、バリデータ、プロトコル開発者などが挙げられています(ethereum.org「イーサリアムガバナンス」)。

公式な流れの最初の段階:コアEIPの提案と提示

プロトコルを変える公式な流れの最初は、変更内容をコアEIPとして詳しく書くことです。承認された場合、プロトコル開発者が実装する際の公式な仕様書になります(ethereum.org「イーサリアムガバナンス」)。

次に、コミュニティの意見を集めたコアEIPを、プロトコル開発者に示します。方法の一つが、AllCoreDevsコールでの議題として提案することです。

これに先立って、Ethereum Magiciansフォーラムやイーサリアムの研究開発向けDiscordで、非同期の議論が進んでいる場合もあるとされています(ethereum.org「イーサリアムガバナンス」)。

全体の標準化プロセスは、図も含めてEIP-1に説明されています(ethereum.org「イーサリアム改善提案 (EIP)」)。

EIPに関わる人たち

EIPに関わる人たち

EIPの周りには、文書を書く著者と、文書の整備を支えるエディターがいます。ここでは二つの役割を紹介します。

EIPの著者は誰か

イーサリアムのコミュニティに属していれば、誰でもEIPを作成できます(ethereum.org「イーサリアム改善提案 (EIP)」)。

ただ、きちんと整ったEIPを出すには技術面の壁が高いため、これまで多くの著者は、アプリケーションやプロトコルの開発者でした。

著者には、コミュニティ内で合意を得る責任と、別の意見を記録する責任があります。

EIPエディターの役割

EIPエディターは、技術的な妥当性、書式、スペルや文法、コードの書き方といった点をレビューします(ethereum.org「イーサリアム改善提案 (EIP)」)。

さらに、提案がEIPとして扱える段階に達したかを判断し、著者が提案を前に進められるよう手助けします。

初期のエディターには、Martin Becze、ヴィタリック・ブテリン、ギャビン・ウッドらがいて、2015年から2016年後半まで務めたとされています。

また、Ethereum Cat Herdersという団体が、エディターとコミュニティの会合の開催を支援しているとされています。

EIPの歴史:BIPとPEPを土台にした制度

EIPのGitHubリポジトリは、2015年10月に作成されました(ethereum.org「イーサリアム改善提案 (EIP)」)。

EIPのプロセスは、ビットコイン改善提案(BIP)のプロセスを土台にしています。そのBIP自体も、Python拡張提案(PEP)のプロセスを土台にしています。

EIPエディターの顔ぶれについては、初期の担当者として前述の人物が挙げられています。現在の担当者や名誉エディターの一覧は、EIPの公式ページで確認できます。

EIPという略称の別の意味

「EIP」は、IT分野では別の意味でも使われます。一つは「Enterprise Information Portal」で、企業が保有する情報システムのデータを、まとめて検索・閲覧できる仕組みを指します(NTT西日本「ICT用語集」)。

もう一つは、クラウドサービスで使われる「Elastic IP」で、AWSでは静的なIPv4アドレスを指します(AWS「Elastic IP アドレス」)。

この記事で扱ったEIPは、これらとは別物の「Ethereum Improvement Proposal」です。


最後までお読み頂いてありがとうございました。

タイトルとURLをコピーしました