Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
alek76
on 10/01/2024, 13:57:57 UTC

He succeeded in his idea. He showed our cracking capabilities  are poor.

I optimized code a little.
https://github.com/alek76-2/VanitySearch/blob/main/mod/other_files/GPUHash_nc_optimized.h
Previously, the data array was transferred from one function to another when initializing RIPEMD160.
I put the constants directly into the RIPEMD160Transform() function.
Now the question is, can this be optimized using compiler options? The uint32_t * array is no longer used.
Code:
__device__ void RIPEMD160Transform(uint32_t s[5],uint32_t* w) {

  uint32_t u;
  //uint32_t a1 = s[0], b1 = s[1], c1 = s[2], d1 = s[3], e1 = s[4];
  //uint32_t a2 = a1, b2 = b1, c2 = c1, d2 = d1, e2 = e1;
 
  uint32_t a1 = 0x67452301ul, b1 = 0xEFCDAB89ul, c1 = 0x98BADCFEul, d1 = 0x10325476ul, e1 = 0xC3D2E1F0ul;
  uint32_t a2 = a1, b2 = b1, c2 = c1, d2 = d1, e2 = e1;

  //uint32_t t = s[0];
  //s[0] = s[1] + c1 + d2;
  //s[1] = s[2] + d1 + e2;
  //s[2] = s[3] + e1 + a2;
  //s[3] = s[4] + a1 + b2;
  //s[4] = t + b1 + c2;
 
  uint32_t t = 0x67452301ul;
  s[0] = 0xEFCDAB89ul + c1 + d2;
  s[1] = 0x98BADCFEul + d1 + e2;
  s[2] = 0x10325476ul + e1 + a2;
  s[3] = 0xC3D2E1F0ul + a1 + b2;
  s[4] = t + b1 + c2;


Or will the compiler do it itself now?