Modern cloud systems offering data storage achieve high availability by employing redundancy of servers to store data and provide service. This facilitates robust services that can withstand arbitrary failures and malicious behavior. Byzantine Fault Tolerance (BFT) allows state replication across several servers in the presence of malicious processors. It takes the form of repeated consensus to reach agreement on an ordering of state transitions. Nevertheless, BFT's most popular use today is to leverage consensus in distributed ledgers, examples of which are blockchains and smart contracts.
Given that the blockchain and other distributed ledgers seem to be taking a dominant place in every aspect of our society (economic, industrial, governmental) it is of paramount importance to hedge against malicious activity and unexpected failures. To this end, the concept of self-stabilization is instrumental. It is a holistic approach towards any possible erroneous system state and guarantees automatic system recovery back to the intended behavior. The approach is well-established in the community of distributed computing.
Deterministic self-stabilizing algorithms that achieve BFT exist. The participants of the project have been actively involved in the development of such an algorithm. Nevertheless, deterministic algorithms can be hard to implement, and many times have mediocre performance. We propose a randomized SSBFT algorithm. Randomized algorithms are usually more elegant and significantly simpler, and most times have comparative or better performance than their deterministic counterparts by sacrificing determinism. Nonetheless, self-stabilization can recover the system even in the extreme case where a failure occurs due to the probabilistic nature of the solution. The new approach is expected to yield a more efficient, robust and maintainable blockchain infrastructure.
The project is funded by the ONISILOS postdoctoral funding scheme of the University of Cyprus