1/41
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is blockchain?
A decentralised ledger of transactions, fully replicated over a trustless peer-to-peer network.
• Transactions represent events of interest for the specific application scenario oE.g., Bitcoin transaction
Why is blockchain called BlockChain?
oBlock: transactions are grouped in blocks…
o Chain: …blocks are linked to each other in a chain
What is cryptocurrency?
a digital asset that uses cryptography to secure transactions
What is bitcoin?
A cryptocurrency (i.e., a digital asset that uses cryptography to secure transactions) not requiring any centralised authority (e.g., a bank)
What verifies the validity of transactions in bitcon?
Network nodes
Are transactions public or private?
public
What does txn mean?
transaction
What do bitcoin transactions do?
transfer cryptocurrency from sender to destination. Broadcasting to blockchain nodes nodes that verify them. There must consensus among nodes on what transactions occur and their order.
Alice wants to send 5 Bitcoin to Bob - how would this happen?
o Alice broadcasts the transaction to the network
o All nodes verify the transaction
o Each replica of the ledger is updated consequently
How is ownership of a transaction proved?
Through a digital signature, which is sent with the transaction. Each nodes verifies the “sender” of a txn through its digital signature.
What are destinations of transactions identified by?
Adresses - each user usually has one address for each payment to recieve
What is each address associated to?
A private/public key pair
What do wallets contain?
public/private keys associated to the addresses of a user.
What is a wallet?
The software used to manage these keys.
How do you specify where the bitcoins to transfer come from?
o Each transaction includes a list of inputs and another list of output(s)
o Each input points to an amount of bitcoins received in a previous transaction
▪ Inputs are outputs of previous transactions
o Previous outputs can be spent as inputs if its ownership can be proved (outputs must not be already spent in some other transaction)
UTXO
Unspent Transaction Output
Unspent Transaction Output
copy of every unspent output
How can each verify a transaction based on its input?
whether inputs are UTXOs
Why don’t all transactions to a user go through the same address?
If the same address is used to receive more payments, the history of the transactions linked to this address can be used to identify the user.
Why does using different addresses for each received payment not ensure anonymity?
o When UTXOs from different txns are spent in the same txn, the payer can be profiled
What kind of anonymity does bitcoin provide?
pseudo-anonymity
Why does bitcoin not have any intermediaries?
• Lack of trust
• Risk of censorship
• Single point of failure
How do blocks of transactions work ?
Periodically, a new block is created including of confirmed transactions (that ‘happen at the same time’ so they are submitted in batches to become blocks. Each block has a reference to the previous one in the form of a hash. So thus if you change a block you’d have to update every block cause hashes. Every txn in a prev block happens before any txn in the next block.
Who creates blocks?
Miners (nodes taking part in creating new blocks)
What does a miner do?
Chooses what transactions to include in a block, among those it received but are not confirmed yet
Chooses what the previous block is
Solves a resource-intensive puzzle to compute Proof of Work for the block
Broadcasts the node to the network so each node can add it to its local blockchain replica
Why do miners have to solve a puzzle?
This is done to avoid that any node can propose as many new blocks as it would like, overloading the network to the point it becomes unavailable.
What does a new block include?
o Transactions
o A reference to the previous block
o A random number
What is the mining problem?
find a number such that the hash of the whole block has at least a certain number of zeros as most significant digits. It is hard to compute but simple to verify.
How is the difficulty of the puzzle to compute Proof of Work represented?
The more zeros the harder it is.
How often should a new block be generated and how is this ensured?
Difficulty is periodically tuned to ensure a new block is generated about every 10 minutes
Why do miners mine?
o The miner that generates a new block is rewarded with a certain amount of bitcoins
o Transaction fees
Even though it’s infrequent multiple new blocks can be generated at the same time, what should we do?
Blockchain temporary branching:
• Next blocks are mined over specific branches
• Eventually, one branch becomes the longest
• Miners are expected to mine a new block over the longest branch they have seen so far
What is branch resolution?
mechanism that allows a generated block to be rolled back, cancelling transactions.
What is the risk of branch resolution?
double spending fraud
What is a good rule of thumb for branch resolution?
wait for other six blocks before considering a txn confirmed
What is the probability to generate a new block is proportional to?
the hash power (number of hash computed per second) of the miner.
What would happen if a miner had the majority of the hashpower?
It would allow a miner to generate blocks of its choice over a branch that will eventually become the longest. This would remove decentralization.
How is the immutability of the blockchain derived?
from the practical unfeasibility for a single miner to have the majority of the hashpower
What is the purpose of a mining pool?
To increase the chances of mining a block and getting the reward (splitting it between all the miners)
What does more miners in a mining pool mean?
o Collectively larger hashpower
o Higher probability to mine blocks
Advantages of blockchain?
• A decentralised and public network
o where anyone can join and make transactions
• Trustless network where there is no need to trust any participating node
o as long as the majority of the hashpower is controlled by honest nodes
• Pseudo-anonymity
• Ensure immutability of the transaction history
o which is practically unfeasible to tamper with
• A reliable payment system
o where there is no single point of failure
Disadvantages of blockchain?
• High transaction fees may reduce profits or be less attractive for customers
• Slow transaction confirmation, which you might want to wait for 6 confirmations
• Not yet stabilised currency, less attractive for customers
• Due to lack of regulation, business may not be protected