The Pay-to-Public-Key-Hash script is the basic form of making a transaction and is the most common form of transaction on the Bitcoin network.
Our other guide such as elliptic curve cryptography and digital signatures can show you why this is all that’s needed from a mathematical standpoint – the purpose of this guide though is to explain how nodes take the information using the Forth stack based programming language.
The ScriptPubKey and ScriptSig for a transaction is shown below:
<ScriptPubKey=OP_DUP OP_HASH160<Public KeyHash> OP_EQUAL OP_CHECKSIG
ScriptSig= <Signature><Public Key>
The ScriptPubKey and ScriptSig are joined together and executed in the following format.
Validation=<Signature><Public Key>OP_DUP OP_HASH160<Public KeyHash> OP_EQUAL OP_CHECKSIG
If the result is 1 then the operation is true and the transaction is valid! But first a run through of exactly how this works:
The process operates from left to right and the operators add to the stack in a LIFO process (Last in First Out).
First the signature is moved to the stack, then the public key is moved to the top of the stack. The OP_DUP duplicates the top item on the stack and then the Hash160 function hashes the top item on the stack turning the public key into its hash. The OP_EQUAL checks whether the two values of the hashed public key are the same and then the OP_CHECKSIG verifies whether the signature is true.
- What Is the Bitcoin Halving and What Will It Do to the Bitcoin Price?
- Delegated Byzantine Fault Tolerance (dBFT) & Generals’ Problem Explained
- What is Delegated Proof-of-Stake (DPoS)?
- Proof of Work (PoW) vs. Proof of Stake
- How to Buy and Store Grin
- Everything You Need to Know About Bittorrent Token (BTT)
- Maximize Your BTC Profit During a Bull Market: Bexplus Investment Tips
- Everything You Need to Know About Grin and Mimblewimble
- Permaweb: Creating An Uncensorable World Wide Web
- BitTaxer: Simplifying Cryptocurrency Tax Filing for the 2018 Tax Season