Pages:
Author

Topic: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED== - page 55. (Read 56520 times)

full member
Activity: 431
Merit: 105
What is the meaning of this post?
As I understand it, something to brag about, or maybe you're waiting for potential investors?
Hi, I apologize for my English.
Developing the theme of solving the puzzle, perhaps this will provide an incentive for independent code writing for the CUDA GPU. I don’t expect investors! 1st step:
Code:
bool GenerateSptable() {

  // Init SecpK1
  Secp256K1 *secp = new Secp256K1();
  secp->Init();
  
  int size = 512;
    
  // Compute generator table
  Point *Sp = new Point[size];
  Int *dS = new Int[size];
  Sp[0] = secp->G;
  dS[0].SetInt32(1);
  for (int i = 1; i < size; i++) {
dS[i].Add(&dS[i-1], &dS[i-1]);
Sp[i] = secp->DoubleAffine(Sp[i-1]);
printf("\nGenerate Sp-table GPUSptable.h size i: %d", i);
  }
  
  // Write file
  FILE *f = fopen("GPU/GPUSptable.h", "wb");
  fprintf(f, "// File generated by Main::GenerateSptable()\n");
  fprintf(f, "#define GRP_SIZE %d\n\n", size);
  fprintf(f, "// SecpK1 Generator table (Contains G,2G,4G,8G...,(SIZE/2 )...G)\n");
  fprintf(f, "__device__ __constant__ uint64_t Spx[][4] = {\n");
  for (int i = 0; i < size/2; i++) {
    fprintf(f, "  %s,\n", Sp[i].x.GetC64Str(4).c_str());
  }
  fprintf(f, "};\n");

  fprintf(f, "__device__ __constant__ uint64_t Spy[][4] = {\n");
  for (int i = 0; i < size/2; i++) {
    fprintf(f, "  %s,\n", Sp[i].y.GetC64Str(4).c_str());
  }
  fprintf(f, "};\n\n");
  
  fprintf(f, "__device__ __constant__ uint64_t dS[][4] = {\n");
  for (int i = 0; i < size/2; i++) {
    fprintf(f, "  %s,\n", dS[i].GetC64Str(4).c_str());
  }
  fprintf(f, "};\n\n");

  fclose(f);
  delete[] Sp;
  delete[] dS;
  
  return true;
}


wich file is this step? or wrong question?
member
Activity: 174
Merit: 12
Yes, I think everyone wants to try Pollard at GPU
Everyone else is embarrassed to admit Smiley
newbie
Activity: 49
Merit: 0
hi
anybody try to use p106 with bitcrack?
full member
Activity: 431
Merit: 105
wow alek76,
just come in here, and add what all are waiting for in someone else's code. you must be a great programmer,
where are you from,? what kind of work you do.
thanks again for the showing of the gpu code.
jr. member
Activity: 59
Merit: 3
Thanks for pointing to the github. I learned a lot from Telariust code.
Now I’ve modified the algorithm (I’ll write the whole algorithm here soon) in terms of performing operations specific to python and productivity has increased by 14%. And this is only single-threaded execution.
I also have a multithreaded part ready.
I still can not lay out a single-threaded code, because it is not optimized by memory. Soon
When rewriting program for CUDA, I don’t share the code.
./vs-kangaroo-hybrid -v 1 -p 8 -gpu -bits 65 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b
Code:
bla bla bla
[x] EXIT

Bro, show us the result of finding the address # 105, othervise all this has no sense at all...
Why spend electricity on 105 bits Huh, preferably 110 bits.
If with this code you still need to waste an electricity for #105, then this code is still useless. In order to have it profitable it must solve #105 in a few seconds... ok, few minutes... ok, few hours... )))
jr. member
Activity: 59
Merit: 3
Thanks for pointing to the github. I learned a lot from Telariust code.
Now I’ve modified the algorithm (I’ll write the whole algorithm here soon) in terms of performing operations specific to python and productivity has increased by 14%. And this is only single-threaded execution.
I also have a multithreaded part ready.
I still can not lay out a single-threaded code, because it is not optimized by memory. Soon
When rewriting program for CUDA, I don’t share the code.
./vs-kangaroo-hybrid -v 1 -p 8 -gpu -bits 65 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b
Code:
bla bla bla
[x] EXIT

Bro, show us the result of finding the address # 105, othervise all this has no sense at all...
copper member
Activity: 205
Merit: 1
What is the meaning of this post?
As I understand it, something to brag about, or maybe you're waiting for potential investors?
full member
Activity: 431
Merit: 105
@bigvito19

so why not 1FFFFFFFFFFFFFFFF or just 1A838B13505B26867 as end of keyspace or i am seeing this wrong.?
anyone care to enlighten.? i say that cause most threads around the 32 or 100 btc puzzle are so silent recently.
still thinking the FFF thing is wrong, only one left with pubkey 110 bits,

vanitygen not fast enough, and ndv is paid only for upgrades? bitcrack not fast enough but great i guess,
so these programs to use for all this, and all the others i know are for public key search. no one giving updates,
Telariust hi, any news soon? Zielar, maybe sample of app with gpu pollard ready somewhere.?

So nooby where's you'r app. Finished already with the memory issues.


Of course they're all not fast enough and slow, because you're trying to brute force it, what do you expect. By the time someone else comes up with a new or modified program, the next key will be cracked by then.

Guess the gpu pollard multi-gpu 2021 maybe, and any other bitcrack multi-gpu edition 2021 maybe, and vgen ultraspeed only in dev's hands. but jean_luc is still the bomb all else said oclvgen.
thanks for your response big
full member
Activity: 706
Merit: 111

so why not 1FFFFFFFFFFFFFFFF or just 1A838B13505B26867 as end of keyspace or i am seeing this wrong.?
anyone care to enlighten.? i say that cause most threads around the 32 or 100 btc puzzle are so silent recently.
still thinking the FFF thing is wrong, only one left with pubkey 110 bits,

vanitygen not fast enough, and ndv is paid only for upgrades? bitcrack not fast enough but great i guess,
so these programs to use for all this, and all the others i know are for public key search. no one giving updates,
Telariust hi, any news soon? Zielar, maybe sample of app with gpu pollard ready somewhere.?

So nooby where's you'r app. Finished already with the memory issues.


Of course they're all not fast enough and slow, because you're trying to brute force it, what do you expect. By the time someone else comes up with a new or modified program, the next key will be cracked by then.
full member
Activity: 431
Merit: 105

so why not 1FFFFFFFFFFFFFFFF or just 1A838B13505B26867 as end of keyspace or i am seeing this wrong.?
anyone care to enlighten.? i say that cause most threads around the 32 or 100 btc puzzle are so silent recently.
still thinking the FFF thing is wrong, only one left with pubkey 110 bits,

vanitygen not fast enough, and ndv is paid only for upgrades? bitcrack not fast enough but great i guess,
so these programs to use for all this, and all the others i know are for public key search. no one giving updates,
Telariust hi, any news soon? Zielar, maybe sample of app with gpu pollard ready somewhere.?

So nooby where's you'r app. Finished already with the memory issues.
jr. member
Activity: 59
Merit: 3
@zielar

I noticed that the PubKeys for 155 and 160 are not listed on the first page.

I think that next several thousands years we are going to need it...
newbie
Activity: 5
Merit: 1
@zielar

I noticed that the PubKeys for 155 and 160 are not listed on the first page.

here they are:


155:   035cd1854cae45391ca4ec428cc7e6c7d9984424b954209a8eea197b9e364c05f6


160:   02e0a8b039282faf6fe0fd769cfbc4b6b4cf8758ba68220eac420e32b91ddfa673




//radd66
full member
Activity: 282
Merit: 114
Hello everyone
I am glad that the creation of a new topic has been received positively and remind you to submit any suggestions on what should appear in the main thread. From the current information and suggestions to remove a part consisting of already found keys - I allowed myself to move this part to the next topic segment and updated with the missing part (which was automatically cut due to too many characters in the previous version of the topic). Complete removal in my opinion will not have any positive impact, while maintaining it in its current form will provide a permanent source of information about the challenge - the more so because the keys solved so far are also part of the challenge, so it should probably remain so.
I also allowed myself to delete recent posts due to the fact that they referred to an unreliable script offer that was not part of the challenge ... and finally - I updated some of the "important links" about the pool that was created for this challenge and currently working on address 64.
While my activity has been low for some time for various reasons - I can assure you that in my free time I follow what is happening here :-) Regards to all!
jr. member
Activity: 119
Merit: 1


I still can not lay out a single-threaded code, because it is not optimized by memory. Soon
[/quote]

We wait!
member
Activity: 172
Merit: 11
Regarding speed there is on github pollard-kangaroo-c99 from Telariust with multicore ..up to 128 cores.

Thanks for pointing to the github. I learned a lot from Telariust code.
Now I’ve modified the algorithm (I’ll write the whole algorithm here soon) in terms of performing operations specific to python and productivity has increased by 14%. And this is only single-threaded execution.
I also have a multithreaded part ready.
I still can not lay out a single-threaded code, because it is not optimized by memory. Soon
newbie
Activity: 43
Merit: 0
hey supika, nice software i guess,
smart man you are, but when you transfer it to that another language thing you said,

could you do it a bit faster for us, so we can get used to that piece,

thanks bro

Is not my script. I only wrote the first part of the script from the video, which is the generator but the second part which is most important was not revealed.
Will be released when the creator of the script will decide to do so.
Regarding speed there is on github pollard-kangaroo-c99 from Telariust with multicore ..up to 128 cores.
newbie
Activity: 28
Merit: 0
I think an algorithm that uses n00by
based on subtract public keys

for example here http://gobittest.appspot.com/VanitySum
use addition rather than subtraction
full member
Activity: 431
Merit: 105
hey supika, nice software i guess,
smart man you are, but when you transfer it to that another language thing you said,

could you do it a bit faster for us, so we can get used to that piece,

thanks bro
jr. member
Activity: 119
Merit: 1
Why put it here if  "...  The first part of the script is useless/generic  ..."  Huh
newbie
Activity: 43
Merit: 0
I didn't want to say it here by either delete your video or blur out your code. If really don't want to share it yet.



Doesn't have to delete any video. The first part of the script is useless/generic.

import collections
import time
import gmpy2
import random

EllipticCurve = collections.namedtuple('EllipticCurve', 'name p a b g n h')

curve = EllipticCurve(
    'secp256k1',
    p=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F,
    a=0,
    b=7,
    g=(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8),
    n=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141,
    h=1,
)

def pubkey_point(pubkey):

    if len(pubkey) == 130:
        hexpubX = pubkey[2:66]
        hexpubY = pubkey[67:130]
        X = int(hexpubX,16)
        Y = int(hexpubY,16)
        return (X, Y)
    else:
        hexpub = pubkey[2:66]
        prefix = pubkey[1:2]
        X = int(hexpub,16)
        Y = pow(int(X**3+7), int((curve.p+1)//4), int(curve.p))
        if Y%2 !=0:
            if int(prefix)%2 !=0:
                Y = Y
            else:
                Y = curve.p - Y
        else:
            if int(prefix)%2 ==0:
                Y = Y
            else:
                Y = curve.p - Y
        return (X, Y)

def point_neg(point):

    if point is None:
        return None
    x, y = point
    result = (x, -y % curve.p)
    return result

def point_add(point1, point2):

    if point1 is None:
        return point2
    if point2 is None:
        return point1
    x1, y1 = point1
    x2, y2 = point2
   
    if x1 == x2 and y1 != y2:
        return None
    if x1 == x2:
        #m = (3 * x1 *x1 + curve.a) * inverse_mod(2 * y1, curve.p)
        m = (3 * x1 *x1 + curve.a) * gmpy2.invert(2 * y1, curve.p)
    else:
        m = (y1 - y2) * gmpy2.invert(x1-x2, curve.p)
        #m = (y1 - y2) * inverse_mod(x1-x2, curve.p)
    x3 = m * m - x1 - x2
    y3 = y1 + m * (x3 - x1)
    result = (x3 % curve.p, -y3 % curve.p)
    return result

def scalar_mult(k, point):
    if k % curve.n == 0 or point is None:
        return None
    if k < 0:
        return scalar_mult(-k, point_neg(point))
    result = None
    power = ' '
    addend = point
   
    while k:
        if k & 1:
            result = point_add(result, addend)
        addend = point_add(addend, addend)
        k >>= 1
    return result

def make_keypair(intkey, point=curve.g):
    public_key = scalar_mult(intkey, point)   #random.randrange(1, curve.n)
    return public_key

if __name__ == '__main__':
   
    start = time.time()
    target_bit = 45
   
    while True:
        tb = random.randrange(1, 2**target_bit)
        if tb.bit_length()            pass
        else:
            target_pnt = make_keypair(tb)
            break
    print ('Target random:', tb)
    print ('Target random hex:', hex(tb))
   
    target_pnt = '026ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71a'
    target_pnt = pubkey_point(target_pnt)
Pages:
Jump to: