要点
ERC-20は、Ethereumブロックチェーン上で代替可能なトークンを作成するための技術標準であり、すべての準拠トークンがウォレット、取引所、およびアプリケーションで同じように機能することを保証する6つの必須機能を定義しています。
ERC-20トークンはユーザーアカウントによって直接保持されるのではなく、スマート契約の中に存在します。契約は残高のリストを管理し、ユーザーが取引を送信するときに転送を処理します。
一般的なERC-20トークンの種類には、ステーブルコイン、ユーティリティトークン、ガバナンストークン、およびDeFiプロトコルで使用される流動性プール(LP)トークンが含まれます。
ERC-20トークンはマイニングできません;新しいトークンは契約がデプロイされるときにミントされ、通常は初期コインオファリング(ICO)やトークン生成イベントを通じて配布されます。
はじめに
Ethereumは2014年にVitalik Buterinによって設立され、分散型アプリケーション(DApps)を立ち上げるためのオープンソースプラットフォームとして位置づけられています。Buterinが新しいブロックチェーンを作成する動機の多くは、ビットコインプロトコルの柔軟性の欠如から来ています。
そのローンチ以来、Ethereumブロックチェーンは開発者、企業、起業家を惹きつけ、スマートコントラクトと分散型アプリケーションの成長するエコシステムを構築しています。
この記事では、ERC-20標準について説明します:Ethereum上で代替可能なトークンを作成するための重要なフレームワークです。これはEthereumネットワーク専用に開発されましたが、他のブロックチェーン上のトークン標準(例:BNBスマートチェーンのBEP-20)にも影響を与えています。
ERC-20標準とは何か?
Ethereumにおいて、ERCはEthereumリクエストコメントの略です。これらはEthereumでのプログラミングの標準を概説する技術文書です。では、Ethereum改善提案(EIP)とは何でしょうか?EIPは、Ethereumネットワークへの新機能や変更を提案するための公式文書です。ERCはスマートコントラクトの標準に焦点を当てたEIPのサブセットであり、プロトコル自体への改善を提案しています。ERCは、アプリケーションと契約が相互に作用しやすくするための慣行を確立することを目指しています。
Vitalik ButerinとFabian Vogelstellerによって2015年に作成されたERC-20は、Ethereumベースのトークンの比較的シンプルな形式を提案します。この概要に従うことで、開発者は車輪を再発明する必要がなくなります。代わりに、すでに業界全体で使用されている基盤の上に構築できます。
新しいERC-20トークンが作成されると、それらは自動的にERC-20標準をサポートするサービスやソフトウェアと相互運用可能になります。これにはソフトウェアウォレット、ハードウェアウォレット、取引所が含まれます。
ERC-20は後にEIP(具体的にはEIP-20)として正式化されました。これは、元の提案から数年後に広範に採用されたためです。しかし、「ERC-20」という名前は一般的な参照として残っています。
Ethereumトークンの簡単な要約
ETH(Ethereumのネイティブ暗号通貨)とは異なり、ERC-20トークンはアカウントによって直接保持されません。これらのトークンは契約の中に存在し、自己完結型のデータベースのように機能します。トークンのルール(名前、シンボル、可分性を含む)を指定し、ユーザーの残高をEthereumアドレスにマッピングするリストを保持します。
トークンを移動させるためには、ユーザーは契約に取引を送信し、残高の一部を他の場所に割り当てるように要求する必要があります。たとえば、アリスがボブに5,000トークンを送信したい場合、彼女はトークンスマート契約内の関数を呼び出します。
彼女の呼び出しは、トークン契約に0 ETHを支払う通常のEthereum取引のように見えるものに含まれています。この呼び出しは、アリスが何をしたいのかを指定する追加のフィールドに含まれています。彼女がイーサを送信していなくても、トランザクションをブロックに含めるためにはETHで表されるトランザクション手数料を支払う必要があります。もし彼女がETHを持っていなければ、トークンを転送する前にいくつかを取得する必要があります。
ERC-20トークンはどのように作成されるのか?
ERC-20準拠であるためには、契約には6つの必須機能が含まれている必要があります:totalSupply、balanceOf、transfer、transferFrom、approve、およびallowance。さらに、name、symbol、decimalのようなオプションの機能を指定することもできます。
totalSupply
function totalSupply() public view returns (uint256)この関数が呼び出されると、契約が保持するトークンの総供給量が返されます。
balanceOf
function balanceOf(address _owner) public view returns (uint256 balance)totalSupplyとは異なり、balanceOfはパラメータ(アドレス)を取ります。呼び出されると、そのアドレスのトークン残高が返されます。イーサリアムのアカウントは公開されているため、アドレスを知っていれば任意のユーザーの残高を問い合わせることができます。
transfer
function transfer(address to, uint256 value) public returns (bool success)transferは、トークンを一人のユーザーから別のユーザーに移動させます。転送先のアドレスと移転する金額を指定します。呼び出されると、transferはTransferイベントをトリガーし、ブロックチェーンに取引の参照を含めるよう指示します。TransferイベントとApprovalイベント(承認イベントのログ)は、トークンに含まれる必要があります。
transferFrom
function transferFrom(address from, address to, uint256 _value) public returns (bool success)transferFromは、分散型アプリケーションにおいてよりプログラム可能性を提供するtransferの便利な代替手段です。transferと同様にトークンを移動させますが、そのトークンは契約を呼び出す人のものである必要はありません。言い換えれば、他のアドレス(または契約)にあなたの代わりに資金を転送する権限を与えることができます。一般的な使用例は、定期的な支払いを自動で処理するプログラムが手動取引を必要としないサブスクリプションベースのサービスです。
approve
function approve(address spender, uint256 value) public returns (bool success)approveは、スマート契約があなたの残高から引き出せるトークンの数を制限することを許可します。これがなければ、故障したり悪用された契約があなたの全残高を奪う可能性があります。たとえば、サブスクリプションが週に1トークンかかる場合、20トークンの制限を承認すると、DAppは最大20週間の支払いを処理できます。DAppがそれ以上の金額を引き出そうとしたり、バグが見つかった場合、あなたの潜在的な損失は承認された金額に制限されます。
allowance
function allowance(address owner, address spender) public view returns (uint256 remaining)allowanceはapproveと一緒に使用されます。契約にトークンを管理する権限を与えた後、allowanceを使用して、どれだけのトークンをまだ引き出せるかを確認できます。たとえば、サブスクリプションがあなたの20承認トークンのうち12を使用している場合、allowanceを呼び出すと8が返されます。
オプション機能
上記の機能は必須です。一方で、name、symbol、decimalはオプションですが、ERC-20契約をよりユーザーフレンドリーにします。それぞれ、人間が読める名前を追加し、ティッカーシンボルを設定し、トークンが分割可能な小数点以下の桁数を指定できます。通貨として使用されるトークンは、物理資産の所有権を表すトークンよりも高い可分性が利益をもたらす場合があります。
イベント
前述の関数によってトリガーされる2つのイベントがあります:
Transferイベント:トークンが転送、作成、または焼却されるたびに発生します。
event Transfer(address indexed from, address indexed to, uint256 _value)Approvalイベント:承認が必要なときに発動します。ユーザーがDeFiプラットフォーム(Uniswapのような)にトークンを使用することを承認すると、Approvalイベントがトリガーされ、プラットフォームに取引を許可するよう通知されます。
event Approval(address indexed owner, address indexed spender, uint256 _value)ERC-20トークンは何ができるのか?
ERC-20トークンの魅力の大部分はその柔軟性にあります。この標準は開発を制限することなく規則を設定し、プロジェクトが追加機能を実装したり、特定のパラメーターを設定したりできるようにします。2025年には、ERC-20トークンが貸付・借入プロトコルから分散型取引所、イールドファーミングプラットフォームに至るまで、さまざまなカテゴリの分散型金融(DeFi)アプリケーションの力を貸しています。
ステーブルコイン
ステーブルコイン(法定通貨にペッグされたトークン)は、しばしばERC-20標準を使用します。典型的な法定通貨に裏打ちされたステーブルコインの場合、発行者はドル、ユーロ、または他の通貨の準備金を保持します。準備金の各単位に対して、対応するトークンを発行します。もし$10,000が準備金として保持されている場合、発行者は10,000トークンを作成でき、それぞれが$1に引き換え可能です。ユーザーはこれらのトークンを商品やサービスに使ったり、DAppsで使用したり、発行者と引き換えたりできます。引き換え時、発行者は返却されたトークンを焼却(永久に使用不可能にする)し、準備金から同等の法定通貨を解放します。
ガバナンストークン
ガバナンストークンは、手数料構造やアップグレード、財務配分などのプロトコル決定に対する投票権を保有者に与えます。これらはDeFiプロトコルや分散型自律組織(DAO)で広く使用されています。ERC-20の移転性と標準インターフェースにより、ガバナンストークンはオンチェーン投票システムとの統合が容易です。
流動性プール(LP)トークン
ユーザーがDeFi流動性プールに資産を預けると、そのプールのシェアを表すLPトークンを受け取ります。これらのERC-20トークンは、基礎資産と累積手数料に対して引き換え可能です。LPトークンは、2025年現在、DeFiで活発に使用されている最も一般的なERC-20トークンの一種です。
セキュリティトークン
セキュリティトークンは、契約レベルではステーブルコインに似ています。区別は発行者のレベルで発生します:セキュリティトークンは株式、債券、または物理資産などの証券を表し、通常はビジネスまたは資産の持分を保有者に与えます。ERC-1400やERC-3643のような新しい標準は、規制された証券に必要なコンプライアンス機能を追加するためにERC-20に基づいています。
ユーティリティトークン
ユーティリティトークンは、最も一般的なトークンの種類の一つです。資産裏付けトークンとは異なり、外部資産によって裏付けられていません。ゲーム内通貨、分散型アプリケーションの燃料、ロイヤリティポイント、特定のサービスへのアクセスパスとして機能することができます。
ERC-20トークンをマイニングできますか?
イーサ(ETH)をステーキングすることで得ることはできますが、ERC-20トークンはマイニングできません。新しいものが作成されるとき、我々はそれらをミントしたと言います。契約がデプロイされると、開発者は計画とロードマップに従って初期供給を配布します。これは通常、初期コインオファリング(ICO)、初期取引所オファリング(IEO)、またはセキュリティトークンオファリング(STO)を通じて行われます。現在、エアドロップも一般的な配布方法です。投資家は契約アドレスにイーサを送信し、新しいトークンを受け取ります。収益は通常、さらなる開発を資金提供するために使われます。
トークンの配布は自動化する必要はありません。多くのクラウドファンディングイベントは、参加者が提供したアドレスにトークン残高を割り当てるデジタル通貨の範囲を受け入れます。
ERC-20トークンの利点と欠点
利点
代替可能:ERC-20トークンは代替可能であり、各単位は他の単位と交換可能です。これは通貨、ステーブルコイン、ガバナンストークンに最適で、個々の単位が区別されるべきではありません。
柔軟性:ERC-20トークンは非常にカスタマイズ可能で、ゲーム内通貨やロイヤリティプログラムからDeFiツールや現実世界資産(RWA)の表現まで、さまざまなアプリケーションに合わせて調整できます。
互換性:ERC-20の広範な採用により、ほとんどの暗号ウォレットアプリケーション、取引所、およびスマートコントラクトは、新しく立ち上げられたトークンとすでに互換性があります。開発者向けのドキュメントやツールも豊富です。
欠点
スケーラビリティ:イーサリアムの基盤レイヤーは1秒あたりのトランザクション数に制限があり、混雑することが高い手数料や遅延につながる可能性があります。Arbitrum、Optimism、zkSyncなどのレイヤー2ソリューションは、オフチェーンでトランザクションを処理しつつイーサリアム上で決済することで、これらの多くを解決していますが、レイヤー2を追加するとトークン発行者やユーザーに追加の複雑さがもたらされます。
詐欺:ERC-20トークンの立ち上げの容易さは、両刃の利点です。最小限の技術的努力が必要なため、詐欺的なプロジェクトが正当なものと同じようにトークンを発行できる可能性があります。いかなるトークンオファリングに参加する前に、自身の調査(DYOR)を行い、その機会が本物であるかどうかを自分で判断するべきです。
ERC-20、ERC-721、ERC-1155、およびERC-404:違いは何ですか?
ERC-20は最初のEthereumトークン標準であり、今でも最も広く使用されています。その後、改善を提案したり、異なるユースケースに対処するためにいくつかの他の標準が登場しました。
ERC-721は非代替トークン(NFT)の標準です:各トークンにはユニークな識別子があり、他のトークンと交換可能ではありません。ERC-721はデジタルアート、コレクション、個別のユニークさが重要なゲーム内アイテムを動かしています。
ERC-1155は、同じ契約内で代替可能トークンと非代替トークンの両方をサポートします。単一のERC-1155契約は、通貨とユニークなアイテムの両方を同時に管理できるため、これによりゲームアプリケーションの効率が向上します。
ERC-404は、2024年初頭に実験的に導入され、ERC-20の部分的な移転性とERC-721のユニークさを組み合わせて「セミ代替トークン」を作成しようとしています。正式にEIPとして採用されておらず、広範なエコシステムのサポートも欠けていますが、ERC-20フレームワークが新しいアプローチに影響を与え続けることを示しています。
ERC-223のような他の標準は、元のERC-20設計の既知の制限に対処するため、偶発的なトークン転送を防ぐための安全策を追加することを目指しています。
FAQ
ERC-20トークンとは何ですか?
ERC-20トークンは、Ethereumブロックチェーン上で作成された代替可能なトークンで、ERC-20技術標準に従っています。この標準は、すべての準拠トークンがウォレット、取引所、および分散型アプリケーション間で一貫して動作することを保証する6つの必須機能を定義しています。
ERC-20はERC-721とどう違うのですか?
ERC-20トークンは代替可能です:すべての単位が同一で互換性があり、通貨、ステーブルコイン、ガバナンストークンに適した標準です。ERC-721トークンは非代替可能であり、それぞれにユニークな識別子があり、デジタルアート、コレクション、個別のユニークさが要求されるゲーム内アイテムに適しています。
ERC-20トークンはマイニングできますか?
いいえ。ERC-20トークンは、スマート契約がデプロイされるときにミント(作成)され、マイニングはされません。総供給量と初期配布は契約の開発者によって設定されます。新しいトークンは通常、ICO、IEO、または流動性マイニングプログラムのようなメカニズムを通じて配布されます。
なぜERC-20トランザクションにはETHが必要なのですか?
ERC-20の転送は、Ethereumネットワーク上で実行される操作です。Ethereum上のすべての操作には、トランザクション手数料(ガスと呼ばれる)が必要で、これはETHで支払われます。たとえゼロETHを転送しても、トークン契約を呼び出すためのガスコストをカバーするためにウォレットにETHが必要です。
ERC-20のapprove関数は何に使われますか?
approve関数は、トークン保有者が特定のアドレスまたはスマート契約に対する支出制限を設定できるようにします。これはDeFiで一般的に使用されています:プロトコルに無制限のアクセスを許可する代わりに、引き出せる量を制限できます。バグが発見されたり契約が不正に動作した場合、あなたの潜在的な損失は承認された金額に制限されます。
締めくくりの考え
ERC-20標準は導入以来、Ethereum上での代替可能トークンの支配的なフレームワークとして残っています。そのシンプルさ、広範な互換性、柔軟なデザインにより、ステーブルコイン、ガバナンストークン、DeFiツール、無数のユーティリティトークンの基盤となっています。
イーサリアムの基盤レイヤーでのスケーラビリティの課題は、レイヤー2ネットワークの成長によって大部分が解決され、今では新しいDeFi活動の大半を処理しています。一方で、新しいトークン標準はより専門的なユースケースに拡大しています。ERC-20自体は変更されておらず、これがその耐久性の一因です:シンプルで監査可能な標準が、Ethereumエコシステム全体で信頼性高く機能します。
さらに読む
Ethereumとは何か、どのように機能するのか?
スマートコントラクトとは何か、どのように機能するのか?
分散型金融(DeFi)とは何か?
ステーブルコインとは何か?
ICO(初期コインオファリング)とは何か?
免責事項:このコンテンツは一般情報および教育目的のために「現状のまま」提供されており、いかなる種類の表明や保証もありません。これは金融、法的、または他の専門的なアドバイスと解釈されるべきではなく、特定の製品やサービスの購入を推奨するものでもありません。適切な専門家からのアドバイスを求めるべきです。コンテンツが第三者の寄稿者によって提供された場合、その意見は第三者の寄稿者に帰属し、必ずしもBinance Academyの意見を反映するものではありません。デジタル資産の価格は変動する可能性があります。投資の価値は下がることも上がることもあり、投資した金額を取り戻せない可能性があります。投資判断については自己責任で行ってください。Binance Academyはあなたが被る可能性のある損失に対して責任を負いません。詳細については、利用規約、リスク警告、Binance Academyの利用規約をご覧ください。
