On December 5, Stellar Executive Director Joyce Kim disclosed news of a ledger fork related to a failure of their consensus system. The consensus system used by both Stellar and Ripple have never been used at the scale Stellar is implementing, and the system failed to reach consensus causing a fork in the ledger. Stellar has about 140,000 active accounts per week, and over 3 million total accounts. The maximum number of total accounts the Stellar consensus mechanism has previously supported is 2.88 million.
“On Tuesday night, the nodes on the network began to disagree and caused a fork of the ledger. The majority of the network was on ledger chain A. At some point, the network decided to switch to ledger chain B…We are completing our review of the impact, but early reports indicate that the impact was not major.”
— Stellar Executive Director Joyce Kim
A few hours of transactions rolled back on chain A, and Stellar tried replaying them on chain B, but some transactions were not able to be replayed. Stellar is reaching out and offering assistance to gateways and exchanges that may have been affected by the consensus failure.
“We are still investigating the triggers for this consensus failure, but believe it is caused by the innate weaknesses of the Ripple/Stellar consensus system outlined above compounded by the number of accounts in the network. “
— Stellar Executive Director Joyce Kim
The risk of failure was predicted by Head of Stanford’s Secure Computing Group Professor David Mazières, and Stellar set out to create a new consensus mechanism. On September 18, a roadmap on Stellar’s github listed creating a new consensus algorithm as a milestone set for November 2014. The roadmap has since been updated, and the new consensus algorithm is currently being built. Stellar has mitigated the risk of ledger forks in the future by running only one validating node until the new consensus system is built.
“Given this real world occurrence of the consensus system’s previously theoretical risks, it is clear that we must prioritize the development of the new Stellar consensus algorithm and move away from the legacy consensus system to increase safety. The new Stellar consensus algorithm will not only be provably correct but also prioritize safety and fault tolerance over guaranteed termination. We believe this is a better choice since it is preferable for the system to pause than to enter divergent and contradictory states. ”
— Stellar Executive Director Joyce Kim
Stellar is a gateway based network and a hard fork of Ripple that was launched in August 2014. Like Ripple, the Stellar protocol enables transactions in any currency pair for which gateways and market makers exist. For example, Alice can send 10 bitcoins to a gateway, the gateway will issue Alice a 10 bitcoin IOU on Stellar, and Alice can then choose to send 10 bitcoins worth of US dollars to Bob. Stellar will connect Alice to a market maker that accepts bitcoins and sells dollars, automatically execute the transaction, and deliver 10 bitcoins worth of USD to Bob. The effect is that Alice and Bob can use Stellar to instantly and globally transact in any currency pair.
What do you think about Stellar’s moves?
Photo Source: Shuttershock, Stellar github.