Bitcoin veya herhangi bir kripto parayı alıp satmak isteyen kullanıcılar, cüzdan adı verilen yazılımları kullanarak işlem yapmak zorundadır. Her cüzdanın benzersiz bir adresi bulunur ve bu adresler matematiksel olarak rastgele elde edilir. Peki kripto para cüzdan adresleri tam olarak nasıl oluşur ve her adres birbirinden nasıl farklı olabilmektedir? Gelin bu konuyu Bitcoin cüzdanları üzerinden açıklayalım.
Kripto para cüzdanları private (özel) ve public (açık) anahtarlardan oluşur. Kripto para kullanıcıları bu anahtarlar sayesinde blockchain üzerinde sorunsuzca işlem yapabilirler.
Cüzdanlar aracılığıyla yapılan işlemlerde kullanılan adres, 26-35 karakter arasında değişen rakam ve harflerden meydana gelir. Bu adresleri kullanıcılar kendileri oluşturabilmektedir.
Bitcoin adresleri ve anahtarları
Bitcoin cüzdanına para transferi yapılmasını sağlayan anahtar public key olarak adlandırılır. Public key ile Bitcoin cüzdanına kullanıcının kendisi ya da başkası BTC gönderebilir. Kişinin kendi cüzdanından başka bir yere Bitcoin gönderebilmesi için ise private key’e ihtiyacı vardır. Bu anahtar, 256 bit’lik gizli bir koddur ve güvenli bir şekilde saklanması gerekir.
Özel anahtar (private key): Kişinin kendi cüzdanından başka bir cüzdana para transfer etmesini sağlayan, 32 byte ve 256 bitlik gizli anahtar kişiye özeldir ve güvenli bir şekilde saklanmalıdır.
Açık anahtar (public key): Bitcoin cüzdanına para transfer edilmesini sağlayan anahtar. Kredi kartı numarası ya da IBAN’a benzetilebilir.
Bitcoin cüzdan adresi: Açık anahtarın iki kere hash işlemine tabi tutulmasıyla elde edilir.
Bitcoin anahtarları nasıl çalışır?
Public ve private key arasında matematiksel bir ilişki vardır. Bu anahtarlar matematikte secp256k1 eğrisi olarak geçen, ECDSA olarak da adlandırılan bir eğri üzerinde oluşturulur.
Private key, bu eğride bulunan rastgele sayılar üzerine çizilmiş bir eğriden meydana gelir. Public key, oluşan eğri üzerinde bulunan bir noktayı temsil eder. Anahtarların gizlilik ve güvenlik konusunda büyük bir avantaja sahip olmasını tam olarak bu eğri sağlar.
Özel anahtarlar açık anahtarları yaratır. Açık anahtarlar cüzdan adreslerini yaratır. Bu adresler açık anahtarlara dönüştürülemez. Ayrıca açık anahtarlar da özel anahtarlara dönüştürülemez. Matematiksel olarak bu imkansızdır. Bitcoin cüzdanları, bu özelliğiyle güvenlik sağlar.
Bir Bitcoin cüzdanı oluşturulurken öncelikle özel anahtar belirlenir. Oluşan özel anahtar, Bitcoin blockchain ağı kuralları gereğince 2 kere hash işleminden geçer. Hash, blockchain ağında yapılan şifreleme işleminin adıdır. Bitcoin’in tanımlanmış 2 hash fonksiyonu bulunur. Bunlar SHA256 ve RipeMD160 algoritmalarıdır.
Özel anahtarın iki kere hash’e uğramasıyla oluşan daha küçük boyutlu ve kısa adresler, özel anahtara olan erişimi üst düzey güvenlik sağlayarak engellemiş olur. Cüzdanlar arası işlemlerde açık anahtar yerine hash algoritmasıyla işlem görerek küçültülmüş olan adresler kullanılır.
Bitcoin’in özel anahtar boyutu 2^256 gibi çok büyük bir sayıdır. Ondalık değeri yaklaşık 10^77‘dir. Bunun ne kadar büyük bir sayı olduğunu anlatmak için görünür evrenin tahminen 10^80 atom içerdiğini söyleyebiliriz. Aşağıdaki hash algoritmaları ise özel anahtar boyutunu küçültürken aynı zamanda anahtarları daha güvenli hale getirir:
SHA256 algoritması: 32 bytes = 256 bits = 2^256 = ~10^77
RipeMD160 = 20 bytes = 160 bits = 2^160 = ~1.5×10^48
Blockchain, kullanıcıların açık anahtarlarını depolamaz. Onun yerine public key hash’leri depolar. Böylece private key’e erişim tamamen engellenir.
Herkes bitcoin cüzdan adresi üretebilir
Cüzdan yazılımı, bünyesinde adres ve anahtarları oluşturmak üzere bir yazılım barındırır. Bitcoin’in güvenliği, çeşitli rakam ve harflerden oluşan her bir anahtarın iki kere üretilemeyeceği varsayımı üzerinde şekillenir. Cüzdan adresini oluşturmak için öncelikle özel anahtar oluşturulması gerekir. Bitcoin cüzdan yazılımı, kullanıcıların cüzdan dosyasını, adresini ve anahtarlarını oluşturur.
Yazılım içerisinde yer alan özel bir bölüm sayesinde çok büyük olan ve rastgele belirlenmesi gereken özel anahtarlar bu bölüm aracılığıyla üretilir. Bu sayede her kullanıcının cüzdan ve anahtar adresleri birbirinden farklı olur.
Bitcoin ağında üç adres formatı bulunur:
P2PKH: Bu adresler ‘1’ ile başlar. Örnek: 1KwBRs6CioGM2pFdzQsxyrSZ9ynJQr7Amd
P2SH: Bu adresler ‘3’ ile başlar. Örnek: 3DnW8JGpPViEZdpqat8qky1zc26EKbXnmM
Bech32(SegWit): Bu adresler ‘bc1’ ile başlar. Örnek: bc1qngw83fg8dz0k749cg7k3emc7v98wy0c74dlrkd
Sizin adresiniz neyle başlıyor?
Bir Bitcoin anahtarı oluşturmak, 1 ile 2^256 arasında bir sayı seçmekle aynıdır. Bu sayıyı seçmek için kullandığınız yöntem, oluşacak sayı tahmin edilebilir veya tekrarlanabilir olmadığı sürece önem teşkil etmez. Bitcoin ağında 256 bitlik bir sistem kullanılır ve sistemde rastgele sayı üreten yazılımlar kullanılır. Çevrim içi cüzdan sitelerinde veya kripto para borsalarında cüzdan adresi oluşturulabilir. Bazı web siteleri, kolaylıkla cüzdan oluşturulmasını sağlar. Örneğin, bitaddress.org‘da farenizi birkaç kere oynatarak saniyeler içinde cüzdan adresi oluşturabilirsiniz.
Uyarı: Web siteleri üzerinde cüzdan adresi oluştururken donanım cüzdanı gibi anahtarlarınızı koruma altına alabileceğiniz cihazlardan işlem yapmalısınız. Aksi halde üreteceğiniz adres saldırılara açık olacaktır.
Bitcoin’in ‘köken’ (Genesis) adresi olarak bilinen adres 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa: ilk 50 BTC’ilk madencilik ödülünün alıcı adresi.
Herkes bilgisayarında sınırsız sayıda kripto para cüzdanı oluşturabilir. Fakat bu cüzdanlara kripto para transfer edilene kadar oluşturulan cüzdanların varlığı hiçbir şekilde bilinemez. Bir diğer deyişle, hiçbir işleme maruz kalmayan cüzdanlar var olarak kabul edilmez. Var olmayan bir adrese kripto para transfer ederseniz, gönderdiğiniz para kaybolacaktır. Ancak eğer birisi kripto paranın gönderildiği o cüzdan adresini bir şekilde yaratabilirse o zaman paraya erişilebilir.
İlk bitcoin cüzdanı 2009’da Satoshi tarafından oluşturuldu
İlk bitcoin cüzdanı, ağ ile senkronize işlem yapabilmek için tüm blockchain geçmişinin bilgisayara indirilmesini zorunlu kıldı. Vitalik Buterin, 2012 yılında bu cüzdan için “Full node olduğu için 6 GB’lık blockchain ağının tamamını indirmesi gerekiyordu. Node’un ilk defa çalıştırılması günler alırken tekrar çalıştırılması birkaç saat sürebilir.” dedi.
Aktarılanlara göre, Satoshi Nakamoto Bitcoin protokolünü geliştirirken ilk BTC cüzdanını hazırlıyordu. Bitcoin-Qt olarak adlandırılan ilk cüzdan, Şubat 2009’da piyasaya çıktı. Cüzdana dair adres ve anahtar verileri, kullanıcıların bilgisayarlarında bulunan dosyalarda saklanıyordu. Bu dosyanın silinmesi cüzdandaki her şeyin kaybolması anlamına gelirken kötü amaçlı yazılımlar nedeniyle birçok kişinin BTC kaybetmesine yol açtı.
İlk Bitcoin cüzdanının ardından ortaya kullanımı daha pratik ve güvenli cüzdanlar çıktı. Bitcoin kullanıcıları paralarını bunları kullanarak güvence altına alabiliyorlar. Kripto paralar için dijital cüzdan teknolojisi gelişmeye devam ediyor.