title

こんにちは「すここのこ」といいます。
最近はDapps(分散型アプリケーション)のゲームについて紹介しています。

Dappsゲームを調べてるとき、トークンの関係で気になる単語の一つに「ERC223」があります。

ERCはEthereum Request for Comments: Token Standardの略語で、
Ethereumベースのトークンを発行するときのルールです。

もう一つ関連する単語としてERC20があります。
以前はERC20について説明しました。以下はERC20を説明した記事になります。

関連記事:ERC20とはなにか?Dappsを利用するために必要なこと

上の記事でERC20について簡潔にまとめますと、

Ethereumのトークンを実装してもそれぞれの開発者で技術面が異なっており扱いにくかった問題点を解決するルールのことでした。

さて、ERC20ではよくないのでしょうか?問題点はどこにあるのでしょうか?

  • ERC20の問題点
トークンの無秩序状態を改善するためのルールはついてはERC20で問題ありませんでした。しかしクリティカルな問題点がERC20にはあったのです。

それは、
コントラクトアドレスに誤って送金してしまったときのトークンの消滅です。


  • コントラクトアドレスとは?
Ethereumがスマートコントラクト(自動契約)の技術が利用されていることを理解していることを前提として、
Ethereumではコントラクトとよばれる契約内容をブロックチェーン上に書き込んでいます。その契約内容に割り当てられているアドレスをコントラクトアドレスといいます。
それなので、Ethereum上の通貨Etherを送金するアドレスとはまったく異なるものなのです。

  • ERC223
コントラクトアドレスと送金アドレスは全然違うじゃん!間違うわけないでしょ!
と思われる方もいらっしゃるかも知れませんが、
コントラクトアドレスに送金するパターンはやはりあるそうです。

何事もなく実行されてしまうため、まるで送金されたかのように処理されています。
それはミスなので、返金できるようなシステムがあればよいのですが、
残念ながらERC20上では消滅してしまうのです。
消滅してしまったトークンの送金額は以下の通りです。
ERC223_lost
引用:https://github.com/ethereum/EIPs/issues/223

一番大きかった金額だけでも日本円で数億円相当のEtherが消滅しているようです。

通貨Etherの消滅は致命的な問題ですが、
これを解決したものが「ERC223」になります。

  • まとめ
ERCはコントラクトアドレスに誤って送金したときのトークンの消滅を防ぐルールでした。
Ethereumも日々改善がされていることがわかります。

ERC20を用いたDapps(分散型アプリケーション)は十分に注意するべきでしょう。