Pages:
Author

Topic: Bitcoin; Algoritma Üzerine Yöntemler - page 5. (Read 33212 times)

jr. member
Activity: 40
Merit: 1
January 27, 2020, 01:33:15 PM
2019 yılı içinde vanitygen ile  yaklaşık olarak 52x300.000.000=15.600.000.000 adres üretip bunu da sorguladım. Halen bir şey çıkmadı bu yılda devam edeceğim. Belki büyük ikramiye bu yıla. Cheesy  bitcore güncelleyip bir daha sorgu üzerinden geçeceğim. Yaklaşık oluşan txt dosyalarını sıkıştırdım 500 Gb bir disk doldu.
hero member
Activity: 1302
Merit: 533
January 26, 2020, 02:35:06 PM
yeni bir scrip çalıştırdım dünden beri çalışıyor, kaç permutasyon var hesaplamadım bile
hero member
Activity: 1302
Merit: 533
January 25, 2020, 03:03:50 PM
bulmacadaki kelimeleri convert ettim kısa bir liste olarak koydum, listeyi deniyor.
liste ne kadr uzun olursa o kadar çok dener.

anladım ama mesajı editlemeye imkan kalmadan yazmışsın sağolasın. Buna dışarda liste okutmak için ne yapabiliriz acaba ? çıkan adresleri yine ayrı bir dosyaya yazması için eski kodlardan mı faydalanmalı? siz 300k denemeyi script içine mi yerleştirdiniz?

evet script içine koydum (notepad++ açamadı) window notpad ile açtım ancak.
full member
Activity: 156
Merit: 170
January 25, 2020, 02:06:26 PM
bulmacadaki kelimeleri convert ettim kısa bir liste olarak koydum, listeyi deniyor.
liste ne kadr uzun olursa o kadar çok dener.

anladım ama mesajı editlemeye imkan kalmadan yazmışsın sağolasın. Buna dışarda liste okutmak için ne yapabiliriz acaba ? çıkan adresleri yine ayrı bir dosyaya yazması için eski kodlardan mı faydalanmalı? siz 300k denemeyi script içine mi yerleştirdiniz?
hero member
Activity: 1302
Merit: 533
January 25, 2020, 02:03:31 PM
.


Kod güzel ancak bir döngü yapmak gerekiyor anladığım. çünkü bir kez çalışınca duruyor veya ben mi hata yaptım?

bulmacadaki kelimeleri convert ettim kısa bir liste olarak koydum, listeyi deniyor.
liste ne kadr uzun olursa o kadar çok dener.


Code:
102334452563515914899878097957496696762772407663,
452561023343515914899878097957496696762772407663,
351591023344525614899878097957496696762772407663,
102334351594525614899878097957496696762772407663,
full member
Activity: 156
Merit: 170
January 25, 2020, 01:57:08 PM
.


Kod güzel ancak bir döngü yapmak gerekiyor anladığım. çünkü bir kez çalışınca duruyor veya ben mi hata yaptım?
hero member
Activity: 1302
Merit: 533
January 25, 2020, 01:05:39 PM
Bu bulmaca ile uğraşırken telegramdan bir arkadaş sağolsun şu kodu verdi, blmacalarda vs. iş görür.


Code:
import binascii, hashlib, base58, string
from bitcointools import *
from itertools import permutations, combinations

def priv2addr(priv):
pub = privtopub(priv)
addr = pubtoaddr(pub)
return (addr)

def padhex(s):
return s[2:].rstrip('L').zfill(64)

def test_num(bigno):
hex_private_key = padhex(hex(bigno))
extended_key = "80"+hex_private_key.strip()
first_sha256 = hashlib.sha256(binascii.unhexlify(extended_key)).hexdigest()
second_sha256 = hashlib.sha256(binascii.unhexlify(first_sha256)).hexdigest()
final_key = extended_key+second_sha256[:8]
WIF = base58.b58encode(binascii.unhexlify(final_key)).decode()
found_address = priv2addr(WIF)
if (found_address == goal_address):
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
print ("Number: " + str(bigno) + "\nKey: " + WIF + "\nWallet: " + found_address)
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
quit()
print ("Number: " + str(bigno) + "\nKey: " + WIF + "\nWallet: " + found_address)

goal_address = "Hedef address";
listofnumbers = [
102334452563515914899878097957496696762772407663,
452561023343515914899878097957496696762772407663,
351591023344525614899878097957496696762772407663,
102334351594525614899878097957496696762772407663,

]

for number in listofnumbers:

    test_num(number)

print("\n\nDONE!!!");
hero member
Activity: 1302
Merit: 533
January 24, 2020, 09:17:36 AM
sıralı adres üretme isteyen arkadaşlar kullanabilir....



from bitcoin import *
f = open("adres.txt", "w")
nDecimal = 1
for i in range(100000000):
    def generar_HEX(nDecimal):
            aHex = hex(nDecimal)
            aHex = aHex[2:].upper()
            aHex = ((64-len(aHex)) * '0') + aHex
            return aHex

    nDecimal = nDecimal + 1
    priv = generar_HEX(nDecimal)
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    wif = encode_privkey(priv, 'wif')

    #print 'NUMBER: ' + str(nDecimal)
    #print 'PRIV: ' + priv
    #print 'PUB: ' + pub
    print 'ADDR: ' + addr
    #print 'WIF: ' + wif
    f.write(addr  + "//" + wif + "\n")



Hocam bu kodun artımsal yada random değil de listeden satır satır okuyup arayanı var mı.
Github karıştırdım ama çok uzun ve karışık kodlar var. seninkinin sadeliğinde bir şey lazım
hero member
Activity: 1302
Merit: 533
January 21, 2020, 03:44:33 AM
Bu kod çok daha seri çalışıyor (os modülü daha hızlı çalıştırıyor sanırım, bunu geliştirmek daha mantıklı olur)
bir de history konyrolunden ziyade bulmacaklar için addres odaklı arama daha mantıklı duruyor.



Code:
# pip install base58 / ecdsa
# tested in python 3.6.5

import os, binascii, hashlib, base58, ecdsa
def ripemd160(x):
    d = hashlib.new('ripemd160')
    d.update(x)
    return d
   
for n in range(1000000):   # number of key pairs to generate`

    # generate private key , uncompressed WIF starts with "5"
    priv_key = os.urandom(32)
    fullkey = '80' + binascii.hexlify(priv_key).decode()
    sha256a = hashlib.sha256(binascii.unhexlify(fullkey)).hexdigest()
    sha256b = hashlib.sha256(binascii.unhexlify(sha256a)).hexdigest()
    WIF = base58.b58encode(binascii.unhexlify(fullkey+sha256b[:8]))
   
    # get public key , uncompressed address starts with "1"
    sk = ecdsa.SigningKey.from_string(priv_key, curve=ecdsa.SECP256k1)
    vk = sk.get_verifying_key()
    publ_key = '04' + binascii.hexlify(vk.to_string()).decode()
    hash160 = ripemd160(hashlib.sha256(binascii.unhexlify(publ_key)).digest()).digest()
    publ_addr_a = b"\x00" + hash160
    checksum = hashlib.sha256(hashlib.sha256(publ_addr_a).digest()).digest()[:4]
    publ_addr_b = base58.b58encode(publ_addr_a + checksum)
    i = n + 1
    print('Private Key    ', str(i) + ": " + WIF.decode())
    print("Bitcoin Address", str(i) + ": " + publ_addr_b.decode())

print("Good Luck!!!")
member
Activity: 122
Merit: 26
January 21, 2020, 02:58:16 AM
Zaten arkadaşlar ben çoğu kodu geliştirelim, üzerine bir şeyler ekleyelim yada içinden işimize yarayacak şeyleri ayıralım diye paylaşıyorum. (Misal çift adres üretimini kullanmamış arkadaşlar olabilir bu kodu hızlandırarak çift adres üzerinden karşılaştırma yapabilir...vs)...
hero member
Activity: 1302
Merit: 533
January 21, 2020, 02:18:48 AM
Bu arda aşağıdaki ran aralık 0,64 BTC lik bulmacanın aralığıdır...

misal diyelim Smiley bulduğu zaman nasıl bir değişiklik olacak? .txt çıktısı yok alt kısımlarda [] [] bu bölümlerde mi hareket olacak?


Aynen bir txt çıktısı yok [] arasında kullanılmış adresler belirecek, pc başında değilseniz kaçar. (harcanmış adresler de bu parantezler arasında beliriyor)
full member
Activity: 156
Merit: 170
January 20, 2020, 06:32:04 PM
Bu arda aşağıdaki ran aralık 0,64 BTC lik bulmacanın aralığıdır...

misal diyelim Smiley bulduğu zaman nasıl bir değişiklik olacak? .txt çıktısı yok alt kısımlarda [] [] bu bölümlerde mi hareket olacak?
hero member
Activity: 1302
Merit: 533
January 20, 2020, 05:43:20 PM
yukarıdaki basit koda ekleme compressed ve uncompressed adresin aynı anda bitcoin kütüphanesinden random üretilmesi ve history'in kontrolü

ran aralığı random atanmaktadır Decimal formattadır... random aralık 1 ile pow(2,256) / 128 arasında girerseniz bütün adresler arasında adres üretimi yapar...

Bu arda aşağıdaki ran aralık 0,64 BTC lik bulmacanın aralığıdır...

from bitcoin import *
for i in range(10000000):
    ran = random.randrange(10046744073709551615,18406744073709551615)
    myhex = "%064x" % ran
    myhex = myhex[:64]
    priv = myhex
    pub = privtopub(priv)
    pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
    addr = pubtoaddr(pubkey1)
    addr1 = pubtoaddr(pub)
    z = history(addr)
    z1 = history(addr)
    print (priv)
    print (addr)
    print (addr1)
    print (z)
    print (z1)


ben onun için 2**63, 2**64 yazdım.
Bu arada eline sağlık güzel çalışıyor fakat biraz hızlandırmak bir de hedefe ulaştığında yazdırmak lazım. (ekrana gereksiz yere 3 satır basmak ta hızı etkiliyor belki bilemem)
member
Activity: 122
Merit: 26
January 20, 2020, 05:24:50 PM
yukarıdaki basit koda ekleme compressed ve uncompressed adresin aynı anda bitcoin kütüphanesinden random üretilmesi ve history'in kontrolü

ran aralığı random atanmaktadır Decimal formattadır... random aralık 1 ile pow(2,256) / 128 arasında girerseniz bütün adresler arasında adres üretimi yapar...

Bu arda aşağıdaki ran aralık 0,64 BTC lik bulmacanın aralığıdır...

from bitcoin import *
for i in range(10000000):
    ran = random.randrange(10046744073709551615,18406744073709551615)
    myhex = "%064x" % ran
    myhex = myhex[:64]
    priv = myhex
    pub = privtopub(priv)
    pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
    addr = pubtoaddr(pubkey1)
    addr1 = pubtoaddr(pub)
    z = history(addr)
    z1 = history(addr)
    print (priv)
    print (addr)
    print (addr1)
    print (z)
    print (z1)
hero member
Activity: 1302
Merit: 533
January 18, 2020, 04:19:58 PM
Senin kodun üzerine şöyle bir şey yaptım ama çok yavaş, büyük ihtimalle çekirdeğin geç yanıt veriyor, ondan kaynaklanıyor.


Code:
##from cryptos import *
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
from bitcoin import *
a=0

for i in range(1000000):
    priv = random_key()
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    wif = encode_privkey(priv, 'wif')
##    d = unspent(addr)
    rpc_connection = AuthServiceProxy("http://user:[email protected]:8332")
    islem = rpc_connection.importprivkey(wif, "", False)
    a=a+1
    print (a)
   
hero member
Activity: 1302
Merit: 533
January 18, 2020, 11:31:37 AM
önce bitcoin kütüphanesinden okuyor sandım (kısmen öyle olsa da ) neti kesince hata verdi.


Quote
open error [Errno 11001] getaddrinfo failed>

1 yıldır core güncel değildi, şimdi tekrar güncelliyorum, rpc ile sorgular çalıştırmak istiyorum.
member
Activity: 122
Merit: 26
January 18, 2020, 10:42:19 AM
basit bir kod daha geliştirilebilir... z çıktısında bir hareket varsa kullanılan bir adres

---------

Z çıktısında bir hareket olduğunu nasıl çözümlüyor anlayamadım hocam?


sıralı denemeyi çalıştırırsan anlarsın usta
hero member
Activity: 1302
Merit: 533
January 18, 2020, 07:45:42 AM
basit bir kod daha geliştirilebilir... z çıktısında bir hareket varsa kullanılan bir adres

---------

Z çıktısında bir hareket olduğunu nasıl çözümlüyor anlayamadım hocam?


member
Activity: 122
Merit: 26
January 18, 2020, 06:05:38 AM
basit bir kod daha geliştirilebilir... z çıktısında bir hareket varsa kullanılan bir adres

##from cryptos import *
from bitcoin import *
for i in range(1000000):
    priv = random_key()
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    z = history(addr)
##    d = unspent(addr)
    print (priv)
    print (addr)
    print (z)
##    print (d)


----------------------------------- Sıralı Deneme

##from cryptos import *
from bitcoin import *
priv = 45778622693942115894286478612159924683165241483330012749306969881513991178880
for i in range(1):
    priv = priv + 1
    pub = privtopub(priv)
    addr = pubtoaddr(pub)
    z = history(addr)
##    d = unspent(addr)
    print (priv)
    print (addr)
    print (z)
##    print (d)
hero member
Activity: 1302
Merit: 533
January 16, 2020, 05:51:35 AM
teşekkürler @mugt,
python windowsta kurulu, bakayayım pythonda başka hangi komutları bulabilirim.
Pages:
Jump to: