
SSP'den token onaylarını iptal etmek
Bir EVM zincirinde her swap, depozit veya NFT listelemesi onayladığınızda, dApp'e adınıza belirli bir ERC-20 token'ını taşıma izni verirsiniz. Onay ya da allowance denilen bu izinler, işlem tamamlandıktan sonra da on-chain kalır. Aylar sonra, Mart'ta güvendiğiniz kontrat, Haziran'da hâlâ o token'ı boşaltma yetkisine sahip olabilir. Çözüm açık: artık ihtiyacınız olmayan onayları iptal edin. Bu rehber, bunu SSP'den nasıl yapacağınızı gösteriyor — her işlemin (iptaller dahil) SSP Key tarafından birlikte imzalandığı kendi kendine saklamalı 2-üzeri-2 wallet'ten.
Kavram size yeniyse, önce Token Onayları: Vermeye Devam Ettiğiniz İzinler yazısını okuyun. Orada onayların neden var olduğu ve sınırsız allowance'ların neden DeFi'de varsayılan saldırı yüzeyi olduğu anlatılıyor. Bu yazı, onun temizlik tamamlayıcısı.
Hızlı bir özet
Bir approve(spender, amount) çağrısını imzaladığınızda, token kontratı spender'ın (genellikle bir router, vault veya marketplace kontratı) adresinizden o token'dan amount kadarını transfer edebileceğini kaydeder. Birçok dApp, gelecekteki etkileşimlerde sizden gas tasarrufu için 2^256 - 1 — pratikte sınırsız — talep eder. Bu kolaylık aynı zamanda riskin kendisidir: spender kontrat sonradan tehlikeye girerse veya dApp'i kullanmayı bıraktığınız hâlde allowance kalırsa, bir saldırgan istediği zaman bakiyenin tamamını çekebilir.
İptal, bu yetkilendirmeyi geri alır. Geçmiş transferleri geri almaz ve hiçbir şeyi "silmez" — yalnızca allowance'ı tekrar sıfıra döndürür.
İptal teknik olarak nasıl çalışır
Bir iptal başka bir işlemden ibarettir. Aynı token kontratı üzerinde, orijinal onayın verildiği aynı zincirde approve(spender, 0) çağırırsınız. Bu tek fonksiyon çağrısı, kontratın allowance[owner][spender] eşlemesine yeni bir 0 yazarak eski değerin üzerine yazar.
İçselleştirilmesi gereken birkaç mekanik nokta:
- Zincir başına, token-spender çifti başına bir iptal. Ethereum'da bir USDC spender'ı onayladıysanız ve aynı spender'ı Polygon'da da onayladıysanız, iki iptal işlemine ihtiyacınız var — her zincirde bir tane. Allowance'lar zincirler arasında paylaşılmaz.
- İptal bağımsız bir işlemdir. Herhangi bir transfer gibi gas tüketir. Buna göre planlayın: ücreti karşılamak için zincirin yerel varlığını (Ethereum'da ETH, Polygon'da MATIC vb.) hazır bulundurun.
- Korktuğunuz kadar pahalı olmayabilir. İptal basit bir yazma işlemidir, çoğu zaman bir swap'tan ucuzdur. Base gibi Layer 2'lerde genellikle kuruş düzeyindedir.
- SSP yine birlikte imzalar. SSP 2-üzeri-2 bir wallet olduğundan, iptal işlemi de başka herhangi bir işlemle aynı akıştan geçer: extension'ınız önerir, SSP Key inceler ve birlikte imzalar. Korumanız temizliğin kendisine kadar uzanır — hiçbir tek cihaz tek başına iptal edemez ve hiçbir tek cihaz iptal kılığına girmiş bir şeyi onaylaması için kandırılamaz.
İptal için iki yol
SSP'den onayları iptal etmenin iki eşit derecede geçerli yolu var. Hangisi duruma uyarsa onu seçin.
Yol 1: güvenilir bir blok explorer kullanın
Bu, manuel ve şeffaf rota. Tam olarak hangi token ve hangi spender'ı iptal etmek istediğinizi bildiğinizde ya da üçüncü taraf bir araca bağlanmak istemediğinizde işe yarar.
- Token'ın kontrat sayfasını uygun explorer'da açın:
- Ethereum: etherscan.io
- Polygon: polygonscan.com
- Base: basescan.org
- BNB Smart Chain: bscscan.com
- Avalanche: snowtrace.io
- Contract sekmesine, oradan Write Contract'a gidin (veya token bir proxy kontratıysa Write as Proxy — büyük stablecoin'lerin çoğu öyledir).
approvefonksiyonunu bulun. Girdilerispender(iptal etmek istediğiniz adres) veamount(yeni allowance) olur.amountdeğerini0yapın. Spender adresini yapıştırın — daha önceki işlem geçmişinizden kopyalayın, asla ezberden yazmayın.- Wallet'ınızı bağlayın. Çoğu explorer WalletConnect destekler ki bu, SSP'yi bağlamanın önerilen yoludur. Bağlantıyı extension'da onaylayın.
- Write'a tıklayın. Explorer,
approve(spender, 0)işlemini hazırlar ve SSP'ye iletir. SSP extension'ı çağrı detaylarını gösterir; SSP Key birlikte imzalar; iptal yayılır.
Bu yol uzun soluklu ama ne imzaladığınız konusunda hiçbir muğlaklık bırakmaz.
Yol 2: özel bir iptal aracı kullanın
Çoğu kullanıcı için pratik seçenek bu. revoke.cash, bu iş için yaygın kullanılan açık kaynaklı araç. Adresinizi desteklenen zincirlerde tarar, her aktif allowance'ı listeler, riskli olanları (sınırsız miktarlar, tanınmadık kontratlar) işaretler ve bağlı wallet'iniz üzerinden bunları — tek tek veya toplu olarak — iptal etmenize izin verir.
Akış:
revoke.cashadresini doğrudan tarayıcınızda açın. Gerçek domain'i favorilere ekleyin ve yalnızca o favoriden gidin. İptal araçlarının oltalama kopyaları, kullanıcılar oraya zaten işlem imzalamaya hazır vardıkları için var.- WalletConnect ile bağlanın, ardından QR kodu tarayın veya URI'yi SSP'ye yapıştırın.
- Zincir seçicisini denetlemek istediğiniz zincire alın. revoke.cash, o zincirdeki onaylarınızı çekecektir.
- Listeyi inceleyin. Her satır token'ı, spender'ı, allowance miktarını ve genellikle dApp için bir etiketi gösterir.
- Artık kullanmadığınız her şeyin yanındaki Revoke'a tıklayın. Her iptal, SSP tarafından birlikte imzalanan ayrı bir
approve(spender, 0)işlemidir.
Pratik bir denetim akışı
Yılda bir veya iki kez, 20 dakika ayırın ve şunu adımlayın:
- SSP'yi revoke.cash'e WalletConnect ile bağlayın.
- Aktif onaylarınızı inceleyin — kullandığınız her zincirde. Önce Ethereum ile başlayın — tarihsel olarak en yoğun onay grafına sahip olan — ardından Polygon, Base, BNB Smart Chain ve Avalanche ile devam edin.
- Önce en riskli olanları alın. Sınırsız allowance'lar ve tanınmadık dApp adları için sıralayın veya göz gezdirin. 2024'te bir kez swap yapıp bir daha dokunmadığınız bir protokol başlıca aday. Tanımlayamadığınız her kontrat da öyle.
- İptal edin. İşlemi SSP extension'ınızda onaylayın; SSP Key birlikte imzalamanızı ister; iptal yayılır.
- SSP Key'de birlikte imzalayın. Bu, hedefi iki kez kontrol etmenin anı. SSP Key, çağırdığınız kontratı ve fonksiyonu gösterir — her ikisinin de niyetinizle eşleştiğini doğrulayın.
- Her zincir için tekrarlayın. Allowance'lar zincire özgüdür. Ethereum'da iptal etmenin Polygon'u da temizlediğini varsaymayın.
Sıfırdan başlamak zorunda değilsiniz. Hedef, aktif kullandığınız kontratlardaki allowance'ları korumak ve geri kalanını sıfırlamaktır.
Uyarılar
- Domain hijyeni. Yalnızca resmi
revoke.cashdomain'ini kullanın. Oltalama klonları tam olarak bu akışı hedefler çünkü kullanıcı zaten işlem imzalama modundadır. Favorilere ekleyin; bağlanmadan önce URL çubuğunu doğrulayın. - Zincir başına gerçeklik. Ethereum'da bir USDC onayını iptal etmek, portföyünüzde token "aynı görünse" bile Polygon'daki USDC onayına dokunmaz. Her zinciri açıkça gezin.
- Gas bütçesi. İptal gas tüketir. Ethereum'da biriken iptaller toplanabilir; gas sakinken yapın. Layer 2'lerde maliyet ihmal edilebilir düzeydedir.
- Spender'ı her zaman doğrulayın. Herhangi bir "iptal" işlemini imzalamadan önce, çağrıdaki spender adresinin iptal etmek istediğiniz kontratla eşleştiğini doğrulayın. Kötü niyetli bir site, aslında bir saldırgana yeni bir onay veren sahte bir iptal arayüzü sunabilir. SSP Key bilgi isteminde fonksiyon adını (
approve) ve miktarı (0) okumak son savunma hattınızdır. - Permit'ler farklıdır. Bazı token'lar (USDC, DAI varyantları) onay gibi davranan off-chain imzalar olan
permit'i destekler. revoke.cash, bilebildiği permit tabanlı yetkilendirmeleri gösterir; tanımadığınız her şeyi tıpkı on-chain bir allowance gibi ele alın.
Temizlikte 2-üzeri-2 avantajı
Sıkça gözden kaçan nokta şu: SSP'de iptal, tek bir cihazda tek bir tıklama değildir. Extension'ınız iptali hazırlar ama tek başına yayınlayamaz. SSP Key'inizin birlikte imzalaması gerekir ve gerçekten neyin gönderildiğini bu birlikte imza adımında incelersiniz. Extension'ınız bir gün tehlikeye girse ve aslında yeni bir onay olan kötü niyetli bir "iptal" göndermeye kalksa, SSP Key gerçek fonksiyonu ve gerçek miktarı kendi ekranında gösterirdi. İki cihaz, bir problemi yakalamak için iki fırsat.
Rutin onay hijyeni, çoğu kullanıcının atladığı, en yüksek getiriye sahip DeFi alışkanlığıdır. Takvime bir hatırlatıcı koyun, denetimi yapın, daha rahat uyuyun. Ve seriyi okumaya devam edin — zincire özgü detayları yerine oturtmak istiyorsanız SSP'de Ethereum ile başlayın, ya da bunun neden önemli olduğunu kendinize hatırlatmak için Token Onayları: Vermeye Devam Ettiğiniz İzinler yazısına tekrar bakın.


