デジタル通貨

ERC20系トークンとは?

<イーサリアムERC20トークンの問題について>

昨今では、お手軽に「トークン」が発行され、その数はもう覚えきれないほどになっています。
このトークンの多くはERC20準拠のものですが、この「ERC20」の意味はご存知でしょうか?

元々はイーサリアム上に作られたトークンは規格がばらばらで、管理しにくいという問題を抱えていました。
やがて、「ERC20」という規格によってイーサリアム上のトークンの作成が標準化され、この「ERC20」規格に基づいてイシューされるイーサリアム上のトークンを「ERC20(系)トークン」と呼んでいます。

ERCは何の略称かというと、イーサリアム上で決められた仕様である「Ethereum Request for Comments : Token Standard20」を指しています。

イーサリアムは単純なビットコインのような仮想通貨ではなく、分散型ネットワークだと言え、ブロックチェーンと、スマートコントラクトが使用できる「仮想マシン」であると表現できます。
イーサリアムでは分散型アプリケーションがサポートされ、略して「DApps」と呼ばれます。
DAppsは、イーサリアムのブロックチェーン上に作られ、トークンを作成してコミュニティー通貨として使うこともできれば、著作権の明記や財産の所有証書のように改竄不能な記録・証明として使うこともできます。
さて、イーサリアム上に作られたDAppsのトークンの規格がばらばらでは保存するウォレットもばらばらになりますが、一つの「ERC20準拠」で共通であれば同じ一つのハードウエアウォレット等で管理できます。
今では600種類以上のERC20系トークンが世に出ていると言われます。

このようにERC20発表後にイシューされたトークンは標準化され、管理が非常にしやすくなりました。
しかし、時間が経つにつれ、ERC20にはなかなか大きな問題が潜んでいることが明らかになってきました。

<ERC20トークンの抱える問題>

イーサリアム上のこれらERC20トークンを使ってコントラクトを執行することが基本ですが、なぜかERC20の規格ではトークンを送付してもコントラクトへ通知することは未定義になっています。

つまり通知方法が設定されていませんので、受信した場合でもトークンが届いたかどうかわかりません。
いくつかの代替方法で解決はできますがトランザクションは当然増えることになり、無駄に消費、本来必要ないはずのトランザクションがイーサリアムネットワークに発生することになります。
効率が悪い規格だと言えるでしょう。

さてERC20では(当初は誰も気が付かなかったのですが)、ERC20準拠トークンを「ユーザーアドレス」に送らず、誤って「コントラクトアドレス」に送付した場合、エラーで帰ってこないで、そのまま何故かトランザクション承認されるのにそのトークンは行方不明になってしまい、出すことができなくなります。

「コントラクトアドレス」はそもそも送金できないものなのですが、ユーザの無知や粗忽により、誤ってトークンをコントラクトアドレスを入力すると、回復が不可能になってしまいます。

ちなみにこれを修正するため、上位互換の「ERC223」という新規格も出ました。
これは「TokenFallBack」という誤送金を回収できる関数が追加されており、失敗をやり直すことが可能になりました。
とは言うものの、この上位互換に基づいたトークンは多くなく、相変わらずERC20が多数を占めている状態です。

このバグは、コミュニティでは「これはそもそもそういう仕様であり、バグではない」として修正されていません。
目下おおくのトークンがERC20系ですので、初心者がうっかりコントラクトアドレスに送付して「セルフGOX」とでもいうべき、永遠に取り出せなくなったトークンがどんどん増えていくと、経済的損失も累積していくことでしょう。

ただ、誤解もあり、バッチオーバーフローという脆弱性の問題がよく「ERC20」のバグだとディスられますが、実際はコントラクト上でトークン独自に実装された「batchTransfer」という関数の問題なのです。

もしもERC20トークンで「batchTransfer」が含まれなければその問題とは無縁です。
2018年4月にこの問題が顕在化し、当初は「ERC20の関数に大きなバグがある」とネット上で大きな話題となりました。

ERC20準拠のスマートコントラクトの「すべて」ではなく、「バッチトランスファー」関数のバグが取扱う数量を遥かに超える数のトークンが無料で作り出し、大量に送金されてしまうというもので、確かに致命的ではありますが、イーサリアムそのものの問題ではないことが後に判明しました。

今でもERC20準拠のトークン全部にこのバッチオーバーフロー問題が存在するという認識を持っている人がいますが、この認識は誤りです。

たしかにERC20にはいくつかの欠点はあるものの、この「batchTransfer」についてはそれを含むトークンコントラクトのみの脆弱性ですので、ERC20そのものの欠点とは切り離して考える必要があります。

JT(日本たばこ産業株式会社):配当狙い前のページ

香りを楽しむ:オレンジスイートとベンゾイン次のページ

ピックアップ記事

  1. 毎日の支払いに!仮想通貨活用法4選
  2. 7ステップで完全マスター!YOASOBIの歌詞解析テクニック
  3. 【速報】アップル、待望の最新M3チップ搭載MacBook ProとiMacを発表…
  4. 【イベント速報】実はこんなものが欲しかった!バレンタインデーで男がもらって嬉しい…
  5. 【速報】Breaking down(ブレイキングダウン)はもう終わり?犯罪者や出…

関連記事

  1. デジタル通貨

    暗号資産ビットコインがまた急上昇?その理由と将来性を解説!

    暗号資産の中でも知名度の高いビットコイン。2018年頃に200万円台…

  2. デジタル通貨

    モナーコインとはどのような通貨か?

    Monacoin(モナーコイン)は、仮想通貨のなかでも、日本…

  3. デジタル通貨

    ビジネスアプリ開発促進プロジェクトの暗号資産「NULS(ヌルズ)」について解説

    「NULS(ヌルズ)」とは、難解で専門性が高いブロックチェーン技術の…

  4. デジタル通貨

    暗号資産のボサゴラ(BOSAGORA)って?特徴や現状、今後の展望のまとめ!

    暗号資産を運用するときには、どの通貨を選べばよいかで迷うこともあるで…

  5. デジタル通貨

    暗号資産フォーラム「BitcoinTalk」

    BitcoinTalkは情報収集に役立つ:暗号資産(仮想通貨…

  6. デジタル通貨

    ビットコイン(暗号資産)の価格が上がった理由と今後の値動きを予測する

    ビットコインは、2020年9月上旬に一旦は110万円台まで値を下げま…

暗号資産(仮想通貨)レート

JPY
USD
EUR
bitcoinBitcoin (BTC)
¥16.164.201,94
ethereumEthereum (ETH)
¥505.895,95
litecoinLitecoin (LTC)
¥18.021,15
xrpXRP (XRP)
¥495,35
bitcoinBitcoin (BTC)
$ 103,796.81
ethereumEthereum (ETH)
$ 3,248.56
litecoinLitecoin (LTC)
$ 115.72
xrpXRP (XRP)
$ 3.18
bitcoinBitcoin (BTC)
99,723.57
ethereumEthereum (ETH)
3,121.08
litecoinLitecoin (LTC)
111.18
xrpXRP (XRP)
3.06

SSL

スポンサー




アーカイブ

Twitter

https://x.com/MiscblogNet

  1. デジタル通貨

    各国の中央銀行が作るデジタル通貨とは?
  2. 趣味&エンタメ

    クマネズミの駆除
  3. その他・雑記

    【速報】遂にiPhone 15とiPhone 15 Plusが発売開始。その魅力…
  4. ココロとカラダ

    緑虫が、がんから人を救う?
  5. マネー&ライフ

    今の年収が低くても投資を始めることは十分可能
PAGE TOP