Table of Contents

The network timestamps transactions based by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work.

As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackers.

Inherent issues that arise within traditional financial institutions systems due to their centralized nature.

1. 1. Mediating Disputes: bank can reverse the trasaction or investigating the dispute to determine who is the fault.

2. 2. Increased Transaction Costs, and Cannot Provide Minimum Practical Transaction Size

3. 3. No Guarenteed Non-reversible Payments for Non-reversible Services.

These costs and payments uncertainties can be avoid in person by using physical currency. Bitcoin aims to replicate thses advantages of physical currency transactions in the digital realm, which inherently extends the pissible reach of transactions beyond physical proximity. Which is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for trusted third party.

4. Transactions that are computationally impractical to reverse would protect sellers from fraud.

5. Routine escrow mechanisms could easily be implemented to protect buyers.

This distributed system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes.

In Bitcoin, "coin" is not a static object but rather a series of transaction outputs that can be tracked through the blockchain from one owner to the next. In other words: "Chain of Digital Signatures."

6. Digital Signatures:

6.1. Please noticed that there is no such distinct, separate "chain" for each individual bitcoin, but rather a huge records of transactions linked together.

6.2. The digital signatures serving as the mechanism for verifying and authorizing the transfer of bitcoins from one person to another.

6.3. Two parts:

6.3.1. 1. Next owner's Public Key

6.3.2. 2. Current owner's Signature (signed by its Private Key)

When a bitcoin owner sends a coin to someone else, they digitally sign a hash of the previous transaction and the public key of the next owner and add this to the end of the coin. A digital signature is a cryptographic tool that allows someone to prove ownership in a way that cannot be forged by others who do not have the private key.

7. Transaction Records

7.1. "Chain of Transaction Records" becomes the main blockchain itself.

7.2. Two parts:

7.2.1. 1. Inputs:

An input in a transaction refers back to the output of a previous transaction as the source of the funds, alongside this reference, the input includes a digital signature, this signature is produced by the sender's private key and as I mentioned above it cannot be forged and it is unique for each transaction.

7.2.2. 2. Outputs:

An output specifies the amount of bitcoin being sent and the address (public key of the recipient) to which it is being sent.

A system for participants to agree on a single history of the order in which they were received. The payee needs proof that at the time of each transaction, the majority of nodes agreed it was the first received.

The concept of a timestamp server in Satoshi Nakamoto's Bitcoin whitepaper is introduced as a solution to the double-spend problem. The double-spend problem is essentially the challenge of ensuring that a digital asset, like bitcoin, can't be spent more than once. In traditional centralized systems, a single trusted authority (like a bank) ensures this. In a decentralized system like Bitcoin, ensuring this without a central authority is a challenge.

8. Timestamp Server

A Timestamp Server is a system that takes a hash of a block and its timestamp.

9. Hashing

Every new block in the Bitcoin blockchain contains a hash of the previous block, creating a chain of blocks. This linked structure ensures that once a block has many subsequent blocks added after it, changing anything in the block would require recalculating all subsequent blocks, which is computationally impractical.

Combining those two, which effectively prove that the data existed at the time of the timestamp => indicate that the time of the transactions is happended thus prevent double-spend.

"Miners" solve computationally intensive problems to add new blocks to the blockchain. This process is called "Proof-of-Work".

The difficulty of this problem ensures that the majority of the network's computational power would have to be controlled by a malicious actor to change transaction data, making such attacks prohibitively difficult.

10. To fully understand why it will works, let's walk through two principles:

10.1. "Network Consensus"

When two miners solve a block at nearly the same time, the network might see two versions of the blockchain's history temporarily. However, the network resolves this by always opting to continue with the longest (most worked on) chain.

10.1.1. Scenario 1: "51% attack"

This kind of attack occurs when a single entity or group gains control of more than 50% of the network's mining power (hashrate). To create a longer chain, the attacker would need to re-mine all the blocks from the point of divergence (where they want to double-spend) and continue to mine blocks faster than the rest of the network combined. This requires an immense amount of computational power and is typically infeasible for most attackers due to the vast amount of resources required. For more about "51% attack", please refer to: "51% Attack"

Performing a 51% attack is incredibly costly. An attacker would need to invest in more mining hardware than the rest of the network, which involves significant financial resources. The costs of such an attack often outweigh the potential benefits, especially considering that succeeding in such an attack would likely undermine the value of Bitcoin itself, thus diminishing the value of the attacker's own reward.

As the network grows and more miners contribute to the total hashing power, such an attack becomes exponentially more difficult and costly to execute.

10.2. "Immutable Record"

As we mentioned before, Once a transaction is included in a block and that block is added to the blockchain, changing that transaction (to double-spend, for instance) would require changing the block it's in. But doing that would change the hash of the block, which would require changing every subsequent block due to the linked nature of the blockchain. Given the proof of work required for each block, this becomes virtually impossible, especially when several new blocks are added after the block containing the transaction.

In the Bitcoin blockchain, each node operates under the same set of rules defined by the protocol. In principle, the nodes are identical in the sense that they all store a copy of the blockchain and adhere to the consensus rules for verifying and propagating transactions and blocks.

Here is a simplified breakdown of the processes of how transactions are propagated through the Bitcoin network and how the network reaches a consensus on the transaction history:

11. 1. New transactions are broadacst to all nodes:

When a new transaction is created, it is broadcast to all nodes in the network. This is akin to announcing to everyone that a certain amount of Bitcoin is being transferred from one addr to another.

12. 2. Verified by each nodes:

Each node receiving the transaction checks a list of criteria to verify it. For example, it conforms that the digital signatures are correct (meaning that the sender has the right to send the bitcoins) and that the inputs to the transaction have not been spent previously (double-spending check). On each node, once a transaction is verified, it is placed into a pool of unconfirmed transactions (mempool).

13. 3. Proof-of-Work:

Miners, which are a subset of nodes, then collect transactions from this into a block. Each miner may select a different set of transactions based on criteria like transaction fees, size, and priority. A block is essentially a package of verified transactions that miners will try to add to the blockchain. (There are multiple transactions each block) To add a block to the blockchain, miners must find a solution to a complex cryptographic problem. The solution to this problem requires computational resources and time to find. The first miner to find a valid Proof-of-Work for a new block broadcasts the block to the network.

14. 4. Nodes accept the block:

Once a miner successfully finds a valid Proof-of-Work for a new block, the block is broadcast to the network. Other nodes will receive this block and verify it (pov). Upon successful verification, each node removes the transactions included in the newly confirmed block from their local mempool. Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepeted block as the previous hash. The more confirmations a transaction has, the more secure it is considered to be, as rewriting history becomes exponentially more difficult.

In the bitcoin network, miners are incentivized through two main revenue streams:

15. 1. Block reward:

This is the block reward that miners receive for successfully solving the cryptographic puzzle required to find a new block. This reward started at 50 bitcoins per block and halves approximately every four years:

15.1. Original Reward (2009): 50 bitcoins per block

15.2. First Halving (2012): 25 bitcoins per block

15.3. Second Halving (2016): 12.5 bitcoins per block

15.4. Third Halving (2020): 6.25 bitcoins per block

16. 2. Transaction fees:

Each Bitcoin transaction consists of inputs and outputs. Inputs are the sources of bitcoin that are being spent, and outputs are the destinations where the bitcoins are sent. The total amount of bitcoins in the inputs will usually be more than the total in the outputs if a transaction fee is included. The transaction fee is implicit—it is not explicitly stated in the transaction but is calculated by subtracting the total outputs from the total inputs.

In each new block mined on the Bitcoin blockchain, the first transaction is a special type of transaction known as the coinbase transaction. This transaction is indeed automatically generated by the miner's software and serves two main purposes:

17. 1. To issue the block reward:

The coinbase transaction includes the block reward, which is a predetermined amount of new bitcoins that are created with each block. This reward is given as an incentive to miners for their work in securing the network and is the only way new bitcoins are created.

18. 2. To collect transaction fees:

The coinbase transaction also collects the transaction fees from all other transactions that are included in the block. Each transaction has an implicit fee, which is the difference between the total inputs and the total outputs. When a transaction is included in a block, the fee is implicitly paid to the miner who mined that block. The total of these fees is added to the block reward in the coinbase transaction.

This transaction does not have any inputs, and it doesn't require a digital signature in the traditional sense, as it is a special case. The output of the coinbase transaction is sent to the miner's Bitcoin address. After a maturation period of 100 blocks (to prevent double-spending in the case of a deep blockchain reorganization), the miner can spend the bitcoins from the coinbase transaction like any other bitcoins, using a regular transaction that includes a digital signature.

Created: 2024-10-28 Mon 19:22

Validate