当前位置:首页 > 授权管理 > 正文内容

授权后项目方真能转走我的LP吗?

使用技巧1个月前 (06-03)授权管理28

添加流动性的时候,钱包弹出一个确认框,上面写着"授权"两个字,很多人扫一眼就点了确认。事后回想起来才冒冷汗:刚才到底授权了什么?项目方会不会已经拿到了我LP代币的控制权,随时可以把池子里的底仓抽走?这种后怕,做过DeFi的人多少都经历过一次。回答这个疑问,不能简单说"能"或"不能"。授权这个动作,就像给了一把钥匙,但钥匙对应的是哪扇门、门后面锁着什么资产,决定了一切。

各大交易所:欧易官网  币安官网  芝麻Gate


授权的是什么,不等于能拿走什么

DeFi里的"授权"(Approve),本质上是允许某个智能合约动用你钱包里某一种特定代币。它不是转账,只是给了对方一个额度——在额度范围内,合约可以调用transferFrom函数把你的代币划走。注意这个"特定代币":授权的是USDT,对方能动的就只是USDT;授权的是ETH,动的就是ETH。授权的对象是独立的,不连带其他资产。所以当你添加流动性时,如果仅仅是授权了USDT或ETH去组成交易对,这份授权和后来拿到的LP代币毫无关系。项目方没办法通过这个授权去动你的LP,因为它们对应的是不同代币合约。你可以把授权想象成一张单独的提款限额卡,上面写死了币种和数量,换了另一个币种就得重新授权。


LP怎么才会被转走

LP代币本身也是一种代币,代表你在某个流动性池子里的份额。项目方要想转走你的LP,前提是你对LP代币的合约执行了授权,将额度开放给了对方的智能合约。比如某个农场项目要你质押LP去挖矿,操作流程就包括两步:先授权LP代币,再执行质押。只要你跨过了授权LP这一步,后面的质押合约就有能力把你的LP全部转走——正规项目只会在你确认质押时划转约定数量,但恶意合约可能一把全划光。

一个很危险的信号是:你明明只打算做简单的LP,页面却弹出了对某个"陌生地址"的授权请求,而且授权的代币恰好就是你刚收到的LP。这种时候停下手,把合约地址复制下来查一遍,十有八九能躲过一个坑。


无限授权的赌注,很多人一直在押

钱包连接 DeFi 应用时,“无限额度” 授权的巨大风险示意图。


现在的DeFi钱包,默认弹出授权时往往给的是"无限额度",尤其是MetaMask。也就是说,你点了确认之后,对方合约可以无上限地转移你那一种代币,直到你主动撤销授权或者余额归零。无限授权的初衷是省Gas费——以后交互不用每次都重新授权。但这份"省事"也让恶意合约有了一次性榨干的机会。无限授权给一个你不完全信任的合约,相当于把存折长期押在对方柜台上,理论上它随时可以清空你的对应代币。LP代币被无限授权的风险更明显:一旦你授权了LP给某个合约,那个合约就有能力随时兑走你的全部流动性,把池子里的两种底仓全部抽干。你可能发现自己的LP莫名其妙少了,链上记录显示正是由你授权过的地址执行了transferFrom


项目方换人,旧授权照样有效

还有一种容易被忽视的情况:项目方可能是正经团队,但合约是可升级的,或者治理权被转移给了别人。你对旧合约的授权还在,新掌权者如果拿到了旧合约的管理权,理论上可以借用原来的逻辑来调用你授权的额度。虽然这种情况复杂且少见,但确实发生过——某协议被攻击后,攻击者通过代理合约利用了用户此前对原合约的无限授权,转移了大量代币。所以不要因为"这个项目之前一直没事"就留着无限授权。合约世界没有永恒的信誉,只有永恒的风险。安全做法是把授权额度设成你当下要交易的确切数量,而不是默认无限。MetaMask现在也支持自定义授权额度,在确认弹窗里点"编辑"就能改,多了这步操作,安全性是质的提升。


多签和时间锁不是免死金牌

有的用户觉得,项目方合约如果有多签或时间锁,自己授权就不用担心。多签和时间锁保护的是合约资金池不被人任意挪用,但它不保护你的个人授权。你给合约的授权是直接从你钱包往外划钱的通路,并不经过合约的管理员多签流程。就像一个ATM机,机器本身有密码保险柜,但你给了别人你的银行卡和密码,保险柜再坚固也防不了你的钱被取走。

说回到LP,添加流动性时真正需要留意的授权节点其实就几个:授权两种底仓代币、授权LP代币。底仓代币的授权在你添加流动性时就完成了,对方是你使用的DEX路由合约,只要合约被广泛验证,风险可控。LP代币的授权只应该发生在你明确要质押LP去别处挖矿的时候,并且你清楚知道质押的目标是什么协议。任何其他场景下弹出的LP授权请求,都值得怀疑。


查授权和撤授权,几分钟就能保命

使用 revoke.cash 等工具,自查并撤销危险授权的操作场景图。


好在区块链是透明的,谁被授权了、额度多少、还剩多少额度,全部公开可查。现在维护得比较好的工具是revoke.cash,连接钱包后,它会把你在各个链上所有的授权逐一列出来,标明代币、被授权地址、剩余授权额度,还可以直接在线发起撤销交易。Etherscan、BscScan等区块浏览器的"Token Approvals"工具也一样能用。撤销授权就是一笔普通的链上交易,花点Gas费把额度改成0就行。很多人会定期做一次授权大扫除,把那些已经不用的、来源可疑的、额度还是"无限"的授权全部清掉,只留下正在活跃交互的一两个协议。养成这个习惯,能把99%的授权风险挡在门外。


写这篇文章的时候,revoke.cash页面打开在旁边,顺手又查了一遍自己的授权,把三条链上三个不再用的无限授权撤掉了。前后花了五分钟,Gas费加起来不到三U。这点成本换来的心安,比看着钱包里躺着一排"无限额度"的定时炸弹踏实多了。


免责声明:本文仅为DeFi机制的科普与安全经验分享,不构成任何投资建议。链上操作不可逆,请务必核实合约地址和授权额度,因个人授权疏忽导致的资产损失需自行承担。


相关文章

无限授权与有限授权的区别?

无限授权与有限授权的区别?

在Uniswap第一次做Swap的时候,钱包弹出一个界面,上面写着"允许Uniswap使用你的USDC",金额那一栏默认显示了一串长得吓人的数字。大部分人看都没看,点了确认。那串数...

授权过期后需要重新授权吗?

授权过期后需要重新授权吗?

"授权过期"这四个字在不同场景下是四件完全不同的事。做DeFi交互或交易所操作时难免碰到系统提示"授权已过期"或"请重新授权",提示出现的位...

查看授权时发现未知合约如何处理?

查看授权时发现未知合约如何处理?

用户通过 Revoke.cash 等工具检查代币授权时,不时会在"Active Approvals"一栏看到不在预期内的合约地址。这些"外来客"的来源远不止&q...

授权撤销后DApp还能读取余额吗?

授权撤销后DApp还能读取余额吗?

第一次在以太坊浏览器上点"Revoke"按钮的时候,心里莫名踏实,觉得那条长长的授权列表终于被清干净了。可后来有一次无意间打开一个DeFi协议的仪表盘,连上钱包后发现它依然能精准地...

钱包授权后DApp能转走我所有的币吗?

钱包授权后DApp能转走我所有的币吗?

在DeFi世界里,和任何DApp交互的第一步几乎都绕不开一个操作——授权。不管是在DEX上兑换代币还是在借贷平台存资产,钱包都会弹出一个授权请求。很多人不求甚解,觉得这就是个例行步骤,在"无...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。