

Genel anahtar (public key), kullanıcının hesabına kripto para transfer edilebilmesini mümkün kılan bir tür şifreleme kodudur. Özel anahtar (private key) ile birlikte genel anahtar, kripto ekonomisinin güvenliğini sağlamak için gerekli araçlardır.
Bir kullanıcı Bitcoin ya da altcoin’lerle ilk işlemini başlattığında, benzersiz bir ortak anahtar ve özel anahtar çifti oluşturulur. Anahtarların her biri, kullanıcının varlıklarını dijital ekosistemde güvende tutmaya yardımcı olan uzun bir alfanümerik karakter dizisidir.
Özel anahtar yalnızca kullanıcı tarafından bilinir ve kullanıcının dijital kimliği olarak işlev görür. Özel anahtar, kullanıcıya hesabından başka bir işlem yapması, geri çekmesi, aktarması veya gerçekleştirmesi için yetki verir. Genel anahtarı oluşturmak için özel anahtara karmaşık bir algoritma uygulanır ve her iki anahtar da dijital bir cüzdanda saklanır.
Özel anahtarın imzası özel anahtarın sahipliğini kanıtlar. Ortak anahtar özel anahtar kullanılarak oluşturulduğundan, dijital imzanın özel anahtarından geldiğini kanıtlamak için kullanıcının ortak anahtarı kullanılır. İşlem geçerli olarak doğrulandıktan sonra, transfer edilecek tutar alıcının genel adresine gönderilir.
Genel adres, genel anahtarın karma bir sürümüdür. Ortak anahtar son derece uzun bir sayı dizesinden oluştuğundan, genel adresi oluşturmak için sıkıştırılır ve kısaltılır. Gerçekte, özel anahtar, genel adresi oluşturan genel anahtarı oluşturur. İki kişi, bir kripto para transferi için bir anlaşmaya vardıktan sonra, genel adreslerini birbirlerine gösterirler.
Genel adres bir banka hesap numarası gibidir. Gönderenin parayı alıcıya gönderebilmesi için bu numaraya ihtiyacı vardır. Böylelikle alıcı daha sonra özel anahtarıyla gönderilen kripto parayı harcayabilir veya çekebilir.
Public key nasıl oluşturulur?
Public key, private key’den tek yönlü matematiksel işlemle üretilir. Sonuçtan başlangıca geri dönmek hesaplama açısından imkansızdır. Bu da sistemi güvenli kılan temel özelliktir. Oluşturma zinciri şöyledir: Private key → Public key → Cüzdan adresi.
Bitcoin ve Ethereum, bu işlem için Eliptik Eğri Kriptografisi (Elliptic Curve Cryptography, ECC) kullanır. Özelde ise secp256k1 adlı eğri tercih edilir. Private key, bu eğri üzerindeki bir noktayla çarpılarak public key elde edilir. Matematikteki Ayrık Logaritma Problemi (Discrete Logarithm Problem) nedeniyle bu işlemin tersi, mevcut bilgisayarların gücüyle çözülemez.
Sonuç olarak private key’iniz 256 bitlik büyük bir sayıdır. Public key ise secp256k1 eğrisi üzerinde bu sayıya karşılık gelen bir noktadır.
Cüzdan adresi ile public key aynı şey mi?
Hayır, aynı şey değildir. Cüzdan adresi, public key’in özetlenmiş ve kısaltılmış halidir. Public key uzun bir karakter dizisi olduğundan paylaşımı kolaylaştırmak için önce SHA256 + RIPEMD160 işlemleriyle hash’lenir. Ardından Base58Check kodlamasından geçirilerek cüzdan adresine dönüştürülür.
Bu süreç bir örnek üzerinden daha iyi anlaşılabilir. Public key yüz haneli bir telefon numarası, cüzdan adresi ise o numaranın kısaltılmış hız aramasıdır. İkisi aynı hedefe ulaşır; ancak format farklıdır.
Bir diğer şekilde MetaMask gibi cüzdan uygulamalarında “Receive” (Al) butonuna bastığınızda görünen adres, aslında public key’inizin hash’lenmiş türevidir. Birine bu adresi vermek, public key bilgisi paylaşmakla eşdeğerdir.
Public key’i paylaşmak güvenli mi?
Evet, public key paylaşmak güvenlidir. Bunu yapabilmek, asimetrik şifrelemenin tasarım gereğidir. Public key yalnızca iki şey için kullanılır: kripto para gönderilmesi ve dijital imzaların doğrulanması. Cüzdanı kontrol etmek veya para harcamak için private key gerekir; public key bu yetkiyi vermez.
Aynı şekilde Public key çalınırsa para kaybı olmaz. Public key’i bilen biri yalnızca para gönderebilir ancak hesaba erişemez, işlem başlatamaz, para harcayamaz. Tehlike, her zaman private key ve seed phrase tarafındadır.
Public key ile private key farkı nedir?
İki anahtar aynı matematiksel kökten gelse de görevleri ve güvenlik gereksinimleri tamamen farklıdır. Paylaşım açısından public key serbestçe herkesle paylaşılabilirken private key asla paylaşılmamalıdır. Görev olarak public key transfer almak ve dijital imzaları doğrulamak için kullanılır. Private key ise işlem imzalamak ve cüzdanı kontrol etmek için gereklidir.
Benzerlik bakımından public key bir IBAN numarasına, private key ise banka şifresine ya da kasa anahtarına benzetilebilir. Kayıp durumunda ise fark daha da belirginleşir. Public key’i kaybeden biri, private key’den her zaman yeniden üretebilir. Ancak private key kaybolursa cüzdandaki varlıklara bir daha erişmek mümkün olmaz.
Kripto para transferi nasıl gerçekleşir?
Bir kripto para transferinde public key ve private key birbirini tamamlayan roller üstlenir. Asimetrik şifreleme sayesinde bu süreç, merkezi bir otoriteye ihtiyaç duymadan çalışır ve ağdaki herkes işlemi doğrulayabilir.
İşlemin adımları şöyle özetlenebilir:
- Gönderici işlemi hazırlar: Alıcının cüzdan adresini ve miktarı belirler.
- Private key ile imzalama: Gönderici, kendi private key’ini kullanarak işlemi dijital olarak imzalar. Bu imza, private key’in içeriğini açıklamadan sahipliği kanıtlar.
- Ağa yayın: İmzalanan işlem blokzincir ağına iletilir.
- Public key ile doğrulama: Ağdaki düğümler (node’lar), göndericinin public key’ini kullanarak imzanın doğruluğunu denetler.
- Onay ve kayıt: Doğrulama başarılı olursa işlem blok denilen yapıya eklenir ve kalıcı hale gelir.
Public key nerede görünür?
Günlük kullanımda public key’e doğrudan değil, ondan türetilen cüzdan adresi üzerinden ulaşılır. Çoğu cüzdan uygulaması bu süreci otomatik yönetir.
MetaMask gibi web cüzdanlarında hesap adına tıkladığınızda kopyaladığınız uzun karakter dizisi, public key’inizin hash’lenmiş halidir. Donanım cüzdanı kullananlar için de aynı durum geçerlidir. Cihaz ekranında veya yönetim arayüzünde görünen adres, public key’in türevi olan cüzdan adresidir.
Bazı gelişmiş cüzdan uygulamaları “Extended Public Key” (xPub) formatını da gösterir. Bu format, birden fazla cüzdan adresini tek bir public key’den üretme imkânı tanır ve özellikle donanım cüzdanlarında izleme amaçlı kullanılır.
