What is Bitcoin?
- Bitcoin was the first decentralized cryptocurrency!
- Satoshi Nakamoto invented it, but who is that guy?
- claimed to be a man living in Japan, born April 5, 1975
- Digital Currency; no government needs to issue it and no banks need to manage accounts and verify transaction
- Instead, bitcoins exist as records on a distributed ledger called the block chain
- Copies of the blockchain are shared by a volunteer network of connected computers.
- "Owning" bitcoin means having the ability to transfer control of it to someone else by creating a record of the transfer in the block chain.
- Access to the block chain is granted by an Elliptic Curve Digital Signature Algorithm (ECDSA) private and public key pair.
Why Do BitCoins Have Value?
- Bitcoins have value because they are useful as a form of money.
- Bitcoins have the characteristics of money (durability, portability, fungibility, scarcity, divisibility, and recognizability) but don't rely on physical properties (like gold and silver) or trust in central authorities
- Backed by mathematics: ECDSA
- But like with all currency, the value of bitcoin comes only and directly from people willing to accept them as payment.
Ledger
- First, we start with something easy.
- As a small group of people, they want to have a public ledger that records all the transaction between them
- Then at the end of the month, people can calculate who owes who how much.
- This will make life easier because now you don't need to pay each other multiple times but just once per month
- Since it's a public ledger, anyone can add a line to it.
- This creates the first rule:"Anyone can add lines to the Ledger"
- For example:"A gives $100 to B." But what if B never approved the transaction?
- Therefore we need a digital signatures next to the line to confirm that B has seen and approved it.
Digital Signature
- Everyone has the same public key and different private (secret) key.
- Everytime you sign a digital signature, it's like using a math function
- Sign( message, secret key) = a specific digital signature for this line in the ledger
- The digital signature is some 256 bit signature
- Then to verify
- Verify( message, digital signature, public key) = True/False
- Everyone can verify it with the public key
- But there is 2^256 different signatures for this line, so it is almost impossible for people just to guess and check it
IMPOSSIBLE TO FORGE
Copy and Paste
- Go back to the previous example, A gives $100 to B. Can't A just copy and paste the line again and again? Because the message and signature match.
- So every line has a unique ID which will also be part of the message. Then A cannot do the Copy and Paste
- Thus we can have a rule "Only signed transactions are valid"
Runaway
- What if A claims he pay other people tons of money and run away at the end of the month?
- So we add a new rule, "No overspending"
- Everyone has to turn in real cash before they can spend money from others