Post
Topic
Board Bitcoin Technical Support
Re: step-by-step process for BTC transaction
by
bkelly13
on 18/07/2024, 05:19:29 UTC
Why don't you use well known and reputable ressources to learn step-by-step the basics of Bitcoin transactions?

I'd rather go to https://learnmeabitcoin.com (in the technical section it get's quite detailed and deep down the rabbit hole) or quite a bit dryer Mastering Bitcoin 3rd Edition. Sorry, I didn't bother to hop to your source link and read what's presented there. Could be good, could be bad, no judgment.


Cricktor, Thanks for the link.  From the main page I took the link named Technical.  In the next page are links named Private Key and Public Key.  The link Public Key provides a tool to make the translation on-line, but I could not recognize the specific steps to translate my private key number into a public key.

I tried this site also:  https://learnmeabitcoin.com/technical/cryptography/elliptic-curve/#mathematics
It provides values:

a = 0, b = 7 meaning the curve equation is y^2 = x^3 + 7

It describes p as being:  $p = 2 ** 256 - 2 ** 32 - 2 ** 9 - 2 ** 8 - 2 ** 7 - 2 ** 6 - 2 ** 4 - 1

Which I worked out to the hex number and which does not agree with another site that I cannot find again right now.  For now presume this one is correct.

So generate my random number to become my private key.

Then generate a public address.  Here is where several sites provide an online tool to enter a test private key and give you the public key.  But none of the sites I have found spell out the arithmetic steps to do this?  By arithmetic steps I ask for the addition, subtraction, multiply, and divide steps.  And even taking a square or cube root of a number.

I presume that my random number is the x part of an x,y point on the curve equation y2 = x3 + 7.

Then I must calculate y, the square root of x3 + 7.  And must do this with 256 bit arithmetic.  Actually, I suspect that 512 bits must be used for accuracy.  And then I must use modulo p to keep the numbers within the 256 bit range.

If correct, then what?

So, please, where can I find the arithmetic steps to transform a private key into a public address?