Intro Flashcards

1
Q

What is consensus?

A

The process of reaching an agreed output between n processes which all have an input in_i and a output out_i

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Rules for consensus

A
  1. Termination
  2. Agreement: All nonfaulty process must output the same
  3. Validity: If all inputs are same the output of nonfaulty must be the same
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Synchronus Distributed System

A
  1. Messages are recieved within bound
  2. Clock drift has bound
  3. Step in process takes bounded amount of time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Asynchronus Distributed System

A
  1. No bounds on anything whatssoever
  2. Internet is asynchronus system
  3. Consensus can never be reached (weaker notion required)
    => Proof idea: Hard to distinguish very slow process from crashed one (other nodes would wait forever)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Crash threat model

A

Every process is honest but can fail => n = 2f+1 processes needed to allow for f faulty processes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Byzantine threat model

A

Processes can act arbitrarily (equivocation) => n = 3f+1 processes and f+1 rounds of agreement needed to allow for f byzantine processes (n^2 message compexity)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

BFT consensus

A

Hard to scale the number of consensus nodes only tested up to 20

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cryptographic foundations of BTC

A

HashFunctions and their onewayness
Public Key crypto: Verifiable signatures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

RSA vs ECDSA

A

ECDSA keys smaller (better for BTC) and faster in keygen, compareable in signature generation but RSA significantly faster in signature verification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Security of Payments

A

Fairness: Cant pay more than you own
Resistance to impersonation: Can’t authorize payments of other users
Non-repudiation: Users can’t deny payments that are registered by the system
Accountability: User that misbehaves can be punished

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Roles in Bitcoin

A

Miners: Do hash calculations and thus mine new blocks
Full-Nodes: Have a history of blocks and transactions and can respond to requests a user might have
(Lightweight-)Users: Regular users in the system that want to do transcations etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

UTXO Model

A

Every transaction input must be the output of another transaction.
Thus if a user wants to use to pay he might need to split a previous transcation or combine multiple Unspend Transactions Outputs(UTXO).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Mining

A

Miners calculate hashes of so that Hash(prev_hash, nonce, F(Tx)) < Difficulty

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Bitcoin Security Pillars

A
  1. All transactions are publicly announced and signed with the private key of the sender that should match the public key of the UTXO
    => Non-repudiations, Resistance to Impersonation, Non repudiation
  2. Transactions can’t be changed, are checked before being able to be included in a new block, are only confirmed after six blocks are built on the block
    => Fairness
  3. Penelty system in place which disconnects neighbour nodes for 24 hours => Accountability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly