Actualizat la 14 septembrie 2026. Revocarea permisiunilor vechilor contracte inteligente este una dintre cele mai simple metode de a reduce expunerea inutilă a portofelului, dar un rezultat bun este mai specific decât „Am deconectat niște dapp-uri”. Când terminați acest proces, ar trebui să știți ce contracte vă pot cheltui în continuare token-urile, ce permisiuni ați păstrat intenționat și ce aprobări au fost reduse la zero sau invalidate în alt mod pe blockchain-ul corect.
Acest ghid se concentrează pe acest rezultat. Acesta acoperă permisiunile pentru token-uri ERC-20, aprobările operatorilor NFT, permisiunile Permit2, instrumentele care vă pot ajuta să le inspectați și situațiile în care revocarea nu este suficientă. Nu promite că revocarea face un portofel complet sigur: compromiterea cheilor, semnăturile rău intenționate, exploatările de protocol și transferurile deja confirmate necesită răspunsuri diferite.
Cum arată succesul
| Gol | Dovezi bune | Când să schimbi abordarea |
| Eliminați o alocație ERC-20 | Tranzacția de revocare este confirmată, iar alocația este 0. | Dacă aprobarea reapare, confirmați lanțul, adresa cheltuitorului, contractul token și dacă este implicat un alt sistem de permisiuni, cum ar fi Permit2. |
| Eliminarea aprobării unui operator NFT | Operatorul nu mai este aprobat pentru toate NFT-urile din colecția respectivă sau aprobarea specifică a token-ului este finalizată. | Dacă verificatorul de aprobări nu poate detecta un contract NFT non-standard, inspectați direct contractul de colectare sau utilizați interfața sa oficială. |
| Reduceți expunerea viitoare | Permisiunile neutilizate și nelimitate sunt eliminate sau limitate; permisiunile active sunt intenționate. | Dacă un flux de lucru necesită în mod repetat permisiuni largi, luați în considerare un portofel de activități separat sau o aplicație de tip dapp care acceptă limite mai restrânse. |
| Răspundeți la un portofel compromis | Activele și activitatea viitoare sunt mutate într-un portofel nou ale cărui chei nu sunt compromise. | Nu vă bazați doar pe revocare dacă fraza inițială sau cheia privată este expusă. |
În primul rând, înțelegeți ce revocați
Conform standardului ERC-20, approvefuncția permite unui deținător de tokenuri să autorizeze un cheltuitor să retragă până la o sumă specificată, în timp ce transferFrompermite unui cheltuitor autorizat să mute tokenuri. Standardul oficial este disponibil în ERC-20: Token Standard .
Permisiunile NFT pot fi mai ample. ERC-721 definește setApprovalForAll, care poate autoriza un operator să gestioneze toate NFT-urile unui proprietar pentru acea colecție. Consultați ERC-721: Standardul pentru jetone nefungibile .
Distincție importantă: conectarea unui portofel la un site web nu este același lucru cu acordarea unei permisiuni de token-uri on-chain. MetaMask precizează explicit că deconectarea unei dapp-uri nu revocă aprobările de token-uri care există deja. Ascunderea unui token într-o interfață de portofel nu modifică permisiunile sale.
Rezultatul țintă: identificați autoritatea de cheltuieli on-chain, nu doar site-urile web conectate. Dacă singura acțiune ați făcut-o a fost „Deconectare”, continuați cu un verificator de aprobări.
Referință: MetaMask: Cum se revocă permisiunile pentru contracte inteligente/aprobările de tokenuri .
Pasul 1: Permisiuni de inventar înainte de a revoca orice
Legendă: Începeți cu un inventar al jetoanelor, cheltuitorilor și alocațiilor. O intrare „Nelimitat” merită analizată, dar nu este automat rău intenționată.
Folosește un verificator de aprobări pentru a vedea care cheltuitori au în prezent autoritate asupra activelor tale. Sunt trei opțiuni utile:
- Verificator de aprobare a jetoanelor Etherscan: util pentru adresele Ethereum și separă aprobările ERC-20, ERC-721 și ERC-1155. Etherscan spune că puteți inspecta o adresă fără a conecta un portofel, apoi vă puteți conecta doar atunci când doriți să trimiteți o revocare. Consultați Aprobările jetoanelor Etherscan .
- MetaMask Portfolio: funcția sa de gestionare a plafonului de cheltuieli acceptă Ethereum Mainnet, Polygon, BNB Chain, Optimism și Base, așa cum este documentat la actualizarea acestui articol. Consultați Plafoanele de cheltuieli MetaMask Portfolio .
- Revoke.cash: oferă un verificator de aprobări pentru mai multe rețele și materiale educaționale care acoperă aprobările obișnuite, semnăturile de permise și Permit2. Consultați documentația de aprobare Revoke.cash .
Cum să evaluezi rezultatul: inventarul tău ar trebui să afișeze colecția de tokenuri sau NFT-uri, adresa utilizatorului/operatorului, rețeaua și permisiunea actuală. Salvează adresele utilizatorilor necunoscute pentru investigare înainte de a semna ceva.
Când să schimbați instrumentele: dacă un verificator nu este compatibil cu rețeaua dvs. sau dacă un token non-standard nu apare, utilizați exploratorul de blocuri de încredere al acelui lanț sau inspectați direct contractul tokenului. Niciun indexator individual nu poate garanta vizibilitate completă pentru fiecare contract non-standard.
Pasul 2: Decideți ce ar trebui să rămână și ce ar trebui să dispară
Legendă: Examinați fiecare aprobare în context: activul, cheltuitorul, suma, rețeaua și dacă mai utilizați aplicația subiacentă.
Nu revocați mecanic. O aprobare este o capacitate, iar unele funcții active ale dapp depind de aceasta. Revoke.cash menționează, de exemplu, că revocarea unei aprobări nu elimină token-urile deja depuse sau mizate, dar este posibil să fie nevoie să aprobați din nou înainte de a adăuga mai multe. Unele listări pe marketplace depind, de asemenea, de aprobările NFT active.
O ordine de prioritate practică este:
- Cheltuitori necunoscuți sau suspecți.
- Aprobări legate de incidente de phishing sau aplicații dapp abandonate.
- Alocații nelimitate de care nu mai aveți nevoie.
- Vechile aprobări pentru protocoale pe care ați încetat să le utilizați.
- Aprobări ample ale operatorilor NFT fără scop activ.
Semnal de calitate: fiecare permisiune pe care o păstrezi ar trebui să aibă un motiv. „Recunosc protocolul și încă am nevoie de acest cheltuitor pentru o poziție activă” este un motiv. „Probabil am aprobat-o cândva” nu este.
Când nu trebuie revocată imediat: dacă o permisiune acceptă o listă activă, o automatizare, un flux de lucru asemănător unui abonament sau o politică de cont inteligent, trebuie mai întâi să înțelegeți efectul operațional. Securitatea se îmbunătățește atunci când eliminați autoritatea inutilă, nu atunci când întrerupeți fluxurile de lucru necesare fără a le înțelege.
Pasul 3: Utilizați o cale de revocare de încredere
Legendă: Folosește o funcție oficială de portofel, un verificator de aprobări de încredere sau exploratorul consacrat al rețelei; verifică domeniul înainte de conectare.
Revocarea este în mod normal o modificare a stării în lanț. MetaMask precizează că revocarea unei permisiuni necesită o tranzacție în lanț, deci gazul de rețea este în general necesar. Etherscan oferă, de asemenea, o acțiune de „Revocare” pentru aprobările listate.
Pentru majoritatea utilizatorilor, opțiunile cu cele mai mici riscuri sunt funcția proprie de gestionare a aprobărilor portofelului, exploratorul consacrat al lanțului sau un serviciu specializat, cum ar fi Revoke.cash. Niciunul nu ar trebui să solicite fraza inițială sau cheia privată.
Rezultatul țintă: tranzacția pe care urmează să o semnați ar trebui să reducă sau să elimine o permisiune existentă - nu să acorde unui nou cheltuitor o autoritate neașteptată.
Condiție de oprire: dacă un site web solicită fraza inițială, cheia privată, accesul de la distanță sau un transfer fără legătură pentru a „activa” revocarea, opriți-l. Navigați la instrument dintr-o sursă oficială verificată independent, în loc de o reclamă din căutare sau un mesaj nesolicitat.
Pasul 4: Conectați doar contul și rețeaua de care aveți nevoie
Legendă: Conectarea este doar pasul de interfață. Revocarea propriu-zisă intră în vigoare atunci când este confirmată tranzacția on-chain corespunzătoare.
Conexiunea la portofel permite site-ului să solicite informații despre cont și să propună acțiuni, dar conectarea în sine nu constituie revocarea. Ghidul actual al portofelului Etherscan precizează că conectarea nu semnează automat nimic; semnăturile și tranzacțiile necesită în continuare aprobarea portofelului.
Rezultat țintă: confirmați că adresa portofelului selectat și blockchain-ul corespund aprobării pe care intenționați să o eliminați.
Când se schimbă abordarea: dacă instrumentul vă mută la un lanț neașteptat sau afișează o adresă diferită, anulați înainte de semnare. O aprobare este specifică rețelei; revocarea unui lucru dintr-un lanț nu revocă o aprobare separată dintr-un alt lanț.
Referință: Etherscan: Conectarea portofelului dumneavoastră .
Pasul 5: Revocați sau reduceți permisiunea de care nu mai aveți nevoie
Legendă: Eliminați setul minim de permisiuni necesare pentru a atinge obiectivul de securitate; nu trebuie să revocați toate permisiunile legitime simultan.
Pentru o alocație standard ERC-20, revocarea înseamnă, în general, setarea alocației cheltuitorului la zero. Pentru accesul operatorului ERC-721, revocarea modifică, în general, aprobarea operatorului la false. Revoke.cash explică faptul că aceleași funcții de aprobare sunt utilizate în mod obișnuit pentru acordare și revocare; valoarea se schimbă la zero sau fals.
Semnal de calitate: previzualizarea tranzacției identifică contractul tokenului și permisiunea care este modificată. Dacă portofelul dvs. oferă informații decodificate despre tranzacție, citiți-le în loc să le aprobați din obișnuință.
Limită: o revocare nu anulează transferurile care au avut loc deja. De asemenea, nu recuperează fondurile furate. Revoke.cash își descrie serviciul ca fiind preventiv, mai degrabă decât un instrument de recuperare.
Referință: Întrebări frecvente despre Revoke.cash .
Pasul 6: Verificați confirmarea portofelului înainte de semnare
Legendă: Înainte de confirmare, verificați contul, rețeaua, interacțiunea contractuală și taxa de gaz estimată.
Confirmarea finală a portofelului este oportunitatea de a depista un lanț, un cont, un cheltuitor sau un tip de tranzacție incorect. Benzina variază în funcție de condițiile rețelei, așa că nu ar trebui să vă așteptați la o taxă fixă în dolari.
Rezultat țintă: tranzacția în așteptare corespunde modificării permisiunii intenționate și este trimisă din portofelul corect.
Când se oprește: anulați dacă tranzacția transferă în mod neașteptat active, aprobă un alt cheltuitor, solicită anularea unui contract fără legătură sau conține detalii pe care nu le puteți reconcilia cu acțiunea aleasă. Un flux de lucru sigur favorizează verificarea în detrimentul vitezei.
Pasul 7: Verificare în lanț - Nu vă opriți la „Tranzacție trimisă”
Legendă: Redeschideți verificatorul de aprobări după confirmare și verificați dacă alocația este zero, a expirat, este falsă sau nu mai este activă.
O tranzacție trimisă poate eșua, poate rămâne în așteptare sau poate fi înlocuită. Rezultatul de securitate este atins numai atunci când starea permisiunii relevante s-a schimbat efectiv.
Indicatori de succes:
- Pentru ERC-20, alocația pentru cheltuieli este 0 sau suma redusă intenționat.
- Pentru accesul operatorului ERC-721,
isApprovedForAllvaloarea este falsă pentru operatorul pe care l-ați eliminat.
- Tranzacția de revocare a fost confirmată în lanțul dorit.
- Verificatorul de aprobări se actualizează pentru a afișa noua stare.
Când să investigați mai departe: dacă o permisiune apare în continuare după o tranzacție confirmată, comparați cu atenție adresa utilizatorului și contractul cu tokenul. Este posibil să fi revocat o permisiune în timp ce o altă permisiune de utilizator, proxy, operator sau Permit2 rămâne activă.
Pasul 8: Revizuiți Permisul 2, Semnăturile de permis și Politica dvs. de permisiuni în curs de desfășurare
Legendă: Igiena continuă a portofelului înseamnă revizuirea periodică a permisiunilor și acordarea unei autorități mai restrânse atunci când aplicația o permite.
Aprobările obișnuite ERC-20 nu reprezintă întreaga imagine. Sistemul Permit2 al Uniswap permite utilizatorilor să aprobe contractul Permit2 la nivel de token și apoi să acorde permisiuni cheltuitorului prin intermediul Permit2. Interfața sa oficială include valoarea alocației, expirarea, invalidarea nonce-urilor și o lockdownfuncție care poate seta alocațiile selectate înapoi la zero. Consultați depozitul oficial Uniswap Permit2 .
Semnăturile de permis adaugă o altă complicație: unele permisiuni sunt autorizate prin mesaje semnate, mai degrabă decât înregistrate imediat ca permisiuni obișnuite pentru token-uri. Revoke.cash notează că semnăturile de permise off-chain nu pot fi pur și simplu enumerate din lanț în același mod ca aprobările standard; invalidarea nonce-urilor relevante sau a stării permiselor specifice token-ului poate fi necesară atunci când știi că ai semnat un permis rău intenționat.
Rezultatul țintă: după ce ați analizat permisele normale, întrebați și dacă ați folosit Permit2 sau ați semnat un mesaj de tip permis pe un site nede încredere.
Când să schimbi abordarea: dacă suspectezi o semnătură rău intenționată, dar nu poți identifica forma exactă a acesteia, oprește interacțiunea din portofelul afectat până când înțelegi modelul de permisiuni. Plata orbească a taxelor pentru anularea fiecărui permis posibil poate fi o risipă și s-ar putea să nu abordeze amenințarea reală.
Instrumente esențiale: Care se potrivește sarcinii?
| Instrument | Cea mai bună utilizare | Limită importantă |
| Portofoliu MetaMask | Gestionarea limitelor de cheltuieli pentru rețelele acceptate din ecosistemul MetaMask. | Acoperirea rețelei este finită și se poate schimba; verificați suportul actual înainte de a vă baza pe acesta ca unic inventar. |
| Verificator de aprobare a tokenurilor Etherscan | Revizuirea și revocarea aprobărilor token-urilor/NFT-urilor Ethereum cu contextul explorer-ului. | Este axat pe Ethereum; folosește exploratorul de încredere relevant sau un alt instrument pentru alte rețele. |
| Revoke.cash | Revizuirea, revocarea și educarea aprobărilor pentru mai multe rețele privind Permisul/Permisul 2. | Niciun verificator de aprobări nu poate recupera activele furate sau repara cheile private compromise. |
| Contract direct / interfață de explorare verificată | Verificarea stării unui token cunoscut allowance, a stării operatorului NFT sau a unui comportament non-standard atunci când indexoarele sunt incomplete. | Necesită mai multă atenție tehnică; verificați adresa contractului și funcția înainte de a scrie pe lanț. |
Când revocarea permisiunilor nu este suficientă
Fraza inițială sau cheia privată este compromisă
Dacă un atacator deține cheia, nu are nevoie de o permisiune pentru a autoriza tranzacții, așa cum face tine. Revoke.cash avertizează în mod specific că un portofel golit de gaze este un semn că fraza inițială ar putea fi compromisă și că revocarea aprobărilor nu va restabili securitatea portofelului.
Rezultat mai bun: creați un portofel nou dintr-un mediu curat și migrați activele folosind un proces de recuperare atent planificat. Nu continuați să tratați adresa compromisă ca pe un portofel sigur pe termen lung.
Ați semnat deja un transfer sau o tranzacție rău intenționată
Revocarea ulterioară nu poate anula un transfer blockchain finalizat. Dacă un activ a dispărut deja, concentrați-vă pe prevenirea pierderilor ulterioare, documentarea hash-urilor tranzacțiilor, contactarea furnizorilor de servicii relevanți, atunci când este cazul, și mutarea activelor neafectate dacă cheile ar putea fi compromise.
Riscul constă în protocol, nu în aprobare
Revocarea unei alocații elimină autoritatea de cheltuieli viitoare de la acel cheltuitor. Nu elimină riscul contractului inteligent din activele deja depuse într-un protocol, punte, seif sau contract de staking.
Rezultat mai bun: evaluați dacă este nevoie să retrageți poziția în sine. Igiena permisiunilor și gestionarea riscurilor legate de protocol rezolvă diferite probleme.
Folosești permisiunile Smart-Account sau cele avansate
MetaMask documentează permisiuni avansate mai noi, bazate pe ERC-7715, care pot include limite de cantitate, acces recurent și date de expirare. Acestea sunt diferite de permisiunile clasice pentru tokenuri și sunt gestionate prin intermediul interfeței de permisiuni inteligente relevante.
Rezultat mai bun: revizuiți atât aprobările tradiționale de tokenuri, cât și permisiunile la nivel de cont. O listă curată de permisiuni ERC-20 nu descrie neapărat fiecare capacitate acordată de un cont inteligent.
Referință: MetaMask: Înțelegerea permisiunilor avansate .
O politică de permisiuni pe termen lung mai bună
- Preferați cantități limitate atunci când este posibil. MetaMask recomandă verificarea a ceea ce solicită o aplicație de tip dapp și reducerea cantității atunci când este cazul, în loc să aprobați automat accesul nelimitat.
- Revizuiți periodic aprobările vechi. Cadența corectă depinde de cât de activ utilizați DeFi, dar o revizuire după o perioadă de experimentare intensă cu dapp-uri este mai utilă decât așteptarea unui incident.
- Separați stocarea de mare valoare de activitatea experimentală. Un portofel dedicat activității poate reduce activele expuse noilor aplicații de tip dapp, deși nu face ca aprobările rău intenționate să fie sigure.
- Verificați domeniile și adresele utilizatorilor. O interfață care pare legitimă vă poate direcționa totuși către un contract rău intenționat.
- Rețineți limitarea portofelului hardware. Un portofel hardware ajută la protejarea cheilor private, dar o aprobare pe care o semnați intenționat este încă valabilă on-chain. Revoke.cash menționează în mod explicit că portofelele hardware nu protejează în sine împotriva atacurilor de aprobare.
- Păstrați suficient gaz nativ pentru întreținere. Tranzacțiile de revocare necesită taxe de rețea. Nu așteptați până la o urgență pentru a descoperi că portofelul nu poate efectua tranzacția necesară.
Listă de verificare finală
Înainte de a declara curățarea finalizată, verificați toate următoarele:
- Adresa corectă a fost verificată pe fiecare rețea pe care o utilizați efectiv.
- Alocările ERC-20 necunoscute și inutile au fost eliminate sau reduse.
- Aprobările operatorilor NFT neutilizate au fost revizuite.
- Permisiunile Permit2 au fost luate în considerare dacă ați interacționat cu aplicații compatibile cu Permit2.
- Tranzacțiile de revocare sunt confirmate, nu doar trimise.
- Verificatorul de aprobări arată starea așteptată post-revocare.
- Orice permisiuni păstrate intenționat au un scop clar și actual.
- Dacă cheile ar putea fi compromise, migrați către un portofel nou, în loc să vă bazați doar pe revocare.
Cel mai puternic rezultat nu este o listă de aprobări goală cu orice preț. Este un portofel ale cărui permisiuni rămase sunt înțelese, limitate intenționat și adecvate pentru modul în care îl utilizați efectiv. Revocarea permisiunilor contractelor inteligente este un instrument valoros de întreținere, dar funcționează cel mai bine ca un strat într-un proces de securitate mai amplu care include semnarea atentă, verificarea contractelor, protecția cheilor și separarea realistă a riscurilor.
Surse primare
Acest articol este educațional și nu are scop financiar, juridic sau de securitate. Permisiunile contractelor inteligente și funcțiile portofelului se schimbă în timp; verificați suportul actual al rețelei și detaliile tranzacției înainte de semnare.