Blockchain-bitcoin
Chapter 1: Introduction
Understanding Bitcoin
Bitcoin is a digital currency, decentralized without government oversight or banks.
The identity of its creator remains unknown.
Purpose of the Chapter
To explore the foundations of Bitcoin through a step-by-step process of inventing a cryptocurrency.
Highlight the importance of understanding the underlying mechanics of cryptocurrencies before investing.
Initial Exploration
Start with a communal ledger for tracking payments among friends.
Trust issues arise as one begins to rely less on subjective trust, leading to the use of cryptography.
Bitcoin is the first cryptocurrency, but now there are thousands available in the ecosystem.
User Engagement with Cryptocurrencies
Users can interact with cryptocurrencies without needing to understand underlying technology, similar to using credit cards.
Essential to recognize that transactions are not verified by banks, but by a decentralized system instead.
Setting the Scene
Focus on ledgers and digital signatures as foundational concepts.
Chapter 2: Ledger Dollars
Communal Ledger Functionality
A public ledger to track payments similar to group transactions among friends.
Each month, participants settle transactions based on ledger entries.
Problems with Trust
Risk of unapproved transactions (e.g., Bob writing unauthorized payments).
Introduction to digital signatures to validate transactions.
Digital Signatures
Process involves generating a public-private key pair; the private key (secret) creates signatures while the public key verifies them.
The digital signature changes for different messages, enhancing security against forgery.
Requires unique identifiers for each transaction to prevent re-use of the same signature.
Transition from Cash to Ledger Dollars (LD)
Shift from settling in cash to using Ledger Dollars, which are recorded on the communal ledger.
A system allowing for living entirely through LD without needing actual cash, emphasizing independence from traditional currency systems.
Chapter 3: Cryptographic Hash Function
Distributed Ledger
Everyone keeps a copy of the communal ledger, reducing reliance on a central trusted location.
Broadcasting transactions raises the challenge of obtaining a consistent view of the ledger across all participants.
Solution Overview: Computational Work
The Bitcoin solution is to trust the ledger with the most computational work done (proof of work).
Understanding Hash Functions
Hash functions turn input data into a fixed-length output that appears random (e.g., SHA256).
Altering inputs produces significantly different outputs; it's infeasible to reverse-engineer the original input.
Chapter 4: Hash Of Block
Proof of Work
Finding a special number (nonce) so the hash of a block of transactions starts with a certain number of zeros is resource-intensive.
The effort taken to find this number serves as proof that a block of transactions is valid.
Connecting Blocks
Blocks contain hashes of preceding blocks to ensure integrity; altering one block necessitates redoing proof of work for subsequent blocks.
The blockchain is a chain of blocks, each validated by proof of work.
Block Creation and Mining
Miners listen for transactions, collect them into blocks, and create a hash that satisfies the proof of work.
Unique transactions reward miners with new currency (block reward) enhancing the total money supply.
Chapter 5: Conclusion
Trust in the Blockchain
Users should wait for multiple confirmations (additional blocks) to trust a new transaction.
Overwhelming probability exists that longer chains represent legitimate transactions.
Bitcoin's Mechanics
Reward system decreases with time (halved every 210,000 blocks), with a cap at 21 million bitcoins to maintain scarcity.
Miners can also earn money through transaction fees for processing payments.
Industry Context and Future Considerations
Contrasting Bitcoin’s lower transaction speed and higher fees with traditional payment processing systems (e.g., Visa).
Encouragement to learn and understand cryptocurrency mechanics amidst rising investments in the domain.