MetaMask ve Rabby Gibi Kripto Cüzdanlar Nasıl Çalışır? İmza (Signature) Mantığını Gerçekten Anlamak
MetaMask, Rabby gibi cüzdanları ilk kez kullananların çoğu aynı noktada takılır: “Connect Wallet” güvenli mi, “Sign” ne demek, “Approve” ile aynı şey mi, imza atınca param gider mi? Bu yazı, non-custodial (self-custody) cüzdanların arka plandaki çalışma mantığını; private key, seed phrase, mesaj imzalama, işlem imzalama, allowance (token izinleri) ve akıllı sözleşme etkileşimlerini net ve uygulanabilir bir şekilde anlatır.
Okurken şunları öğrenmiş olacaksın: Cüzdanın “para tutan” bir uygulama değil, anahtar yöneticisi olduğunu; imzanın neyi kanıtladığını; “blind signing” riskini; phishing ve signature scam tuzaklarını nasıl ayırt edeceğini; token izinlerini nasıl yöneteceğini ve MetaMask–Rabby farklarını pratik güvenlik adımlarıyla birlikte.
1) Non-custodial (self-custody) cüzdan nedir ve “cüzdan” gerçekte ne tutar?
Non-custodial cüzdan, kripto varlıklarının “saklama yetkisinin” sende olduğu modeldir. Burada kritik ayrım şu: Coin’ler uygulamanın içinde durmaz; coin’ler blokzincirde durur. MetaMask ya da Rabby, blokzincirdeki hesabına erişmeni sağlayan anahtarı (private key) yönetir ve senin adına “imza” üretir. Bu yüzden uygulamayı silmek coin’leri yok etmez; ancak anahtarı kaybedersen erişimi kaybedersin.
Bu cüzdanlar genellikle iki temel işi yapar: (1) Adres üretir (public address) ve bakiyeni zincirden okur. (2) Sen bir işlem yapmak istediğinde (transfer, swap, staking, NFT mint vb.) işlemi yerelde hazırlar ve private key ile imzalar. İmza, “bu hesabın sahibi benim ve bu işlemi onaylıyorum” demenin kriptografik karşılığıdır.
Custodial (saklamalı) borsalarda ise private key borsadadır; sen sadece hesap şifrenle giriş yaparsın. Non-custodial’da “şifreyi unutursam maille sıfırlarım” mantığı yoktur. Bunun karşılığı seed phrase (kurtarma kelimeleri) gibi bir geri dönüş mekanizmasıdır; ama bu mekanizma da tamamen senin sorumluluğundadır.
2) Seed phrase, private key ve address ilişkisi: Aynı şey değil
Yeni başlayanların en çok karıştırdığı ikili “seed phrase” ve “private key” olur. Seed phrase (genelde 12 veya 24 kelime) aslında bir “ana anahtar” gibi düşünülebilir: Doğru standartta üretildiyse, ondan çok sayıda hesap ve private key türetilebilir. Yani seed phrase tek bir hesaba değil, bir “hesaplar ağacına” kapı açar. Bu yüzden seed phrase’i ele geçiren biri, cüzdanındaki tüm hesaplara ulaşabilir.
Private key ise tek bir hesap için “imza üretme” gücünü veren asıl gizli anahtardır. Public address (0x ile başlayan adres) private key’den türetilir ama tersine çevrilemez; yani adresten private key çıkarmak pratikte mümkün değildir. Bu yüzden adresini paylaşmak normaldir; private key ya da seed phrase paylaşmak ise hesabı tamamen teslim etmek anlamına gelir.
Pratik fark: Seed phrase bir yedekleme formatıdır; private key ise tek bir hesabın imza anahtarıdır. Cüzdan yazılımlarının çoğu arayüzde private key’i göstermese de (ya da gizlese de) seed phrase’i tek seferlik gösterir ve “kaydet” der. Bu noktada “ekran görüntüsü aldım” gibi alışkanlıklar gerçek hayatta en çok kayba yol açan davranışlar arasındadır, çünkü telefon yedekleri, bulut senkronizasyonu ve galeri erişimleri beklenenden çok daha geniştir.
3) Cüzdanlar işlemi nasıl hazırlar ve imza zincire nasıl gider?
Bir dApp’te “Swap” butonuna bastığında, aslında uygulama senin adına bir işlem taslağı hazırlar: hangi sözleşmeye çağrı yapılacak, hangi fonksiyon çalışacak, ne kadar token harcanacak, gas ayarları, nonce (işlem sırası) gibi ayrıntılar. MetaMask/Rabby bu taslağı alır, ekranda özetler ve “Confirm/Sign” ile senden onay ister. Onay verdiğinde imza yerelde üretilir; private key cihazından çıkmadan, dijital imza oluşturulur.
Bu imza, zincire “benim hesabım bu işlemi yetkilendirdi” bilgisini taşır. Cüzdan, imzalı işlemi ağa yayınlar; madenciler/validator’lar imzayı doğrular ve işlemi bloğa alır. Burada önemli bir ayrım var: Cüzdan uygulaması bir “aracı” gibi görünse de, teknik olarak sadece imzalı mesajı ağa taşıyan bir istemcidir. Asıl yetkilendirme imzadır, yayınlamak ise dağıtım adımıdır.
Bu akış, neden “cüzdan bağlantısı” (connect wallet) ile “işlem onayı”nın farklı olduğunu açıklar: Connect çoğu zaman sadece adresini okumaya ve bazı durumlarda imza istemeye yarar. Para transferi, token harcama, sözleşme çağrısı gibi gerçek eylemler ise ayrı imzalar ve çoğu zaman ayrıca gas ücreti gerektirir. Bu yüzden dApp’in “sadece bağlan” dediği ekranda bile ileride imza talep edebileceğini bilmek gerekir.
4) Mesaj imzalama (Sign) nedir? “Para göndermeden” imza atmak ne anlama gelir?
“Sign” her zaman para göndermek demek değildir. Mesaj imzalama, genellikle “bu adresin sahibi sensin” kanıtı üretmek için kullanılır. Örneğin bir web sitesi “giriş yap” için senden imza isteyebilir: Sen bir metni imzalarsın; site imzayı doğrular ve bu adresin kontrolünün sende olduğunu anlar. Bu süreçte zincire işlem yazılmaz; çoğu zaman gas ücreti de yoktur çünkü ortada on-chain işlem yoktur.
Ancak risk şurada başlar: Mesajın içeriği çoğu kullanıcıya anlaşılmaz gelebilir. Bazı imza türlerinde (özellikle “blind signing” benzeri durumlarda) kullanıcı neyi imzaladığını net görmeyebilir. Kötü niyetli bir site, “giriş imzası” gibi gösterip aslında farklı bir yetkilendirmeye kapı aralayacak şekilde tasarlanmış bir mesaj ürettirebilir. Her imza anında para çıkmasa da, imza “yetki” anlamına gelir ve yetki kötüye kullanılabilir.
Güvenli yaklaşım: Mesaj imzalarken (1) domeni iki kez kontrol et, (2) cüzdanın gösterdiği açıklamayı oku, (3) anlamsız uzun hex/veri görüyorsan tedirgin ol, (4) mümkünse Rabby gibi risk uyarısı yapan cüzdanlarda “risk skoru” ve “simülasyon” ekranlarını incele, (5) imza talebi gelen sitenin gerçekten ihtiyacı olup olmadığını sorgula.
5) Transaction signing nedir? İşlem imzası, gas ve “geri dönüş yok” gerçeği
Transaction signing, zincire yazılacak gerçek bir işlemin imzalanmasıdır. Bu tip imzalar genellikle gas ücreti gerektirir; çünkü ağ kaynak tüketir ve doğrulayıcılar tarafından işlenir. Transfer, swap, NFT mint, staking gibi eylemler transaction imzasına girer. Burada “onay” verdiğinde işlem geri alınamaz; yanlış adrese gönderim ya da kötü bir sözleşmeye etkileşim, çoğu zaman kalıcı sonuç üretir.
İşlem ekranında en kritik alanlar: hedef adres/sözleşme, harcanacak varlık miktarı, ağ (Ethereum, Arbitrum, Base vb.), gas ücreti ve bazen “data” alanıdır. Eğer “data” alanı doluysa bu çoğunlukla bir akıllı sözleşme çağrısıdır. Basit transferlerde data boş olur; sözleşme etkileşimlerinde doludur. Yeni başlayanlar için en pratik kontrol: “Ben gerçekten bir swap mı yapıyorum, yoksa token’ımı başka bir sözleşmeye mi gönderiyorum?” sorusunu her seferinde sormak.
Risk yönetimi için iyi bir alışkanlık: Büyük tutarları tek işlemde göndermek yerine önce küçük bir test transferi yapmak. Ayrıca “gas çok düşük” diye aceleyle ayarları oynayıp işlemi günlerce stuck bırakmak da yaygındır; cüzdanların “speed up/cancel” seçeneklerinin ne yaptığını öğrenmek (nonce mantığı) gerçek hayatta sorun çözer.
6) Approve (token izinleri/allowance) nedir? Approve ile Sign farkı ve neden tehlikeli olabilir?
ERC-20 token’larda bir dApp’in senin token’ını harcayabilmesi için genelde “approve” gerekir. Approve, “şu akıllı sözleşmeye şu miktara kadar harcama izni veriyorum” anlamına gelir. Bu bir işlem imzasıdır ve zincire yazılır; gas ödersin. Ardından dApp, swap gibi bir eylemde bu izni kullanarak token’ını sözleşmeye çeker. Kullanıcıların çoğu bunu “sign gibi” zanneder; oysa approve gerçek bir yetkilendirmedir ve kötüye kullanılırsa cüzdanındaki token’lar boşalabilir.
Approve ile sign arasındaki ana fark: Sign çoğu zaman off-chain bir kimlik kanıtıdır; approve ise on-chain harcama iznidir. Bir site “Sign” diyorsa ama arka planda senden approve alıyorsa, cüzdan ekranında “spend limit/allowance” benzeri bir şey görmen gerekir. Burada özellikle dikkat edilmesi gereken şey “unlimited approve” (sınırsız izin) seçeneğidir. Sınırsız izin, işlem sayısını azaltır ama riskini büyütür: İzin verdiğin sözleşme hacklenirse ya da kötü niyetliyse, izin kapsamındaki token’ları çekebilir.
Pratik yaklaşım: (1) İlk etkileşimde mümkünse sadece ihtiyaç kadar izin ver, (2) İş bittikten sonra allowance’ı revoke et, (3) “approve” istediği token ve sözleşme adresini kontrol et, (4) Airdrop/claim sitelerinde özellikle tetikte ol; çünkü en çok “izin tuzağı” bu alanlarda görülür. Unutma: Approve, “para göndermiyorum” hissi yaratsa da, gerçekte kapıyı aralayabilir.
7) Blind signing, signature scam ve phishing: En çok kayıp yaşatan tuzaklar
Blind signing, kullanıcının imzaladığı şeyin içeriğini net görmeden onay vermesi anlamına gelir. Donanım cüzdanlarında bile bazı akıllı sözleşme çağrıları yeterince açıklanmazsa “blind” kalabilir. Scam’ler tam burada çalışır: Sana bir “claim”, “airdrop”, “verify” bahanesi sunar; bağlantı kurdurur; ardından ya mesaj imzalama ile bir yetki devri ya da approve ile token izinleri alır. Birkaç dakika sonra token’ların boşaldığını görürsün ve “Ben sadece sign yaptım” dersin.
Phishing tarafında ise taktikler daha basit ama etkili: Sahte domain, sosyal medyada sponsorlu link, Discord/Telegram’da bot mesajı, Google reklamı üzerinden klon site… Kullanıcı “site gerçek” sanıp cüzdan bağlar ve imza verir. Bu yüzden güvenlik, “cüzdan içindeki ayar” kadar “tarayıcı hijyeni” meselesidir. Kaynaklar, kripto dolandırıcılıklarının önemli bir kısmının sosyal mühendislik ve sahte link üzerinden gerçekleştiğini tekrar tekrar vurguluyor.
Uygulanabilir kontrol listesi: (1) Domaini harf harf kontrol et (benzer karakter tuzağı), (2) İlk kez gireceğin protokole arama motorundan değil resmi kanallardan git, (3) Cüzdanın risk uyarılarını ciddiye al, (4) Çok yeni ve bilinmeyen dApp’lere ana cüzdanınla bağlanma; ayrı “deneme cüzdanı” kullan, (5) Onay ekranlarında “spend limit”, “set approval for all”, “permit” gibi ifadeleri gördüğünde dur ve tekrar değerlendir.
8) MetaMask vs Rabby: Güvenlik ve kullanıcı deneyiminde pratik farklar
MetaMask, ekosistemin en yaygın cüzdanı olduğu için çoğu dApp’te “varsayılan” gibi çalışır. Rabby ise özellikle güvenlik uyarıları, işlem önizleme/simülasyon ve daha agresif risk bildirimleriyle öne çıkar. Yeni başlayanlar için Rabby’nin “bu işlem ne yapıyor” tarzı açıklamaları ve bazı şüpheli etkileşimlerde daha görünür uyarılar vermesi, hatalı tıklamaları azaltabilir.
Her iki cüzdanda da temel güvenlik çizgisi aynıdır: Seed phrase/private key güvenliği. Cüzdanın marka/arayüz farkı, anahtarı kaybedersen seni kurtarmaz. Farkı yaratan alışkanlıklar: Ayrı tarayıcı profili kullanmak, “main wallet” ve “degen wallet” ayırmak, düzenli revoke yapmak, donanım cüzdan ile büyük varlıkları korumak, imza/approve ekranlarını otomatik geçmemek.
Donanım cüzdan entegrasyonu burada oyunu değiştirir: Private key cihaz içinde kalır ve bilgisayarın zararlı yazılım riskini azaltır. Yine de “imzaladığın şey” konusunda dikkat şarttır; donanım cüzdan bile yanlış onayı “doğru şekilde” imzalar. Güvenli kullanımın hedefi, imzayı zorlaştırmak değil; doğru şeye imza attığından emin olmaktır.
SSS
MetaMask sign tehlikeli mi?
Tek başına “sign” her zaman para kaybı demek değildir; çoğu zaman adres sahipliğini kanıtlamak için kullanılır ve zincire işlem yazmaz. Risk, neyi imzaladığını anlamadığında başlar: Kötü niyetli siteler “giriş imzası” gibi gösterip yetki doğurabilecek akışlara yönlendirebilir. Domain kontrolü, imza içeriğini okuma ve şüpheli durumlarda imzayı reddetme en pratik savunmadır.
Approve ile sign farkı nedir?
Sign çoğu senaryoda off-chain bir mesaj imzasıdır; gas ödemezsin ve zincirde işlem oluşmaz. Approve ise on-chain bir yetkilendirmedir: Bir sözleşmeye token’ını harcama izni verirsin ve bu izin kötüye kullanılırsa token kaybına yol açabilir. Approve ekranında “spend limit/allowance” görürsün; bu detay görünüyorsa daha dikkatli olman gerekir.
Token izinleri (allowance) nasıl yönetilir, revoke nedir?
Allowance, bir sözleşmenin belirli token’larını belirli limite kadar harcayabilme yetkisidir. Revoke, bu yetkiyi sıfırlamak ya da azaltmaktır. Pratikte iyi bir rutin: İşin bitince allowance’ı azaltmak, sınırsız izinlerden kaçınmak ve düzenli aralıklarla izin kontrolü yapmaktır. Bu sayede geçmişte bağlandığın protokollerden doğabilecek riskleri küçültürsün.
Cüzdanı bir dApp’e bağlamak (connect wallet) tek başına güvenli mi?
Connect genellikle adresini okumaya izin verir; tek başına para transferi yapmaz. Yine de “bağlandığın yer” önemlidir çünkü sonraki adımda imza/approve isteyebilir. Sahte domainler connect ile güven kazanıp sonra imza tuzağı kurar. Bu yüzden connect anında bile siteyi doğrulamak iyi bir alışkanlıktır.
Seed phrase ile private key farkını bilmek neden hayat kurtarır?
Seed phrase, birden çok hesabın anahtarlarını türetebilen kök yedektir; ele geçirilirse cüzdanındaki tüm hesaplar risk altına girer. Private key ise tek bir hesabın imza anahtarıdır. Seed phrase’in değeri daha “geniş” olduğu için saklama standardı da daha yüksek olmalı: offline tutmak, dijital kopya oluşturmamak ve kimseyle paylaşmamak temel kuraldır.
İç Linkler
- Bitcoin Nedir (2025)
- Halving
- Bitcoin Kaç TL
- Stablecoin
- Altcoin
- İngiltere Kripto Düzenlemesi 2027
- HashKey IPO
- Hot vs Cold Wallet
- Seed Phrase
- Dolandırıcılıklar Sözlüğü
⚠️ Önemli Not: Bu içerik genel bilgilendirme amaçlıdır. Yatırım tavsiyesi değildir. Burada yer alan hiçbir ifade “al / sat / tut” önerisi değildir. Kripto varlıklar yüksek risk ve volatilite içerir; karar almadan önce kendi araştırmanızı yapın ve gerekirse lisanslı bir uzmana danışın. Tüm kararlar sizin sorumluluğunuzdadır...
0 Yorum
Yorum Gönder
Yorumunuz onay sürecinden geçtikten sonra yayınlanacaktır, lütfen bunu düşünerek argo kelime içermeyen yorumlar gönderin.