デジタル通貨

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

関連記事

  1. デジタル通貨

    ブロックチェーンは暗号資産以外でも応用されている

    ブロックチェーン技術は暗号資産の運用や管理の目的での使用が注目されて…

  2. デジタル通貨

    セキュリティの堅い暗号通貨取引所のLiquid by Quoine

    ここでは、Liquid by Quoine(リキッド)の特徴をご紹介…

  3. デジタル通貨

    カナダの取引所クアドリガCXで仮想通貨が引き出せない問題が発生

    仮想通貨はオンラインで電子的な決済を行うことができる、新しい形式のデ…

  4. デジタル通貨

    Factomの仮想通貨としての応用とは?

    ビットコインの注目すべき技術にブロックチェーン技術があります。これは…

  5. デジタル通貨

    仮想通貨は、終わっていない。

    一時期、大ブレイクした仮想通貨はどうなっているのか?と疑問を…

  6. デジタル通貨

    暗号資産の普及のために作られた通貨!? Energi(エネルギ)の特徴や将来性とは

    2021年時点で暗号資産(仮想通貨)の数は減るどころか、未だに増え続…

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

JPY
USD
EUR
bitcoinBitcoin (BTC)
¥12.132.298,82
ethereumEthereum (ETH)
¥230.625,88
litecoinLitecoin (LTC)
¥10.819,80
xrpXRP (XRP)
¥297,58
bitcoinBitcoin (BTC)
$ 85,230.84
ethereumEthereum (ETH)
$ 1,620.17
litecoinLitecoin (LTC)
$ 76.01
xrpXRP (XRP)
$ 2.09
bitcoinBitcoin (BTC)
74,925.52
ethereumEthereum (ETH)
1,424.28
litecoinLitecoin (LTC)
66.82
xrpXRP (XRP)
1.84

SSL

スポンサー




アーカイブ

Twitter

https://x.com/MiscblogNet

  1. デジタル通貨

    ライトコインってどんな通貨?
  2. デジタル通貨

    暗号資産を立体的に理解するための2冊の入門書
  3. マネー&ライフ

    老後の稼ぎを増やすなら
  4. マネー&ライフ

    貯蓄は安全装置にはならない
  5. メディアを持つ

    また新たに購入できそうなサイトを選定中
PAGE TOP