Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
farou9
on 12/04/2025, 17:27:02 UTC
so those large Xs wont show when we calculate a point that is 5th by point addition or scalar multiplication under the curve rules , but will they show when we calculate without applying mod p?

With mod p (Bitcoin's actual usage):
All coordinates wrap around p
NO large x-coordinates appear
Example (real secp256k1 point):
5G = (0x5ecbe4..., 0x769cf5...)

Without mod p (raw curve over ℝ):
Coordinates grow exponentially
 Every 5th point (5G,10G,...) has massive x-values
 Example pattern:
  5G.x = 21
  10G.x = 514
  15G.x = 26867
  20G.x = 863317

You can verify this in Python :

Code:
from ecdsa import SECP256k1
from ecdsa.ellipticcurve import Point
import matplotlib.pyplot as plt
import numpy as np

# Secp256k1 parameters
p = SECP256k1.curve.p() 
G = SECP256k1.generator  # Base point

# Over FINITE FIELD (actual Bitcoin)
def finite_scalar_mul(k):
    """ECC operation with mod p"""
    point = k * G
    return point.x()

def simulated_real_x(k):
    """real numbers"""
    return 21 * (10 ** (k//5))

# Test for multiples of 5
print("Comparison for multiples of 5G:")
for k in range(5, 26, 5):

    x_simulated = simulated_real_x(k)

    x_finite = finite_scalar_mul(k)
   
    print(f"\n{k}G:")
    print(f"Simulated real nums (no mod p): x ≈ {x_simulated:.1e}")
    print(f"Finite field (mod p): x = {x_finite}")

k_values = list(range(5, 101, 5))
x_simulated = [simulated_real_x(k) for k in k_values]

plt.figure(figsize=(10, 5))
plt.plot(k_values, x_simulated, 'ro-')
plt.yscale('log')
plt.title("Simulated Growth Pattern of x-coordinates for 5G, 10G,... (no mod p)")
plt.xlabel("Multiples of G (k)")
plt.ylabel("log(simulated x-coordinate)")
plt.grid(True)
plt.show()
 
Comparison for multiples of 5G:

5G:
Real nums (no mod p): x = 21505829891763648114329055987619236494102133314575206970830385799158076338148
Finite field (mod p): x = 21505829891763648114329055987619236494102133314575206970830385799158076338148

10G:
Real nums (no mod p): x = 72488970228380509287422715226575535698893157273063074627791787432852706183111
Finite field (mod p): x = 72488970228380509287422715226575535698893157273063074627791787432852706183111

15G:
Real nums (no mod p): x = 97505755694356382817881959832717013755620551362654128955029190924747025549326
Finite field (mod p): x = 97505755694356382817881959832717013755620551362654128955029190924747025549326

20G:
Real nums (no mod p): x = 34773495056115281091786765947597603724784643419904767525769502836017890139287
Finite field (mod p): x = 34773495056115281091786765947597603724784643419904767525769502836017890139287

25G:
Real nums (no mod p): x = 66165162229742397718677620062386824252848999675912518712054484685772795754260
Finite field (mod p): x = 66165162229742397718677620062386824252848999675912518712054484685772795754260 , ?