スマートコントラクトの規格「ERC721」「ERC20」「ERC223」について解説

スマートコントラクトの規格「ERC721」「ERC20」「ERC223」について解説

ブロックチェーンに対する注目が高まるにつれ、ブロックチェーンを活用したサービスが広がってきています。ブロックチェーンのサービス普及を後押ししているのは、スマートコントラクトとも言えます。スマートコントラクトは、その名の通り「賢明な契約」であり、これまで煩わしかった契約作業を自動化するという特徴があります。しかし、ひとえにスマートコントラクトと言っても、決まり事があり、その決まり事を理解した上で利用する必要があります。今回は、スマートコントラクトの決まり事の中から、「ERC721」「ERC20」「ERC223」といった規格について説明します。

最初に普及した規格は「ERC20」

イーサリアムのスマートコントラクトの最初の共通規格として作られたのが「ERC20」です。「ERC20」は、スマートコントラクトの利便性を高める目的で、2015年に誕生しました。

そもそも「ERC」とは、「Ethereum RFC (Request for Comment)」という意味で、その20番目であるため「ERC20」と命名されました。

「ERC20」は、開発されるコインの作成と運用に関するルールがまとめられています。6つの主な関数が採用されたことで、コードが統一されており、様々なプラットフォームへの結合が単純化されるという特徴があります。

「ERC20」が採用した6つの関数は、以下の通りです。

  • コインの総量
  • 特定アドレスの残高に存在するコイン数
  • プライマリアドレスから個人ユーザーやICO参加者のアドレスへとトークンを送信する関数
  • ユーザー間でトークンを送信する関数
  • 資金の引き出しが可能なスマートコントラクトでトークン残高を確認する関数
  • 送信者が送信のトランザクションを完了するに必要トークンを保有し確保する関数

「ERC20」の誕生によって、イーサリアムのブロックチェーン上に容易にトークンを発行できるようになりました。

「ERC20」を改良して「ERC223」が誕生

イーサリアムは、ウォレットや分散型取引所では自分でGASを設定する必要があります。イーサリアムでは、スマートコントラクトなどのトランザクションを実装するために、独自通貨のイーサ(ETH)をGAS(燃料)として使用します。

ビットコインでは、トランザクションを承認してもらうための手数料としてBTCを使用しますが、イーサリアムではETHではなくGASを使用します。

「ERC223」では、このイーサリアムのトランザクション承認の必要なGASの量が、「ERC20」より少なくすむというメリットがあります。

「ERC223」には、もう一つ「ERC20」よりも優れた特徴があります。それは、送金先のアドレスを間違えても問題ないというところです。「ERC20」では、イーサリアムを送金する際に、送金先のアドレスを間違えてしまうとトークンが消滅してしまうという欠点がありました。このトークンが消滅してしまう事象は、送金先のアドレスを間違えたときだけでなく、送金先がコントラクトに対応していない場合にも発生します。

このトークンが消滅してしまう事象に「ERC223」は対応しています。「ERC223」では、送金先のアドレスを間違えた場合や送金先がコントラクトに対応していない場合に、元の送り主に自動で返還するという機能を備えています。この自動で返還される機能があるため、トークンを消滅させず安全に利用できるようになっています。

「ERC223」では、送り主が送金先を入力し、送金を申請した際、送金先が存在するか・コントラクトに対応しているかどうかを確認し、それらの確認が取れてからようやく送金処理が行われるという仕組みになっているため、トークンを消滅させないようになっています。

2017年9月に登場した最新の規格が「ERC721」

ここまで「ERC20」「ERC223」とイーサリアムの規格の変遷を説明しましたが、最新の規格が「ERC721」です。「ERC721」は、「ERC20」や「ERC223」の欠点を解消するために作られた規格ではありません。既存の規格の問題を解決するのではなく、別の方向からスマートコントラクトの新たな可能性をもたらすために作られた規格と言えます。

「ERC721」は、「NFT(Non-Fungible Token):代替不可能なトークン」と呼ばれています。これは、それぞれのトークンが固有の希少性や独自性などを持つことができるように設計されているためです。

代替不可能なトークンと言ってもイメージを浮かべにくいと思います。例えばアート作品やアンティーク品、土地や家や車などは代替不可能なものと言えます。それは、同じ車と行っても、その車の持つブランドや機能性などの観点から必ずしも車というだけで価格が同じとは限らないからです。同じように、「ERC721」を利用することで、各トークンが所有者名などのメタデータを持てるようになり、独自の価値を保有することが可能となりました。

「ERC721」の「NFT」という性質により、トークンは主にDappsゲームなどで利用されています。例えば、CryptoKittiesやChain MonstersなどのDappsにおいて、プレイヤーは自身の猫の育成や交配、モンスターのレベルや世代が独自の価値を生み出すことができます。これは、ゲームデータをゲーム配信会社や開発会社からユーザーの手に渡ることを意味し、ユーザーは半永久的にゲームをおこなうことが出来る可能性を手に入れたことになります。

上記の他にも「ERC721」は、メタデータに著作権名、著作物の保管場所、著作権の認証日などのデータを登録することで、権利関係を明確にすることが可能になります。これは改ざん不可能性を法的根拠として活用できるため、公証人役場のようなことが「ERC721」上で出来ることを意味します。

まとめ

今回は、イーサリアムの規格の変遷の経緯等から「ERC721」「ERC20」「ERC223」それぞれの特徴について説明しました。イーサリアムは、様々な用途に利用できる可能性があります。様々な用途に利用するためには、その仕組みや特徴を理解しておく必要があります。今回の説明のように、イーサリアムの規格を理解して、用途に応じた規格を使用したシステムを構築する必要があります。システムを構築する前に、どの規格を利用すべきか考えるようにしましょう。

The following two tabs change content below.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です