$EX5プレセール — シードティア · 固定供給量500M · 50%バーン · 登録はportal.ex5.comで参加 →
更新日

ERC-827

要約: ERC-827 は、特に資産の送付や承認(確認)のトランザクションにおいて、ERC-20の限界を超えることを目指して開発された、イーサリアムのトークン規格の提案です。

ERC-827は、特に資産の送付や承認(確認)のトランザクションにおいて、ERC-20の限界を超えることを目指して開発された、イーサリアムのトークン規格の提案です。トークンの送付または承認と、別のコントラクトの呼び出しを、単一のトランザクションにまとめます。

重要な理由

ERC-20では、スマートコントラクトへの支払いに通常二つの手順が必要です。まず保有者がコントラクトに自分のトークンの使用を承認し、続いて二つ目のトランザクションでコントラクトがトークンを引き出して処理を実行します。ERC-827では、transferAndCallやapproveAndCallといった関数が追加されました。これらの関数はトークンを移動または承認すると同時に、受け取り側のコントラクトの関数を呼び出し、追加データも渡します。これによりトランザクションが一つ省け、ユーザーにとって手続きがシンプルになります。しかしセキュリティ研究者は、ユーザーが選んだデータを使ってトークンコントラクトに任意の呼び出しを行わせると悪用されるおそれがあると指摘しました。そうした呼び出しは、トークンコントラクト自身から発信されるためです。こうした理由からERC-827は広く使われる規格にはならず、その後の設計では、送付とコントラクトの呼び出しの組み合わせに対して、より慎重なアプローチが取られるようになりました。

具体例

あるユーザーが、トークンで料金を請求するサービスにアカウント登録しようとしています。ERC-20では、承認に署名し、それが確定するのを待ってから、登録のための二つ目のトランザクションに署名します。ERC-827では、一回のapproveAndCallトランザクションで、支払いの承認と登録用の関数の実行が同時に行われます。

関連用語