== Chapter 5 - Transactions
=== Introduction

=== Transactions and the Blockchain

==== Transaction Lifecycle
===== Creating Transactions
===== Broadcasting Transactions
===== Validating and Propagating Transactions
===== Mining Transactions into Blocks

==== Transaction Fees
==== Transaction Validation
===== Validation Limits
==== Transaction Locktime
==== Transaction Irrevocability
==== Transaction Self-Sufficiency

  
=== Transaction Structure
=== Transaction Outputs and Inputs

[TIP]
====
Outputs come first, chicken and egg.
====

==== Transaction Outputs
===== Spending Conditions (Encumbrances)
===== Unspent Transaction Outputs (UTXO)

[TIP]
====
The are no accounts or balances in bitcoin, only UTXO. 
====

==== Transaction Inputs
===== Spending the Transaction Outputs
===== Unlocking the Conditions (Encumbrance Satisfaction)
==== Transaction Fees


=== Standard Transactions
==== Pay to Public Key Hash (P2PKH)
==== Simple Pubkey 
==== Mutli-Signature
==== Data Injection (OP_RETURN)
==== Pay to Script Hash (P2SH)
===== Redeem Script and isStandard Validation

=== Non-Standard Transactions

=== Transaction Scripts and Script Language

==== Scripting Language
==== Turing Incompleteness
==== Stateless Verification
==== Transaction Script Operands

==== Script Construction (Lock + Unlock)

[[scriptSig and scriptPubKey]]
.Combining scriptSig and scriptPubKey to evaluate a transaction script
image::images/scriptSig_and_scriptPubKey.png["scriptSig_and_scriptPubKey"]

=== Standard Transaction Scripts
==== Pay to Public Key Hash Script Example
[[P2PubKHash1]]
.Evaluating a script for a Pay-to-Public-Key-Hash transaction (Part 1 of 2)
image::images/Tx_Script_P2PubKeyHash_1.png["Tx_Script_P2PubKeyHash_1"]

[[P2PubKHash2]]
.Evaluating a script for a Pay-to-Public-Key-Hash transaction (Part 2 of 2)
image::images/Tx_Script_P2PubKeyHash_2.png["Tx_Script_P2PubKeyHash_2"]

==== Pubkey Script Example
==== Multi-Signature Scripts Example
==== P2SH Script Example

=== Scripts and Signatures
==== Elliptic Curve Digital Signature Algorithm
===== Signing with the Private Key
===== Validating a Digital Signature
==== Types of Signature Hashes

=== Transaction Malleability
