What do all these terms mean?
Here's a high level overview of the basics, and how they help us do cool things especially in bitcoin 👇
Thats all
It's just a really large random number - so large that it can't be guessed by anyone
To get a sense of how many choices there are, 2^256 is roughly the number of atoms in the known universe
You do this by multiplying the Private Key by a set number that everyone has agreed upon (we call this set number G - the "Generator" point)
This isn't regular multiplication...
Its a fancy type of multiplication that uses a special number system (which I won't get into here)
In this number system, multiplication is easy, but DIVISION is IMPOSSIBLE
You can't just divide it by G, because in this number system, division is impossible
(This number system is an Elliptic Curve over a Finite Field, aka "fancy math")
- Private key is a secret number
- Public key is also basically a number, and you get it by multiplying the private key by G
- Division is impossible, so you cannot figure out the Private Key if you only know the Public Key
So they function kind of like your digital identity
Imagine I own 1 Bitcoin and I'd like to send it to my friend @SahilBloom
In order to send this coin, I need a way to "prove" to the network that I am the rightful owner of this coin and authorize it's transfer
I first create a message (in this case its a bitcoin transaction) that says:
"I, the owner of Danny's Public Key, authorize the sending of this 1 Bitcoin to the owner of Sahil's Public Key"
This proof is called a Digital Signature.
I basically just put my Private Key and the Message into an equation, and out pops another number - the Signature!
If the math checks out, they can be 100% sure that the owner of the private key is the one who created the signature
These elements of cryptography are used everywhere in software and the internet (not just bitcoin), and are a great example of the powers the fancy math gives us
For more info on that, you can research "Elliptic Curves over Finite Fields"
The Math isn't too complicated, it's just very different from what they teach us in school
Let me know if I got anything wrong - I really appreciate all the feedback in the comments 😀