In the previous part number 2 of the Bitcoin whitepaper, we have explained the chapters, Timestamp Server, Proof of Work, Network, and the Incentives from the whitepaper. In the following third part of the whitepaper we will take care of the chapters, Reclaiming Disk Space, Simplified Payment Verification, Combining and Splitting Value
Table of Contents
Toggle7. Reclaiming Disk Space
Annotation Since the whitepaper is for us fans who don’t necessarily have the educational background for an in-depth technical understanding, we’ve tried to describe the Merkle Tree and its benefits in more detail here.
8. Simplified Payment Verification
To understand the difference between SPV and fullnodes and thus the upper chapter a little better, the following entry in the knowledgebase should be helpfulIt is possible to verify payments without running a complete network node. A user needs only keep a copy of the block headers of the longest proof-of-work chain, which he can obtain by querying network nodes until he is satisfied that he has the longest chain, and obtain the Merkle branch linking the transaction to the block in which it is timestamped.
It cannot verify the transaction itself, but by linking it to a place in the chain, it can see that a network node has accepted it, and subsequently added blocks confirm that the network has accepted it.
Therefore, verification is reliable as long as honest nodes control the network, but more vulnerable when the network is overwhelmed by an attacker. While network nodes can verify transactions themselves, the simplified method can be fooled by an attacker’s fake transactions as long as the attacker controls the network. One strategy to protect against this would be for network nodes to
accept alerts when they detect an invalid block and prompt the user’s software to download the full block and warned transactions to confirm the inconsistency.
Businesses that receive frequent payments will likely still want to run their own nodes to provide more independent security and faster verification.
Annotation To understand the difference between SPV and fullnodes and thus the upper chapter a little better, the following entry in the knowledgebase should be helpful, SPV-Nodes
9. Combining and Splitting Value
Although it would be possible to handle coins individually, it would be unwieldy to perform a separate transaction for each cent of a transfer. In order for the value to be split and combined, transactions contain multiple inputs and outputs. Typically, there is either a single input from a larger previous transaction or multiple inputs combining smaller amounts and at most two outputs: one for the payment and one to return the change, if any, back to the sender.
It should be noted that fan-out, where one transaction depends on several transactions and these transactions depend on many more, is not a problem. It is never necessary to extract a complete standalone copy of the transaction history.
Annotation Transaction output is indivisible Bitcoin units contained in the blockchain and considered valid by the entire network. A transaction output can contain any integer value which is specified as a multiple of Satoshis. The division is up to 8 decimal places in satoshis possible. An output can contain any value, but once it has been created it can no longer be divided. This means that outputs are independent and non-divisible value units that are divided into integer satoshis. It can only be consumed in its entirety by a transaction.
If the output is greater than the desired amount, the transaction must generate change. The following example is intended to clarify this.
Example: If you have a UTXO worth 5 BTC and you want to spend only 1 BTC, the transaction must consume the entire 5 BTC UTXO and generate an output with the payment of 1 BTC for the recipient but at the same time another transaction with 4 BTC change for your own wallet. Because transaction outputs are not divisible, most Bitcoin transactions must also make change transactions.
If you analyze how people pay with cash today, this is actually a clear and well-known fact. I buy something at the kiosk that costs 50 cents, but I only have a 1 dollar bill. Logically, I get change.
In the real world, a Bitcoin application can build the desired sum by combining several smaller units or just find a unit that is larger than the desired amount. This is usually done automatically by the wallet.
The original whitepaper about Bitcoin can be downloaded in different languages here: bitcoin.org