ERC-20は、Ethereumブロックチェーンを使用して作成される代替可能なトークンのための技術標準です。代替可能なトークンとは、別のトークンと交換可能なものを指し、広く知られている非代替可能なトークン(NFTs)であるERC-721とは異なります。
ERC-20は、他の製品やサービスで使用できるスマートコントラクト対応トークンを開発者が作成できるようにします。これらのトークンは、資産、権利、所有権、アクセス、暗号通貨、またはそれ自体でユニークではないが転送可能な何かを表しています。
主なポイント
- Ethereumリクエストフォーコメント20(ERC-20)は、Ethereumブロックチェーンを使用して作成される代替可能なトークンのための実装された標準です。
- ERC-20は、Ethereumブロックチェーン上で新しいトークンの作成を指導し、他のスマートコントラクトトークンと交換可能にします。
- その実装以来、EthereumベースのほとんどのトークンはERC-20標準を使用して作成されています。
ERC-20の歴史
2015年、スマートコントラクトの人気が高まっていましたが、いくつかの問題が取り組まれる必要がありました。誰でもトークンを作ることができたため、多くのトークンが作成されました。しかし、ブロックチェーンを使用するすべての人が異なるトークンを作成、使用、または交換できるようにする方法はありませんでした。標準化されたトークン方法論がなければ、各アプリケーションは独自のトークンが必要となり、ユーザーは開発された何百ものアプリ間でそれらを行き来させる方法を見つける必要がありました。
標準の開始
ERC-20は、Ethereumブロックチェーン上のスマートコントラクト内で標準が必要であるというニーズに対処するために、2015年に開発者Fabian Vogelstellerによって提案されました。Vogelstellerは、この提案をプロジェクトのGithubページを通じてEthereumリクエリクエストフォーコメント(ERC)として提出されました。これが20番目のコメントだったため、ERC-20という指定を受けました。
Ethereum開発者コミュニティが使用する手順に従って、この提案は2017年にEthereum改善提案20(EIP-20)として承認され、実装されました。しかし、承認されるまでの間、ERC-20として知られていたため、その名前で呼ばれ続けています。1
2023年、Ethereumはエコシステムの変更の提案と処理方法を変更し、2つの別々のリポジトリに分けました。Ethereumリクエストフォーコメント(ERC)は、Ethereumのアプリケーション層の標準化と文書化に関するものに変更されました。Ethereum改善提案は、Ethereum自体の提案、処理、および文書化の方法となりました。23
このリクエストが承認され、実装されたため、Ethereumブロックチェーン上で実装されたスマートコントラクトトークンは、開発者がそれらを互換性のあるものにしたい場合、この標準に準拠する必要があります。
ERC-20の内容
ERC-20は、トークンがERC-20に準拠しているとみなされるために実装する必要がある関数とイベントのリストです。これらの関数(ERCではメソッドと呼ばれる)は、スマートコントラクト対応トークンに含まれるべきものを説明し、イベントはアクションを記述します。トークンに含まれるべき関数は次のとおりです:1
- TotalSupply:発行されるトークンの総数。
- BalanceOf:トークンオーナーのアカウントバランス。
- Transfer:指定された数のトークンを指定されたアドレスに自動的に転送する。
- TransferFrom:指定されたアドレスから指定された数のトークンを自動的に転送する。
- Approve:指定されたアカウントから指定された数までのトークンを引き出すことを許可する。
- Allowance:スペンダーからオーナーにトークンを返す。
トークンに含まれるべきイベントは次のとおりです:
- Transfer:転送が成功したときにトリガーされるイベント。
- Approval:承認されたイベント(イベント)のログ。
以下の関数はオプショナルであり、含まれる必要はありませんが、トークンの使い勝手を向上させます:
- トークンの名前(オプショナル)
- そのシンボル(オプショナル)
- 使用する小数点(オプショナル)
「トークン」と「暗号通貨」はしばしば同じ意味で使われますが、すべての暗号通貨はトークンですが、すべてのトークンが暗号通貨とは限りません。トークンはしばしばブロックチェーン外の資産や権利を表します。ERC-20コンプライアンスの文脈では、トークンは単にEthereumコミュニティによってスマートコントラクト標準準拠トークンと見なされる基準を満たす何かのブロックチェーン表現を意味します。
このすべては何を意味するのでしょうか?関数とイベントはプログラミング言語です。例えば:
- function name () public view returns (string)
- function balanceOf (address owner) public view returns (uint256 balance)
これらの関数により、トークンが容易にアクセス、認識、確認、使用できる共通の構造が提供されます。これにより、すべてのトークンに異なる情報が含まれている場合に、ユーザーやアプリケーション開発者が抱く混乱を減らすことができます。さらに、コード関数は、循環中のトークン数の決定、残高の保存と返却、転送と引き出しのリクエスト、承認の付与、自動転送への同意などのタスクを補助します。
多くの有名なデジタル通貨がERC-20標準を使用しています。代表的な例は以下の通りです:
Tether USD(USDT)
USD Coin(USDC)
Shiba Inu(SHIB)
Binance USD(BUSD)
BNB(BNB)
DAI Stablecoin(DAI)
HEX(HEX)
Bitfinex LEO(LEO)
Maker(MKR)
ERC-20の目的
ERC-20標準は、ブロックチェーン内で重要な役割を果たしており、スマートコントラクトを使用するEthereumトークンが従うべき標準的なルールのリストを定義しています。これらのルールには、トークンの転送方法、取引の承認方法、トークンに関するデータへのアクセス方法、トークンの総供給量などが含まれます。
このコンプライアンスは、Ethereumがスケーラビリティの約束を守るためにも必要であり、Ethereumエコシステムを使用して作成された多様なトークン間の互換性を確保します。
その結果、このトークン標準は、開発者がEthereumシステム全体で新しいトークンがどのように機能するかを正確に予測できるようにする力を持ちます。これにより、開発者は、既存のプロジェクトが新しいトークンがリリースされるたびにやり直す必要がないことを知って、作業を進めることができます。さらに、新しいプロジェクトは、トークンがルールに従っている限り、旧プロジェクトとの互換性について心配する必要がありません。
幸いなことに、ほとんどのトークン開発者はERC-20のルールに従っており、Ethereumを通じてリリースされたほとんどのトークンはERC-20に準拠しています。
BEP-2対ERC-20
ERC-20はEthereumエコシステム内のトークンの標準です。多くの他のトークン、ブロックチェーン、エコシステムがEthereumから派生しています。その一つに、暗号通貨取引所であるBinanceのエコシステムとブロックチェーンがあります。Binanceのチームは、Ethereumフォークから独自のブロックチェーン、Binance Chainを作成しました。
Binance開発者は、そのブロックチェーン上でトークンの標準を作成しました。この標準はBEP-2と呼ばれ、ERC-20と同様に、Binance Chain上でのトークン作成をガイドします。
Binanceはまた、Binance Chainの隣で実行されるサイドチェーンであるB
inance Smart Chainを作成しました。このチェーンはERC-20トークン、Ethereum Virtual Machine、Binance Chainと互換性がありますが、クロスチェーンの互換性を生み出す新しい標準であるBEP-20を使用します。
ERC-20とは何か?
ERC-20は「Ethereum Request for Comment」の20番目の提案です。ERC-20は、Ethereumを使用して作成されたスマートコントラクトトークンの標準です。
ETHとERC-20の違いは何か?
Ether(ETH)は、Ethereumブロックチェーンとネットワークが内部決済システムとして使用するネイティブトークンです。ERC-20は、Ethereumエコシステム内で使用されるスマートコントラクト対応の可換トークンを作成するための標準です。
ERC-20ウォレットとは何か?
ERC-20ウォレットは、ERC-20準拠のトークンを管理できるウォレットです。
まとめ
Ethereumブロックチェーン上で複数のトークンが転送可能でないという懸念に対処するため、2015年に標準化のための提案が行われ、実装されました。この提案は「Ethereum Request for Comment(ERC)20」と呼ばれ、Ethereumブロックチェーンと互換性のあるトークンの作成をガイドする標準です。