僅供教育參考,不構成投資或安全建議。惡意簽章請求可能造成不可逆損失。
直接答案
錢包簽章是一種密碼學證據,表明私鑰或智慧帳戶策略認可了某段以特定方式編碼的訊息。驗證只能確定依相應規則哪個帳戶簽署了這些確切位元組;它不能證明簽署者的法律身分、理解程度,也不能證明網站如實描述了操作。
「簽章」不是單一操作。交易簽章直接授權網路交易;鏈下訊息可能只是沒有資產權限的登入質詢,也可能是可由中繼者日後提交的訂單、代幣許可、治理指令或其他授權。沒有 gas 提示不代表沒有風險。
簽署前應確認請求類型、可讀操作、域或預期驗證者、鏈、驗證合約、地址、金額、nonce 與期限。若請求含無法解釋的雜湊、不可讀位元組、意外欄位,或錢包無法充分顯示以供獨立核驗,就應拒絕。
完成核查不代表資產、交易或系統已經安全。
運作原理
- 應用程式編碼交易、普通訊息或型別化資料物件。編碼資料即使只有細微變化,也會產生不同摘要。
- 錢包顯示它能解碼的內容並請求核准。私鑰留在錢包或簽署裝置內;錢包對摘要簽章並傳回簽章值。
- 驗證者重新建構同一摘要。對外部擁有帳戶,通常會復原或核對公鑰地址;合約帳戶可透過 ERC-1271 套用自身目前的驗證策略。
- 驗證者依應用規則解讀結果。伺服器可能建立工作階段,合約則可能消耗許可、成交訂單、改變治理狀態或執行其他獲授權呼叫。
- 重放保護取決於具體應用。EIP-712 提供型別化編碼與域分離,但明確不提供重放保護;應用必須執行 nonce、deadline、預期驗證者、鏈或其他一次性邊界。
ERC-191 將簽章資料與普通以太坊交易編碼區分開,並定義包括 personal_sign 訊息在內的格式。EIP-712 把結構化欄位綁定到可含 name、version、chainId 與 verifyingContract 的域,使有意義的核驗成為可能。ERC-4361 登入訊息加入網域、URI、鏈 ID、nonce 與簽發時間等欄位,但依賴方服務仍須自行驗證。
範例
Leah 造訪官方服務,收到一則 ERC-4361 登入請求,其中網域與 URI 正確、nonce 為新產生,時間戳記有效期很短。訊息只要求身分驗證。她核對網域與帳戶後簽署,伺服器驗證訊息並建立工作階段。這則登入訊息本身不會建立代幣額度或鏈上交易。
在仿冒網站上,按鈕仍寫著「登入」,但錢包顯示 EIP-712 Permit 資料,包含代幣、spender、金額、nonce 與 deadline。依代幣合約規則,此簽章可讓中繼者建立代幣支出權限。Leah 應拒絕簽署:按鈕文字與實際簽署的位元組無關。
風險與控制
- 含義欺騙: 頁面可把許可或訂單標成登入。應信任解碼後的承載資料與經核實的合約,而非按鈕或彈出視窗說明。
- 盲簽: 原始雜湊與不透明位元組使知情核驗無從進行。除非能用可信工具重現確切原文與執行路徑,否則應取消。
- 域錯誤: 熟悉的品牌名不能驗證
chainId、verifyingContract、網站網域或 URI。逐項核對,並獨立確認完整地址。 - 重放或延遲執行: 任何取得有效簽章的人都可能在 nonce 被消耗或 deadline 到期前使用它。採用新 nonce 與短期限,切勿公開簽章值。
- 權限過廣: 許可、訂單、工作階段金鑰與智慧帳戶操作可能在不再彈出錢包的情況下授權後續動作。核對資產、spender、接收方、金額、範圍與取消規則。
- 簽署帳戶失陷: 硬體錢包能防止金鑰遭擷取,卻無法讓惡意訊息變安全。若助記詞或私鑰已洩漏,簽章問題只是整個帳戶失陷的一部分。
若簽署了可疑請求,應保存解碼承載資料與簽章以供分析但不要公開,斷開網站連線,並確定確切簽章方案。若已形成鏈上核准或交易,應在正確鏈上核實狀態,並採用協定記載的撤銷、nonce 作廢或資產遷移流程。不存在撤銷所有鏈下簽章的通用方法,斷開網站也不會使簽章失效。
常見誤區
- 「每個簽章都會轉走資金。」 許多簽章只用於認證或表達意圖,但有些會授權日後可移轉資金的動作。
- 「不收 gas 就沒有危險。」 中繼者可以替簽署者支付 gas,提交已簽署的許可、訂單或其他授權。
- 「EIP-712 保證安全。」 它改善結構化顯示與域分離,卻不提供重放保護,也不會驗證應用的說法。
- 「復原出的地址證明某人知情簽署。」 它只把確切資料依一種驗證規則關聯到金鑰,不證明法律身分、理解或自願同意。
- 「合約錢包簽章與普通帳戶相同。」 ERC-1271 簽章有效性可能取決於合約目前狀態與策略,驗證者必須呼叫合約,不能只靠金鑰復原。
相關主題
來源
- ERC-191: Signed Data Standard - Ethereum Improvement Proposals (查閱日期:2026-08-22)
- EIP-712: Typed structured data hashing and signing - Ethereum Improvement Proposals (查閱日期:2026-08-22)
- ERC-1271: Standard Signature Validation Method for Contracts - Ethereum Improvement Proposals (查閱日期:2026-08-22)
- ERC-2612: Permit Extension for EIP-20 Signed Approvals - Ethereum Improvement Proposals (查閱日期:2026-08-22)
- ERC-4361: Sign-In with Ethereum - Ethereum Improvement Proposals (查閱日期:2026-08-22)