Search content
Sort by

Showing 4 of 4 results by 7^k*G
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
7^k*G
on 24/04/2025, 11:40:09 UTC
Wat ?

Here is an example of an improved enumeration of points from 1 to 10. If we take the cost of one inversion as $1, then we save $4: starting from point 3, we make a step of 5 in the cycle, points 1,2,6,7 are formed using the calculated inversion for 4,5,9,10 respectively.

Code:
         $1                  $1        
---------+-------------------+---------
 $0      |      $1   $0      |      $1
 .-------+-------.   .-------+-------.
 |   $0  |  $1   |   |   $0  |  $1   |
 |   .---+---.   |   |   .---+---.   |
 |   |   |   |   |   |   |   |   |   |
 1   2   3   4   5   6   7   8   9   10
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
7^k*G
on 24/04/2025, 09:50:53 UTC
lol, Do you know what probabilistic means? Did you even touch the script? Clearly, both achieve the objective 100% of the time.

This is not applicable to solving a puzzle. The only way to speed up the search is to calculate one modular inverse for adding two points, which will give about 33% speedup.
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
7^k*G
on 23/04/2025, 12:24:36 UTC
Another test simulating mining, infinite possibilities and solutions.

your method does not guarantee a 100% match. the algorithm does not iterate hashes inside subblocks starting from matching the first bits to the block boundary. with a difficult of 16 bits (as in the example) for some reason you are sure that the prefix will not be repeated in less than 5000 steps, and this is not a correct assumption. two prefixes can go either one after another or not repeat for a large number of iterations. If you are unlucky, you will go through the entire 68th range and will not find the desired hash.
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
7^k*G
on 23/04/2025, 03:25:09 UTC
It's funny to watch the proponents of the prefix theory. the point coordinates themselves are hashes, and applying sha256 and rmd160 to them produces a set of bits that is in no way related to the private key. In your theory, the match of the first m bits in the hash should be repeated every 2^m iterations, but this is not at all the case. In a 120-bit field, it will indeed be found approximately 2^(120-m) times, but to understand the pattern in the puzzle range, you need to go through at least half of it, which is impossible. Here is a simple code (m=12) proving that the distance from identical prefixes is unpredictable, although it averages 2^m steps:

Code:
from os import urandom
from hashlib import sha256, new

p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
n = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

Gx = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

def add(x, y, z, w):
    y = (pow(x - z, -1, p) * (y - w) if x != z else pow(y + y, -1, p) * x * x * 3) % p
    x = (y * y - x - z) % p
    return x, (y * (z - x) - w) % p

def multiply(k, z, w):
    x, y = z, w
    for i in bin(k % n)[3:]:
        x, y = add(x, y, x, y)
        if i == '1':
            x, y = add(x, y, z, w)
    return x, y

def hash160(x, y):
    return new('ripemd160', sha256((b'\x03' if y & 1 else b'\x02') + x.to_bytes(32, 'big')).digest()).digest()

def random_key():
    return 1 + int.from_bytes(urandom(32), 'little') % ((n - 1) // 2)

x, y = multiply(random_key(), Gx, Gy)

i, s, c = 0, 0, 0

while 1:
    h = hash160(x, y)
   
    i += 1
   
    if h[0] == 0 and h[1] >> 4 == 0:
        s += i
        c += 1
       
        print(h.hex(), i, s / c)
       
        i = 0
   
    x, y = add(x, y, Gx, Gy)