如果用户能够自由交互而无需支付高额gas费,Web3将会被大规模的应用。因此,无Gas交易被赋予很多的期望。但关于无Gas签名有很多误解。在本文中,我们将介绍四种类型的消息签名,帮助用户了解在以太坊或其他EVM兼容的区块链上签署消息的相关风险。
签名的四种类型
这些签名类型对于web3中的所有Etherean来说绝对是至关重要的。
类型#1-身份证明
这主要是web3中签名的用途。虽然没有统一的标准,但一些常见的事项包括服务条款、钱包地址,有时还有一个防止重放攻击的随机数,以及可能还有一个短字符串来确保你在软件钱包上签署的信息与在硬件钱包上是一样的。具体示例:
类型#2-类型签名
通常,智能合约的某些部分依赖链下签名来实现。这些类型的签名将打破所有的输入,这将是合约互动的一部分。非常方便,但如果您有公开批准,则需要小心。正如我们在批准文章中所讨论的那样,虽然您可以在这个示例中准确地知道他们在做什么,但需要确保显示这些类型的签名请求的来源是有信誉的。
例如,如果在Opensea之外得到了如图所示的签名批准请求,应非常小心,且永远不要签名。?
类型#3-混淆的十六进制签名
现在仅仅因为某些东西没有符合上述EIP-712标准的精美类型签名,并不意味着它是一个局。然而,这确实意味着你是在信任对方,不管你签署的是什么类型的信息,因为你基本上是在"盲签"一个信息。由于Seaport合约的升级,这些天我们没有在Opensea上看到这些杠杆,但我仍然会在签署这些类型的消息之前暂停一下,特别是钱包地址具有公开批准。?
类型#4-ETH_Sign-?过时且有点可怕
这是一种非常危险的签名类型,基本上是以太坊的“空白支票”。请求者可以用它来签署任何带有你私钥的交易。好消息是,如果被请求,Metamask会显示一个大的红色警告。它有效地允许某人,如果他们正确地制作签名有效载荷,能够为了他们自己的利益“重放”交易,例如向自己发送ETH。这不像被盗的wETH、NFT和其他代币那样依赖于批准。这是唯一存在这种风险的签名类型,因为很少有服务合法使用它,通常应不惜一切代价避免!
关于签名介绍,进一步文章:
IntrotoCryptographyandSignaturesinEthereum
https://medium.com/immunefi/intro-to-cryptography-and-signatures-in-ethereum-2025b6a4a33d
原文:SafeSigning101
来源:DeFi之道
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。