デジタル通貨

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. 7ステップで完全マスター!YOASOBIの歌詞解析テクニック
  2. 【イベント速報】実はこんなものが欲しかった!バレンタインデーで男がもらって嬉しい…
  3. 毎日の支払いに!仮想通貨活用法4選
  4. 【速報】遂にiPhone 15とiPhone 15 Plusが発売開始。その魅力…
  5. 【速報】Breaking down(ブレイキングダウン)はもう終わり?犯罪者や出…

関連記事

  1. デジタル通貨

    Crypto.com Chain(クリプトドットコムチェーン)ことCROとは?

    元々存在していたモナココイン(MCO)を2018年7月にリブランドし…

  2. デジタル通貨

    暗号資産のICOとは

    暗号資産に関する話題として、2017年あたりから頻繁に使われるように…

  3. デジタル通貨

    フェイスブック(Facebook)の仮想通貨「Libra」って何?

    昨今、仮想通貨が話題となっています。そんな仮想通貨の市場にフ…

  4. デジタル通貨

    ブロックチェーン技術を活かしたトヨタの挑戦

    トヨタが取り組むブロックチェーン技術の可能性ブロックチェーン…

  5. デジタル通貨

    日本で使えるアルトコインの現状と今後を予想する

    仮想通貨と言うと、大半の人はビットコインを思い浮かべるでしょうが、仮…

  6. デジタル通貨

    暗号資産のAirDropって何?

    暗号資産取引を始めたいと考えている人にとって気になるのは、「自分の大…

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

JPY
USD
EUR
bitcoinBitcoin (BTC)
¥16.275.254,39
ethereumEthereum (ETH)
¥564.211,96
litecoinLitecoin (LTC)
¥13.863,59
xrpXRP (XRP)
¥366,07
bitcoinBitcoin (BTC)
$ 107,175.72
ethereumEthereum (ETH)
$ 3,715.45
litecoinLitecoin (LTC)
$ 91.29
xrpXRP (XRP)
$ 2.41
bitcoinBitcoin (BTC)
91,928.80
ethereumEthereum (ETH)
3,186.88
litecoinLitecoin (LTC)
78.31
xrpXRP (XRP)
2.07

SSL

スポンサー




アーカイブ

Twitter

https://x.com/MiscblogNet

  1. マネー&ライフ

    10月から暮らしが変わる
  2. マネー&ライフ

    フリーライダーどころか重要な支え手だった?
  3. デジタル通貨

    暗号資産・ビットコインの高騰は一時的?今後の展開を予測
  4. マネー&ライフ

    昔ハデだった業界
  5. マネー&ライフ

    年金は前倒しでもらうのが得か、後に延ばすのがいいのか
PAGE TOP