研究種類:Layer1, Gas, Singnature
貢獻者:Dewei
審核者:DAOctor
原文:Safe Signing 101
如果用戶能夠自由交互而無需支付高額gas 費,Web3 將會被大規模的應用。因此,無Gas交易被賦予很多的期望。但關於無Gas簽名有很多誤解。在本文中,我們將介紹四種類型的消息簽名(Gas-less簽名),幫助用戶了解在以太坊或其他EVM兼容的區塊鏈上簽署消息的相關風險。
簽名的四種類型
這些簽名類型對於web3 中的所有Etherean 來說絕對是至關重要的。
類型#1 – 身份證明(安全)
這主要是web3 中籤名的用途。雖然沒有統一的標準,但一些常見的事項包括服務條款、錢包地址,有時還有一個防止重放攻擊的隨機數,以及可能還有一個短字符串來確保你在軟件錢包上簽署的信息與在硬件錢包上是一樣的。具體示例:
類型#2 -類型簽名 [智能合约交互](謹慎使用)
通常,智能合約的某些部分依賴鏈下簽名來實現。這些類型的簽名將打破所有的輸入,這將是合約互動的一部分。非常方便,但如果您有公開批准,則需要小心。正如我們在批准文章中所討論的那樣,雖然您可以在這個示例中準確地知道他們在做什麼,但需要確保顯示這些類型的簽名請求的來源是有信譽的。
例如,如果在Opensea 之外得到瞭如圖所示的簽名批准請求,應非常小心,且永遠不要簽名。
類型#3 – 混淆的十六進制簽名(請格外小心!)
現在僅僅因為某些東西沒有符合上述EIP-712 標準的精美類型簽名,並不意味著它是一個騙局。然而,這確實意味著你是在信任對方,不管你簽署的是什麼類型的信息,因為你基本上是在”盲簽”一個信息。由於Seaport 合約的升級,這些天我們沒有在Opensea 上看到這些槓桿,但我仍然會在簽署這些類型的消息之前暫停一下,特別是錢包地址具有公開批准。
類型#4 – ETH_Sign – 過時且有點可怕(危險!)
這是一種非常危險的簽名類型,基本上是以太坊的“空白支票”。請求者可以用它來簽署任何帶有你私鑰的交易。好消息是,如果被請求,Metamask會顯示一個大的紅色警告。它有效地允許某人,如果他們正確地製作簽名有效載荷,能夠為了他們自己的利益“重放”交易,例如向自己發送ETH。這不像被盜的wETH、NFT 和其他代幣那樣依賴於批准。這是唯一存在這種風險的簽名類型,因為很少有服務合法使用它,通常應不惜一切代價避免!
關於簽名介紹,進一步文章:
Intro to Cryptography and Signatures in Ethereum
https://medium.com/immunefi/intro-to-cryptography-and-signatures-in-ethereum-2025b6a4a33d