yazmayayım diyorum da hocam. bana internetten araştırıp araştırıp cevap vermeyin.
Aşama-1 :
48 milyar deneme demek 48.000.000.000 yani = 48 x 10^9 bu sayıya da 4.8 x 10^10 olarak aldık.
Aşama- 2:
2^67 sayısı da =147.573.952.589.676.412.928 bu sayıyı da 1.475×10^20
Aşama-3:
1.475×10^20 / 4.8 x 10^10 = 3.072×10^9 bu sayıyı da genişletelim 3.072.000.000 sayısını buluruz.
(bu bulduğumuz sayı bizim 2^67'nin, saniyede 48 milyar denemede geçecek zamanı. saniye cinsinden değerimiz)
Aşama-4:
Bir yılda 31.556.926 saniye var toplamda. 3.072.000.000 / 31.556.926 yaptığımızda = 97,347
Sonuç:
Yani 97 yıl.
Hangi mantıkla 48 yıl diyorsunuz. Her okuduğunuza inanmayın. Bakın buraya kadar ki kısmı genel bilgiydi. Şimdiki yazacaklarımda işin püf noktası.
Bitcoinin private key'i oluşturulurken; 2^256 −2^32 −977 ile alınır. daha buna versiyon baytı, sıkıştırma baytını ekleyeceğiz.
sonra sha256 ekleyeceğiz doğrulma, buna da checksum diyelim.
private key = privatekey + checksum(sha256) (bu kısım kodlarda yok.)
Privatete keyimizi de dönüştürüyoruz =privatekey(Base58)
örnekte ki kod da .import base58 kütüphanesi ve import ecdsa olduğu için ham private arıyoruz.
sk = ecdsa.SigningKey.from_string(private_key, curve=ecdsa.SECP256k1)
kodunda da public key satırlarınız. neyse uzatmıyorum.
ilk başta söylediğimi tekrar söylüyorum. bu kolar bir işe yaramaz. sadece boşa zaman geçirmektir. eğiticimi evet çok eğitici. ama işe yararmı hayır. tekrar ediyorum. işe yaramaz.
hashlerle ilgili benim şu videomuda izleyebilirsiniz
https://www.youtube.com/watch?v=2kjvaOGZwtc&t=1087ssaygılar