ERC-20 とは
注:この文書は英語の原文からの自動翻訳です。
ERC-20 とは
ERC-20 は、Ethereum ブロックチェーン上で最も広く採用されている トークン標準 です。これは、スマートコントラクトが 代替可能(fungible)トークン を作成するために実装しなければならない共通のインターフェース(一連の関数とイベント)を定義します。「代替可能」とは、トークンのすべての単位が同一で交換可能であることを意味します。ちょうど、ある 1 ドル紙幣が他のどの 1 ドル紙幣とも等価であるのと同じです。
ERC は Ethereum Request for Comments の略で、20 は提案番号です。この標準は 2015 年に提案され、Ethereum および EVM 互換チェーン上でトークンを作成するための事実上の設計図になりました。プロジェクトがそのトークンを「ERC-20」と言う場合、それはトークンコントラクトがこの標準インターフェースに従っていることを意味し、Ethereum エコシステム全体のウォレット、分散型取引所、ポートフォリオトラッカー、その他のスマートコントラクトとの互換性を保証します。
要約: ERC-20 は、Ethereum 上で代替可能トークンがどのように機能するかを定義する技術標準です。標準をサポートする任意のウォレットやアプリケーションが、どの ERC-20 トークンも送信、受信、管理できることを保証します。
ERC-20 の仕組み
標準インターフェース
その中核において、ERC-20 は準拠するすべてのトークンコントラクトが実装しなければならない一連の 関数 を規定します。これらの関数は、外部アプリケーション(ウォレット、取引所、その他のコントラクト)がトークンの内部ロジックについて何も知る必要なくトークンと対話できる共通言語を提供します。
主要な関数は次のとおりです。
| 関数 | 何をするか |
|---|---|
totalSupply() |
存在するトークンの総数を返します |
balanceOf(address) |
特定のアドレスが保有するトークン数を返します |
transfer(to, amount) |
呼び出し元のアドレスから別のアドレスへトークンを送ります |
approve(spender, amount) |
別のアドレス(スマートコントラクトまたはユーザー)に、呼び出し元のトークンを指定した量まで支出する権限を与えます |
transferFrom(from, to, amount) |
事前に承認された支出者がトークン所有者に代わってトークンを移動できるようにします |
allowance(owner, spender) |
支出者が所有者に代わって依然として移動を許可されているトークン数を返します |
この標準は 2 つの イベント(Transfer と Approval)も定義しており、トークンが移動したときや支出許可が変更されたときに発行されます。これらのイベントにより、外部システム(ブロックエクスプローラ、インデクサー、分析ツール)はコントラクトに直接クエリすることなくトークンの活動を追跡できます。
なぜ標準が重要か
ERC-20 が広く採用される前は、すべてのトークンプロジェクトが独自のカスタムインターフェースを作成していました。これは、ウォレット、取引所、その他のアプリケーションが新しいトークンごとにカスタムコードを書く必要があることを意味していました。ERC-20 は、普遍的なコントラクトインターフェースを作成することでこの問題を解決しました。ERC-20 をサポートする任意のアプリケーションは、昨日作成されたものであれ何年も前に作成されたものであれ、すべての ERC-20 トークンを自動的にサポートします。
このコンポーザビリティ(composability)は Ethereum エコシステムの基盤の 1 つです。分散型取引所は、特定のトークンが何を表すのか、誰が作成したのかを知る必要はありません。トークンが ERC-20 インターフェースを実装していれば、取引所はそれを上場し、取引し、それで決済できます。
ERC-20 トークンのデプロイ
ERC-20 トークンの作成には、必要な関数を実装するスマートコントラクトを Ethereum ネットワーク(または EVM 互換チェーン)にデプロイすることが伴います。デプロイ者はトークンの名前、シンボル、小数精度、初期供給量を指定します。デプロイされると、コントラクトは変更不可能です。トークンの中核インターフェースは変更できませんが、一部の実装にはガバナンスの仕組みを通じたミント、バーン、一時停止などの追加機能が含まれます。
ERC-20 トークンをデプロイする技術的な障壁の低さは、強みでもありリスクでもあります。それは急速なイノベーションと実験を可能にしますが、同時に誰でも任意の名前と任意の表明された目的でトークンを作成できることも意味します。ERC-20 トークンの存在は、品質、正当性、価値を意味しません。
ERC-20 と EVM 互換チェーン
ERC-20 は Ethereum 用に作成されましたが、この標準は 任意の EVM 互換ブロックチェーン で機能します。BNB Smart Chain、Polygon、Arbitrum One、Base、Avalanche などのチェーンはすべて、Ethereum Virtual Machine を実装しているため、ERC-20 トークンをネイティブにサポートします。これらのチェーンの一部では、標準が異なる正式名称を持つことがあります(たとえば BNB Smart Chain 上の BEP-20)が、インターフェースは機能的に同一です。
これは、プロジェクトのトークンが Ethereum 以外のチェーンにデプロイされていても「ERC-20」と記述される場合があることを意味します。標準は 技術的なインターフェース であって、チェーン固有の指定ではありません。重要なのは、トークンコントラクトが ERC-20 の関数セットを実装しているかどうかであって、どのネットワーク上で動作しているかではありません。
ERC-20 と他のトークンタイプの比較
| 側面 | ERC-20 | ERC-721(NFT) | ERC-1155(マルチトークン) | ネイティブトークン(ETH、SOL) |
|---|---|---|---|---|
| 代替可能性 | 代替可能(すべての単位が同一) | 代替不可能(各トークンが固有) | 代替可能・代替不可能の両方 | 代替可能 |
| デプロイ形態 | スマートコントラクト | スマートコントラクト | スマートコントラクト | プロトコルに組み込み |
| 標準インターフェース | transfer、approve、balanceOf |
ownerOf、safeTransferFrom |
バッチ操作 | 標準のコントラクトインターフェースなし |
| ユースケース | 通貨、ユーティリティトークン、ガバナンストークン | デジタルアート、固有の資産、アイデンティティ | ゲームアイテム、混合コレクション | ガス料金、staking、ベース通貨 |
ERC-20 トークンは ETH のような ネイティブトークン とは異なります。ETH は Ethereum プロトコルに直接組み込まれていてスマートコントラクトなしで存在しますが、ERC-20 トークンは標準に従ったコントラクトをデプロイすることで作成されます。両方とも保有・転送できますが、異なる技術的特性と、ネットワークにおける異なる役割を持ちます。
ERC-20 の制限と拡張
ERC-20 は最も広く使われているトークン標準ですが、拡張や改善につながった既知の制限があります。
- 受信時の通知がない。 トークンがスマートコントラクトに送られたとき、受信側のコントラクトには自動的に反応する手段がありません。これにより、ERC-20 転送を処理しないコントラクトにトークンが永久にロックされる事態が生じています。これに対処するために ERC-223 と ERC-777 標準が提案されましたが、ERC-20 が依然として優勢です。
- 2 段階の承認パターン。 別のアドレスに代わってトークンを移動するには 2 つのトランザクションが必要です。まず
approve、次にtransferFromです。これは摩擦とガスコストを増やします。ERC-2612(Permit)拡張は、オフチェーン署名を通じたガスレスな承認を可能にします。 - 組み込みのメタデータがない。 ERC-20 トークンは名前とシンボルを持ちますが、追加のメタデータ(説明、アイコン、ドキュメントリンク)を含める標準化された方法がありません。拡張やオフチェーンのレジストリがこのギャップを埋めます。
これらの制限は ERC-20 の実用的な有用性を損ないません。標準のシンプルさと普遍的なサポートは、大多数のユースケースにおいて技術的な不完全さを上回ります。
なぜ ERC-20 が crypto AI プロジェクトにとって重要か
Ethereum または EVM 互換チェーン上でトークンを発行するほとんどの crypto AI プロジェクトは ERC-20 標準を使用します。トークンは ユーティリティトークン(コンピュートの支払い、AI サービスへのアクセス)、ガバナンストークン(プロトコルパラメータへの投票)、または fee mechanism(ネットワーク利用の支払い)として機能するかもしれません。意図された役割にかかわらず、ERC-20 を使うことでトークンはより広いエコシステムとの互換性を確保します。ユーザーは標準ウォレットでそれを保有し、分散型取引所で取引し、よく知られたインターフェースを通じてそれと対話できます。
crypto AI プロジェクトを評価する読者にとって、トークンが ERC-20 であることを知っても、それはトークンの 技術的な形式 について教えてくれるだけで、そのユーティリティ、必要性、価値については教えてくれません。トークン標準は「トークンは技術的にどう機能するか?」には答えますが、「なぜプロジェクトはトークンを必要とするのか?」や「トークンは実際に AI パイプラインで目的を果たすのか?」には答えません。
DecAIHub のプロジェクトカードのどこに現れるか
DecAIHub のプロジェクトカード では、ERC-20 は Token standard フィールドに現れます。カードに Token standard: ERC-20 と表示されている場合、それはプロジェクトのトークンが ERC-20 スマートコントラクトとして実装されていることを意味します。
Token standard フィールドは純粋に記述的です。読者にトークンの技術的な形式を伝えます。これは Token model フィールド(トークンの役割:ユーティリティ、ガバナンス、fee mechanism を記述)と Main chain フィールド(トークンがどのネットワークにデプロイされているかを伝える)と併せて読むべきです。
プロジェクトは複数のチェーンにトークンを持つことがあります。たとえば、Ethereum 上の ERC-20 トークンと、Arbitrum のような L2 上のブリッジされた版です。Token standard フィールドは通常、主要なデプロイを反映します。
ERC-20 だけでは証明できないこと
- ERC-20 はトークンのユーティリティを証明しません。 どんなスマートコントラクトも ERC-20 インターフェースを実装できます。標準はトークンの技術的な挙動を定義するもので、その経済的役割や必要性を定義するものではありません。プロジェクトは、AI やアプリケーションのパイプラインで何の目的も果たさない ERC-20 トークンを持ちうるのです。
- ERC-20 は正当性を証明しません。 ERC-20 トークンの作成とデプロイには最小限の技術的労力とコストしかかかりません。トークンの存在は、その背後にあるプロジェクトが本物であり、機能的であり、信頼できるという証拠ではありません。
- ERC-20 はプロジェクトが Ethereum 上にあることを証明しません。 ERC-20 トークンは多くの EVM 互換チェーン上に存在します。トークン標準はトークンがどのチェーンにデプロイされているかを示しません。その情報については
Main chainフィールドを確認してください。 - ERC-20 は AI 能力を証明しません。 トークンの技術標準は、プロジェクトが本物の AI コンポーネント、動作する推論、検証可能なモデルを持っているかどうかとは何の関係もありません。
- ERC-20 は分散化を証明しません。 トークンコントラクト自体に中央集権的な制御が含まれている可能性があります。ミントやバーンのための管理者キー、一時停止機能、単一のアドレスが制御するアップグレードプロキシなどです。標準はインターフェースを定義するもので、ガバナンスモデルを定義するものではありません。
混同しないでください
- Token standard — 包括的な概念です。ERC-20 は 1 つの特定のトークン標準です。他には ERC-721(NFT)、ERC-1155(マルチトークン)、BEP-20(BNB Smart Chain)、SPL(Solana)、ネイティブトークンなどがあります。
- ネイティブトークン — ETH は Ethereum のネイティブトークンで、プロトコル自体に組み込まれています。ERC-20 トークンはプロトコルの上にスマートコントラクトをデプロイすることで作成されます。両者は共存しますが技術的には異なります。
- Token model — トークンモデルはトークンの 役割(ユーティリティ、ガバナンス、fee mechanism)を記述します。トークン標準は 技術的な形式 を記述します。トークンは同時に ERC-20(標準)でありユーティリティトークン(モデル)でありえます。
- BEP-20 — BNB Smart Chain 上のトークン標準です。BEP-20 は機能的に ERC-20 と同一ですが、異なるチェーンで使われる命名規則です。
- ERC-721 — Ethereum 上の代替不可能トークン(NFT)の標準です。ERC-721 トークンは固有であり、ERC-20 トークンは交換可能です。
よくある質問
ERC-20 の文脈で「代替可能(fungible)」とは何を意味しますか?
代替可能とは、トークンのすべての単位が、同じトークンの他のすべての単位と価値と機能において同一であることを意味します。ERC-20 トークンを 100 単位保有している場合、それらの単位のいずれも、同じトークンの他のどの単位とも交換可能です。これは、ある 1 ドル紙幣を他のどの 1 ドル紙幣とも等価にするのと同じ原理です。対照的に、代替不可能トークン(ERC-721)はそれぞれが固有で、ある NFT は別の NFT と交換できません。
ERC-20 トークンは Ethereum 以外のチェーンで作成できますか?
はい。Ethereum Virtual Machine(EVM)を実装する任意のブロックチェーンは ERC-20 トークンをサポートします。これには Polygon、Arbitrum One、Base、BNB Smart Chain、Avalanche など多くのチェーンが含まれます。BNB Smart Chain では、同等の標準は BEP-20 と呼ばれますが、同じインターフェースを実装しています。ERC-20 の関数セットに従うトークンは、特定のチェーンにかかわらず、任意の EVM 互換のウォレット、取引所、スマートコントラクトで機能します。
ERC-20 と ETH のようなネイティブトークンの違いは何ですか?
ETH は Ethereum のネイティブトークンで、プロトコル自体に組み込まれていて、スマートコントラクトなしで存在します。ETH はガス料金の支払いと staking への参加に使われます。対照的に、ERC-20 トークンは Ethereum の上にスマートコントラクトをデプロイすることで作成されます。これらは転送や対話のガス料金の支払いに ETH を必要とします。両方のタイプのトークンは同じウォレットに保有できますが、その技術的な実装は根本的に異なります。
ERC-20 トークンのデプロイには多くの技術的専門知識が必要ですか?
基本的な ERC-20 トークンのデプロイには中程度のスマートコントラクト開発の知識が必要です。標準ライブラリ(OpenZeppelin など)は、最小限のカスタマイズでデプロイできる監査済みですぐに使える ERC-20 実装を提供しています。デプロイの障壁の低さは、機能(急速な実験とイノベーションを可能にする)でもありリスク(誰でも任意の目的でトークンを作成できる)でもあります。デプロイされたトークンの存在は、それ自体では技術的能力の証拠ではありません。
外部リンク
- EIP-20: Token Standard -- Ethereum Improvement Proposals -- 必要な関数とイベントを定義する ERC-20 標準の元の正式な仕様。
- OpenZeppelin -- ERC-20 Documentation -- 開発者向けの説明とベストプラクティスを備えた、広く使われている ERC-20 標準の実装。
- Ethereum.org -- ERC-20 Token Standard -- 開発者と読者向けに ERC-20 トークンを説明する Ethereum の公式ドキュメント。
No comments to display
No comments to display