I like where you're going, but I don't think you captured the title quite well: I thought I'd read something more thorough about private keys, public keys, scripts and addresses, and although you've covered them swiftly (and correctly), I'd have liked- and expected to see more.
Make it bigger, make it better, and wait for next week. 😉
I appreciate the sentiment and plan to post more in depth posts perhaps in other territories. Thanks for reading and are there any other topics you would like to read about?
I disagree that I should’ve gone more in depth on these topics in this post though as it was meant for those truly at the beginning of their bitcoin journey. For bitcoin beginners there are already a lot of new topics to understand and as @WeAreAllSatoshi pointed out in another comment this information can be quite daunting.
reply
are there any other topics you would like to read about?
What about ECC & Key derivation? 😉
I'd like to read in-depth posts about the more "basic" things and happenings, such as; different types of nodes, PoW, emergent consensus, different blocks, contents of a block(header), longest chain and reorg's, signaling for fork-support, et cetera.
In regards to more technical topics, I'd like to read more in-depth posts about:
The important thing to know is that from a private key we can mathematically derive a public key. With our private key we can sign(think numbers and algebra not handwriting) a message(think bitcoin transaction). Anybody that has the public key information and the signature number can use basic math to prove that only the person with the private key could have produced the signature needed to spend some bitcoin. Its also important to note that there is no known way to gain any information about a private key with just a public key. When we send a bitcoin transaction we don't actually send it to an address, in fact the bitcoin blockchain has no concept of an address. What we are doing is locking the bitcoin to a script. A example of a simple locking script would be two items "public_key check_signature". Check_signature is a op_code that bitcoin software knows how to check that a signature is valid for a given transaction(message) and public key. The bitcoin is sent or locked to this script and the only thing that can unlock this script is a "signature" made by the private key corresponding to the public key. This is a simple example of part of what bitcoin core is checking when you hear the term validating transactions.
As well as:
Scripts have evolved from this simple pay to public key example that was used in the early days of bitcoin to other more secure and useful script types like pay to public key hash(p2pkh), pay to script hash(p2sh), pay to witness pubkey hash(p2wpkh), pay to witness script hash(p2wsh) and pay to taproot(p2tr). There is a standard way for wallets to generate addresses for each script type that make sending bitcoin easier for users. P2pkh addresses start with a 1, p2sh with a 3, p2wpkh, p2wsh, p2tr with a bc1.
Along with derivation paths (in HD-wallets.)
🙂.
reply