05 - .
Wooclap Questions
Transactions in Bitcoin require exactly…
- … from 1 to N input accounts and from 1 to N output accounts (N being an integer)
In the Bitcoin protocol, if a node receives a transaction…
- … it makes sure that it is already mined to accept it
- it adds to the ledger
Among the properties of Consistency, Availability and Partition tolerance, the Bitcoin blockchain gives up on guaranteeing…
- Consistency
- (not serendipity)
In the Bitcoin’s blockchain, every block header keeps…
- … the hash of the previous block’s header
- (not signature)
Sorting blocks by hashing
Inside a block there is:
- block header
- hash previous block header
- timestamp
- nonce
- merkle root hash
- hash (block01 header)
- transaction list
The computed hash of the black header is written into the hash previous block header of the next block.
- in the Proof of Work model, the right to publish the next block is granted by solving a computationally intensive puzzle
Trust
- when a node receives a completed block from another one, they are incentivized to include the new block
- if other mining nodes accept, they start building off it
- if they refuse, they will be building a shorter chain of blocks
- by default, the longest valid chain is adopted
If we win at mining game, we are rewarded with coins! Who writes the special value? The miner itself! If we mine a block, we would like that the entire world knows this thing!
If a transaction is not known to any other node in the network but you, then the transaction is not accepted by the network.
So basically a miner wants to:
- mine blocks
- gain consensus by spreading its work
- if they don’t, the transaction has never happened!
Bitcoin money supply
-
puzzles could be adjusted when too much blocks are produced
- rewards are halved every four years
-
puzzles are a trade-off between security and complexity
-
it costs electricity
51% attack
- kind of implementation of ^abbd96
Pseudonimity
I don’t wanna let to others people know who I am, but I want to make public that I am sending something from A to B.
For this reason is a bad idea including private stuff in transactions.
Users can have as many accounts as they please (wallets).
Private and public key cryptography is used for signing transactions.
- that’s why using a real hand-written signature is a bad idea: is replicable!
More specifically:
- private keys are used to digitally sign transactions
- public keys are used to derive addresses
- and they are used to verify signatures generated with private keys
Notice
If you have the private key you can do whatever you like