Week 1 Flashcards
Bitcoin?
- first and most widely used cryptocurrency
- the community, network, software
- the currency itself
- the inspiration for blockchain-an underlying data structure that stores a permanent history of all transactions to ever occur in the history of bitcoin
who backs and builds bitcoin
1) not by any gov’t or bank
2) users build it
3) it came from cyberpunks and libertarians concerned by the centralization of money
Who created bitcoin
Satoshi Nakamoto-pseudonym of an individual or group
what did the creator envision
a decentralized currency that does not require trusting or knowing the identity of the user
how does bitcoin work
a decentralized network validates transactions and stores the entire transaction history. the network is a group of users communicating with each other as part of the bitcoin protocol. the network is a substitute for a central bank
problems with decentralized networks
1 inconsistent transaction records held by different network members
2 malicious pseudonymous actors who broadcast false messages and divide the network
3 double spending: asynchronous records held by different nodes
what is bitcoin’s solution to these problems
1) using blockchain and
2) proof of work consensus protocol
what do banks do
1) account and ID management-links personal info to bank account and verifies ownership
2) service - transfers money and redeems money
3) record management- updates and tracks account balance
4) trust- provides services by professionals under regulations by gov’t
How can bitcoin fullfill banks’ functions
1) account and ID mgt: gives users autonomously created and managed IDs
2) service: sends funds between peers directly (P2P)
3) record management: updates every node, which keeps its own ledger (blockchain)
4) trust: provides a trusted protocol that incentivizes actors to behave honestly
what are some benefits of the decentralized nature of bitcoin
- decentralized record keeping ensures the integrity of data
- prevents the risk of a single point of failure; if a few nodes are hacked, the rest of the nodes ensure the integrity of the transaction
how does trust work in bitcoin
instead of trusting a banker, you are trusting a protocol, ledger, math, and logic and don’t have to trust the user or seller
what’s the role of ID in context of currencies
1) authentication
- receiving money
- claiming/spending money
- blame: if someone tries to use your money, you want to be able to call them out
2) integrity-authentication methods that cannot be replicated by anyone else
what is public key or chest
it’s the alias or handle of the user in bitcoin; used for receiving
what is private key
it is the password that one uses to access and spend bitcoin; used for redeeming (never tell others the private key)
what makes a transaction valid
- proof of ownership, e.g. signing a check (proof of ownership)
- available and sufficient funds to spend (bank then checks to make sure there are enough funds for that check)
- a guarantee that no other transaction is using or has used the same funds (bank makes sure the check issuer did not already write a check for those same funds to another payee)
what is a UTXO
unspent transaction output model: bitcoin users spend directly from past transactions made to them, not from some account. every transaction creates a UTXO. Eg, i have prior UTXO with $10 in it and I buy a $5 item, that breaks the old UTXO and creates 2 new UTXOs: one for $5 that I still have and one for $5 that went to the seller. If I buy another $2 item, then I end up creating 2 more utxos ($3 and $2)
peer validation
a system of proposers and voters on the validity of the proposal. everyone on the network is notified of every transaction and votes on its validity. only after a certain number of votes, eg majority, the transaction is logged to the ledger. each node has the whole history and ledger
Sybil attack
when a person can create multiple identities/accounts for a malicious purpose
ID
notes use public keys to make transactions and use private keys to spend bitcoins
- private keys generate public keys and addresses using cryptographic primitives
- nodes arbitrarily generate numerous private/public key pairs
- the large # of total possible addresses make it almost impossible for 2 notes to generate the same address
transactions
nodes transfer ownership of UTXOs
- unique identifiers help keep records of the entire lineage of the transactions
- can send change back to a new address
- can make several payments in parallel
record keeping
mining nodes keep record of transactions by updating their own blockchain (ledger) and broadcast their version of ledger to the network
- a block is an ordered bunch of transactions; each block references a previous block
- everyone maintains their own copy of the ledger based on what they hear from the network
- updates on blockchain are irreversible
consensus
the network agrees on a single version of history (or transaction record/blockchain) through proof-of-work
- proof-of-work makes participation in the consensus process expensive, preventing malicious entities from tampering with transaction history
- allows network to reach consensus without relying on a central authority
unique properties of bitcoin
- pseudonymous: users use pseudonyms rather than real-world IDs to make transactions
- decentralized: every user has the same copy of transaction history
- immutable: close to impossible for any users to change the network transaction history in their favor
- trustless: users don’t need to trust anyone they are transacting with to be sure that their transactions will be accurately recorded by the rest of the network