跳到正文
Boring Security
个人资料
签名与授权

关于所有的授权

授权必不可少

在NFT领域,授权经常被妖魔化。随着社区成员要求钱包供应商提供更显著的标题,并要求市场平台提供答复,围绕它们有很多焦虑,这是可以理解的。

但说实话,如果没有它们,web3几乎不可能实现。如果你曾经在NFT平台上进行过销售,或者在NFT集合上进行过报价,你已经在利用授权的力量了。通过授权,你可以在链外设置条件,当预定的条件得到满足时,你的交易就会自动执行,比如你的挂牌金额达到了,或者有人接受了你的WETH报价。


这允许你对资产做其他事情(如证明所有权),也可以在其他市场上上市。如果不存在授权,你需要一个平台,要么对支付资产、NFT资产或两者进行全面监管。在这种情况下,你将无法在多个市场上上市,并拥有持有资产的所有好处

那么,授权到底是做什么的?授权给予智能合约与你的代币(ERC-20,NFT等)互动的能力。他们可以根据智能合约中设置的参数,随意拉动它们。

Set Approval For All (SAFA) 全部授权设置


谈到ERC-1155、ERC-721或ERC-721a标准中的NFT收款,都有以下审批机制。这些标准通常有授权和全部授权设置(SAFA)两种方法,但不幸的是,骗子和市场利用了后者,更危险的一种方法。

全部授权设置: 授权一个给定的钱包地址中的所有资产,将整个NFT收藏集合到一个地址(通常是一个合同/NFT市场)。

授权: 授权一个给定的钱包地址中的单一资产从单一的NFT集合到一个地址(在NFT中不经常使用)。

与这些授权机制有关的骗局围绕着两件事:

  1. 让你到一个不受信任/ 可疑的网站签署一个恶意的授权交易,让攻击者获得你的资产。
  2. 让你到一个不受信任/ 可疑的网站,让你签署一个恶意的签名,利用你的合法授权。

备注:他们之所以在交易之前先尝试签名,是因为许多人不知道你的资产可以通过利用你的合法授权的恶意签名(你没有支付任何油费)来窃取。

在这里看到一个模式?让你进入一个不受信任的网站是这里的游戏名称。在我们的《适用于各种场合的钱包》一文中,我们强调永远不要用你的Sell钱包去一个不受信任的网站,而用你的金库钱包(一个没有批准的钱包)去一个不受信任的网站,应该只做无油费的签名,如我们的《安全签名101》一文中所述。

那么,当你授权时会发生什么事?

那么,当您设置一个授权时,实际上发生了什么?实际上,我们正在以与Etherscan相同的方式调用 "批准 "方法(顺便一提,我们在这里有一篇关于Etherscan基础知识的文章)。让我们看一下Apecoin合约,以帮助直观地了解发生了什么。

approve.jpg

每次你进行授权时,你所做的实际上是在你的钱包中存在的资产中添加另一个授权的花费者。默认情况下,如果代币符合广泛接受的代币标准,如ERC-20、ERC-721或ERC-1155,那么你,钱包所有者,通常可以在你的钱包内发送/接收代币。然而,正如我们的102名学生很快地发现那样·,你可以创建适用不同的规则的代币合约😈。

这里列出了不同的授权方法是如何在每种合同类型上操作的:

ERC-721 (简介图片/独特收藏NFT):

**功能:**授权

  • 消费方: 你要授权给的消费方(如Opensea或市场)。
  • Token/TokenID: 你要给哪个tokenID的访问权。例如: BAYC #4014

**功能:**SetApprovalForAll

  • 操作员: 这相等于消费方,对你的代币有访问权。
  • 授权: 这是一个简单的真/假。如果授权了,操作员/付款人将可以访问该收藏中的每一个代币(所以如果你有多个BAYC,就可以访问所有的代币)。

例如:BAYC, Azuki, Doodles

ERC-1155 (半同质化NFT)

功能: SetApprovalForAll

  • 操作者: 这与消费方相同,他将有权访问你的代币
  • 授权: 这是一个简单的真/假。如果批准,操作者/花费者将可以访问该集合中的每一个代币(所以如果你有多个BAYC,就可以访问所有的代币)。

注意:ERC-1155标准中没有授权方法。这意味着,当你对一个ERC-1155合约进行授权时,你是对该代币的全部授权。对我来说,这似乎是一个疏忽,但我理解它。
例子: Boring Security, Adidas: Into The Metaverse

ERC-20 (同质化代币)

功能: 授权

  • 消费方: 你所授权的消费方(如Opensea或市场)。
  • 安装: 您提供了多少数量给予智能合约使用。此数量会维持活跃也可能随着时间推移而“用完”。Dookey Dash活跃玩家可能会召回800 $ape的权限也可能在他们旅途中的某个时刻得在给予合约权限

**功能:**提高有权消费代币(不是所有ERC-20含有此功能)

  • **消费合约:**提供消费合约权限动用地址特定资产(像Opensea或市场)
  • **数量:**提高有权消费代币的数量

提示: 一般如消费合约没权限动用地址特定资产, 那必须得提高有权消费代币了才能进行发送。必须小心对待!

例子: Apecoin, Wrapped Ethereum, AAVE (Proxy)

这种骗局的一些形式


授权骗局是当今NFT领域最常见的骗局。这种骗局最常出现在:

  1. NFT交易骗局,骗子引诱你到假的交易网站,利用或启动恶意的授权。
  2. NFT空投骗局,骗子引诱你到一个假的收藏品网站来利用或启动恶意授权。
  3. 假的NFT衍生品网站,骗子试图利用或启动恶意授权。
  4. 一个假的市场,.... 嗯......你懂的。

ElaineFake.gif

我想你可以在所有这些骗局中看到一个模式,即授权(合法或恶意)被恶意利用。这些骗局的一个重要部分也是网络钓鱼。也许你认为你正在前往Opensea,但看看我们的 "钓鱼和骗子的战术 "的文章,以了解更多关于骗子的肮脏手段,欺骗你给他们你辛苦赚来的代币 想了解更多关于授权的信息或认为你可能有太多的授权?请看Revoke.Cash的这篇关于撤销授权的文章!

有任何问题或想了解更多关于web3安全的信息,并锁定最新的安全信息、骗局和策略?请加入我们的讨论区:https://discord.gg/boringsecurity 。

资讯动态