ERC-1155とは? 特徴や仕組みを紹介

 ERC-1155はイーサリアムのマルチトークン(Multi Token)に関する規格です。ERC-1155は、EIP(Ethereum Improvement Proposal)において、スマートコントラクトなどのアプリケーションに関する提案のカテゴリであるERC(Ethereum Request for Comment )として分類されています。マルチトークンのスマートコントラクトを開発する際に、実装すべき関数やその引数、戻り値などについて定義されています。

 マルチトークンの「マルチ」は、このトークンがERC-20の持つ「代替性」とERC-721の持つ「非代替性」の両方の特徴を兼ね備えたトークンであることが由来となっています。例えば、ゲーム内で通貨として使用するコインと剣や盾などのアイテムを、それぞれトークンを用いて作成することを想定してみます。従来の方法ではコインはERC-20を用いて、アイテムはERC-721を用いて作成する方法が考えられます。この方法ではコインとアイテムがそれぞれ独立したスマートコントラクトで管理されることになるため、コインやアイテムの種類が増えるとゲーム運営者としてスマートコントラクトの管理が煩雑になり、開発のコストが増えてしまうという問題がありました。
 ERC-1155を用いるとそれらのコインやアイテムを1つのスマートコントラクトで作成でき、開発のコストを抑えられます。また、ERC-1155は複数のトークンをまとめて他者に移転する機能があります。従来は複数のトークンを移転したい場合はトークンごとに別々のトランザクションを送信しなければならず、毎回トランザクション手数料を支払う必要がありました。ERC-1155のこの機能を使用すると1度のトランザクションで移転できるため、トランザクション手数料を削減できます。
 ERC-1155はスマートコントラクトの規格としてWitek Radomski氏らが提案しました(※1)。1155という数字はGitHubのissue番号が1155だったことが由来となっています。

 ERC-1155で作られたトークンを管理するためには一般的にウォレットというアプリケーションを使用します。ウォレットの中にはERC-20とERC-721には対応していても、ERC-1155には対応していない(もしくはERC-1155の一部の機能しか対応していない)ものが存在するため注意が必要です。多くのNFTはERC-721で作成されていますが、中にはERC-1155で作成されたものが存在するため、NFTマーケットプレイス等でNFTを購入する際は、NFTがどの規格でできているか、受け取るウォレットがその規格に対応しているかを事前に確認する必要があります。

参考文献

(※1)ethereum.org 「ERC-1155: Multi Token Standard」
https://eips.ethereum.org/EIPS/eip-1155