Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
kTimesG
on 12/04/2025, 20:11:47 UTC
Right now I am doing GPU Cyclone version, it has hashing and comparing to target hash160, on rtx 4060 it has 4.3 Ghash/s, that faster than bitcrack, vanity, etc.

Hey, I’ve got the SHA-256 part nailed down in sha256_gpu.cu, but I’m hitting a wall with RIPEMD-160 in ripemd160_gpu.cu.

Right now, my RIPEMD-160 code outputs 499d42dd5724b7522a1c4bd895876e1232957cbe for SHA-256("abc"), but it should be 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc. I’ve been digging into BitCrack’s ripemd160.cuh for clues—tweaking byte orders and round functions—but I’m still stuck.

Would you be willing to share how you’ve implemented RIPEMD-160 in CUDA? I’d love to see a working ripemd160_gpu.cu

Both of those hashes are incorrect. Why don't you simply print the inputs to debug where the problem is?
For example to check if the SHA output is correct (I assume it's not):

Code:
if (!(threadIdx.x || blockIdx.x)) printf("%08x %08x %08x %08x\n", buf[0], buf[1], buf[2], buf[3]);

RIPEMD-160 has a 64 byte input (16 uint32) but you need to change the endianness of the four ints that form the SHA.