Categories
Cardano Updates

Ouroboros Healing

Some post mortem analysis by Prof Aggelos Kiayias in a recent blog post Ouroboros: self-healing in the wild. The analysis explores how Ouroboros performed in the recent real world stress test.

In summary, the recovery we observed followed the predicted, secure-by-design self-healing behavior of Ouroboros.

As SPOs installed the patch, the effective, honest stake supporting the correct chain began to rise steadily, while the poisoned chain containing the invalid transaction was rapidly losing stake support. The good chain eventually exceeded the length of the poisoned chain. At that point, the network’s longest-chain rule automatically snapped via a chain-switch to the correct chain for all the remaining nodes, even if they remained unpatched.

Crucially, the self-healing process did not require any manual intervention to ‘checkpoint’ the good chain or ‘blacklist’ the poisoned one. Rather, it was an organic outcome of the majority of nodes gradually transitioning to the spec-respecting interpretation of the competing chains. This also meant that tools and higher-level applications that did experience issues when parsing the bad chain due to its spec incompatibility automatically healed as a result.

Aggelos also reflects on the challenges faced by chains using a BFT consensus algorithm, which would have required a centrally co-ordinated reset and restart of the chain. Well worth a read.