Chapter A2. Tech Basics of Blockchain Technology Flashcards
Bitcoin provides all these desirable properties:
Decentralized consensus, ordering,
immutability, fast verification, privacy, integrity, and incentives.
Note: Privacy via public-key cryptography, integrity via digitally signed transactions, ordering and
immutability via chain of hashed blocks and proof of work, fast verification to prevent double
spend via use of UTXOs and Merkle trees, distributed consensus via proof of work and
longest-chain adoption, and incentives from mining rewards and transaction fees
Two security issues of Bitcoin blockchain:
1) Sybil Attack: With Bitcoin, because identities are based on anonymous public keys, a user can run multiple nodes and have many accounts. The proof of work mechanism is essential to prevent users from taking advantage of this - their voice in the system is proportional to their computational power.
2) 51% Attack: Because the consensus mechanism “longest chain adoption” is effectively a majority vote, an adversary controlling 51% of the computation power of the system can subvert the protocol, even allow double spend. This is considered an unlikely scenario for a sufficiently widely-adopted protocol like Bitcoin.
The Bitcoin Protocol (Transactions) uses…
a peer to peer network of computers
Bitcoin:
Transactions are _________ using _______ cryptography so that it can be verified which public address generated the transaction.
Each transaction is _______ (previously ____ bitcoins) and _____ (going to other addresses plus residual _____ transaction output (UTXO))
Transactions are digitally signed using public-key cryptography so that it can be verified which public address generated the transaction.
Each transaction is a collection of inputs (previously unspent bitcoins) and outputs (going to other addresses plus residual unspent transaction output (UTXO).
The Bitcoin Protocol (Blocks)
Nodes collect a number of transactions (about 800-1000) and put them into a “block”.
For each transaction, it is important to verify that it involves only unspent coins before allowing it to be added to a block.
The Bitcoin Protocol (Merkle Tree)
The transaction stored in each block are stored in a data structure called the Merkle tree that makes it computationally efficient to search through blocks and confirm membership.
Verifying membership of a leaf node requires a log number of computations.
Blockchain capabilities:
1) ______ Currency
2) ______ Ledger
3) ______ Computer
1) Decentralized Currency
2) Decentralized Ledger
3) Decentralized Computer
Distributed Ledger Technology is …
A type of immutable database to record transactions in chronological order (typically, in the form of a blockchain), that is shared, replicated and synchronized.
It has grown to be commonly used to describe blockchain in finance industry.
Ethereum
Is the second generation blockchain.
Live since 2015.
Native token: ETH.
Blockchain Distributed Consensus - Consensus requirements:
- Agreement - all nodes agree on same value
- Validity - the value that is decided on must be proposed by some node
- Termination - all nodes eventually decide
Ethereum Smart Contracts
- A smart contract is itself a transaction with a special address
- Typically written using Solidity, an object-oriented language
- Variables: Functions, Events
Permissionless and permissioned blockchain, explain it.
1) Permissionless (public, anonymous users, slow, proof of work, proof of stake, proof of importance, proof of time-elapsed) - examples: bitcoin, ethreum, cosmos
2) Permissioned (private/consortium/public, identified users, fast, consensus protocols) - examples: Hyperledger Fabric, R3 (Corda), Ripple, Quorum.
Blockchain and Distributed Ledger Technologies:
capabilities and properties
- Value Transfer
- Trustless interactions
- Transparency that can be balanced with privacy
- Immutable Data Storage
- Temporal ordering
- Programmable Smart Contracts - Code is run with greater transparency and trust than with server-based cloud computing
- Robustness due to Decentralized operation
- Anonymity, confidentiality
The Bitcoin Protocol (proof of Work)
All nodes on the network try to create a block. There is a “lottery” that selects one node every ten minutes or so to be the “miner” of the next block.
The lottery is implemented by having all computers try, in parallel, to solve a hard cryptographic puzzle called the “Proof of Work” puzzle.
The difficulty of the puzzle is automatically adjusted over time so that it is harder to solve when there are more nodes - on average 10 minutes to pick a winner.
Hyperledge Fabric:
- all users have to be permissionned in (identified) - no need to slow proof of work.
- different channels
- chain code
Stable Coins:
While early cryptocurrencies have shown very high volatility in their prices due to speculative trading, there is a need for alternatives that offer a stable price. A number of different approaches are possible to ensure this:
● Fiat-backed stable coins: USDC, Tether, Libra (proposed)
● Algorithmic stable coins: Dai (MakerDAO), Ampleforth
The ideal properties of cryptographic hash function include the following characteristics:
Select one or more:
a. Privacy
b. Secure
c. Deterministic
d. Low Collision
b, c and d
Permissionless blockchains are…
Select one or more:
a. Private
b. Public
c. Slow
d. Fast
b and c
Distributed Ledger Technology is a type of immutable database to record transactions in chronological order (typically, in the form of a blockchain), that is…
Select one or more:
a. replicated
b. shared
c. synchronized
d. centralized
a, b and c
The ideal properties of cryptographic hash function include the following characteristics:
Select one or more:
a. Cost-effective
b. Fast
c. Discontinuous
d. Continuous
b and c
Via ________, coins can be moved from one blockchain to another and moved back again.
sidechains
The ________ states that any distributed system cannot have consistency, availability, and partition tolerance simultaneously.
CAP Theorem
A _________ is a set of steps that are taken by most or all nodes in a blockchain to agree on a proposed state or value.
consensus mechanism
Any application or database that is shared by the public is a __________.
shared ledger