Yazımızda Bitcoin Private Key'in ne olduğunu ve hacklenme ihtimalini inceledik

Bitcoin Private Key nedir? Hacklenebilir mi?

Private Key (Özel anahtar), Bitcoin'leri harcayabilmek için gerekli olan özel anahtardır. Her Bitcoin cüzdanının bir veya birden fazla özel anahtarı olabilir. Her özel anahtar, cüzdan adresleriyle matematiksel olarak ilişkili olarak üretilir.

Özel anahtarlar, Bitcoin harcamak için gerekli olduğu için güvenilir ortamlarda saklanılması gereklidir. Bir BTC adresinizin özel anahtarı birileri tarafından bilinirse, hangi cüzdanı kullandığınız ve o cüzdanda ne gibi güvenlik önlemleri aldığınızın pek bir anlamı kalmıyor. 

Özel anahtarlar 256-bit sayı formatında oluşturulur.  0-9 ve A-F aralığındaki karakterler ile rastgele oluşturulur. Neredeyse her 256-bitlik bir sayı, geçerli bir ECDSA özel anahtarıdır. Spesifik olarak, herhangi bir 256 bit numarası 0x1'den 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 geçerli bir özel anahtardır.

Örnek bir Bitcoin özel anahtarı (64 Karakter | 0-9 ve A-F),

E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262

HD (Hierarchical Deterministic) cüzdan özel anahtarları

Bazı cüzdanlar BIP 32 teknolojisini kullanabilir ve bu cüzdanlar da HD cüzdanlar olarak adlandırılır. BIP32 ile oluşturulan adresler bir önceki adresten türetilir ve kullanıcılar her cüzdan adresi için özel anahtarını yedekleme gereği duymaz. HD cüzdanlar için özel anahtarlar 256-bit özel anahtar ve 256-bit zincir kodundan oluşur. Toplamda 512-bitlik bir özel anahtar oluşturulur.

HD cüzdanlar şiddetle kullanılması tavsiye edilen cüzdanlardandır. Bu cüzdanlarda alınan tek bir kurtarma ifadesi ile bütün adreslerinizdeki bakiyenizi yedekleme/kurtarma imkanınız bulunur.

Private Key hacklenebilir mi?

Yukarıda örnekte bir özel anahtar vermiştik. Bu özel anahtar belirli bir Bitcoin adresine ait. İçerisinde 100 bin BTC bulunan bir Bitcoin adresini ele geçirmek için örnekteki gibi, bu adres ile eşleşen özel anahtarı bulmanız yeterli olacaktır. Ancak bu mümkün mü?

Sorunun cevabı teorik olarak mümkün. Ancak imkan olarak baktığımız zaman ise ne yazık ki mümkün değil. Çoğu hesaplamalara göre bir Bitcoin adresinin özel anahtarını bulmak için, dünyanın yaşından daha fazla bir zamana ihtiyaç var. Gelin bir örnek yapalım ve olayı iyice kavrayalım.

Yazılımla birlikte rastgele değil de, sıfırdan başlayarak bütün özel anahtarları çıkaran bir program geliştirelim. Bunun için ise kendimize maske olarak aşağıdaki 64 karakterlik özel anahtar örneğini ele alalım.

000000000000000000000000000000000000000000000000000000000000000

Yukarıdaki geçerli bir özel anahtardır, belki de yüz yıllar sonra bu kullanılan bir Bitcoin adresine işaret edebilir. Biz 0'dan başlayarak 9'a kadar, sonra da A'dan başlayarak F'ye kadar özel anahtarlar oluşturalım.

00000000000000000000000000000000000000000000000000000000000000{1} burada süslü parantez içerisine aldığımız kısımda sadece 16 olasılık var. Yani süslü parantez içerisi 0'dan 9'a artarak ve sonra da sırayla A ile F arasında karakterleri deneyecek. Daha sonra ise bir önceki basamağa kayarak aynı olasılıkları tekrar ve tekrar deneyecek.

000000000000000000000000000000000000000000000000000000000000{1}00 burada süslü parantezi sadece 3 basamak geriye kaydırdık ve şimdi buradaki olasılığı hesaplayalım. Süslü parantezden sonra, ilk olarak son basamaklar yine 0-9 ve A-F ile artırılacak. Yani ...000000{1}0F formatında bir oluşum olacak. Daha sonra bir geriye kayacak bu sefer, süslü parantezden sonraki sayı 1 artıracak (veya A-F harfleri) ve son basamak tekrar oluşturulacak. Sadece son üç basamaktaki olasılık bile 16*16*16 (16 karakter olduğu için) 4096 olasılık var. Ve sadece bunu özel anahtarın son 3 hanesinden hesapladık. 

Yani teorik olarak mümkün olsa da, kullanılan bir Bitcoin adresinin özel anahtarı "brute force" yöntemiyle kırılması 0.000000000001%'lik oranda bir yüzdeye sahip. 

Arkadaşlarınla paylaş