Dozvole koje ste dali pametnim ugovorima: zašto ostaju i kako se povlače
Dozvole koje ste dali pametnim ugovorima: zašto ostaju i kako se povlače
Ključno ukratko:
- Dozvole pametnim ugovorima ostaju aktivne dok ih sami ne povučete, čak i ako više ne koristite aplikaciju.
- Neograničena odobrenja (unlimited allowance) daju ugovoru pravo da troši sve vaše tokene iz novčanika.
- Povlačenje dozvola je jednostavan proces koji se obavlja direktno na blok-explorer-u, bez trećih strana.
- Redovna provera i povlačenje dozvola smanjuje rizik od gubitka sredstava u slučaju kompromitacije ugovora.
Kada povezujete novčanik sa decentralizovanom aplikacijom, često potpisujete transakciju koja odobrava pametnom ugovoru pristup vašim tokenima. To odobrenje je trajno dok ga sami ne povučete, a korisnici često imaju više aktivnih dozvola nego što su svesni. Ovaj članak objašnjava kako da prepoznate odobrenja, zašto ostaju i kako izvršiti povlačenje dozvola na siguran način.
Šta su dozvole pametnim ugovorima i zašto su trajne?
Dozvola (allowance) je mehanizam u ERC-20 standardu tokena koji omogućava pametnom ugovoru da prenosi određenu količinu tokena sa vašeg računa. Kada prvi put koristite decentralizovanu berzu ili protokol, aplikacija traži da potpišete transakciju kojom dajete odobrenje. To odobrenje se čuva na lancu i ne ističe samo od sebe.
Mnogi korisnici misle da je dovoljno da prestanu da koriste aplikaciju, ali odobrenje ostaje aktivno. Čak i ako je aplikacija napuštena ili ugrožena, pametni ugovor i dalje može trošiti vaše tokene u skladu sa datim limitom. Zato je važno da povremeno pregledate i povučete dozvole koje više nisu potrebne.
Kako da pregledate dozvole na blok-explorer-u
Najtransparentniji način da vidite sve dozvole je korišćenje javnog blok-explorer-a, kao što je Etherscan za Ethereum mrežu. Na Etherscan-u, nakon što unesete adresu svog novčanika, otvorite karticu Token Approvals. Tu ćete videti listu svih tokena i pametnih ugovora kojima ste dali odobrenje.
Za druge mreže (BSC, Polygon, Arbitrum) postoje slični blok-explorer-i, a takođe možete koristiti i specijalizovane alate za upravljanje dozvolama koji agregiraju podatke sa više mreža. Ovi alati su korisni jer vam omogućavaju da vidite sve na jednom mestu, ali uvek proverite da li je alat pouzdan i da li ima dobru reputaciju.
Kako prepoznati neograničeno odobrenje
Neograničeno odobrenje (unlimited allowance) je kada pametnom ugovoru date pravo da troši neograničenu količinu tokena. U blok-explorer-u, ovo se obično prikazuje kao Unlimited ili kao maksimalna vrednost (npr. 115792089237316195423570985008687907853269984665640564039457584007913129639935).
Takva odobrenja su česta kod berzi i agregatora, jer omogućavaju brže transakcije bez ponovnog potpisivanja. Međutim, ona nose veći rizik: ako pametni ugovor bude kompromitovan, napadač može isprazniti ceo vaš saldo tog tokena. Zato je preporučljivo da za manje poverljive aplikacije koristite ograničena odobrenja, iako to znači dodatnu transakciju pri svakoj upotrebi.
Kada ima smisla povući dozvole?
- Kada prestanete da koristite aplikaciju: Ako više ne trgujete na određenoj berzi, povlačenje dozvole uklanja rizik od zloupotreba preko tog odobrenja.
- Kada sumnjate u sigurnost projekta: Ako je aplikacija napuštena, imala ranjivosti ili je tim nestao, povlačenje je nužno.
- Kada imate velike količine tokena: Ako držite značajna sredstva, smanjenje broja aktivnih dozvola smanjuje napadnu površinu.
- Kada primetite nepoznata odobrenja: Ako vidite ugovor koji ne prepoznajete, odmah ga povucite.
Ne morate povlačiti sve dozvole odjednom, ali redovna provera (npr. jednom u nekoliko meseci) je dobra praksa.
Kako se povlače dozvole korak po korak
Povlačenje dozvola je transakcija kojom postavljate odobrenje na nulu. To možete uraditi direktno na blok-explorer-u ili preko specijalizovanog alata. Evo opšteg postupka:
- Povežite svoj novčanik (npr. MetaMask) sa blok-explorer-om ili alatom za upravljanje dozvolama.
- Pronađite token i ugovor za koji želite da povučete dozvolu.
- Kliknite na opciju Revoke ili Remove Approval.
- Potvrdite transakciju u svom novčaniku. Budite spremni da platite gas naknadu.
- Sačekajte da se transakcija potvrdi. Nakon toga, odobrenje je postavljeno na nulu.
Neki alati olakšavaju povlačenje više dozvola zaredom iz jednog interfejsa, ali je svako povlačenje posebna transakcija sa svojom gas naknadom. Uvek proverite adresu ugovora pre potvrde.
Dodatne mere opreza i najbolje prakse
Pored povlačenja dozvola, razmislite o korišćenju hardverskog novčanika za veće količine sredstava. Hardverski novčanici čuvaju privatne ključeve van mreže, pa čak i ako napadač dobije pristup vašem računaru, ne može potpisati transakciju bez fizičkog pristupa uređaju. Međutim, hardverski novčanik štiti ključeve, ali ne poništava postojeće dozvole; jedina zaštita od zloupotrebe dozvole je povlačenje.
Takođe, za nove aplikacije koristite poseban novčanik sa ograničenim sredstvima, ili postavite ograničena odobrenja (npr. tačan iznos koji planirate da uložite). Redovno proveravajte listu dozvola i povlačite one koje više nisu potrebne.
Povezani tekstovi
Česta pitanja
Da li povlačenje dozvola košta gas?
Da, svaka transakcija povlačenja zahteva gas naknadu, koja varira u zavisnosti od mreže i opterećenja. Neki alati olakšavaju povlačenje više dozvola zaredom iz jednog interfejsa, ali je svako povlačenje posebna transakcija sa svojom gas naknadom.
Kako znam da li je odobrenje neograničeno?
Na blok-explorer-u potražite oznaku ‘Unlimited’ ili maksimalnu vrednost. To znači da ugovor može trošiti sve vaše tokene tog tipa.
Da li je bezbedno koristiti alate za povlačenje dozvola?
Najbezbedniji put je revoke direktno preko blok-explorer-a. Ako koristite alate trećih strana, ručno proverite URL i potpisani sadržaj transakcije pre potvrde.
Šta se dešava ako povučem dozvolu, a i dalje koristim aplikaciju?
Aplikacija će tražiti novo odobrenje pri sledećoj transakciji. To je normalno i ne utiče na vaša sredstva.
Mogu li dozvole isteći same od sebe?
Standardni ERC-20 approve nema rok; Permit2 odobrenja imaju rok isteka koji sami postavljate.