I’m currently deep in the research phase! I had a call with the authors of RLMD-GHOST and “A Simple Single Slot Finality Protocol for Ethereum” Francesco D’Amato and Luca Zanolini, who were incredibly helpful and generous with their time and guidance. They gave me several paths to explore to find an area that fits my interest in doing something theoretical that will also be helpful to the Ethereum protocol. Specifically, they gave me some papers about Graded Agreements, a type of quorum-based consensus protocol that shows some potential as a solution for SSF. I’ve written tens of thousands of words of notes about these different consensus protocols and the general state of the space.
My knowledge graph is coming along nicely!
SSF Protocol Requirements Atomic Broadcast that is dynamically available with resilience 1/2 and that can resist periods of temporary asynchrony
Tolerate dynamic participation, use subsampling, and is asynchrony resilient
(Ideally) resistance of up to 1/2 malicious nodes under synchrony 1/3 malicious nodes to tolerate asynchrony Reasonably resilient to asynchrony, even if it's not finalizing (RLMD-GHOST has it, MR doesn't)
RLMD-GHOST
Middle ground between LMD-GHOST, an asynchrony resilient but not dynamically available protocol, and Goldfish, a dynamically available but not asynchrony resilient protocol Combines vote expiry with LMD fork choice
[[ebb-and-flow]] - Validators can join and leave, and there's a finalized chain that is always safe and live after everyone is alive and sending messages as long as 1/3 or less of the validators are malicious Generalized [[sleepy model]] [[propose-vote-merge]] class along with [[LMD-GHOST]] and [[Goldfish]]
Synchronous Dynamically available Does not lose safety during bounded periods of asynchrony
Filter function $FIL_{rmld}(V, t)$ removes all but the latest messages within the expiry period \[t-η, t] for slot t from non-equivocating validators $FIL_{rlmd}$ = $FIL_{lmd}$ ◦ $FIL_{η-exp}$ ◦ $FIL_{eq}$. Non-equivocating validators are those that have not been caught sending conflicting messages η is the length of the expiry period The filter function works as follows: FILlmd (which keeps only the latest messages), FILη-exp (which removes messages outside the expiry period), and FILeq (which removes messages from equivocating validators). The symbol ◦ represents function composition, which means applying one function to the result of another.
Momose-Ren
Authored in [[Constant Latency in sleepy consensus]] Improved upon/made usable in [[Malkhi, Momose, Ren]] ([[Byzantine Consensus under Fully Fluctuating Participation]])
O($\Delta$) latency but still at least $16\Delta$ Achieved by removing the latency's dependencies on the security parameter $\kappa$ and actual participation level $\gamma$