Title: Theory / Unimportant / Compagnie considérée / Near / Doomslung

Name: Doomslug
Definition: a construction that allows a set
of block producers in a blockchain protocol to create blocks with a single
round of communication per block such that each block is irreversible
unless at least one block producer gets their stake slashed
Intuition: a character in science fiction novel Skyward by Brandon Sanderson

Question: Advantage of Doomslug over BFT
Answer: BFT stale if there is more than a third of people missing
Answer2: BFT requires two round of communication

Question: Advantage of Doomslug over scheduled block creation
Answer: May require synchronized clock
Answer2: Finality only occur when a lot of block is on top of it

Name: Safety
Definition: Which are the requirement for reverting a produced block?
Page: 2
Example: one block producer has their stake slashed
Example2: A third of the block producers has their stake slashed
Applied to: Doomslug
Applied to2: Nightshade Finality Gagdet

Name: Liveness
Definition: What are sufficient condition for a new block to be generated
Page: 2
Context: blockchain
Example: half honest block producers are online
Example2: 2/3 of honest block producer
Applied to: Doomslug
Applied to2: Nightsade Finality Gadget

Name: Performance
Definition: The cost to generate a new block
Page: 2
Context: blockchain
Example: A single round of communication
Example2: Two rounds of communication
Applied to: Doomslug
Applied to2: Nightshade Finality Gagdet

Name: The block proposer for h
Definition: The block producer in charge of producing the block of height h
Page: 2
Section: 2.1
Variables: h an height
Context: blockchain
Abbreviation: \(BP(h)\)

Name: A block producer
Page: 2
Section: 2.1
Context: blockchain
Denoted by: p

Name: A block
Definition: a set of transactions
Page: 2
Section: 2.1
Context: blockchain
Definition2: a previous block (except for Genesis)
Conjdef: A data structure containing
Definition3: A height
Denoted by: B

Name: Height
Definition: A property of a block
Page: 2
Section: 2.1
Context: blockchain
Denoted by: h

Name: An endorsement of B by p
Definition: Something indicating that p confirms that B is a valid block
Page: 3
Section: 2.1
Variables: B a block
p a producer
Context: blockchain
Notation: E(B, p)
Intuition: half of the producers must create one in order to create the block of next height
Assuming: p did not promise to skip B's height

Name: A witness for B
Definition: \(E(prev(B), p)\) with \(height(prev(B)) = height(B)\)
Page: 3
Section: 2.1
Variables: 2t+1 producers
Context: blockchain
Definition2: \(S(h, n, p)\) with \(h< height(prev(B))\) and \(h+n = height(B)\)
Conjdef: A set of at least t+1, with p distinct
Abbreviation: witness(B)

Name: A skip message
Definition: A message suggesting to skip n blocks starting at block h
Page: 3
Section: 2.1
Variables: 2t+1 producers
h an height
Context: blockchain
Notation: \(S(h, n, p)\)
Intuition: Promising not to endorse a node of height h ... h+n-1

Question: When can BP(h) start producing B_h
Answer: When it has a witness
Page: 3
Section: 2.1
Variables: 2t+1 producers
h an height
Context: blockchain

Name: The previous block of B
Page: 3
Section: 2.1
Context: blockchain
Abbreviation: prev(B)

Name: The height of B
Page: 3
Section: 2.1
Context: blockchain
Abbreviation: height(B)

Name: The witness for B
Page: 3
Section: 2.1
Context: blockchain
Abbreviation: witness(B)

Name: The announcement of B
Definition: A message (theoretically from \(BP(height(B))\)) sharing the value of B and asking producers to validate it
Page: 3
Section: 2.1
Context: blockchain
Abbreviation: Block(B)

Name: Slashing condition
Definition: If there exists two blocks of same height h, then \(BP(h)\) is slashed
Page: 3
Section: 2.1
Context: blockchain
Definition2: If a producer \(p\) validates a node it suggested to skip, \(p\) is slashed

Name: Global stabilization time
Definition: A time \(t\) such that each messages produced after \(t\) by honest block producers are delivered in at most \(\Delta\) time
Page: 8
Section: 4.2
Context: blockchain
Abbreviation: GST

Name: \(B\) has doomslug finality
Definition: An honest block producer so another block \(B'\) such that \(witness(B')\) has at least \(t+1\) endorsements on \(B\)
Page: 8
Section: 4.2
Variables: \(B\) a block
Context: blockchain