
解毒薬から毒へ:Permit がリスクの源になった理由
TechFlow厳選深潮セレクト

解毒薬から毒へ:Permit がリスクの源になった理由
Permitがもたらす価値を否定することはできないが、最近ますます増加している盗難事件は、それがもたらす被害の方がより大きくなっていることを示している。
執筆:Keystone
1. 1分でわかるPermitとは何か
まずは、小さな借金の物語から始めましょう。
私は親友のジャックマーから100万円を借りようとしています。すると、ジャックマーは即座に電話を取り、銀行に連絡し、本人確認の後、「〇〇〇に100万円の引き出し限度額を付与する」と銀行に指示します。銀行はこの承認を受け取り、記録として保存します。
次に私がすべきことは、銀行の窓口に行き、「ジャックマーが私に与えた100万円の権限を使ってお金を引き出したい」と伝えるだけです。銀行はその承認記録があるかを確認し、私の身元も確認した上で、100万円を支払ってくれます。
この話は、ETH上のApprove(承認)機能をイメージ化したものと考えられます。このプロセスでは、資産所有者であるジャックマーだけが、銀行に電話して承認を登録(オンチェーン)でき、その後、銀行(トークンコントラクト)がこの承認を管理します。そして、私が(被承認者として)承認された範囲内で、それ以下の金額を送金できるのです。もし銀行が承認記録を見つけられなければ、当然ながら私の引き出し要求は拒否されます。
では、別の方法——「Permit」を使ってジャックマーからお金を借りる場合、プロセスはどう変わるでしょうか?
今回もまた、私は「100万円を貸して」と言い出します。寛大なジャックマーは今度は電話すら面倒くさがり、ポケットから小切手帳を取り出して、金額を記入し署名して私に渡します。私はその小切手を持って銀行に行き換金します。このとき、銀行には事前の承認記録がなくても、ジャックマーの署名付き小切手があれば、その真偽を確認し、指定された金額を支払ってくれるのです。
読者の皆さんは、この2つのプロセスの違いに気づいたことでしょう。ApproveはERC-20の重要な機能として、ETHリリース直後から広く使われてきました。それなのに、なぜ後にERC-2612でPermitという同じ効果を持つ新たな方法が導入されたのでしょうか?
2. なぜPermitが必要なのか?
ERC-2612の提案は2019年3月に提出され、2022年10月に最終審査を完了しました。その導入時期は、ETHメインネットにおけるガス価格が何度も急騰していた時期と密接に関係しています。

図:2020〜2022年におけるETHメインネットのガス価格の高止まり
過熱するブルマーケットと、新規プロジェクトによる富の創出効果により、ユーザーのオンチェーン取引への意欲は高まり、より速くトランザクションをブロックに含めてもらうために、高い手数料を支払うことに抵抗がなくなりました。時には、たった1ブロック早く処理されることで、何倍もの利益を得られるからです。
しかし、その結果として、ユーザーは代幣を取引する際に極めて高いガス代を支払わざるを得なくなりました。Approve方式では、1回のトークンSwapを行うのに2回のトランザクション(TX)が必要です。資金量の少ないユーザーにとっては、この取引コストはまさに悪夢のような存在でした。
そこでERC-2612が導入したPermitは、承認プロセスをオフライン署名に変更し、即時にオンチェーン化する必要がありません。代幣を実際に移動させる際、一緒に署名を提供すればよいのです。先ほどの借金話に戻ると、私はジャックマーの小切手を受け取った時点で承認を得ており、実際に引き出すときに初めて銀行に小切手を提示するだけで済みます。
多忙なジャックマーは電話をかける手間を省け、ユーザーも1回のTXを節約できます。特にガス価格が高い時期には、節約できる費用はかなり大きく、一見すべてがWin-Winの結果のように見えます。しかし、誰も気づかぬうちに、パンドラの箱が少しずつ開き始めていたのです……。

3. 火山噴火のような野蛮な成長
Permitが登場する前、ハッカーが暗号通貨ユーザーを騙す手法の一つに、「Approve取引」の署名を誘導することがありました。この取引はガス代が発生するため、ユーザーは警戒心を持ちやすく、失敗しやすかったのです。仮にユーザーがうっかりクリックしても、トランザクションがブロックに含まれるまでには時間がかかるため、すぐに気がついて、同じnonceのトランザクションを送信して取り消すことが可能でした。つまり、ハッカーが成功するのはそれほど簡単ではありませんでした。
しかし、Permitの登場は、ハッカーにとってはまさに「寝耳に水」、いやむしろ「眠っているところに枕」でした。Approveと比べて、Permitはガスを消費せず、単に署名を求められるだけです。そのため、ユーザーの警戒心は低下します。さらに、オフライン署名という性質上、主導権は完全にハッカー側にあります。ユーザーが後悔しても取り返しがつかず、ハッカーはその承認を使って最適なタイミングで悪事を働き、利益を最大化できるのです。
その結果として、釣り被害の件数や盗難金額が爆発的に増加しました。@ScamSnifferの統計データによると:
2023年の釣り被害による損失額は2.95億ドル。
2024年の上半期には、すでに3.14億ドルを超えてしまいました。
2024年第3四半期の終わりには、大きな事件が発生:中国の著名投資家「神魚(Shen Yu)」のウォレットアドレスがPermitを使った釣り攻撃を受け、1.2万枚の$spWETH(約2億人民元相当)を失いました。

図:ScamSnifferによる2024年上半期の釣り攻撃統計レポート
このような状況は、当初この仕組みを提案した開発者たちにとっても予想外だったことでしょう。Permitを導入した目的は、ユーザーのガス代を削減し、体験と効率を向上させることでした。本来は「両刃の剣」であり、利点と欠点が共存すると思っていたのですが、実際には片方だけが異常に鋭い「大きな包丁」になってしまい、ユーザー資産のセキュリティ盾に大きな傷をつけてしまったのです。
Permitのような署名による承認方式は他にも多く存在します。例えば、Uniswapが後に導入したPermit2は、すべてのERC-20トークンに対してオフライン署名をサポートするものです。DEXナンバーワンのUniswapがこれを採用したことで、ユーザーのオフライン署名への依存度がさらに高まり、釣り被害のリスクも増大しました。
4. どう防ぐか?
それでは、一般ユーザーとして、我々の頭上に今か今かと迫っているダモクレスの…いえ、「大きな包丁」から身を守るためには、どのような対策を取ればよいのでしょうか?
1. セキュリティ意識の向上
エアドロの誘惑に冷静に対応する
暗号通貨プロジェクトのエアドロップは確かに魅力的ですが、実際には多くの場合、「エアドロップ」と称した釣り攻撃です。こういった情報を目にしたときは、決して感情的になってすぐ「受け取る」ボタンを押してはいけません。複数の信頼できる情報源で、本当に公式のエアドロップかどうか、および正しい公式サイトURLを確認し、釣りサイトにアクセスしないように注意しましょう。
ブラインド署名(Blind Signing)を避ける
万一、釣りサイトにアクセスしてしまった場合でも、ウォレットにトランザクション画面が表示されたときは、内容をよく確認してください。Permit、Permit2、Approve、IncreaseAllowanceといったキーワードが表示されたら、それは「トークンの利用権を奪われる」可能性がある合図です。通常のエアドロップでは、このような操作は不要です。Keystoneはハードウェアウォレット端末上で取引内容を解析・表示する機能を実装しており、これを利用することで、ユーザーはブラインド署名を避け、衝動的な行動による重大な損失を防ぐことができます。

図:KeystoneハードウェアウォレットとRabby WalletがPermit2署名取引を解析・表示
2. ツールの活用
ScamSniffer
一般ユーザーが釣りサイトを正確に識別するのは非常に困難であり、漏れが生じるのは避けられません。ScamSnifferのブラウザ拡張機能を使えば、疑わしい釣りサイトにアクセスしようとした際に警告が表示されます。ユーザーはその警告を受け取り、すぐに操作を中止できます。
Revoke
Revoke.cashは、ユーザーのウォレットにあるトークンの承認状況を一覧表示してくれます。その中で怪しいもの、あるいは無制限の金額が許可されている承認については、キャンセル(リボーク)することをおすすめします。定期的に承認を整理する習慣をつけ、必要以上の承認をなるべく行わないようにしましょう。
3. 資産の分離とマルチシグ
「卵を一つのカゴに盛るな」という言葉は、暗号資産にも当てはまります。例えば、大口の資産はKeystoneのようなコールドウォレットに保管し、日常的な操作は小額のホットウォレットを使うようにします。万が一被害に遭っても、すべての資産が一気に失われることはありません。
さらに高いセキュリティを求める場合は、マルチシグ(Multi-sig)の導入が有効です。マルチシグを設定した資産は、所定の承認ウォレット数に達しない限り、資産の移動ができません。つまり、一部のウォレットが盗まれても、ハッカーは資産を自由に扱うことができないのです。
5. おわりに
Permitがもたらした価値を否定することはできません。しかし、最近ますます増加する盗難事件を見るに、その弊害の方が大きくなっているのも事実です。かつてのethsignメソッドも同様でした。読み取りが難しく危険性が高いため、当時のハッカーたちに好まれましたが、現在ではほとんどすべてのウォレットソフトでブロックされ、使用禁止となっています。その機能も、より安全な代替手段に置き換えられています。
Permitについても、今まさにethsignが辿った岐路に立っているのではないでしょうか?改善・アップグレードするのか、それとも廃止するのか。これはETHの開発者たちが時間をかけて考え、議論すべき課題です。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News











