ERC223によってERC20で発生している問題をどう解決するのか

ERC223によってERC20で発生している問題をどう解決するのか

はじめに


ERC20で問題となっているトークン消失、今回はこの問題を解決するERC223について解説します。

本記事は、過去にコンセンサス・ベイスが主宰していたオンラインサロンの記事です。記事は2017年~2018年にかけて執筆されたため、一部は、既に古くなっている可能性があります。あらかじめご了承ください。

ERC223ではトークンの送付方法をEtherの処理と同様になるよう変更します。そうすることで、ユーザーがEtherかトークンかを意識することなく送付処理が実行できるようになり、コントラクト開発者が安心してトークンを利用できるようになると考えられています。

Ethereum ERC223トークンとは


ERC20トークンで問題となっているのは、トークンそのものをトークンを処理するスマートコントラクト(レシーバーコントラクト)に直接送付してしまった場合、コントラクトが反応できずにトークンが消失してしまうことです。この問題の解決策として、レシーバーコントラクトにあやまって送付されたトークンを保持しないようにするtokenFallback機能の実装がERC223で提案されています。

そもそも、ERC20では以下2種類のトークン送付方法があります:
  • トークンコントラクトのtransferをコール、トークンを受け取るウォレットのアドレスに送付
  • トークンコントラクトのapproveをコール、応答したレシーバーコントラクトのtransferFromコールによりトークンをレシーバーコントラクトに送付

問題は、あやまって、transferによりレシーバーコントラクトのアドレスにトークンを直接送付したときに発生します。レシーバーコントラクトには直接送付されたきたトークンを処理する方法がなく、またサポートされていないトークンの受け取りを拒否する方法もないため、あやまって送付されてしまったトークンはレシーバーコントラクト内でアクセス不能の状態となり結果的に消失します。

実際、少なくともUSD40万相当のトークンがアクセス不能となり消失しています:
  • 244,131 GNT in Golem contract
  • 200 REP in Augur contract
  • 777 DGD in Digix DAO contract
  • 10,150 1ST in FirstBlood contract
  • 30 MLN in Melonport contract

この問題を解決するため、ERC223ではトークンの送付方法をEtherの処理と同様になるよう変更します。そうすることで、ユーザーがEtherかトークンかを意識することなく送付処理が実行できるようになり、コントラクト開発者が安心してトークンを利用できるようになるでしょう。

具体的には、ERC223トークンのトークン送付は以下のように処理されます:
  • 送付先がコントラクトでもウォレットでもトークンコントラクトのtransferをコール
  • 送付先がウォレットの場合、ERC20トークンと同様に処理
  • 送付先がコントラクトの場合、トークンコントラクトはレシーバーコントラクトのtokenFallbackをコール
    – tokenFallbackがない場合はトランザクション失敗と処理
    – tokenFallbackがある場合はレシーバーコントラクトに従って処理

tokenFallbackはEtherのfallback相当の機能で、引き継いだトランザクションを処理するために利用されます。

ERC223トークンの詳細については以下を参照してください。
ERC223 token standard · Issue #223 · ethereum/EIPs · GitHub

https://github.com/ethereum/EIPs/issues/223

ERC223トークンはERC20に対して後方互換性があり、ERC20に準拠したコントラクトやサービスはERC223トークンでも正しく機能します。

また、トークンをコントラクトに送付するトランザクションに必要なgasは、ERC20(approveとtransferFromの組合せ処理)で処理した場合の半分以下となります。
     

免責事項

本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

     

コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?

当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。

ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

     
     

ブロックチェーン学習に最適の書籍の紹介

図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

ブロックチェーン イーサリアムへの入り口 第二版 (ブロックチェーン技術書籍)

本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。(はじめにより)

イーサリアム(Ethereum)カテゴリの最新記事