デジタル通貨

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. 【イベント速報】実はこんなものが欲しかった!バレンタインデーで男がもらって嬉しい…
  2. iPhone15を購入する前に知っておきたいメリットとデメリットとは?
  3. 【速報】アップル、待望の最新M3チップ搭載MacBook ProとiMacを発表…
  4. 【速報】遂にiPhone 15とiPhone 15 Plusが発売開始。その魅力…
  5. 7ステップで完全マスター!YOASOBIの歌詞解析テクニック

関連記事

  1. デジタル通貨

    暗号通貨事件録:マウント・ゴックス破綻事件

    暗号通貨投資をしていると、耳にする事もある「GOXする」というような…

  2. デジタル通貨

    ICOに代わる資金調達方法!IEO(Initial Exchange Offering)を初心者にも…

    仮想通貨の世界は毎年目まぐるしい変化を遂げています。2016年には、…

  3. デジタル通貨

    初心者も安心して利用しやすい暗号通貨取引所のBitPoint

    仮想通貨の取引所ならBitPointが便利!ビットコインなどが安心し…

  4. その他・雑記

    ビットコインとイーサリアム: どちらを選ぶべきか?

    どうもcreater.kです。ビットコインとイーサリ…

  5. デジタル通貨

    暗号資産(仮想通貨)の「ステラ」とは

    多くの仮想通貨が登場していますが、中でもジェド・マケーレブが創業した…

  6. デジタル通貨

    遊べば遊ぶほどお金が儲かる?仮想通貨の仕組みを利用した新しいゲーム「ブロックチェーンゲーム」

    これまでゲームでお金を稼ぐというのは、eスポーツの大会に出るような一…

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

JPY
USD
EUR
bitcoinBitcoin (BTC)
¥10.332.310,98
ethereumEthereum (ETH)
¥269.559,24
litecoinLitecoin (LTC)
¥7.093,96
xrpXRP (XRP)
¥184,28
bitcoinBitcoin (BTC)
$ 64,479.00
ethereumEthereum (ETH)
$ 1,682.19
litecoinLitecoin (LTC)
$ 44.27
xrpXRP (XRP)
$ 1.15
bitcoinBitcoin (BTC)
55,703.67
ethereumEthereum (ETH)
1,453.25
litecoinLitecoin (LTC)
38.25
xrpXRP (XRP)
0.99349

SSL

スポンサー




アーカイブ

Twitter

https://x.com/MiscblogNet

  1. デジタル通貨

    「ビットコイン」とはどんな通貨?
  2. マネー&ライフ

    高給を得るより副収入を増やすほうがいいワケ
  3. マネー&ライフ

    貯金額よりも収入源を増やそう
  4. メディアを持つ

    なぜ何も触れられていないのかと気になる
  5. マネー&ライフ

    SNS、再生回数で報酬用意
PAGE TOP