デジタル通貨

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. 【速報】アップル、待望の最新M3チップ搭載MacBook ProとiMacを発表…
  2. iPhone15を購入する前に知っておきたいメリットとデメリットとは?
  3. 【速報】遂にiPhone 15とiPhone 15 Plusが発売開始。その魅力…
  4. 【イベント速報】実はこんなものが欲しかった!バレンタインデーで男がもらって嬉しい…
  5. 【速報】Breaking down(ブレイキングダウン)はもう終わり?犯罪者や出…

関連記事

  1. その他・雑記

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

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

  2. デジタル通貨

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

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

  3. デジタル通貨

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

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

  4. デジタル通貨

    暗号資産の中でもこれからは「JUST」に要注目?

    ここ数年、ビットコインをはじめとした暗号資産市場が急激に拡大していま…

  5. デジタル通貨

    注目度の高い暗号資産ファイルコインって何?将来性はどうなの?

    様々な暗号資産が日々登場していますが、中でも2017年の誕生以降高い…

  6. デジタル通貨

    ネムとはどのような通貨か?

    ネム(NEM)というのは、「New Economy Move…

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

JPY
USD
EUR
bitcoinBitcoin (BTC)
¥14.423.347,04
ethereumEthereum (ETH)
¥504.799,92
litecoinLitecoin (LTC)
¥12.958,21
xrpXRP (XRP)
¥352,42
bitcoinBitcoin (BTC)
$ 92,084.00
ethereumEthereum (ETH)
$ 3,222.83
litecoinLitecoin (LTC)
$ 82.73
xrpXRP (XRP)
$ 2.25
bitcoinBitcoin (BTC)
78,605.66
ethereumEthereum (ETH)
2,751.10
litecoinLitecoin (LTC)
70.62
xrpXRP (XRP)
1.92

SSL

スポンサー




アーカイブ

Twitter

https://x.com/MiscblogNet

  1. その他・雑記

    AI最新トレンド2024: 3大ニュースを解説!
  2. ココロとカラダ

    頚椎症性脊髄症
  3. マネー&ライフ

    50歳からでも老後への準備は間に合う
  4. マネー&ライフ

    技術職+投資は最強の組み合わせのひとつかも?
  5. マネー&ライフ

    給与支払いをデジタルへ
PAGE TOP