Bitcoin Forum
May 06, 2024, 10:59:27 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 »
  Print  
Author Topic: Bitcoin; Algoritma Üzerine Yöntemler  (Read 33229 times)
PHI1618
Legendary
*
Offline Offline

Activity: 1554
Merit: 1334



View Profile
June 27, 2019, 11:23:57 AM
Last edit: June 27, 2019, 12:57:55 PM by PHI1618
 #381

Arkadaşlar merhaba.
12 veya 24 kelimelik bir seed'in üretebileceği Ethereum adreslerini nasıl tarayabilirim?
Teorik olarak 12 veya 24 kelimelik seed sonsuz sayıda adres mi üretir?
Bana danışan bir kişi Ledger Nano S'ten 24 kelimelik seed ürettiğini, bu seed'in ürettiği eth cüzdanına (Ledger Live'dan aldığı eth adresine) eth gönderdiğini ama sonra ulaşamadığını söylemekte.
Merak ettiğim konu şu, 24 kelimelik seed'in ürettiği cüzdanlar bize hangi sırayla gösteriliyor? Ledger ya da başka bir donanım cüzdan hangi sıraya göre bu cüzdanları gösteriyor? Bu donanım cüzdan boş cüzdanları gösteriyor olabilir mi? Asıl eth'lerin olduğu cüzdan'a ulaşma imkanımız nedir?

Elimizde olanlar;
Eth'lerin olduğu adres
24 kelimelik seed

İstediğimiz;
Bu adresin priv key'i.

Bu konuda yardımcı olabilecek kimse var mı acaba?

"Damnant quod non intelligunt." Anlamadıkları şeyi suçlarlar. BTC
1715036367
Hero Member
*
Offline Offline

Posts: 1715036367

View Profile Personal Message (Offline)

Ignore
1715036367
Reply with quote  #2

1715036367
Report to moderator
1715036367
Hero Member
*
Offline Offline

Posts: 1715036367

View Profile Personal Message (Offline)

Ignore
1715036367
Reply with quote  #2

1715036367
Report to moderator
In order to achieve higher forum ranks, you need both activity points and merit points.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715036367
Hero Member
*
Offline Offline

Posts: 1715036367

View Profile Personal Message (Offline)

Ignore
1715036367
Reply with quote  #2

1715036367
Report to moderator
1715036367
Hero Member
*
Offline Offline

Posts: 1715036367

View Profile Personal Message (Offline)

Ignore
1715036367
Reply with quote  #2

1715036367
Report to moderator
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
June 27, 2019, 02:27:15 PM
 #382


1. adresleri saklıyor musun?
2. minikey olayını unutmuştum ona bakayım  Grin


1. adresleri saklamıyorum çok çok fazla veri oluşuyor.
2. Mini key olayında aranan aralık baya bir düşüyor. tabi mevcutta minikeyler de saklı bitcoin miktarıda düşüyor bunuda unutmamak lazım... bunun dışında her minikey e ait bir private key atandığı için... bilinen minikeyler de ki btc ler dışında da bitcoine denk gelme olasılığı var.
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
June 27, 2019, 02:35:12 PM
 #383

Arkadaşlar merhaba.
12 veya 24 kelimelik bir seed'in üretebileceği Ethereum adreslerini nasıl tarayabilirim?
Teorik olarak 12 veya 24 kelimelik seed sonsuz sayıda adres mi üretir?
Bana danışan bir kişi Ledger Nano S'ten 24 kelimelik seed ürettiğini, bu seed'in ürettiği eth cüzdanına (Ledger Live'dan aldığı eth adresine) eth gönderdiğini ama sonra ulaşamadığını söylemekte.
Merak ettiğim konu şu, 24 kelimelik seed'in ürettiği cüzdanlar bize hangi sırayla gösteriliyor? Ledger ya da başka bir donanım cüzdan hangi sıraya göre bu cüzdanları gösteriyor? Bu donanım cüzdan boş cüzdanları gösteriyor olabilir mi? Asıl eth'lerin olduğu cüzdan'a ulaşma imkanımız nedir?

Elimizde olanlar;
Eth'lerin olduğu adres
24 kelimelik seed

İstediğimiz;
Bu adresin priv key'i.

Bu konuda yardımcı olabilecek kimse var mı acaba?

Daha önceki mesajlarda bitcoin için bir kod paylaşmıştım... o kodu eth için düzenleyip tarayabilirsiniz... bir txt dosyasında oluşturduğunuz seed leri satır satır ekleyip isterseniz yerelde isterseniz de etherscan.io da tarayabilirsiniz...
anltokc
Newbie
*
Offline Offline

Activity: 25
Merit: 2


View Profile WWW
June 27, 2019, 08:47:29 PM
 #384

Arkadaşlar merhaba.
12 veya 24 kelimelik bir seed'in üretebileceği Ethereum adreslerini nasıl tarayabilirim?
Teorik olarak 12 veya 24 kelimelik seed sonsuz sayıda adres mi üretir?
Bana danışan bir kişi Ledger Nano S'ten 24 kelimelik seed ürettiğini, bu seed'in ürettiği eth cüzdanına (Ledger Live'dan aldığı eth adresine) eth gönderdiğini ama sonra ulaşamadığını söylemekte.
Merak ettiğim konu şu, 24 kelimelik seed'in ürettiği cüzdanlar bize hangi sırayla gösteriliyor? Ledger ya da başka bir donanım cüzdan hangi sıraya göre bu cüzdanları gösteriyor? Bu donanım cüzdan boş cüzdanları gösteriyor olabilir mi? Asıl eth'lerin olduğu cüzdan'a ulaşma imkanımız nedir?

Elimizde olanlar;
Eth'lerin olduğu adres
24 kelimelik seed

İstediğimiz;
Bu adresin priv key'i.

Bu konuda yardımcı olabilecek kimse var mı acaba?

Daha önceki mesajlarda bitcoin için bir kod paylaşmıştım... o kodu eth için düzenleyip tarayabilirsiniz... bir txt dosyasında oluşturduğunuz seed leri satır satır ekleyip isterseniz yerelde isterseniz de etherscan.io da tarayabilirsiniz...


Öncelikle saygılarımı sunuyorum, bu projeye katılan her değerli arkadaşıma. Ben aylardır projeyi yakından gün ve gün takip etmekteyim. Genellikle arka planda rol almayı uygun gördüğüm için pek katılmak nasip olmadı diyelim. Nacizane tavsiyem, projeyi genişletip. Sadece bitcoin olarak sorgulatmak yerine,"BCH,BTG,BSV" olarak genişletmenizdir. Böyle ilerlemek size büyük havuzda balık sayısını arttıracaktır. Herkese kolay gelmesi dileklerim ile.
Blacknavy
Legendary
*
Offline Offline

Activity: 1218
Merit: 1291


View Profile
June 27, 2019, 10:03:57 PM
 #385

Arkadaşlar merhaba.
12 veya 24 kelimelik bir seed'in üretebileceği Ethereum adreslerini nasıl tarayabilirim?
Teorik olarak 12 veya 24 kelimelik seed sonsuz sayıda adres mi üretir?
Bana danışan bir kişi Ledger Nano S'ten 24 kelimelik seed ürettiğini, bu seed'in ürettiği eth cüzdanına (Ledger Live'dan aldığı eth adresine) eth gönderdiğini ama sonra ulaşamadığını söylemekte.
Merak ettiğim konu şu, 24 kelimelik seed'in ürettiği cüzdanlar bize hangi sırayla gösteriliyor? Ledger ya da başka bir donanım cüzdan hangi sıraya göre bu cüzdanları gösteriyor? Bu donanım cüzdan boş cüzdanları gösteriyor olabilir mi? Asıl eth'lerin olduğu cüzdan'a ulaşma imkanımız nedir?

Elimizde olanlar;
Eth'lerin olduğu adres
24 kelimelik seed

İstediğimiz;
Bu adresin priv key'i.

Bu konuda yardımcı olabilecek kimse var mı acaba?

Bunu yaşadım ve çözebilirim.

BIP39’da farkli external ve accountları tek tek tarayacaksınız, BTC’mi 2 sene sonra kurtardım.

https://bitcointalk.org/index.php?topic=2411808.msg24663078#msg24663078

https://www.blockchain.com/btc/address/15We4LGzVgZP9atT8W8sPSWR15LwwFXtj6

Eğer kaybolan ETH miktari yuksek değilse ve bana güvenirse kurtarabilirim.

ETH miktari yüksekse BIP39’da

External 0
Account 0

External 0
Account 1

External 0
Account 2

External 0
Account 3

External 1
Account 0

External 1
Account 1

External 1
Account 2

Kısacası kombinasyon işlemi yapacak, ayrıca 20 rows yazan yeri 500 yapsın
PHI1618
Legendary
*
Offline Offline

Activity: 1554
Merit: 1334



View Profile
June 28, 2019, 07:10:47 AM
 #386

Arkadaşlar merhaba.
12 veya 24 kelimelik bir seed'in üretebileceği Ethereum adreslerini nasıl tarayabilirim?
Teorik olarak 12 veya 24 kelimelik seed sonsuz sayıda adres mi üretir?
Bana danışan bir kişi Ledger Nano S'ten 24 kelimelik seed ürettiğini, bu seed'in ürettiği eth cüzdanına (Ledger Live'dan aldığı eth adresine) eth gönderdiğini ama sonra ulaşamadığını söylemekte.
Merak ettiğim konu şu, 24 kelimelik seed'in ürettiği cüzdanlar bize hangi sırayla gösteriliyor? Ledger ya da başka bir donanım cüzdan hangi sıraya göre bu cüzdanları gösteriyor? Bu donanım cüzdan boş cüzdanları gösteriyor olabilir mi? Asıl eth'lerin olduğu cüzdan'a ulaşma imkanımız nedir?

Elimizde olanlar;
Eth'lerin olduğu adres
24 kelimelik seed

İstediğimiz;
Bu adresin priv key'i.

Bu konuda yardımcı olabilecek kimse var mı acaba?

Bunu yaşadım ve çözebilirim.

BIP39’da farkli external ve accountları tek tek tarayacaksınız, BTC’mi 2 sene sonra kurtardım.

https://bitcointalk.org/index.php?topic=2411808.msg24663078#msg24663078

https://www.blockchain.com/btc/address/15We4LGzVgZP9atT8W8sPSWR15LwwFXtj6

Eğer kaybolan ETH miktari yuksek değilse ve bana güvenirse kurtarabilirim.

ETH miktari yüksekse BIP39’da

External 0
Account 0

External 0
Account 1

External 0
Account 2

External 0
Account 3

External 1
Account 0

External 1
Account 1

External 1
Account 2

Kısacası kombinasyon işlemi yapacak, ayrıca 20 rows yazan yeri 500 yapsın
Dün Bip39'la epey uğraştım fakat adresi bulamadım. Farklı derivation path'ler bile denedim hatta. Bi ara Ledger live'ın gösterdiği adresle Myetherwallet'ın gösterdiği adres farklıymış mesela, derivation path değiştirince düzelmiş. Onu denedim mesela çözüm olmadı.
More rows kısmından 5k kadar adres bile ürettim, yok Smiley


Ekleme:
Zaten external ve account kısmı bahsettiğim derivation path olayı. Ama bahsettiğin gibi çok alternatif denememiştim. Bugün müsait olunca deneyeyim.

"Damnant quod non intelligunt." Anlamadıkları şeyi suçlarlar. BTC
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
June 29, 2019, 07:36:45 AM
 #387

sorunu tam olarak anlayamadım ama anladığıma cevap vermeye çalışırsam
wallet uygulamalarındaki veya donanımlarla birlikte size verilen kurtarma seedleri (12 15 18 24 kelimelik şifreler) bütünün kendisidir örneğin blockchain walletiniz de 21 tane adres var.... bu adreslerin minikeyleri, private key leri, brain, public keyleri, Bib39 Seed leri her birinin ki birbirinden farklıdır. Cüzdanınızın tamamının kurtarma şifresi ni diyelimki 12 kelimelik bir seed bunun adres dönüşümünü yaptığınız zaman size 21 tane adresten herhangi birini vermez isterseniz cüzdan içinde trilyonlarca adres oluşturun (yine bir olasılık meselesi verebilir şu anki bizim yapmaya çalıştığımız şey aslında bu olasılık tirilyonlarca adres yaratıp dolu olana veya kullanılmış olana denk gelmek) yine yakalayamazssınız... kısaca siz eğer cüzdanın şifresi ni biliyorsanız walletteki tüm coinleri kurtarırsınız... ama bu cüzdandaki 21 tane adresten sadece birinin mini keyi , private key i, brain keyi, public keyli veya Bib39 Seed  vs inden birine sahipseniz sadece o bir adresi çekersiniz... bu sonuçla  kurtarma seed inzle oluşturulmuş adres sizinle hiç bir alakası olmayan bir adrestir ve bakiyesi de sıfırdır Smiley
PHI1618
Legendary
*
Offline Offline

Activity: 1554
Merit: 1334



View Profile
June 30, 2019, 09:35:02 AM
 #388

Ben de şimdi sizin bahsettiğinizi anlayamadım Smiley

Ledger veya diğer donanım cüzdanlar ilk kurulumda 24 kelimelik seed veriyor ve her şeyin bu 24 kelimede olduğunu söylüyor.
Bu 24 kelime ile Ledger bana her bitcoin receive dediğimde farklı btc adresi veriyor.
Myetherwallet gibi bir siteye Ledger ile bağlandığım zaman bana onlarca binlerce eth adresi veriyor ve hepsini kullanabiliyorum, sonuçta hepsi sadece ve sadece bu 24 kelimeden oluşturulmuş cüzdanlar.
Ledger'ın 24 kelimeden ürettiği bir adrese eth atılmış ve daha sonra bu adresi göremiyor olabilir miyiz araştırdığımız konu bu.
Kaldı ki yukarıda Matthias bahsetmiş ve bu şekilde btc'lerine ulaşmış.

"Damnant quod non intelligunt." Anlamadıkları şeyi suçlarlar. BTC
mugt
Member
**
Offline Offline

Activity: 183
Merit: 35


View Profile
June 30, 2019, 10:21:08 AM
 #389

Ben de şimdi sizin bahsettiğinizi anlayamadım Smiley

Ledger veya diğer donanım cüzdanlar ilk kurulumda 24 kelimelik seed veriyor ve her şeyin bu 24 kelimede olduğunu söylüyor.
Bu 24 kelime ile Ledger bana her bitcoin receive dediğimde farklı btc adresi veriyor.
Myetherwallet gibi bir siteye Ledger ile bağlandığım zaman bana onlarca binlerce eth adresi veriyor ve hepsini kullanabiliyorum, sonuçta hepsi sadece ve sadece bu 24 kelimeden oluşturulmuş cüzdanlar.
Ledger'ın 24 kelimeden ürettiği bir adrese eth atılmış ve daha sonra bu adresi göremiyor olabilir miyiz araştırdığımız konu bu.
Kaldı ki yukarıda Matthias bahsetmiş ve bu şekilde btc'lerine ulaşmış.
"derivation path" ile yapıyor. bir nevi dişli mekanizması. giren değer sabit olduğu halde dişli sistemine göre farklı çıktı üretiyor. Neticede oluşturduğu adreslerde aralık içerisinde bir yerde. "derivation path"  farklı çeşitlerde olabiliyor. Aynı kelimelerin tekrarlı ve tekrarsız kullanımlarına göre farklı değerler üretmesi normal 2048x2047.. şeklinde değilde "run x24" şeklinde olduğunda farklı olacaktır. yada "run stop run stop" gibi Cheesy neticede keyler varsa olasılıkları tüm havuzu taramaya göre çok çok düşürüyorsunuz.
PHI1618
Legendary
*
Offline Offline

Activity: 1554
Merit: 1334



View Profile
June 30, 2019, 10:51:52 AM
 #390

Ben de şimdi sizin bahsettiğinizi anlayamadım Smiley

Ledger veya diğer donanım cüzdanlar ilk kurulumda 24 kelimelik seed veriyor ve her şeyin bu 24 kelimede olduğunu söylüyor.
Bu 24 kelime ile Ledger bana her bitcoin receive dediğimde farklı btc adresi veriyor.
Myetherwallet gibi bir siteye Ledger ile bağlandığım zaman bana onlarca binlerce eth adresi veriyor ve hepsini kullanabiliyorum, sonuçta hepsi sadece ve sadece bu 24 kelimeden oluşturulmuş cüzdanlar.
Ledger'ın 24 kelimeden ürettiği bir adrese eth atılmış ve daha sonra bu adresi göremiyor olabilir miyiz araştırdığımız konu bu.
Kaldı ki yukarıda Matthias bahsetmiş ve bu şekilde btc'lerine ulaşmış.
"derivation path" ile yapıyor. bir nevi dişli mekanizması. giren değer sabit olduğu halde dişli sistemine göre farklı çıktı üretiyor. Neticede oluşturduğu adreslerde aralık içerisinde bir yerde. "derivation path"  farklı çeşitlerde olabiliyor. Aynı kelimelerin tekrarlı ve tekrarsız kullanımlarına göre farklı değerler üretmesi normal 2048x2047.. şeklinde değilde "run x24" şeklinde olduğunda farklı olacaktır. yada "run stop run stop" gibi Cheesy neticede keyler varsa olasılıkları tüm havuzu taramaya göre çok çok düşürüyorsunuz.

Yukarıda Matthias'ın da benim de bahsettiğim şey derivation path'ler zaten. O şekilde bahsettiğiniz "düşürülmüş havuzdan" balık tutmaya benziyor yaptığım ama havuz yine de çok büyük.

"Damnant quod non intelligunt." Anlamadıkları şeyi suçlarlar. BTC
mugt
Member
**
Offline Offline

Activity: 183
Merit: 35


View Profile
June 30, 2019, 11:44:37 AM
 #391


1. adresleri saklıyor musun?
2. minikey olayını unutmuştum ona bakayım  Grin


1. adresleri saklamıyorum çok çok fazla veri oluşuyor.
2. Mini key olayında aranan aralık baya bir düşüyor. tabi mevcutta minikeyler de saklı bitcoin miktarıda düşüyor bunuda unutmamak lazım... bunun dışında her minikey e ait bir private key atandığı için... bilinen minikeyler de ki btc ler dışında da bitcoine denk gelme olasılığı var.
Peki taradığın aralıkları kaydediyor musun? 1 Milyardan, 1 Milyar 100 Bine kadar mesela? Birde iki tip adresi de kontrol ediyor musun?
Mini key için dediğin doğru en yakın zamanda bakacağım.

Yukarıda Matthias'ın da benim de bahsettiğim şey derivation path'ler zaten. O şekilde bahsettiğiniz "düşürülmüş havuzdan" balık tutmaya benziyor yaptığım ama havuz yine de çok büyük.
Havuz küçük olsa herkes girerdi  Grin 1feex için özellikle
PHI1618
Legendary
*
Offline Offline

Activity: 1554
Merit: 1334



View Profile
June 30, 2019, 05:03:16 PM
 #392


1. adresleri saklıyor musun?
2. minikey olayını unutmuştum ona bakayım  Grin


1. adresleri saklamıyorum çok çok fazla veri oluşuyor.
2. Mini key olayında aranan aralık baya bir düşüyor. tabi mevcutta minikeyler de saklı bitcoin miktarıda düşüyor bunuda unutmamak lazım... bunun dışında her minikey e ait bir private key atandığı için... bilinen minikeyler de ki btc ler dışında da bitcoine denk gelme olasılığı var.
Peki taradığın aralıkları kaydediyor musun? 1 Milyardan, 1 Milyar 100 Bine kadar mesela? Birde iki tip adresi de kontrol ediyor musun?
Mini key için dediğin doğru en yakın zamanda bakacağım.

Yukarıda Matthias'ın da benim de bahsettiğim şey derivation path'ler zaten. O şekilde bahsettiğiniz "düşürülmüş havuzdan" balık tutmaya benziyor yaptığım ama havuz yine de çok büyük.
Havuz küçük olsa herkes girerdi  Grin 1feex için özellikle

Peki bir soru daha

Python ile ya da başka bir dille elimizdeki seed'den mevzubahis adresi üretene kadar farklı derivation path'ler üzerinden tarayacak bir kod var mı? Ne tarz bir şey olabilir?
Jüpiter önceki sayfalarda paylaştım dedi ama hangisi hiç bir fikrim yok Smiley

"Damnant quod non intelligunt." Anlamadıkları şeyi suçlarlar. BTC
mugt
Member
**
Offline Offline

Activity: 183
Merit: 35


View Profile
June 30, 2019, 06:10:13 PM
 #393

Peki bir soru daha

Python ile ya da başka bir dille elimizdeki seed'den mevzubahis adresi üretene kadar farklı derivation path'ler üzerinden tarayacak bir kod var mı? Ne tarz bir şey olabilir?
Jüpiter önceki sayfalarda paylaştım dedi ama hangisi hiç bir fikrim yok Smiley

1. eth üzerine hiç çalışmadım Smiley
2. araştırma yapınca bu konuyu düzenleyeceğim.
3. bilinen kurallar bunlar ise : kelimeler biliniyor. Adres üretilen cihaz biliniyor. (Örnek ledger) derivation path bellidir. Değil ise kullanılan her derivation path'te misal 100K adres taranacak şekilde yazılabilir.

Python bilmiyorum. Bilen arkadaşım var. Dediğim gibi eth şu an ilgimi çekmiyor. Başta core olarak kurmayı denedim çok yavaştı iptal ettim. Key havuzum yeterli sayıya geldiğinde mutlaka eth ve diğerlerine de gireceğim. Şu an btc, ltc, dash, monero core güncel olarak çalışıyor. Belki zamanla diğerlerinede geçerim.

Konuya bulundu mu diyenlere aslında @Matthias9515'ın 2 sene sonra kendi cüzdanını bulması örnek gösterilebilir. Şimdi keyleri biliyormuş vs.. diyen olur 2 sene sonra bulmasına ne diyeceksiniz  Grin
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
July 01, 2019, 06:26:30 AM
Last edit: July 01, 2019, 06:41:32 AM by Jupiter_01
 #394

Peki bir soru daha

Python ile ya da başka bir dille elimizdeki seed'den mevzubahis adresi üretene kadar farklı derivation path'ler üzerinden tarayacak bir kod var mı? Ne tarz bir şey olabilir?


walletlerde 2^32 gibi bir olasılık söz konu su sanırım ilk kökten itibaren hd wallette oluşturulabilecek adres sayısı

https://github.com/nilcons/crypto-key-derivation

şu konuyu bir kontrol edersen sanırım çözüm olacak
vereceğiniz seed le oluşturulabilecek adresleri gösteriyor ben denemedim bi boş vaktimde kodu deniyecegim

wallet uygulamalarındaki veya donanımlarla birlikte size verilen kurtarma seedleri (12 15 18 24 kelimelik şifreler) bütünün kendisidir örneğin blockchain walletiniz de 21 tane adres var.... bu adreslerin minikeyleri, private key leri, brain, public keyleri, Bib39 Seed leri her birinin ki birbirinden farklıdır. Cüzdanınızın tamamının kurtarma şifresi ni diyelimki 12 kelimelik bir seed bunun adres dönüşümünü yaptığınız zaman size 21 tane adresten herhangi birini vermez isterseniz cüzdan içinde trilyonlarca adres oluşturun (yine bir olasılık meselesi verebilir şu anki bizim yapmaya çalıştığımız şey aslında bu olasılık tirilyonlarca adres yaratıp dolu olana veya kullanılmış olana denk gelmek) yine yakalayamazssınız... kısaca siz eğer cüzdanın şifresi ni biliyorsanız walletteki tüm coinleri kurtarırsınız... ama bu cüzdandaki 21 tane adresten sadece birinin mini keyi , private key i, brain keyi, public keyli veya Bib39 Seed  vs inden birine sahipseniz sadece o bir adresi çekersiniz... bu sonuçla  kurtarma seed inzle oluşturulmuş adres sizinle hiç bir alakası olmayan bir adrestir ve bakiyesi de sıfırdır Smiley

yukarıda anlatmaya çalıştığım 24 kelimelik seed walletlerde başka bir algoritmayla ayrımlaşıyor ve alt dizinlere bölünüyor 2^32 gibi alt çatallanmaya gidiyor oluşan her bir adresin aynı zamanda kendi seed leri private key vs oluyor... ve sizin ana seed iniz oluşturduğunuz hiç bir adresle örtüşmüyor...

https://wiki.trezor.io/Address_path_(BIP32)
buradaki şemeda net bir şekilde anlatım gözüküyor
neyse ben zaten sorduğunuz soruyla alakasız bir açıklama yapmışım  Smiley Smiley Smiley
miyav
Member
**
Offline Offline

Activity: 274
Merit: 88


View Profile
July 01, 2019, 07:05:30 AM
 #395

Peki bir soru daha

Python ile ya da başka bir dille elimizdeki seed'den mevzubahis adresi üretene kadar farklı derivation path'ler üzerinden tarayacak bir kod var mı? Ne tarz bir şey olabilir?


walletlerde 2^32 gibi bir olasılık söz konu su sanırım ilk kökten itibaren hd wallette oluşturulabilecek adres sayısı

https://github.com/nilcons/crypto-key-derivation

şu konuyu bir kontrol edersen sanırım çözüm olacak
vereceğiniz seed le oluşturulabilecek adresleri gösteriyor ben denemedim bi boş vaktimde kodu deniyecegim

wallet uygulamalarındaki veya donanımlarla birlikte size verilen kurtarma seedleri (12 15 18 24 kelimelik şifreler) bütünün kendisidir örneğin blockchain walletiniz de 21 tane adres var.... bu adreslerin minikeyleri, private key leri, brain, public keyleri, Bib39 Seed leri her birinin ki birbirinden farklıdır. Cüzdanınızın tamamının kurtarma şifresi ni diyelimki 12 kelimelik bir seed bunun adres dönüşümünü yaptığınız zaman size 21 tane adresten herhangi birini vermez isterseniz cüzdan içinde trilyonlarca adres oluşturun (yine bir olasılık meselesi verebilir şu anki bizim yapmaya çalıştığımız şey aslında bu olasılık tirilyonlarca adres yaratıp dolu olana veya kullanılmış olana denk gelmek) yine yakalayamazssınız... kısaca siz eğer cüzdanın şifresi ni biliyorsanız walletteki tüm coinleri kurtarırsınız... ama bu cüzdandaki 21 tane adresten sadece birinin mini keyi , private key i, brain keyi, public keyli veya Bib39 Seed  vs inden birine sahipseniz sadece o bir adresi çekersiniz... bu sonuçla  kurtarma seed inzle oluşturulmuş adres sizinle hiç bir alakası olmayan bir adrestir ve bakiyesi de sıfırdır Smiley

yukarıda anlatmaya çalıştığım 24 kelimelik seed walletlerde başka bir algoritmayla ayrımlaşıyor ve alt dizinlere bölünüyor 2^32 gibi alt çatallanmaya gidiyor oluşan her bir adresin aynı zamanda kendi seed leri private key vs oluyor... ve sizin ana seed iniz oluşturduğunuz hiç bir adresle örtüşmüyor...

https://wiki.trezor.io/Address_path_(BIP32)
buradaki şemeda net bir şekilde anlatım gözüküyor
neyse ben zaten sorduğunuz soruyla alakasız bir açıklama yapmışım  Smiley Smiley Smiley


Doğru mu anladım?
elimdeki 21 kelimeden oluşan seed ile bir çok bitcoin adresi üretilebiliyor ve ben doğru bitcoin adresine gelmezsem ayvayı yiyorum öyle mi?

ama ama ben seed ini bildiğim ayrıca parola olmayan bitcoin adresimi electrum a import ederken seed kelimelerini yazmam yeterli oluyor ve her seferinde içinde bakiye olna bitcoin adresime ulaşıyorum?

Kavram karmaşıklığı mı yaşıyoruz? konuyu açıklar mısınız lütfen.
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
July 01, 2019, 08:17:51 AM
Last edit: July 02, 2019, 09:13:17 AM by Jupiter_01
 #396

örneğin electrum  wallet te bir cüzdan oluşturuyorum

Seed bu
pluck envelope sheriff fun copper leaf force start family prefer nature again

otomatik içine 25 26 tane alım ve gönderim için adres atıyor

hd walletlerde bir tek seed ile bildiğim kadarıyla 2^32 tane adres üretmek mümkün şimdi bu seedle oluşturulan adres 1PLss2JFk4BYr685U2L2K8FSTsiyNZMSs3 bu walletten bağımsız ama ben electrum wallette bu adresi göremiyorum tek seed üzerinden oluşturulabilecek tüm adresleri girsem bile bu adresin oluşma olasılığı çok düşük...

aynı şey diğer tüm hd cüzdanlar içinde geçerli... burada kavram karğaşasına neden olan şey kurtarma seed i ile adreslerin seedleri birbirinden farklı olması... hd wallettlerde bir çatallanma söz konusudur burada çözümlenmesi gereken walletler içindeki algoritmadır electrum walletle bana verilen seed ile blockchain walleti kullanıp hesabı kurtamaya çalıştığımda sonuç alamıyorum

https://login.blockchain.com/tr/#/recover electrum da verilen seed burda hiç bir işe yaramıyor gördüğünüz gibi keza bir olasılık tutsa bile blockchain de açsa bile tamamıyla farklı adresler gözükecektir. dediğim gibi bu wallet algoritması ile ilgili bir karmaşadır.
sonuç olarak...

1- Size verilen Hd wallatlerdeki seed ler yani kurtarma  kelimeleri her hd wallette kendi algoritması içinde çatallanarak 2^32 tane adres oluşturabilir
2- Size verilen seed kullanılarak oluşturan adres walletinizdeki herhangi bir adreslerle alakalı bir adres değildir.
3- daha önceki mesajda paylaştığım kod tek bir seed ile Trezor ve Electrum walletlerde oluşturulabilecek adreslerin keylerini size verdiğini idda ediyor (daha denemedim)

Çok daha geniş bilgiyi https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki buradan okunabilinir...
elinizde 12 veya 24 kelimelik bir seed ve bir adres var ise 2^32 adres oluşturulup aranan adres oluşturulan adreslerde aranır.

Ekleme

ama ama ben seed ini bildiğim ayrıca parola olmayan bitcoin adresimi electrum a import ederken seed kelimelerini yazmam yeterli oluyor ve her seferinde içinde bakiye olna bitcoin adresime ulaşıyorum?


Bu walletin algoritmasıyla alakalı bir sorundur electrum dışında başka bir hd wallete import ederseniz seed inizi btc lerinize ulaşamazssanız çok büyük bir olasılık 2^32 lik bir hesabın içine giresiniz...
walletiniz https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki burdaki şemada anlatıldığı üzere bir adres derinliği oluşmaktadır walletin kendi algoritması gereği btc li adresleri ilk depth lere atmaktadır... ama bu seed i başka bir wallette kullandığınız zaman wallet algoritmaları farklı olduğu için bir kargaşa içinde coinleriniz 2^32 lik havuzda kaybolmaktadır...
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
July 02, 2019, 08:14:47 AM
Merited by Mauser 98 (1)
 #397

bitcoin için geçerli elimizde 12 15 18 veya 24 kelimelik bir seed var ve biz bu seed in tüm alt adreslere ve wif keylerine ulaşmak istiyoruz...daha önce söylediğim gibi tek seed ile oluşabilecek adres sayısı 2^32 dir...

hd walletin size kullanmanız için verdiği adresler bu 2^32 lik havuzdan random seçilmektedir...


numberofreceivingaddresses=5000;
numberofchangeaddresses=5000;

bu yukardaki iki satır oluşturmak istediğiniz alt adres sayısıdır burada değeri çok girerseniz bilgisayar zayıf ise donma yapıyor... dikkat ederseniz 2 deger vardır aslında oluşturulabilecek adres sayısı 2^31 * 2 -1 dir....

seed="pluck envelope sheriff fun copper leaf force start family prefer nature again";

burayada seed i giriyorsunuz...

2.7 de denenmiştir sorunsuz çalışmaktadır...

HERKESE BOL ŞANS....


import hashlib, ecdsa
from ecdsa.curves import SECP256k1
from ecdsa.ellipticcurve import Point
from ecdsa.util import string_to_number, number_to_string
from ecdsa.ecdsa import curve_secp256k1, generator_secp256k1
#
#
#
#
#
#

##--------------------------------------------------------------------------

numberofreceivingaddresses=5000;
numberofchangeaddresses=5000;
seed="pluck envelope sheriff fun copper leaf force start family prefer nature again";

##--------------------------------------------------------------------------
def sha256(x):
       return hashlib.sha256(x).digest()

def Hash(x):
       if type(x) is unicode: x=x.encode('utf-8')
       return sha256(sha256(x))

def pw_decode(s, password):
       if password is not None:
           secret = Hash(password)
           try:
               d = DecodeAES(secret, s).decode("utf8")
           except Exception:
               raise Exception('Invalid password')
           return d
       else:
           return s

def get_address(mpk,  for_change, n):
       pubkey =  get_pubkey(mpk,for_change, n)
       address = public_key_to_bc_address( pubkey.decode('hex') )
       print "Address " + str(n) + ": " + address;
       print "public key";
       print "     "+pubkey;
       return address


def get_pubkey(mpk, for_change, n):
           curve = SECP256k1
           z = get_sequence(mpk,for_change,n);
           master_public_key = ecdsa.VerifyingKey.from_string( mpk, curve = SECP256k1 )
           pubkey_point = master_public_key.pubkey.point + z*curve.generator
           public_key2 = ecdsa.VerifyingKey.from_public_point( pubkey_point, curve = SECP256k1 )
           return '04' + public_key2.to_string().encode('hex')

def get_sequence(mpk, for_change, n):
           return string_to_number( Hash( "%d:%d:"%(n,for_change) + mpk ) )

def get_private_key_from_stretched_exponent(mpk,for_change, n, secexp):
           order = generator_secp256k1.order()
           secexp = ( secexp + get_sequence(mpk,for_change, n) ) % order
           pk = number_to_string( secexp, generator_secp256k1.order() )
           compressed = False
           return SecretToASecret( pk, compressed )

def get_private_key(mpk,seed, sequence):
           for_change, n = sequence
           secexp = stretch_key(seed)
           pk = get_private_key_from_stretched_exponent(mpk,for_change, n, secexp)
           return pk;

def stretch_key(seed):
           oldseed = seed
           for i in range(100000):
               seed = hashlib.sha256(seed + oldseed).digest()
           return string_to_number( seed )

def public_key_to_bc_address(public_key):
       h160 = hash_160(public_key)
       return hash_160_to_bc_address(h160)

def SecretToASecret(secret, compressed=False, addrtype=0):
       vchIn = chr((addrtype+128)&255) + secret
       if compressed: vchIn += '\01'
       return EncodeBase58Check(vchIn)

def EncodeBase58Check(vchIn):
       hash = Hash(vchIn)
       return b58encode(vchIn + hash[0:4])

def b58encode(v):
       """ encode v, which is a string of bytes, to base58."""

       long_value = 0L
       for (i, c) in enumerate(v[::-1]):
           long_value += (256**i) * ord(c)
       result = ''
       while long_value >= __b58base:
           div, mod = divmod(long_value, __b58base)
           result = __b58chars[mod] + result
           long_value = div
       result = __b58chars[long_value] + result

       # Bitcoin does a little leading-zero-compression:
       # leading 0-bytes in the input become leading-1s
       nPad = 0
       for c in v:
           if c == '\0': nPad += 1
           else: break

       return (__b58chars[0]*nPad) + result

def hash_160(public_key):
       try:
           md = hashlib.new('ripemd160')
           md.update(sha256(public_key))
           return md.digest()
       except Exception:
           import ripemd
           md = ripemd.new(sha256(public_key))
           return md.digest()

def hash_160_to_bc_address(h160, addrtype = 0):
       vh160 = chr(addrtype) + h160
       h = Hash(vh160)
       addr = vh160 + h[0:4]
       return b58encode(addr)

__b58chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
__b58base = len(__b58chars)

##-------------------------------------------------------------------------------

words = [ "abandon", "ability", "able", "about", "above", "absent", "absorb", "abstract", "absurd", "abuse", "access", "accident", "account", "accuse", "achieve", "acid", "acoustic", "acquire", "across", "act", "action", "actor", "actress", "actual", "adapt", "add", "addict", "address", "adjust", "admit", "adult", "advance", "advice", "aerobic", "affair", "afford", "afraid", "again", "age", "agent", "agree", "ahead", "aim", "air", "airport", "aisle", "alarm", "album", "alcohol", "alert", "alien", "all", "alley", "allow", "almost", "alone", "alpha", "already", "also", "alter", "always", "amateur", "amazing", "among", "amount", "amused", "analyst", "anchor", "ancient", "anger", "angle", "angry", "animal", "ankle", "announce", "annual", "another", "answer", "antenna", "antique", "anxiety", "any", "apart", "apology", "appear", "apple", "approve", "april", "arch", "arctic", "area", "arena", "argue", "arm", "armed", "armor", "army", "around", "arrange", "arrest", "arrive", "arrow", "art", "artefact", "artist", "artwork", "ask", "aspect", "assault", "asset", "assist", "assume", "asthma", "athlete", "atom", "attack", "attend", "attitude", "attract", "auction", "audit", "august", "aunt", "author", "auto", "autumn", "average", "avocado", "avoid", "awake", "aware", "away", "awesome", "awful", "awkward", "axis", "baby", "bachelor", "bacon", "badge", "bag", "balance", "balcony", "ball", "bamboo", "banana", "banner", "bar", "barely", "bargain", "barrel", "base", "basic", "basket", "battle", "beach", "bean", "beauty", "because", "become", "beef", "before", "begin", "behave", "behind", "believe", "below", "belt", "bench", "benefit", "best", "betray", "better", "between", "beyond", "bicycle", "bid", "bike", "bind", "biology", "bird", "birth", "bitter", "black", "blade", "blame", "blanket", "blast", "bleak", "bless", "blind", "blood", "blossom", "blouse", "blue", "blur", "blush", "board", "boat", "body", "boil", "bomb", "bone", "bonus", "book", "boost", "border", "boring", "borrow", "boss", "bottom", "bounce", "box", "boy", "bracket", "brain", "brand", "brass", "brave", "bread", "breeze", "brick", "bridge", "brief", "bright", "bring", "brisk", "broccoli", "broken", "bronze", "broom", "brother", "brown", "brush", "bubble", "buddy", "budget", "buffalo", "build", "bulb", "bulk", "bullet", "bundle", "bunker", "burden", "burger", "burst", "bus", "business", "busy", "butter", "buyer", "buzz", "cabbage", "cabin", "cable", "cactus", "cage", "cake", "call", "calm", "camera", "camp", "can", "canal", "cancel", "candy", "cannon", "canoe", "canvas", "canyon", "capable", "capital", "captain", "car", "carbon", "card", "cargo", "carpet", "carry", "cart", "case", "cash", "casino", "castle", "casual", "cat", "catalog", "catch", "category", "cattle", "caught", "cause", "caution", "cave", "ceiling", "celery", "cement", "census", "century", "cereal", "certain", "chair", "chalk", "champion", "change", "chaos", "chapter", "charge", "chase", "chat", "cheap", "check", "cheese", "chef", "cherry", "chest", "chicken", "chief", "child", "chimney", "choice", "choose", "chronic", "chuckle", "chunk", "churn", "cigar", "cinnamon", "circle", "citizen", "city", "civil", "claim", "clap", "clarify", "claw", "clay", "clean", "clerk", "clever", "click", "client", "cliff", "climb", "clinic", "clip", "clock", "clog", "close", "cloth", "cloud", "clown", "club", "clump", "cluster", "clutch", "coach", "coast", "coconut", "code", "coffee", "coil", "coin", "collect", "color", "column", "combine", "come", "comfort", "comic", "common", "company", "concert", "conduct", "confirm", "congress", "connect", "consider", "control", "convince", "cook", "cool", "copper", "copy", "coral", "core", "corn", "correct", "cost", "cotton", "couch", "country", "couple", "course", "cousin", "cover", "coyote", "crack", "cradle", "craft", "cram", "crane", "crash", "crater", "crawl", "crazy", "cream", "credit", "creek", "crew", "cricket", "crime", "crisp", "critic", "crop", "cross", "crouch", "crowd", "crucial", "cruel", "cruise", "crumble", "crunch", "crush", "cry", "crystal", "cube", "culture", "cup", "cupboard", "curious", "current", "curtain", "curve", "cushion", "custom", "cute", "cycle", "dad", "damage", "damp", "dance", "danger", "daring", "dash", "daughter", "dawn", "day", "deal", "debate", "debris", "decade", "december", "decide", "decline", "decorate", "decrease", "deer", "defense", "define", "defy", "degree", "delay", "deliver", "demand", "demise", "denial", "dentist", "deny", "depart", "depend", "deposit", "depth", "deputy", "derive", "describe", "desert", "design", "desk", "despair", "destroy", "detail", "detect", "develop", "device", "devote", "diagram", "dial", "diamond", "diary", "dice", "diesel", "diet", "differ", "digital", "dignity", "dilemma", "dinner", "dinosaur", "direct", "dirt", "disagree", "discover", "disease", "dish", "dismiss", "disorder", "display", "distance", "divert", "divide", "divorce", "dizzy", "doctor", "document", "dog", "doll", "dolphin", "domain", "donate", "donkey", "donor", "door", "dose", "double", "dove", "draft", "dragon", "drama", "drastic", "draw", "dream", "dress", "drift", "drill", "drink", "drip", "drive", "drop", "drum", "dry", "duck", "dumb", "dune", "during", "dust", "dutch", "duty", "dwarf", "dynamic", "eager", "eagle", "early", "earn", "earth", "easily", "east", "easy", "echo", "ecology", "economy", "edge", "edit", "educate", "effort", "egg", "eight", "either", "elbow", "elder", "electric", "elegant", "element", "elephant", "elevator", "elite", "else", "embark", "embody", "embrace", "emerge", "emotion", "employ", "empower", "empty", "enable", "enact", "end", "endless", "endorse", "enemy", "energy", "enforce", "engage", "engine", "enhance", "enjoy", "enlist", "enough", "enrich", "enroll", "ensure", "enter", "entire", "entry", "envelope", "episode", "equal", "equip", "era", "erase", "erode", "erosion", "error", "erupt", "escape", "essay", "essence", "estate", "eternal", "ethics", "evidence", "evil", "evoke", "evolve", "exact", "example", "excess", "exchange", "excite", "exclude", "excuse", "execute", "exercise", "exhaust", "exhibit", "exile", "exist", "exit", "exotic", "expand", "expect", "expire", "explain", "expose", "express", "extend", "extra", "eye", "eyebrow", "fabric", "face", "faculty", "fade", "faint", "faith", "fall", "false", "fame", "family", "famous", "fan", "fancy", "fantasy", "farm", "fashion", "fat", "fatal", "father", "fatigue", "fault", "favorite", "feature", "february", "federal", "fee", "feed", "feel", "female", "fence", "festival", "fetch", "fever", "few", "fiber", "fiction", "field", "figure", "file", "film", "filter", "final", "find", "fine", "finger", "finish", "fire", "firm", "first", "fiscal", "fish", "fit", "fitness", "fix", "flag", "flame", "flash", "flat", "flavor", "flee", "flight", "flip", "float", "flock", "floor", "flower", "fluid", "flush", "fly", "foam", "focus", "fog", "foil", "fold", "follow", "food", "foot", "force", "forest", "forget", "fork", "fortune", "forum", "forward", "fossil", "foster", "found", "fox", "fragile", "frame", "frequent", "fresh", "friend", "fringe", "frog", "front", "frost", "frown", "frozen", "fruit", "fuel", "fun", "funny", "furnace", "fury", "future", "gadget", "gain", "galaxy", "gallery", "game", "gap", "garage", "garbage", "garden", "garlic", "garment", "gas", "gasp", "gate", "gather", "gauge", "gaze", "general", "genius", "genre", "gentle", "genuine", "gesture", "ghost", "giant", "gift", "giggle", "ginger", "giraffe", "girl", "give", "glad", "glance", "glare", "glass", "glide", "glimpse", "globe", "gloom", "glory", "glove", "glow", "glue", "goat", "goddess", "gold", "good", "goose", "gorilla", "gospel", "gossip", "govern", "gown", "grab", "grace", "grain", "grant", "grape", "grass", "gravity", "great", "green", "grid", "grief", "grit", "grocery", "group", "grow", "grunt", "guard", "guess", "guide", "guilt", "guitar", "gun", "gym", "habit", "hair", "half", "hammer", "hamster", "hand", "happy", "harbor", "hard", "harsh", "harvest", "hat", "have", "hawk", "hazard", "head", "health", "heart", "heavy", "hedgehog", "height", "hello", "helmet", "help", "hen", "hero", "hidden", "high", "hill", "hint", "hip", "hire", "history", "hobby", "hockey", "hold", "hole", "holiday", "hollow", "home", "honey", "hood", "hope", "horn", "horror", "horse", "hospital", "host", "hotel", "hour", "hover", "hub", "huge", "human", "humble", "humor", "hundred", "hungry", "hunt", "hurdle", "hurry", "hurt", "husband", "hybrid", "ice", "icon", "idea", "identify", "idle", "ignore", "ill", "illegal", "illness", "image", "imitate", "immense", "immune", "impact", "impose", "improve", "impulse", "inch", "include", "income", "increase", "index", "indicate", "indoor", "industry", "infant", "inflict", "inform", "inhale", "inherit", "initial", "inject", "injury", "inmate", "inner", "innocent", "input", "inquiry", "insane", "insect", "inside", "inspire", "install", "intact", "interest", "into", "invest", "invite", "involve", "iron", "island", "isolate", "issue", "item", "ivory", "jacket", "jaguar", "jar", "jazz", "jealous", "jeans", "jelly", "jewel", "job", "join", "joke", "journey", "joy", "judge", "juice", "jump", "jungle", "junior", "junk", "just", "kangaroo", "keen", "keep", "ketchup", "key", "kick", "kid", "kidney", "kind", "kingdom", "kiss", "kit", "kitchen", "kite", "kitten", "kiwi", "knee", "knife", "knock", "know", "lab", "label", "labor", "ladder", "lady", "lake", "lamp", "language", "laptop", "large", "later", "latin", "laugh", "laundry", "lava", "law", "lawn", "lawsuit", "layer", "lazy", "leader", "leaf", "learn", "leave", "lecture", "left", "leg", "legal", "legend", "leisure", "lemon", "lend", "length", "lens", "leopard", "lesson", "letter", "level", "liar", "liberty", "library", "license", "life", "lift", "light", "like", "limb", "limit", "link", "lion", "liquid", "list", "little", "live", "lizard", "load", "loan", "lobster", "local", "lock", "logic", "lonely", "long", "loop", "lottery", "loud", "lounge", "love", "loyal", "lucky", "luggage", "lumber", "lunar", "lunch", "luxury", "lyrics", "machine", "mad", "magic", "magnet", "maid", "mail", "main", "major", "make", "mammal", "man", "manage", "mandate", "mango", "mansion", "manual", "maple", "marble", "march", "margin", "marine", "market", "marriage", "mask", "mass", "master", "match", "material", "math", "matrix", "matter", "maximum", "maze", "meadow", "mean", "measure", "meat", "mechanic", "medal", "media", "melody", "melt", "member", "memory", "mention", "menu", "mercy", "merge", "merit", "merry", "mesh", "message", "metal", "method", "middle", "midnight", "milk", "million", "mimic", "mind", "minimum", "minor", "minute", "miracle", "mirror", "misery", "miss", "mistake", "mix", "mixed", "mixture", "mobile", "model", "modify", "mom", "moment", "monitor", "monkey", "monster", "month", "moon", "moral", "more", "morning", "mosquito", "mother", "motion", "motor", "mountain", "mouse", "move", "movie", "much", "muffin", "mule", "multiply", "muscle", "museum", "mushroom", "music", "must", "mutual", "myself", "mystery", "myth", "naive", "name", "napkin", "narrow", "nasty", "nation", "nature", "near", "neck", "need", "negative", "neglect", "neither", "nephew", "nerve", "nest", "net", "network", "neutral", "never", "news", "next", "nice", "night", "noble", "noise", "nominee", "noodle", "normal", "north", "nose", "notable", "note", "nothing", "notice", "novel", "now", "nuclear", "number", "nurse", "nut", "oak", "obey", "object", "oblige", "obscure", "observe", "obtain", "obvious", "occur", "ocean", "october", "odor", "off", "offer", "office", "often", "oil", "okay", "old", "olive", "olympic", "omit", "once", "one", "onion", "online", "only", "open", "opera", "opinion", "oppose", "option", "orange", "orbit", "orchard", "order", "ordinary", "organ", "orient", "original", "orphan", "ostrich", "other", "outdoor", "outer", "output", "outside", "oval", "oven", "over", "own", "owner", "oxygen", "oyster", "ozone", "pact", "paddle", "page", "pair", "palace", "palm", "panda", "panel", "panic", "panther", "paper", "parade", "parent", "park", "parrot", "party", "pass", "patch", "path", "patient", "patrol", "pattern", "pause", "pave", "payment", "peace", "peanut", "pear", "peasant", "pelican", "pen", "penalty", "pencil", "people", "pepper", "perfect", "permit", "person", "pet", "phone", "photo", "phrase", "physical", "piano", "picnic", "picture", "piece", "pig", "pigeon", "pill", "pilot", "pink", "pioneer", "pipe", "pistol", "pitch", "pizza", "place", "planet", "plastic", "plate", "play", "please", "pledge", "pluck", "plug", "plunge", "poem", "poet", "point", "polar", "pole", "police", "pond", "pony", "pool", "popular", "portion", "position", "possible", "post", "potato", "pottery", "poverty", "powder", "power", "practice", "praise", "predict", "prefer", "prepare", "present", "pretty", "prevent", "price", "pride", "primary", "print", "priority", "prison", "private", "prize", "problem", "process", "produce", "profit", "program", "project", "promote", "proof", "property", "prosper", "protect", "proud", "provide", "public", "pudding", "pull", "pulp", "pulse", "pumpkin", "punch", "pupil", "puppy", "purchase", "purity", "purpose", "purse", "push", "put", "puzzle", "pyramid", "quality", "quantum", "quarter", "question", "quick", "quit", "quiz", "quote", "rabbit", "raccoon", "race", "rack", "radar", "radio", "rail", "rain", "raise", "rally", "ramp", "ranch", "random", "range", "rapid", "rare", "rate", "rather", "raven", "raw", "razor", "ready", "real", "reason", "rebel", "rebuild", "recall", "receive", "recipe", "record", "recycle", "reduce", "reflect", "reform", "refuse", "region", "regret", "regular", "reject", "relax", "release", "relief", "rely", "remain", "remember", "remind", "remove", "render", "renew", "rent", "reopen", "repair", "repeat", "replace", "report", "require", "rescue", "resemble", "resist", "resource", "response", "result", "retire", "retreat", "return", "reunion", "reveal", "review", "reward", "rhythm", "rib", "ribbon", "rice", "rich", "ride", "ridge", "rifle", "right", "rigid", "ring", "riot", "ripple", "risk", "ritual", "rival", "river", "road", "roast", "robot", "robust", "rocket", "romance", "roof", "rookie", "room", "rose", "rotate", "rough", "round", "route", "royal", "rubber", "rude", "rug", "rule", "run", "runway", "rural", "sad", "saddle", "sadness", "safe", "sail", "salad", "salmon", "salon", "salt", "salute", "same", "sample", "sand", "satisfy", "satoshi", "sauce", "sausage", "save", "say", "scale", "scan", "scare", "scatter", "scene", "scheme", "school", "science", "scissors", "scorpion", "scout", "scrap", "screen", "script", "scrub", "sea", "search", "season", "seat", "second", "secret", "section", "security", "seed", "seek", "segment", "select", "sell", "seminar", "senior", "sense", "sentence", "series", "service", "session", "settle", "setup", "seven", "shadow", "shaft", "shallow", "share", "shed", "shell", "sheriff", "shield", "shift", "shine", "ship", "shiver", "shock", "shoe", "shoot", "shop", "short", "shoulder", "shove", "shrimp", "shrug", "shuffle", "shy", "sibling", "sick", "side", "siege", "sight", "sign", "silent", "silk", "silly", "silver", "similar", "simple", "since", "sing", "siren", "sister", "situate", "six", "size", "skate", "sketch", "ski", "skill", "skin", "skirt", "skull", "slab", "slam", "sleep", "slender", "slice", "slide", "slight", "slim", "slogan", "slot", "slow", "slush", "small", "smart", "smile", "smoke", "smooth", "snack", "snake", "snap", "sniff", "snow", "soap", "soccer", "social", "sock", "soda", "soft", "solar", "soldier", "solid", "solution", "solve", "someone", "song", "soon", "sorry", "sort", "soul", "sound", "soup", "source", "south", "space", "spare", "spatial", "spawn", "speak", "special", "speed", "spell", "spend", "sphere", "spice", "spider", "spike", "spin", "spirit", "split", "spoil", "sponsor", "spoon", "sport", "spot", "spray", "spread", "spring", "spy", "square", "squeeze", "squirrel", "stable", "stadium", "staff", "stage", "stairs", "stamp", "stand", "start", "state", "stay", "steak", "steel", "stem", "step", "stereo", "stick", "still", "sting", "stock", "stomach", "stone", "stool", "story", "stove", "strategy", "street", "strike", "strong", "struggle", "student", "stuff", "stumble", "style", "subject", "submit", "subway", "success", "such", "sudden", "suffer", "sugar", "suggest", "suit", "summer", "sun", "sunny", "sunset", "super", "supply", "supreme", "sure", "surface", "surge", "surprise", "surround", "survey", "suspect", "sustain", "swallow", "swamp", "swap", "swarm", "swear", "sweet", "swift", "swim", "swing", "switch", "sword", "symbol", "symptom", "syrup", "system", "table", "tackle", "tag", "tail", "talent", "talk", "tank", "tape", "target", "task", "taste", "tattoo", "taxi", "teach", "team", "tell", "ten", "tenant", "tennis", "tent", "term", "test", "text", "thank", "that", "theme", "then", "theory", "there", "they", "thing", "this", "thought", "three", "thrive", "throw", "thumb", "thunder", "ticket", "tide", "tiger", "tilt", "timber", "time", "tiny", "tip", "tired", "tissue", "title", "toast", "tobacco", "today", "toddler", "toe", "together", "toilet", "token", "tomato", "tomorrow", "tone", "tongue", "tonight", "tool", "tooth", "top", "topic", "topple", "torch", "tornado", "tortoise", "toss", "total", "tourist", "toward", "tower", "town", "toy", "track", "trade", "traffic", "tragic", "train", "transfer", "trap", "trash", "travel", "tray", "treat", "tree", "trend", "trial", "tribe", "trick", "trigger", "trim", "trip", "trophy", "trouble", "truck", "true", "truly", "trumpet", "trust", "truth", "try", "tube", "tuition", "tumble", "tuna", "tunnel", "turkey", "turn", "turtle", "twelve", "twenty", "twice", "twin", "twist", "two", "type", "typical", "ugly", "umbrella", "unable", "unaware", "uncle", "uncover", "under", "undo", "unfair", "unfold", "unhappy", "uniform", "unique", "unit", "universe", "unknown", "unlock", "until", "unusual", "unveil", "update", "upgrade", "uphold", "upon", "upper", "upset", "urban", "urge", "usage", "use", "used", "useful", "useless", "usual", "utility", "vacant", "vacuum", "vague", "valid", "valley", "valve", "van", "vanish", "vapor", "various", "vast", "vault", "vehicle", "velvet", "vendor", "venture", "venue", "verb", "verify", "version", "very", "vessel", "veteran", "viable", "vibrant", "vicious", "victory", "video", "view", "village", "vintage", "violin", "virtual", "virus", "visa", "visit", "visual", "vital", "vivid", "vocal", "voice", "void", "volcano", "volume", "vote", "voyage", "wage", "wagon", "wait", "walk", "wall", "walnut", "want", "warfare", "warm", "warrior", "wash", "wasp", "waste", "water", "wave", "way", "wealth", "weapon", "wear", "weasel", "weather", "web", "wedding", "weekend", "weird", "welcome", "west", "wet", "whale", "what", "wheat", "wheel", "when", "where", "whip", "whisper", "wide", "width", "wife", "wild", "will", "win", "window", "wine", "wing", "wink", "winner", "winter", "wire", "wisdom", "wise", "wish", "witness", "wolf", "woman", "wonder", "wood", "wool", "word", "work", "world", "worry", "worth", "wrap", "wreck", "wrestle", "wrist", "write", "wrong", "yard", "year", "yellow", "you", "young", "youth", "zebra", "zero", "zone", "zoo" ]

def mn_decode( wlist ):
       n=1626;
       out = ''
       for i in range(len(wlist)/3):
           word1, word2, word3 = wlist[3*i:3*i+3]
           w1 =  words.index(word1)
           w2 = (words.index(word2))%n
           w3 = (words.index(word3))%n
           x = w1 +n*((w2-w1)%n) +n*n*((w3-w2)%n)
           out += '%08x'%x
       return out

##--------------------------------------------------------------------------------

print "......ready to compute.....";
print " ";
seedlist=str.split(seed);

password = None;
seed=mn_decode(seedlist);

oldseed=seed;
newseed=stretch_key(seed);
curve = SECP256k1
master_private_key = ecdsa.SigningKey.from_secret_exponent( newseed, curve = SECP256k1 );
master_public_key = master_private_key.get_verifying_key().to_string().encode('hex');
mpk=master_public_key.decode('hex');

print "MASTER PUBLIC KEY IS "
print "  ";
print master_public_key;


print "  ";
print "  ";

print "++++++++++++++++++++++++++++++++++";

print "RECEIVING ADDRESSES ";
print "  ";
print "  ";

for ra in range(0,numberofreceivingaddresses):
       addy=get_address(mpk,0,ra);
       pk=get_private_key(mpk,oldseed,(0,ra));
       print "private key";
       print "     "+pk;
       print "  ";


print "++++++++++++++++++++++++++++++++++";

print "CHANGE ADDRESSES";

print "  ";
print "  ";

for ca in range(0,numberofchangeaddresses):
       addy=get_address(mpk,1,ca);
       pk=get_private_key(mpk,oldseed,(1,ca));
       print "private key";
       print "     "+pk;
       print "  ";






 
PHI1618
Legendary
*
Offline Offline

Activity: 1554
Merit: 1334



View Profile
July 03, 2019, 05:17:25 AM
 #398

bitcoin için geçerli elimizde 12 15 18 veya 24 kelimelik bir seed var ve biz bu seed in tüm alt adreslere ve wif keylerine ulaşmak istiyoruz...daha önce söylediğim gibi tek seed ile oluşabilecek adres sayısı 2^32 dir...

hd walletin size kullanmanız için verdiği adresler bu 2^32 lik havuzdan random seçilmektedir...


numberofreceivingaddresses=5000;
numberofchangeaddresses=5000;

bu yukardaki iki satır oluşturmak istediğiniz alt adres sayısıdır burada değeri çok girerseniz bilgisayar zayıf ise donma yapıyor... dikkat ederseniz 2 deger vardır aslında oluşturulabilecek adres sayısı 2^31 * 2 -1 dir....

seed="pluck envelope sheriff fun copper leaf force start family prefer nature again";

burayada seed i giriyorsunuz...

2.7 de denenmiştir sorunsuz çalışmaktadır...

HERKESE BOL ŞANS....



Tekrar merhaba.
Ethereum adres üretimi için uyarlayabilirsem çalıştırmaya başlayacağım. Teşekkürler Smiley

"Damnant quod non intelligunt." Anlamadıkları şeyi suçlarlar. BTC
anltokc
Newbie
*
Offline Offline

Activity: 25
Merit: 2


View Profile WWW
July 04, 2019, 11:26:53 PM
Last edit: July 04, 2019, 11:43:04 PM by anltokc
Merited by Jupiter_01 (1), Mauser 98 (1)
 #399

eth tarafında da  geth uygulaması ile console açılarak eth adres üretimi çok hızlı olarak yapılabiliyor ve balance kontrolu ancak rpc üzerinden komutlara karşılık cevap alamadım.

Eth için kullandığım Python scripti;

#-*-coding:utf-8-*-
#!/usr/bin/python3

import os
from ethereum import utils
import time
from web3 import Web3, HTTPProvider, IPCProvider, WebsocketProvider



start = time.time()


a = 1
while(a<=5000000):
   zaman=time.time()-start
   private_key = utils.sha3(os.urandom(64))
   raw = utils.privtoaddr(private_key)
   acc_address = (utils.checksum_encode(raw)).lower()

   z=utils.encode_hex(private_key)
   
   infura_url = "https://mainnet.infura.io/v3/"İNFURA PRİVATE KEY""
   web3 = Web3(Web3.HTTPProvider(infura_url))
   address = (Web3.toChecksumAddress(acc_address))
   balance = web3.eth.getBalance(address)
   amount = float(balance)
   print("Private Key = "+z+" "+"Address = "+acc_address+    " Miktar= "+str(web3.fromWei(balance, "ether"))+" "+str(a))
   #print(web3.fromWei(balance, "ether"))
   
   if amount > 0:
      print("Wallet Bulundu")
      print("Private Key = "+z)
      print("Adres = "+address)
      print("Ether = "+str(web3.fromWei(balance, "ether")))
      dosya=open("Bulunan.txt","a")
      dosya.write(z+" "+address+" "+str(web3.fromWei(balance, "ether"))+ "\n")
      dosya.close()

   a = a + 1
   
   
   
print("toplam zaman % saniye " %zaman)

Edit; İnfura Private key kısmı değiştirilmiştir.
Jupiter_01 (OP)
Member
**
Offline Offline

Activity: 122
Merit: 26


View Profile
July 05, 2019, 08:13:23 AM
 #400

eth tarafında da  geth uygulaması ile console açılarak eth adres üretimi çok hızlı olarak yapılabiliyor ve balance kontrolu ancak rpc üzerinden komutlara karşılık cevap alamadım.

Eth için kullandığım Python scripti;

#-*-coding:utf-8-*-
#!/usr/bin/python3

import os
from ethereum import utils
import time
from web3 import Web3, HTTPProvider, IPCProvider, WebsocketProvider



start = time.time()


a = 1
while(a<=5000000):
   zaman=time.time()-start
   private_key = utils.sha3(os.urandom(64))
   raw = utils.privtoaddr(private_key)
   acc_address = (utils.checksum_encode(raw)).lower()

   z=utils.encode_hex(private_key)
   
   infura_url = "https://mainnet.infura.io/v3/"İNFURA PRİVATE KEY""
   web3 = Web3(Web3.HTTPProvider(infura_url))
   address = (Web3.toChecksumAddress(acc_address))
   balance = web3.eth.getBalance(address)
   amount = float(balance)
   print("Private Key = "+z+" "+"Address = "+acc_address+    " Miktar= "+str(web3.fromWei(balance, "ether"))+" "+str(a))
   #print(web3.fromWei(balance, "ether"))
   
   if amount > 0:
      print("Wallet Bulundu")
      print("Private Key = "+z)
      print("Adres = "+address)
      print("Ether = "+str(web3.fromWei(balance, "ether")))
      dosya=open("Bulunan.txt","a")
      dosya.write(z+" "+address+" "+str(web3.fromWei(balance, "ether"))+ "\n")
      dosya.close()

   a = a + 1
   
   
   
print("toplam zaman % saniye " %zaman)

Edit; İnfura Private key kısmı değiştirilmiştir.


merhaba paylaştığın kod için teşekkürler geth ile aynı dizindemi çalıştırılacak vs kodun kullanımını biraz daha açıklayabilirsen kullanıcılar için daha yardımcı olacaktır
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!