Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
adaseb
on 19/01/2017, 04:23:10 UTC

2nd EDIT:

I decided to abandon this project. Basically can't get Oclvanitygen to work in Windows with sequential search and the speeds seem very slow when using a 1x riser. It would take too long to find the 51st key and 52nd and 53rd would take months.

I had a look at the vanitygen code the last couple of day's to see how to make the sequential search.
I just needed a minor change to have the CPU code to run from EC_key=0x01.
Using the online generator at gobittest(dot)appspot(dot)com/VanityAll a key can be made to generate an offset or start code. (for the -P split-key function)
There are still two issue that need to be solved
1) when starting from 1, there are parts of the code that perform an EC_POINT_ADD on two equal value's, here a EC_POINT_DOUBLE is needed.
2) when running multiple threads the old code uses a random key generation to make sure the threads used unique values, currently all my threads run the same data.

1) Is no issue when an offset key is used
2) I just execute the code in single thread, and run the executable #cpu times with another offset start code.

Since I don't have a GPU system I don't know if the change in that code there is just as hard/easy.

I was kind of curious what code changes you made to get it to run.


Im very bad at programming, all I did was add


const BN_ULONG rekey_max = 10000000000000000;
   BIGNUM *bnprivkey, *bnpubkey;      
   BIGNUM start;      
   BIGNUM *res;


   BN_init(&start);      
               
   int keylen = 32;      
         
   res = &start;      
   BN_hex2bn(&res,"6000000000000");      
         
         //   pkey = EC_KEY_new_by_curve_name(NID_secp256k1);      
         
   pgroup = EC_KEY_get0_group(pkey);      
         
   pgen = EC_POINT_new(pgroup);      
         
   EC_KEY_set_private_key(pkey,res);      
         
         
   if (!EC_POINT_mul(pgroup, pgen, res, NULL, NULL, vxcp->vxc_bnctx));      
      printf("ERROR AT EC POINT MUL");      
         
         
   EC_KEY_set_public_key(pkey, pgen);      
   rekey_at = 999999999999999;