Revoke.cash, kripto sektörünün bir şeyler ters gittiğinde insanlara kullanmalarını söylediği araçtır: token onaylarını yönetir; yani kullanıcıların her takas, stake veya NFT satışında DeFi uygulamalarına ve pazar yerlerine verdiği kalıcı erişim izinlerini. Revoke.cash, MetaMask'ın Smart Accounts Kit'ini kullanarak Auto-Revoking özelliğini oluşturdu. Bu özellik, kullanıcının anahtarlarını hiçbir zaman elinde bulundurmadan gereksiz onayları otomatik olarak temizleyerek bir adım daha ileri gidiyor.
Revoke.cash, çoğu cüzdanın hiç gündeme getirmediği bir sorunu çözüyor
Token onayı, bir DeFi uygulamasına tokenlarınızı taşıması için verdiğiniz izindir: Uniswap'ın takas yapabilmesi için USDC'yi onaylarsınız, OpenSea'nın listeleyebilmesi için bir Pudgy Penguin'i onaylarsınız. Bu erişim, işiniz bittiğinde sona ermez. Cüzdanınızda süresiz olarak kalır ve her pasif onay, verildiği uygulama bir gün istismar edilirse süregelen bir risk oluşturur.
Revoke.cash, Ekim 2019'da kurucu Rosco'nun kişisel projesi olarak başladı; DeFi uygulamalarının cüzdanına sessiz sedasız sürekli erişim tutmasından duyduğu rahatsızlığı gidermek için geliştirildi. O dönemde bu erişimi görmenin ya da iptal etmenin henüz bir yolu yoktu, bu yüzden kendisi bir tane inşa etti. Geçen altı yıl içinde Revoke.cash, 2 milyondan fazla kullanıcıya hizmet verdi ve 20 milyonun üzerinde token onayının iptal edilmesinde kullanıldı. Auto-Revoking özelliğini tanıtan ücretli katmanlar olan Premium ve Ultimate, 2026'da kullanıma sunuldu.
Rosco, Auto-Revoking fikrini doğru tavsiyenin her zaman çok geç geldiğini fark etmesinden edindiğini söylüyor. Bir istismar yaşandığında ya da biri fonlarını kaybettiğinde standart tavsiye şu oluyor: "Revoke.cash'e git." Bu, klasik bir iş işten geçtikten sonra çözüm arama durumu.
Oysa her şey önlemde yatıyor. Onayları düzenli olarak temizlemek, sorun çıkarmalarının önüne geçiyor. Bunu tutarlı biçimde elle yapmak çoğu insan için gerçekçi değil; bu nedenle Revoke.cash, altyapı teknolojisi buna olanak tanır tanımaz otomatik versiyonu geliştirdi.
Sorun: Anahtarları hiç elinde bulundurmadan biri adına hareket etmek
Sektör olarak, kullanıcıların kendi cüzdanlarını emanetsiz (non-custodial) biçimde yönetmesini mümkün kılmak için yoğun çaba harcıyoruz. Güvenlik açısından bakıldığında, bir kullanıcının seed phrase'ini emanete almak hiçbir zaman bir seçenek değildir.
— Rosco, Revoke.cash'in kurucusu
Otomatik yeniden dengeleme veya limit emirleri gibi bazı zincir üstü işlemler, bir kullanıcı adına hareket etmenin işe yarar yollarına zaten sahip. Başka birinin token onayını iptal etmek ise ERC-7710 ve ERC-7715 gelene kadar böyle bir yola sahip değildi.
MetaMask'ın Smart Accounts Kit'i ve Delegation Framework, özel altyapı inşa etmek yerine temel yapı taşı hâline geldi. SDK'lar sorunun her iki tarafını da ele alıyor: kullanıcıların bir delegasyon vermesi için sade bir arayüz ve bunu tüketebilen bir backend. Bu sayede Revoke.cash, kendi mühendislik çalışmalarını daha zor ve özgün olan kısma odaklayabildi: altındaki delegasyon katmanını yeniden icat etmek yerine Auto-Revoking'in çevresindeki sistemlere.
Revoke.cash'in geri bildirimleri, özellikle token onayı iptali izin türünün şekillenmesine katkı sağladı. MetaMask ayrıca Revoke.cash'in sıcak-soğuk cüzdan delegasyon kurulumunun bazı bölümlerini çözmesine de yardımcı oldu.
Öncesi | Auto-Revoking + Delegation Framework ile |
Kullanıcılara onayları yalnızca bir istismar veya kayıp yaşandıktan sonra iptal etmeleri söylenir | Onaylar, istismar edilebilir hâle gelmeden önce proaktif olarak ve belirli bir programa göre iptal edilir |
Onayları temizlemek, bunu hatırlamayı ve her uygulama için manuel olarak yapmayı gerektirir | Kullanıcı, MetaMask'ta bir kez tek bir izin verir |
Anahtarları elinde bulundurmadan kullanıcının onayları üzerinde işlem yapmanın yolu yoktur | Kapsamı daraltılmış bir token onayı iptali izni yalnızca o eylemi yetkilendirir |
Manuel inceleme, binlerce pasif onayı yönetmek için ölçeklenemez | Revoke.cash'in sistemleri onayları sürekli olarak indeksler ve izler |
Bir soğuk cüzdan, iki sıcak cüzdan, tek bir dar izin
Kullanıcı, Revoke.cash'in hesap ayarları bölümünden Auto-Revoking'i etkinleştirir. Bu işlem, MetaMask aracılığıyla verilen ve Revoke.cash kontrolündeki bir soğuk cüzdana yönelik bir token onayı iptali izni talep eder. Soğuk cüzdan, bu delegasyonları Revoke.cash'in otomatik iptal sunucularında çalışan iki sıcak cüzdana iletecek şekilde yapılandırılmıştır.
Buradan itibaren Revoke.cash'in sistemleri, kullanıcının token onaylarını yapılandırılmış otomatik iptal kurallarına göre indeksler ve izler; örneğin eskimiş onaylar veya yüksek riskli olarak işaretlenenler. Bir onay bir kuralla eşleştiğinde, sıcak cüzdanlardan biri zincirdeki iptali yetkilendiren her iki delegasyonu da (kullanıcıdan soğuk cüzdana ve soğuk cüzdandan sıcak cüzdana) taşıyan bir işlem gönderir.
Ortada neden bir soğuk cüzdan var: Bir sıcak cüzdan ele geçirilirse, soğuk cüzdan bunun kullanıcıyı doğrudan etkilemesini önler. Sıcak cüzdanlar, kullanıcının orijinal delegasyonu hiç değişmeden soğuk cüzdanın arkasında eklenip çıkarılabilir.
Neden bir yerine iki sıcak cüzdan: Revoke.cash, otomatik iptalleri iki kategoriye ayırır. Rutin iptaller, iki yıl önce satılan bir NFT'den kalan OpenSea onayı gibi olağan temizlik işlemleridir. Acil iptaller ise aktif bir istismar veya ortaya çıkan bir risk tarafından tetiklenir; burada hız belirleyicidir. Her kategorinin kendi özel sıcak cüzdanı üzerinden yürütülmesi, acil ve istismarla tetiklenen bir iptalin rutin bakım işlerinin arkasında sıraya takılmamasını sağlar.
İznin kendisi, MetaMask'ın caveat enforcer'ları tarafından yalnızca bir iptal eylemini yetkilendirecek şekilde kapsamlandırılmıştır; daha geniş hiçbir şey değil. Bu güvence, bir delegasyonu otomatik bir sisteme teslim etmeyi baştan güvenli kılan şeydir.
Teknoloji yığını
Katman | Bileşenler |
İzin | Gelişmiş İzinler (ERC-7715) token onayı iptali izin türü |
Delegasyon | Kullanıcı → soğuk cüzdan → iki sıcak cüzdan, MetaMask Delegation Framework |
Yürütme | İki özel sıcak cüzdan: rutin temizlik ve acil, riske bağlı iptaller |
İzleme | Revoke.cash'in onay indeksleme ve kural eşleştirme motoru |
Onayları iptal etmek, herkesin yapması gereken ama kimsenin düşünmek istemediği önemli bir güvenlik önlemidir. MetaMask'ın Smart Accounts Kit'i tarafından desteklenen otomatik iptal özelliğiyle, kullanıcıları manuel yönetimin zihinsel yükünden kurtarırken onları korumaya yardımcı olabiliyoruz.
— Rosco, Revoke.cash'in kurucusu
Revoke.cash'in geliştiricilere tavsiyeleri
Delegasyon katmanını kendiniz inşa etmeyin. Auto-Revoking'in zor ve özgün kısmı çevresindeki sistemdi: onayları indekslemek, risk kurallarını eşleştirmek, rutin ile acil yürütmeyi yönlendirmek. MetaMask'ın Smart Accounts Kit SDK'sının iznin verilmesini ve tüketilmesini üstlenmesi, bu çalışmanın yeniden yapılmasını gerektirmedi.
Yürütme katmanınızı kullanıcının güveninden izole edin. Kullanıcı ile işlemleri fiilen yürüten sıcak cüzdanlar arasına bir soğuk cüzdan koymak, ele geçirilmiş bir yürütücünün kullanıcının sorunu hâline gelmesini önler; soğuk cüzdanın arkasındaki cüzdanlar serbestçe değiştirilebilir.
Rutini acilden ayırın. Otomasyon bir programa göre çalıştığında, her tetikleyici eşit derecede zamana duyarlı değildir. Yürütme yollarını aciliyete göre ayırmak, yavaş ve rutin bir işin hızlı ve yüksek riskli bir işi geciktirmesini engeller.
Daha fazla bilgi için şuraya göz atın: