Pages:
Author

Topic: [ARCHIVE] Bitcoin challenge discusion - page 17. (Read 29427 times)

newbie
Activity: 28
Merit: 0
September 16, 2019, 11:54:42 PM
MeBender
Achievement: you invented a bicycle  Wink
jr. member
Activity: 114
Merit: 5
September 16, 2019, 04:40:54 PM
Yeah I know vanitygen has been around a while but I found another vanity program called vanitysearch that is 10 times faster than vanitygen and 3 times as fast as bitcrack, at least it is with my 1080ti!

https://github.com/JeanLucPons/VanitySearch
member
Activity: 245
Merit: 17
September 16, 2019, 04:06:16 PM
hey has anyone checked out vanitysearch?

With vanitygen I get 100MKey/s, with cubitcrack I get 350Mkey/s but with vanitysearch I get 1000Mkey/s and that's on a 1080ti

Vanitysearch has a starting point parameter but no end point parameter but I reckon the code could be altered for keyspace parameters

-snip-
Suggestions are always welcome.

The brute force way: Start @ ~607809 (multiplied the last known value by 1.7) convert to hex, create addresses, check if one address matches the next in turn.



What would be the best tool to attack this in a brute force way while we all think on something better or discover a easier way?

Some GPU bot would be the best to brute force it, like shorena was saying.

Need to code one, but I'm not in the mood now Smiley

Anyone out there doing it? Or maybe there is something existing?

I think the best existing tool currently is yours or otherwise private. I would think the best way would be to modify (ocl)vanitygen according to BurtW's suggestion. You would need to limit the random number generator to a certain amount of bits and keep the rest.


Yes lol ... vanitygen is being checked since 2015, early days of the "~32 BTC prize to who solves it"

jr. member
Activity: 114
Merit: 5
September 16, 2019, 02:46:37 PM
hey has anyone checked out vanitysearch?

With vanitygen I get 100MKey/s, with cubitcrack I get 350Mkey/s but with vanitysearch I get 1000Mkey/s and that's on a 1080ti

Vanitysearch has a starting point parameter but no end point parameter but I reckon the code could be altered for keyspace parameters
member
Activity: 245
Merit: 17
September 16, 2019, 02:02:21 PM
This is my code (only monocore for obvious reasons  Grin )
Code:
import time
import random
import math
import sys
import gmpy2
import os

modulo = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
order  = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

class Point:
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y


PG = Point(Gx,Gy)
Z = Point(0,0) # zero-point, infinite in real x,y - plane
    
def mul2(P, p = modulo):
    R = Point()
    c = 3*P.x*P.x*gmpy2.invert(2*P.y, p) % p
    R.x = (c*c-2*P.x) % p
    R.y = (c*(P.x - R.x)-P.y) % p
    return R


def addk(Pk, Qk, Nn, p = modulo):
    R = Point()
    Rk=[]
    for k in range(Nn):
        P=Pk[k]
        Q=Qk[k]
        R=add(P, Q)
        Rk.append(R)
    return Rk

def add(P, Q, p = modulo):
    R = Point()
    dx = Q.x - P.x
    dy = Q.y - P.y
    c = dy * gmpy2.invert(dx, p) % p
    R.x = (c*c - P.x - Q.x) % p
    R.y = (c*(P.x - R.x) - P.y) % p
    return R # 6 sub, 3 mul, 1 inv

def mulk(k, P = PG, p = modulo):
    if k == 0: return Z
    elif k == 1: return P
    elif (k % 2 == 0):
        return mulk(k>>1, mul2(P, p), p)
    else:
        return add(P, mulk( (k-1)>>1, mul2(P, p), p), p)

def X2Y(X, p = modulo):
    if p % 4 != 3:
        print ('prime must be 3 modulo 4')
        return 0
    X = (X**3+7)%p
    pw = (p + 1) // 4
    Y = 1
    for w in range(256):
        if (pw >> w) & 1 == 1:
            tmp = X
            for k in range(w):
                tmp = (tmp**2)%p
            Y *= tmp
            Y %= p
    return Y

def comparator(A,B,Ak,Bk):
    result = list(set(A) & set(B))
    if len(result) > 0:
        sol_kt = A.index(result[0])
        sol_kw = B.index(result[0])
        d = Ak[sol_kt] - Bk[sol_kw]
        print ('total time: %.2f sec' % (time.time()-starttime ))
        print ('SOLVED: %64X' % d + '\n')
        file = open("results.txt",'a')
        file.write(('%X'%(Ak[sol_kt] - Bk[sol_kw])) + ' - total time: %.2f sec' % (time.time()-starttime) +'\n')
        file.write("---------------\n")
        file.close()
        return True
    else:
        return False


Ptable = [PG]
for k in range(255): Ptable.append(mul2(Ptable[k]))
print ('P-table prepared')

def search():
    global solved
    s=(ka+kb)>>1
    d=(kb-ka)
    problem=int(math.log(d,2))
    DP_rarity = 1 << ((problem -  kangoo_powerT - kangoo_powerW)//2 - 2)
    hop_modulo = (problem-1 + kangoo_powerT+kangoo_powerW)//2
    T, t, dt = [], [], []
    W, w, dw = [], [], []
    PW,PT = [],[]
    buft,bufw,buftk,bufwk = [],[],[],[]
    for k in range(Nt):
        qt=s+random.randint(1,d)
        t.append(qt)
        T.append(mulk(t[k]))
        PT.append(W0)
        dt.append(0)
    for k in range(Nw):
        qw=random.randint(1, d)
        w.append(qw)
        W.append(add(W0,mulk(w[k])))
        PW.append(W0)
        dw.append(0)
    print ('tame and wild herds are prepared')
    oldtime = time.time()
    starttime = oldtime
    Hops, Hops_old = 0, 0
    t0 = time.time()
    oldtime = time.time()
    starttime = oldtime
    while (1):
        for k in range(Nt):
            Hops += 1
            ptk = T[k].x
            if ptk % (DP_rarity) == 0:
                buft.append(ptk)
                buftk.append(t[k])
            pw = ptk % hop_modulo
            dt[k] = 1 << pw
            t[k] += dt[k]
            PT[k] = Ptable[pw]
        T=addk(PT, T, Nt)
        for k in range(Nw):
            Hops += 1
            pwk = W[k].x
            if pwk % (DP_rarity) == 0:
                bufw.append(pwk)
                bufwk.append(w[k])
            pw = pwk % hop_modulo
            dw[k] = 1 << pw
            w[k] += dw[k]
            PW[k] = Ptable[pw]
        W=addk(PW, W, Nw)
        t1 = time.time()
        if (Hops % Cycle) == 0:
            hopsp = (Hops-Hops_old)/(t1-t0)
            print('Total rate %d h/s, Total W %d, Total T %d' % (hopsp,len(bufw),len(buft)))
            if comparator(buft,bufw,buftk,bufwk) :
                solved=1
                return
            t0 = t1
            Hops_old = Hops
    return

s=sys.argv[1]
sa = sys.argv[2]
sb = sys.argv[3]
skw = sys.argv[4]
skt = sys.argv[5]
scyc = sys.argv[6]
#
ka = int(sa, 16)
kb = int(sb, 16)
#
kangoo_powerT = int(skt, 10)
kangoo_powerW = int(skw, 10)
Cycle = 10**(int(scyc,10))

Nt = 2**kangoo_powerT
Nw = 2**kangoo_powerW
X = int(s, 16)
Y = X2Y(X % (2**256))
if Y % 2 != (X >> 256) % 2: Y = modulo - Y
X = X % (2**256)
W0 = Point(X,Y)

starttime = oldtime = time.time()
Hops = 0
random.seed()
solved=0
search()
print('Done ...')  

command:
$python play3.py 03a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d4 8000000000 FFFFFFFFFF 3 3 6
P-table prepared
tame and wild herds are prepared
Total rate 175651 h/s, Total W 33, Total T 29
Total rate 173849 h/s, Total W 59, Total T 45
Total rate 174196 h/s, Total W 92, Total T 85
Total rate 171762 h/s, Total W 111, Total T 111
Total rate 172377 h/s, Total W 138, Total T 139
total time: 28.81 sec
SOLVED:                                                       E9AE4933D6

Done ...

My previous hopping speed was around 110000.
> I removed text files wild.txt and tame.txt
> gained speed because  
 A) I update wild and tame lists outside calculation loops
 B) I do not check collisions (comparator)  at each step in the while loop, but only  once every cycle (if (Hops % Cycle) ==
  
One more thing, you can experiment with different tame and wild kangaroo herd sizes Nw and Nt.
jr. member
Activity: 59
Merit: 3
September 16, 2019, 12:22:09 PM
I've optimized the code. Hopping speed improved about  50% per core.
with 4 cores I've reached 850000 h/s.
Timing:
Code:
Case #     time (sec)
50    148.46
51    120.88
52    189.33
53    204.99
54    674.51
55    441.58
56    945.33
57   1509.22
58   2685.02
59   2300.80
60   4389.98
61   2958.66
62   7802.91
63  10239.27



 
Could you share your optimized code for testing?
jr. member
Activity: 37
Merit: 1
September 16, 2019, 11:16:12 AM
member
Activity: 245
Merit: 17
September 16, 2019, 10:44:47 AM
sr. member
Activity: 443
Merit: 350
September 16, 2019, 07:54:41 AM

maybe i sad wrong, i need all keys and adresses which bitcrack goes to save

No, bitcrack saves only the address to the found private key. It does not save all the generating keys.
But the code is opensource, you can add the file saving to the code and make the compilation.

What is your reason to save all the generated keys and addresses?
newbie
Activity: 49
Merit: 0
September 16, 2019, 05:56:34 AM
-o, --out FILE
    Append private keys to FILE, one per line

can bitcrack save adresses in file or only private keys?
to this file bitcrack record found addresses with keys.one per line.can also be called as you want -o 1out.txt, -o myrich.txt ,etc.

try to use this function, but don't see files that bitcrack record, where is it saves, in bin??
in windows it saves in the same folder where the bitcrack is located. the file is created as soon as at least 1 key is found.

maybe i sad wrong, i need all keys and adresses which bitcrack goes to save
jr. member
Activity: 37
Merit: 1
September 16, 2019, 05:34:04 AM
-o, --out FILE
    Append private keys to FILE, one per line

can bitcrack save adresses in file or only private keys?
to this file bitcrack record found addresses with keys.one per line.can also be called as you want -o 1out.txt, -o myrich.txt ,etc.

try to use this function, but don't see files that bitcrack record, where is it saves, in bin??
in windows it saves in the same folder where the bitcrack is located. the file is created as soon as at least 1 key is found.
newbie
Activity: 49
Merit: 0
September 16, 2019, 05:04:06 AM
-o, --out FILE
    Append private keys to FILE, one per line

can bitcrack save adresses in file or only private keys?
to this file bitcrack record found addresses with keys.one per line.can also be called as you want -o 1out.txt, -o myrich.txt ,etc.

try to use this function, but don't see files that bitcrack record, where is it saves, in bin??
jr. member
Activity: 37
Merit: 1
September 16, 2019, 04:27:06 AM
-o, --out FILE
    Append private keys to FILE, one per line

can bitcrack save adresses in file or only private keys?
to this file bitcrack record found addresses with keys.one per line.can also be called as you want -o 1out.txt, -o myrich.txt ,etc.
newbie
Activity: 49
Merit: 0
September 16, 2019, 02:13:39 AM
-o, --out FILE
    Append private keys to FILE, one per line

can bitcrack save adresses in file or only private keys?
newbie
Activity: 4
Merit: 0
September 13, 2019, 09:43:47 AM
The Cuda version is 10.1.

When I used Cuda 9.0 the BitCrack was not being able to launch, and I don't know how to change the script itself to use other Cuda version + on Github it's written that you need Cuda 10.1 and Visual Studio ? Or anyway to resolve this Cheesy
newbie
Activity: 4
Merit: 0
September 12, 2019, 07:23:24 PM
Nothing changed. I keep still having the same issue Sad
jr. member
Activity: 85
Merit: 1
September 12, 2019, 04:22:39 PM
try running cudaInfo.exe at first... you need to identify your ID of that GTX 660 card, which you will have to use as parameter with cuBitCrack.exe --device xx

make sure you also have Nvidia CUDA 9.xx or 10.xx installed according to what version of BitCrack you are running
newbie
Activity: 4
Merit: 0
September 12, 2019, 03:29:45 PM
Hey ! I'm getting this error. I got a video card Gefore GTX 760, any clue why this is happening? I tried to change from default 30 ,to 60, to 50, to 90 and nothing is working out. What am I doing wrong??




https://imgur.com/x4Wj4j4
newbie
Activity: 17
Merit: 1
September 11, 2019, 05:36:24 PM
can anyony told me how to use --continue to save a result of scan private and addr?
or mb show a command?

 use first time -  xxBitCrack -c -u -i target.txt -o finish.txt --keyspace 1:FFFFFFFFFFF -continue step.txt
 and after       -  xxBitCrack -c -u -i target.txt -o finish.txt -continue step.txt

How do u guys convert hex to wif? offline?

this converts lots of stuff.  save and run offline.

https://www.mobilefish.com/services/cryptocurrency/cryptocurrency.html

newbie
Activity: 18
Merit: 0
September 11, 2019, 01:08:11 PM
can anyony told me how to use --continue to save a result of scan private and addr?
or mb show a command?

 use first time -  xxBitCrack -c -u -i target.txt -o finish.txt --keyspace 1:FFFFFFFFFFF -continue step.txt
 and after       -  xxBitCrack -c -u -i target.txt -o finish.txt -continue step.txt

How do u guys convert hex to wif? offline?
download one of two or both and convert offline.
click on the bitaddress.org.html,index.html in the folder and here’s your offline local site.
https://github.com/pointbiz/bitaddress.org   click-Wallet Details
https://github.com/brainwalletX/brainwalletX.github.io   click-converter


Thanks for answering, but I already downloaded them.
But I just can’t understand how I can do this from 0x01 this is KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn hmmmm
brainwallet Converter-> HEX to B58Check
000000000000000000000000000000000000000000000000000000000000000101 to KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn

cool! thx! Grin

naively, I thought I could only use "1". About "0" did not think at all Angry

Habit from here http://gobittest.appspot.com/VanityAll
But something I’m scared to enter "good" data here
Pages:
Jump to: