圖解Web3籤名釣魚原理:授權、Permit與Permit2防範指南

圖解Web3籤名釣魚原理:授權、Permit與Permit2

籤名釣魚正成爲Web3黑客最常用的手法之一。盡管安全專家們不斷宣傳相關知識,每天仍有許多用戶落入陷阱。造成這種情況的一個主要原因是大多數人對錢包交互的底層邏輯缺乏了解,且對非技術人士而言學習門檻較高。

爲此,我們將通過圖解方式深入淺出地解釋籤名釣魚的底層原理,試圖用最簡單的語言讓普通用戶也能理解其中的風險。

白話解讀Web3籤名釣魚底層邏輯:授權釣魚、Permit與Permit2的區別

首先,我們需要了解使用錢包時的兩種基本操作:"籤名"和"交互"。簡單來說,籤名發生在區塊鏈之外(鏈下),不需要支付Gas費;而交互則發生在區塊鏈上(鏈上),需要支付Gas費。

籤名的典型場景是身分驗證,如登入某個去中心化應用(DApp)。例如,當你想在某DEX上交換代幣時,首先需要連接錢包並籤名,向網站證明"我是這個錢包的擁有者"。這個過程不會改變區塊鏈上的任何數據或狀態,因此無需支付費用。

相比之下,交互則涉及實際的鏈上操作。以在某DEX上兌換代幣爲例,你需要先支付一筆費用,授權DEX的智能合約可以動用你的代幣(這一步驟稱爲"授權"或"approve")。然後,你還需要再支付一筆費用來執行實際的兌換操作。

白話解讀Web3籤名釣魚底層邏輯:授權釣魚、Permit與Permit2的區別

了解了這些基本概念後,我們來看看幾種常見的釣魚方式:

  1. 授權釣魚: 這是一種傳統的Web3釣魚手法。黑客會創建一個僞裝成NFT項目的精美網站,誘導用戶點擊"領取空投"等按鈕。實際上,用戶點擊後會被要求授權自己的代幣給黑客地址。一旦用戶確認,黑客就能獲取其資產控制權。

不過,由於授權釣魚需要支付Gas費,許多用戶在涉及金錢操作時會更加謹慎,因此這種方式相對容易防範。

  1. Permit籤名釣魚: Permit是ERC-20標準下的一個授權擴展功能。它允許用戶通過籤名來批準他人動用自己的代幣,而無需直接進行鏈上交互。簡單來說,就像在一張"條子"上籤名,允許某人動用你的代幣。持有這個"條子"的人可以向智能合約證明你的授權,從而轉移你的資產。

黑客可以通過僞造的網站,將正常的錢包連接操作替換爲Permit釣魚,誘導用戶籤名,從而獲取對其資產的控制權。

  1. Permit2籤名釣魚: Permit2並非ERC-20的標準功能,而是某DEX爲提升用戶體驗而推出的特性。它允許用戶一次性授予大額度權限,之後每次交易只需籤名即可,無需重復授權。這樣可以節省Gas費用,提高交易效率。

然而,如果用戶曾經使用過該DEX並授予了無限額度權限(這通常是默認設置),就可能成爲Permit2釣魚的目標。黑客只需誘導用戶籤名,就能轉移其已授權的代幣。

白話解讀Web3籤名釣魚底層邏輯:授權釣魚、Permit與Permit2的區別

爲了防範這些釣魚風險,用戶應該:

  1. 培養安全意識,每次進行錢包操作時都要仔細檢查具體內容。
  2. 將主要資金與日常使用的錢包分開,以降低潛在損失。
  3. 學會識別Permit和Permit2的籤名格式,特別注意包含以下字段的籤名請求:
    • Interactive:交互網址
    • Owner:授權方地址
    • Spender:被授權方地址
    • Value:授權數量
    • Nonce:隨機數
    • Deadline:過期時間

白話解讀Web3籤名釣魚底層邏輯:授權釣魚、Permit與Permit2的區別

通過了解這些底層原理和防範措施,用戶可以更好地保護自己的數字資產,避免落入黑客的陷阱。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 6
  • 分享
留言
0/400
MonkeySeeMonkeyDovip
· 07-04 17:14
小白必看干货文
回復0
币圈资深幸存者vip
· 07-03 19:45
干货满满必收藏
回復0
无常损失资深哲学家vip
· 07-02 21:55
涨知识了还是
回復0
TokenVelocityTraumavip
· 07-02 03:52
小白必学必看内容
回復0
共识机器人vip
· 07-02 03:36
守护钱包安全最重要
回復0
委托书收集者vip
· 07-02 03:30
小白必看的知识贴
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)