暗号資産やブロックチェーン、Web3といった言葉が広く知られるようになる中で、『トークン』という言葉も注目を集めるようになっています。そのトークンの仕様を定める規格の中で、最も有名で広く採用されているのがERC-20です。
とはいえ『トークン』という言葉を知っていても、ERC-20という規格について詳しく知らない方は多いのではないでしょうか?
ERC-20は、ブロックチェーン業界を支える重要なピースであり、トークンの作成や運用の標準規格として欠かせない存在です。
本記事では、ERC-20の基本的な仕組み、代表的なトークンの例、メリットとデメリット、さらには他のトークン規格との違いについて詳しく解説します。ERC-20の理解を深めることで、トークンを活用するブロックチェーン技術の可能性をより広く見渡せるようになるでしょう。ぜひ最後までお読みいただき、ERC-20の全体像を把握していただければ幸いです。
ERC-20とは
ERC-20の特徴
ERC-20は、Ethereumブロックチェーン上でトークンを発行・管理するための標準規格として2015年11月に提案されました。この規格は2017年9月に正式採用され、それ以降Ethereumエコシステム内でのトークン発行や運用のデファクトスタンダードとなりました。
ERC-20の『ERC』とは『Ethereum Request for Comments』の略で、イーサリアムの新機能や改善提案を指します。加えて、『20』という番号はGitHubのIssue番号が20だったことに由来しています。
ERC-20は、Ethereum上のすべてのスマートコントラクトで利用可能な、ファンジブルトークン(代替可能なトークン)を実装するために設計されています。この規格により、トークンの操作や管理に関する以下の機能が標準化されました
- トークンの転送(あるアドレスから別のアドレスにトークンを送る機能)
- トークンの残高取得(特定のアドレスが保有するトークンの現在残高を取得する機能)
- 総供給量の取得(ネットワーク上で発行されているトークンの総供給量を取得する機能)
- サードパーティによる使用承認(第三者が特定のアドレスのトークンを操作できるようにする承認機能)
これらの標準機能を持つことで、異なるプロジェクトが作成したトークンであっても、同じ仕組みで動作し、互換性を保つことができます。この統一性は、ウォレットや取引所、分散型アプリケーション(DApps)でのトークンの利用を容易にし、利便性を大幅に向上させました。暗号資産の利用者にとっても、それぞれのプロジェクトのトークンを扱う際に毎回新しい操作を習得するよりも、統一された一つのルールがあった方が格段に利便性が上がります。
なおERC-20の仕様はEthereum Improvement Proposal(EIP)における、EIP-20に記述されています。
ERC-20とトークンの関係性
先ほどの項目において、ERC-20はEthereumブロックチェーン上でトークンを発行するための標準的なルールを示す説明を行いました。この規格に則って作られた暗号資産のことをERC-20トークンと呼びます。
ERC-20トークンはERC-20で規定された仕様(トークンの転送や残高取得に関する機能を有している、など)の通りに動作するトークンとなります。
ERC-20規格を採用した著名なトークンは数多く存在しています。具体例としては、米ドルと同じ価格を維持するように設計されたステーブルコインであるUSDC、DeFiプロジェクトであるUniswapのトークンであるUNIなどが挙げられます。
ERC-20トークンとMetaMask(メタマスク)の関係性
MetaMask(メタマスク)とは、ERC-20トークンを管理するための暗号資産ウォレットです。
MetaMaskを使用することでERC-20トークンを簡単に保管することができるだけでなく、送受信やDAppsとの連携を行ってERC-20トークンの取引を行うこともできます。
ERC-20トークンとEther(ETH)の関係性
ERC-20トークンはEthereumブロックチェーン上で動作するため、トークンの送受信にはガス代としてEther(ETH)が必要です。どちらもEthereumブロックチェーン上で操作可能な暗号資産であることには変わりはありませんが、EthereumのネイティブトークンであるETHとERC-20トークンでは性質が全く異なっているということを抑えておいたほうが良いです。
ETHはEthereumブロックチェーン上の営み(バリデータによる検証作業など)を通して発行されます。特定の人物やプロジェクトが発行を制御することはできません。一方で、ERC-20トークンはEthereumブロックチェーン上で開発されるスマートコントラクトを通して発行されます。スマートコントラクトは誰でも開発可能なので、ERC-20トークンは誰にでも、どのようなプロジェクトでも発行が可能ということです。
それぞれの用途に関しても、明確に区別されています。ETHはガス代の支払いやステーキングといった、Ethereumブロックチェーン自体に組み込まれている機能に対する用途があります。それに対してERC-20トークンは、トークンの発行主体が開発しているDAppsにおけるガバナンスへの参加やサービスへのアクセス権が使用用途となっています。
ERC-20トークンとETHの違いについて、簡単にまとめると以下のようになります。
項目 | ERC-20トークン | ETH |
発行方法 | プロジェクトが自由に発行 | Ethereumブロックチェーンの仕様に則って発行 |
使用用途 | 特定のプロジェクトに関するガバナンスへの参加、ユーティリティへのアクセス権 | ガス代、ステーキング |
ERC-20のメリット
ERC-20トークンを扱う上でのメリットは、大きく以下の3つがあります。
メリット | 詳細 |
①作成が簡単 | ERC-20は標準的な規格であるため、トークンを作成する際の技術的なハードルが低く、コードもシンプルです。そのため、新しいトークンを迅速かつ効率的に発行できます。 |
②ほとんどの暗号資産ウォレットに対応している | ERC-20トークンはMetaMaskをはじめとするほとんどの暗号資産ウォレットで対応しています。これにより、ユーザーはウォレットを通してトークンを簡単に保管、送受金でき、利便性が高まります。 |
③外部のDAppsに取り入れられやすい | ERC-20トークンは、Ethereumブロックチェーン上のDAppsと容易に統合できます。例えば、分散型取引所(DEX)への流動性提供やレンディングプラットフォームでの貸出など、著名なDAppsにおいてスムーズに使用可能であるため、プロジェクトの拡張性が向上します。 |
特に1つ目のメリットである『作成が簡単』は、特筆すべき点です。プロジェクトがERC-20トークンを作成するとき、多くの場合はOpenZeppelin(スマートコントラクトのオープンフレームワーク)のライブラリを使用します。ERC-20トークンに関するライブラリはこちらのGitHubページよりアクセス可能です。
このページ内に存在するSolidityファイルを、必要に応じて自身のプロジェクトを作成するためのコードに移すことで、簡単にERC-20トークンを作成することが可能です。
実際のERC-20トークンの例を見てみましょう。以下は、Ethereumブロックチェーン上でBTC価格に連動するトークンを作成するためのプロジェクト『Wrapped Bitcoin』が作成したWBTCトークンのコードです。OpenZeppelinのコードを転用していると分かる部分が見られます。
出典:https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599#code
ERC-20のデメリット
ERC-20トークンを扱う上でのデメリットは、大きく以下の3つがあります。
デメリット | 詳細 |
①操作を行う上でガス代を負担する必要がある | ERC-20トークンの送受信やスマートコントラクトとのやり取りには、トランザクション手数料(ガス代)の支払いが必要です。このガス代はネットワークの混雑状況によって変動し、特に取引が集中するタイミングでは非常に高額になることがあります。 |
②ユーザビリティがイーサリアムブロックチェーンの状況に左右される | ERC-20トークンはEthereumブロックチェーン上で動作するため、ネットワークの混雑や処理速度の影響を受けます。場合によってはトランザクションが遅延したり、失敗したりするケースもあり、ユーザー体験が著しく悪化するリスクがあります。 |
③複雑なトークン設計には向かない | ERC-20は標準的なトークン規格であるため、発行、送金、バーンといった基本的な機能しか組み込まれていません。そのため、独自のロジックを含む複雑なトークン設計には不向きです。 |
ERC-20以外のトークン規格
ERC-677
ERC-677は、ERC-20の拡張規格として設計されました。特に、スマートコントラクトと連携したトークンの転送を効率化するための機能が追加されています。オラクルプロジェクトであるChainlinkのトークンであるLINKは、この規格を採用して作られています。
ERC-721
ERC-721は、NFT(Non-Fungible Token)の規格として知られています。この規格に準拠するトークンでは各トークンに固有のIDやメタデータが割り当てられることになり、そのトークンが唯一無二の存在であることが保証されます。これにより、ERC-721トークンはデジタルアートやゲーム内アイテム、不動産の権利証明書のトークン化といった面で活用されています。
NFTは法的リスクの少なさや実装の容易さから、日本の企業でもビジネス活用が進んでいます。ERC-721を活用したビジネス活用事例に関心があれば、以下の記事をご覧ください。
ERC-1155
ERC-1155は、ERC-20とERC-721の両方の特性を兼ね備えた規格として注目されています。この規格を使用することで、一度のトランザクションで複数のNFTまたはFTを送信することが可能になり、トークンの扱いを効率的に行うことが可能となりました。
代表的なERC20トークン
USD Coin(USDC)
出典元:https://www.circle.com/usdc
USD Coin(USDC)は、CircleとCoinbaseによって発行されるステーブルコインで、1USDCが1米ドルと同じ価格になるように運営されています。USDCは特定の主体が1米ドルをCircleに預けると1USDCが発行されるという形で運営されており、それに伴って米ドル準備金の監査報告書についても毎月公開されています。
Uniswap(UNI)
UNIは、分散型取引所(DEX)の最大手であるUniswap(ユニスワップ)が発行するガバナンストークンです。このトークンは、Uniswapプロトコルの運営に関する意思決定に参加する権利を保有者に提供します。
Chainlink(LINK)
LINKは、分散型オラクルネットワークプロジェクト『Chainlink』が発行したトークンです。オラクルとはスマートコントラクトがブロックチェーン外のデータにアクセスするための仕組みを指し、信頼性の高い外部データをブロックチェーン上に取り込む役割を果たします。
例えば、スポーツの試合結果、為替レート、株価、不動産データ、天候情報など、外部環境に関するデータをスマートコントラクトが利用する際に、オラクルがその橋渡しを行います。
LINKはオラクルネットワークにおけるオラクルノードオペレーター(外部のデータの正確性を検証する存在)への報酬として使用されており、高品質な外部データ提供を実現するための重要な要素となっています。
Wrapped Bitcoin(WBTC)
WBTCは、Ethereum上でビットコインと同じ価格のトークンを作成するプロジェクト『Wrapped Bitcoin』が発行したERC-20トークンです。WBTCがあることにより、実質的にEthereumエコシステム上のDeFiなどでビットコインの流動性が利用可能となります。
WBTCの発行もUSDCと類似しています。カストディアン業者のBitGoに対してBTCを預けることでWBTCを発行し、逆にWBTCを返却することでBTCを引き出すことができます。
まとめ
ERC-20はEthereum上で動作するトークンの標準規格で、互換性や開発のしやすさから広く採用されています。この規格により、DeFiやメタバース、ブロックチェーンゲーム、DAOなど、さまざまなユースケースでのトークン利用が可能です。ERC-20の存在は、Ethereumエコシステム全体の成長を支え、相乗効果的に重要性を高めています。
今後、ブロックチェーンの社会への普及(マスアダプション)とともに、ERC-20トークンの役割がさらに拡大し、身近なものになると期待されます。ERC-20はブロックチェーン技術の普及と進化を支える重要な柱であり続けるでしょう。
MCB Web3カタログは、Web3領域におけるBtoBサービスを網羅的に検索・比較することができるカタログサイトです。MCB Web3カタログの会員(無料)になると、事業者向けのWeb3ソリューションに関する資料を個別もしくはカテゴリー別に請求できます。
以下のような企業様におすすめです。
- ブロックチェーンを活用した新規事業の開発を検討している企業
- ブロックチェーン活用に向けたコンサルティングサービスを探している企業
- Web3関連のソリューション導入を検討している事業者
MCB Web3カタログへ掲載してみませんか?約50社が掲載する国内最大級のWeb3×BtoBサービス検索・比較プラットフォームです。新規掲載企業も随時募集しております。