renamed images and cleanup
@ -22,7 +22,7 @@ In the overview diagram below, we see that the bitcoin system consists of users
|
||||
|
||||
[[blockchain-mnemonic]]
|
||||
.Bitcoin Overview
|
||||
image::images/Bitcoin Overview.png["Bitcoin Overview"]
|
||||
image::images/Bitcoin_Overview.png["Bitcoin Overview"]
|
||||
|
||||
==== Buying a cup of coffee
|
||||
|
||||
@ -76,7 +76,7 @@ Transactions are like lines in a double-entry bookkeeping ledger. In simple term
|
||||
|
||||
[[transaction-double-entry]]
|
||||
.Transaction As Double-Entry Bookkeeping
|
||||
image::images/Transaction Double Entry.png["Transaction Double-Entry"]
|
||||
image::images/Transaction_Double_Entry.png["Transaction Double-Entry"]
|
||||
|
||||
The transaction contains proof of ownership for each amount of bitcoin (inputs) whose value is transfered, in the form of a digital signature from the owner, that can be independently validated by anyone. In bitcoin terms, "spending" is signing the value of a previous transaction for which you have the keys, over to a new owner identified by a bitcoin address.
|
||||
|
||||
@ -89,7 +89,7 @@ _Transactions_ move value *from* _transaction inputs_ *to* _transaction outputs_
|
||||
|
||||
[[blockchain-mnemonic]]
|
||||
.Transaction Chain
|
||||
image::images/Transaction chain.png["Transaction chain"]
|
||||
image::images/Transaction_Chain.png["Transaction chain"]
|
||||
|
||||
Alice's payment to Bob's Cafe utilizes a previous transaction as its input. In the previous chapter Alice received bitcoin from her friend Joe in return for cash. That transaction has a number of bitcoins locked (encumbered) against Alice's key. Her new transaction to Bob's Cafe references the previous transaction as an input and creates new outputs to pay for the cup of coffee and receive change. The transactions form a chain, where the inputs from the latest transaction correspond to outputs from previous transactions. Alice's key provides the signature which unlocks those previous transaction outputs, thereby proving to the bitcoin network that she owns the funds. She attaches the payment for coffee to Bob's address, thereby "encumbering" that output with the requirement that Bob produces a signature in order to spend that amount. This represents a transfer of value between Alice and Bob.
|
||||
|
||||
@ -99,19 +99,19 @@ The most common form of transaction is a simple payment from one address to anot
|
||||
|
||||
[[transaction-common]]
|
||||
.Most Common Transaction
|
||||
image::images/Bitcoin Transaction Structure - Common.png["Common Transaction"]
|
||||
image::images/Bitcoin_Transaction_Structure_Common.png["Common Transaction"]
|
||||
|
||||
Another common form of transaction is a transaction that aggregates several inputs into a single output. This represents the real-world equivalent of exchanging a pile of coins and currency notes for a single larger note. Transactions like these are sometimes generated by wallet applications to cleanup lots of smaller amounts that were received as change for payments.
|
||||
|
||||
[[transaction-aggregating]]
|
||||
.Transaction Aggregating Funds
|
||||
image::images/Bitcoin Transaction Structure - Aggregating.png["Aggregating Transaction"]
|
||||
image::images/Bitcoin_Transaction_Structure_Aggregating.png["Aggregating Transaction"]
|
||||
|
||||
Finally, another transaction form that is seen often on the bitcoin ledger is a transaction that distributes one input to multiple outputs representing multiple recipients. This type of transaction is sometimes used by commercial entities to distribute funds, such as when processing payroll payments to multiple employees.
|
||||
|
||||
[[transaction-distributing]]
|
||||
.Transaction Distributing Funds
|
||||
image::images/Bitcoin Transaction Structure - Distribution.png["Distributing Transaction"]
|
||||
image::images/Bitcoin_Transaction_Structure_Distribution.png["Distributing Transaction"]
|
||||
|
||||
=== Constructing A Transaction
|
||||
|
||||
@ -163,22 +163,5 @@ A transaction output is created in the form of a script, that creates an encumbe
|
||||
|
||||
This transaction will also include a second output, because Alice's funds are in a the form of a 0.10 BTC output, too much money for the 0.015 BTC cup of coffee. Alice will need 0.085 BTC in change. Alice's change payment is created _by Alice's wallet_ in the very same transaction as the payment to Bob. Essentially, Alice's wallet breaks her funds into two payments, one to Bob, one back to herself. She can then use the change output in a subsequent transaction, thus spending it later.
|
||||
|
||||
Finally, for the transaction to be processed by the network in a timely fashion, Alice's wallet application will add a small fee. This is not explicit in the transaction, it is implied by the difference between inputs and outputs. If instead of taking 0.085 in change, Alice instead creates only 0.0845 as the second output, there will be 0.0005 BTC (half a millibitcoin) left over. The input's 0.10 BTC is not fully spent with the two outputs, as they will add up to less than 0.10. The resulting difference is the transaction fee which is collected by the miner for including the transaction in a block and putting it on the blockchain ledger.
|
||||
|
||||
.The transaction outputs sum up to less than the input, leaving the fee
|
||||
----
|
||||
Alice's transaction to pay for Bob's coffee:
|
||||
|
||||
Input 0.1000 BTC
|
||||
minus Output to Bob 0.0150 BTC
|
||||
minus Output to Alice (change) 0.0845 BTC
|
||||
|
||||
equals 0.0005 BTC
|
||||
----
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Finally, for the transaction to be processed by the network in a timely fashion, Alice's wallet application will add a small fee. This is not explicit in the transaction, it is implied by the difference between inputs and outputs. If instead of taking 0.085 in change, Alice creates only 0.0845 as the second output, there will be 0.0005 BTC (half a millibitcoin) left over. The input's 0.10 BTC is not fully spent with the two outputs, as they will add up to less than 0.10. The resulting difference is the _transaction fee_ which is collected by the miner as a fee for including the transaction in a block and putting it on the blockchain ledger.
|
||||
|
||||
|
@ -1,5 +1,16 @@
|
||||
Dump of material that needs to be placed later
|
||||
|
||||
.The transaction outputs sum up to less than the input, leaving the fee
|
||||
----
|
||||
Alice's transaction to pay for Bob's coffee:
|
||||
|
||||
Input 0.1000 BTC
|
||||
minus Output to Bob 0.0150 BTC
|
||||
minus Output to Alice (change) 0.0845 BTC
|
||||
|
||||
equals Transaction fee 0.0005 BTC
|
||||
----
|
||||
|
||||
.Transaction Chains and Mining
|
||||
****
|
||||
As you examine the chain of transactions you may ask: "If every transaction refers to value in a previous transaction, where does the value come from originally?". All bitcoins are originally _mined_ (see <<mining>>). Each block contains a special transaction which is the first transaction in the block. This is called the _generation_ transaction and it generates bitcoin out of a special input, which is called the _coinbase_ and is reward for creating a new block. In simple terms, miners get the privilege of a magic transaction that create bitcoins from thin-air and pay those bitcoins to themselves. If you were to look at the chain of transaction for a bitcoin payment you have received, you can track the inputs to a previous transaction's output. Go back far enough and you will find the block where the bitcoins you hold today were once mined.
|
||||
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |