私はこの分野ではかなりの初心者なので、Ethereumでのトークンの標準について学ぶことにしました。トークンは様々な方法で実装できるスマートな契約です。トークンの標準は、サードパーティのアプリケーションが異なるトークンと一貫した方法で相互作用できるようにするためのプロトコルです。トークンの規格は、アプリケーションレベルの規格であるERC(Ethereum Request for Comments)と、ネットワークプロトコルなどのインフラレベルの規格であるEIPに分類されます。これらは、元々IETF(Internet Engineering Task Force)がプロトコルやファイル形式を保存・公開するために使用していたRFC(Request for Comments)に似ています。この種の文書は、PHPやRust、Vueなどの他のコミュニティでも採用されています。ERCはそのようなドキュメントのEthereum版です。これらのトークンの標準について学ぶことは、Ethereumエコシステム全体の理解を深めることにつながります。ここでは、いくつかの重要なトークン標準とインターフェイスをまとめてみました。
ERC165
トークン標準の話をする前に、まずインターフェイスの概念に慣れる必要があります。インターフェースは、コントラクトとの相互作用の方法を定義します。別の言い方をすれば、インターフェイスの存在によって、どのようにインタラクトするかを簡単に決めることができます。ERC165は、インタフェースを実装する機能と、契約書にインタフェースがあるかどうかを検出する機能を提供します。
ERC20
ERC20は、最もよく知られたトークンの標準規格です。これは、トークンを転送したり、第三者がその転送を承認したりするための標準化された方法を提供します。さらに、このトークンは"互換性がある"という点にも注意が必要です。 "互換性"とは、何かが交換可能であることを意味します。ERC20トークンは、ドル紙幣と同様に互換性があります。それぞれの紙幣は全く同じ交換価値を持っているので、どの紙幣を持っているかは気にしません。この規格をトークンのスマートコントラクトに実装することで、ウォレットや取引所での送受信が可能になります。Ethereum上で最も活発なコントラクトの中には、BAT(Basic Attention Token)やUSDTなどのERC20トークンがあります。
ERC223
ERC20トークンは、ほぼどこでも転送することができますが、これには問題があります。トークンがスマートコントラクトに送信され、そのスマートコントラクトがその特定のトークンを使用する機能を持っていない場合、トークンは無駄になり、使用できなくなります。ERC223標準を実装することで、このようなシナリオを防ぐことができます。
ERC721
ERC721は、NFT(Non Fungible Token)のトークン規格です。腐りやすいERC20トークンとは異なり、ERC721トークンは家のようにユニークで交換不可能です。家を区別し、誰がどの家を所有しているかを知ることが重要です。おそらく、ERC721標準の最もよく知られた使用法は、各猫が個別の収集可能なトークンであるCryptoKittiesです。
ERC777
ERC777は、後方互換性のあるERC20規格に加えて、便利な機能を追加しています。これは、別のアドレスに代わってトークンを送信することができる指定されたプロキシのようなもので、オペレータを提供します。例えば、DApは、より良いユーザー体験を提供するために、クライアントの代わりに何かのために支払うことができます。また、送受信フックも提供しており、トランザクションが実行される前に選択的に元に戻すことができます。
ERC1155
この規格以前は、人々は別のトークンを発行したいと思うたびに、全く新しいスマートコントラクトを展開する必要がありました。しかし、これらのトークンは共通して多くのデータを共有している可能性があり、Ethereum上にデータを保存するのはコストがかかります。ERC1155では、トークンIDを対応するメタデータとともに、新しいタイプの設定可能なトークンを表現することができます。例えば、RPGを作ろうとしていて、多くのキャラクターやアイテムを実装する必要があるとします。これらのものごとにスマート・コントラクトを展開するのではなく、単一のERC1155コントラクトを展開し、多数の構成可能なトークンを発行することができます。
ラップアップ
これらのEIPについて調べてまとめていく中で、Ethereumブロックチェーンについて色々なことを知ることができました。今回のまとめが、この分野にも初めて触れる方の参考になれば幸いです。Ethereumをはじめとするブロックチェーンプラットフォームはまだまだ進化が早いので、今後の変化にも注目していきましょう。