You are on page 1of 2

Algorithmic Basics of Blockchain

● Expectations : ledger (record of operations), public, decentralized, tamper-proof (no


party can modify a recorded operation)
● Communication models :
○ Shared memory (wait - free + linearizable, synchronization, universality)
○ Message-passing : every 2 processes are connected via a reliable channel,
read-write register
■ safe registers : every read that does not overlap with a write returns
the last written value
■ regular registers : every read returns the last written value, or the
concurrently written value
■ atomic registers : linearizable

● Implementing message-passing :
Th : A reliable message-passing channel between two processes can be implemented using
two one-writer one-reader (1W1R) read-write registers
Cor : Consensus is impossible to solve in an asynchronous message-passing system if at
least one process may crash

● ABD Algo : implementing shared memory (regular register)

Quorum system : the quorum (set of involved processes) of any write must intersect the
quorum of any read for safety and liveness.

● GLA = generalized lattice agreement (equivalent to long-lived atomic snapshot


○ Lattice : (L, ⊑, ⨆) with L a set of value, ⊑ a partial order and ⨆ a disjoint join.
u0 le plus petit element de L (origin)
○ Lattice agreement (equivalent to one-shot atomic snapshot (???) : every
process i proposes ui and decides vi
■ comparability
■ validity (the decided value has been proposed)
■ monotonicity
■ liveness : every correct process decides
○ GLA : every process p receives values 𝑢𝑝_i and learns values on 𝑣𝑝_i (also
comparability, validity, monotonicity, and liveness)
■ reads and commuting updates

■ implementation :

You might also like