Blockchain Protocols Flashcards
Define a synchronously safe protocol.
If it’s safety is guaranteed by an assumption about timing or about how the race conditions are resolved.
Define an asynchronous consensus protocol.
If it’s safety is guaranteed WITHOUT assumption about timing or about how the race conditions are resolved (as long as everyone eventually gets the message).
Traditionally which two properties do consensus protocol have?
1) Safety
2) Liveness
Define “Safety” as a consensus property
It is not possible for nodes to make inconsistent decisions
Safety means that the results produced by the system should be correct
Define “Liveness” as a consensus protocol property
Node eventually/inevitably make decisions
Fault tolerant consensus protocols have ………….. and/or …………… despite some number of faults.
Safety
Liveness
Faulty behaviour is either considered to be …………… ……………… or ……………….
Crash faulty
Byzantine
Define crash tolerate behaviour
Nodes are faulty by virtue of not sending messages
Define Byzantine Fault behaviour
Where a node fails but there is not agreement between the other nodes about whether it has failed because the fault detection results are inconsistent.
What does the FLP Possibility show?
Can’t have
-deterministic consensus protocol
that is SAFE and LIVE
In an ASYNCHRONOUS system
IF
There is even one crash fault.
List the two “Liveness” faults:
Crash fault - failing to SEND a message when expected
Omission fault - failing to RECEIVE a message when expected
List the two “Safety” faults
Invalid message fault
Equivocation fault
Define an Invalid message fault
Producing messages that cannot be produced by a protocol following node.
Define an Equivocation fault
Producing valid message in a way that could not have been produced by a single execution of the protocol
Liveness faults are indistinguishable from ……………. ……………….
Network latency
Network latency (and therefore …………… ……………….) cannot cause protocol following ………….. to make inconsistent decisions in an asynchronous safe consensus protocol.
Liveness faults
Nodes