ERC 20って?
ERCとは Ethereum Request for Commentsの略で、イーサリアムのプログラミングについて概説する技術文書のことです。その後に続く数字(20、721、など)は技術書の提出された順番の通し番号で、この番号自体には意味はありません。
この技術文書の草案はEIP(Ethereum Improvement Proposal、イーサリアム改善提案)と呼ばれ、規格に沿えば利用者が誰でも提出できます。イーサリアムの開発陣によって内容が議論や改善され、投票により承認、却下されます。
この承認によって適用される規格がERC○○と呼ばれています。この規格の代表的な番号の意味を調べていきます。
ERC20
ERC20イーサリアム(Ethereum)ブロックチェーン上で発行されるトークン(通貨)の標準仕様の1つです。
ERC20は、以下の6つの機能を実装することで、イーサリアム上で相互運用性を持つトークンを作成するための標準的な仕様を提供しています。
totalSupply:発行されたトークンの総量を取得する
balanceOf:指定したアドレスが保有するトークンの数量を取得する
transfer:指定したアドレスに指定した数量のトークンを送信する
approve:指定したアドレスが指定した数量のトークンを使用できるように承認する
allowance:指定したアドレスが使用できるトークンの数量を取得する
transferFrom:指定したアドレスから指定したアドレスに指定した数量のトークンを送信する
ERC20を使うことで、イーサリアム上で相互運用性のあるトークンを作成することができます。
例えば、ICOやトークンセールを実施する場合には、ERC20トークンを発行することが多くあります。
また、ERC20トークンは、ウォレットや取引所などの多くのサービスに対応しているため、利用が容易で、相互運用性が高いことが特徴です。
しかし、ERC20トークンは標準仕様があるため、開発者が自由にトークンを設計することができないという制限があります。そのため、より柔軟性のあるトークン仕様としてERC721やERC1155などが提唱されています。
使用例は?
仮想通貨取引所、ICO、DeFiプロトコル、DApp、ゲーム、その他多数のアプリケーションで使用されています。以下に、ERC20の使用例の一部を挙げてみます。
仮想通貨取引所: ERC20トークンは、主要な仮想通貨取引所でトレードされています。たとえば、Binance、Coinbase、KrakenなどがERC20トークンをサポートしています。
ICO: ERC20トークンは、ICOの最も一般的な形式であり、イーサリアムブロックチェーン上で新しいトークンを発行することができます。多くのICOはERC20トークンを使用しており、投資家はETHを送信して、トークンを手に入れることができます。
DeFiプロトコル: DeFi(分散型金融)プロトコルは、ERC20トークンを使用して、ユーザーに様々な金融サービスを提供します。たとえば、ユーザーはERC20トークンをデポジットして、利子を獲得することができます。
DApp: ERC20トークンは、分散型アプリケーション(DApp)で使用されることがあります。たとえば、CryptoKittiesは、ERC20トークンを使用して、ユーザーが独自の仮想猫を所有することができるようにしています。
ゲーム: ERC20トークンは、オンラインゲームで仮想アイテムや仮想通貨として使用されることがあります。たとえば、My Crypto Heroesは、ERC20トークンを使用して、プレイヤーが所有するヒーローをトークン化することができます。
これらは、ERC20の使用例の一部です。ERC20トークンは、様々な分野で使用されることができ、これからもますます多くのアプリケーションで使用されることが期待されています。
メリットとデメリットについても教えて
【メリット】
標準化された規格: ERC20トークンはイーサリアムブロックチェーン上で発行されるトークン(通貨)の標準規格であり、これによりトークンの互換性が保証されます。これにより、異なるアプリケーションやサービスでのトークンの使用が容易になります。
安全性: ERC20トークンは、イーサリアムブロックチェーンのスマートコントラクトを利用して発行されるため、安全性が高いとされています。トークンの発行者は、トークンの所有者に対してスマートコントラクトを介して、トークンの移動や取引の制限、条件付き送金、イベントトリガーなどを自動的に実行することができます。
取引性: ERC20トークンは、イーサリアムブロックチェーン上で直接取引することができ、低い取引手数料で高速なトランザクションが可能です。また、仮想通貨取引所でも取引されており、流動性が高いとされています。
データの透明性: イーサリアムブロックチェーンは、分散型の台帳技術を採用しており、トランザクション履歴を透明に公開することができます。ERC20トークンのトランザクションも同様であり、データの透明性が高いとされています。
【デメリット】
スマートコントラクトの脆弱性: ERC20トークンは、イーサリアムブロックチェーン上のスマートコントラクトを利用して発行されるため、スマートコントラクトの脆弱性が問題となることがあります。スマートコントラクトに脆弱性がある場合、トークンの移動や取引が不正に行われる可能性があります。
イーサリアムのネットワークの負荷: ERC20トークンは、イーサリアムブロックチェーン上でトークンの移動や取引を行うため、イーサリアムネットワークの負荷が増加することがあります。特に、イーサリアムネットワーク上で多くのERC20トークンが発行されている場合、ネットワークのスケーラビリティに関する問題が浮上することがあります。
トークンの管理: ERC20トークンは、イーサリアムブロックチェーン上で発行されるため、発行者は、トークンの発行、供給、管理に関する責任を負うことになります。また、トークンの管理に関する規制や法的問題も存在するため、発行者は、適切な管理や法的リスクの調査が必要です。
トークンの失効: ERC20トークンは、イーサリアムブロックチェーン上で発行されますが、所有者がトークンを失効させる方法はありません。つまり、所有者がトークンを誤って送金した場合や、トークンが無効になった場合でも、トークンを回収することはできません。
規制のリスク: ERC20トークンの発行や取引には、規制のリスクが存在します。一部の国や地域では、仮想通貨に関する法律や規制が未整備であるため、法的問題が生じる可能性があります。また、規制当局によって、発行者や取引所が規制の対象となることもあります。
以上が、ERC20トークンのメリットとデメリットです。ERC20トークンは、イーサリアムブロックチェーン上で発行されるトークンの標準規格であり、多くのアプリケーションやサービスで使用されています。しかし、スマートコントラクトの脆弱性やネットワークの負荷などの問題もあり、適切な管理や法的リスクの調査が必要です。