Since its inception, debates have raged on whether Bitcoin truly is the next big thing or if it will fade or die in the coming year or so due to ongoing issues with its use, application, and security. Within its technical framework, developers and researchers have watched Bitcoin’s evolution and still are unsure of its eventual consistency.
Defining Eventual Consistency
What is eventual consistency, you may ask? Outside of the developer world this term may not be understood by a financial executive who may be watching all the activity related to Bitcoin and the blockchain technology. So let’s start there with the meaning of eventual consistency before trying to explain why Bitcoin is consistent but not eventually consistent.
Technopedia states that eventual consistency is part of a data operation design model known as Basically Available, Soft State, Eventual Consistency (BASE), which helps to “promote different kinds of alternatives for the expansion or improved performance of data operations and similar systems by allowing for a more flexible protocol for matching data.” It contrasts the philosophy of another model known as ACID, which focuses on “data consistency and guarantees that data will be updated and matched immediately within a system.”
Essentially, with eventual consistency, it takes a relaxed approach to updates, using a timeline to decide that, at a certain point, there will be updates provided to the system and then there will be complete resolution. In an ad hoc fashion, eventual consistency still must address any inconsistencies as they arise and find some sort of strategy that resolves the conflict until the entire update takes place.
Bitcoin and the Eventual Consistency Concept
Now, let’s look at the idea within the context of Bitcoin, which is mathematically generated within a peer-to-peer computer network that executes challenging number-crunching tasks known as mining. The mathematics behind Bitcoin is set up to get increasingly more difficult in order to minimize the quantity of Bitcoin over time so as not to devalue what is already circulated.
Within the Bitcoin networking, there are machines that communicate and agree upon updates to the official ledger, which is known as blockchain. Before any more Bitcoin can be issued, the network must approve any updates. It is these updates and changes between blockchains that then align with the idea of eventual consistency and where some have argued that Bitcoin actually provides an incredibly strong consistency guarantee that far surpasses the strength of eventual consistency. Therefore, Bitcoin cannot be viewed as eventually consistent.
Abel Avram first shared this belief in 2014 when he authored an article in InfoQ. He used the example of thefts from Bitcoin operators from which the debate about whether eventually consistent databases should really be used or not. These thefts illustrated how Bitcoin code was not written to handle multiple concurrent requests nor be able to update the balance in these accounts, as might happen had it been based on the ACID model.
Although eventually consistent systems are used in banks, it doesn’t mean it is the fit for a cryptocurrency environment, and focusing on this aspect is not where attention should be fixed. As one industry expert noted, it is more important to consider whether the data that is underneath that system is capable of providing the guarantees that would not allow this type of glitch in a transaction system to invite theft.
Not Necessarily Eventually Consistent
In a 2014 research paper entitled, “Bitcoin meets strong consistency,” the researchers contend that the Bitcoin actually only provides eventual consistency and is prohibitively slow for that reason. Instead, the paper suggests that a new system can be built that focuses on strong consistency instead. The proposed system, known as PeerCensus, “acts as a certification authority, manages peer identities in a peer-to-peer network, and ultimately enhances Bitcoin and similar systems with strong consistency. Our extensive analysis shows that PeerCensus is in a secure state with high probability. We also show how Discoin, a Bitcoin variant that decouples block creation and transaction confirmation, can be built on top of PeerCensus, enabling real-time payments. Unlike Bitcoin, once transactions in Discoin are committed, they stay committed.”
However, others discount the idea that Bitcoin is eventually consistent at all. This includes Emin Gun Sirer, Cornell University professor, hacker, software developer and contributor to Bitcoin’s improvement. In his studies and varied experience, Sirer actually puts forth the idea that “Bitcoin provides an incredibly strong consistency guarantee, far stronger than eventual consistency. Specifically, it guarantees serializability, with a probability that is exponentially decreasing with latency.”
Sirer noted that this erroneous thinking has come from the observation that the last few blocks of a blockchain can be rearranged and replaced by competing forks. However, he said that, just because it can be changed doesn’t mean it’s eventually consistent. Instead, to Sirer, this is just an excuse for bad programming philosophy when, in actual fact, the entire blockchain should be evaluated for consistency.
Sirer does present a better way to evaluate databases for consistency, including Bitcoin. As he explains:
“Every database-like system on earth comes with awrite protocol and a corresponding read protocol. When evaluating the properties of a system, we examine the behavior of that system when we go through these protocols. We do not peek behind the covers into the internal state of the system; we do not dissect it apart; and most of all, we do not examine the values of internal variables, find a variable that changes, and scream “hah! eventually consistent!”
Instead, he suggests that a closer examination of Bitcoin’s read protocol and its write protocol actually show that it provides a strong consistency guarantee.
Yet, the debate continues over issues related to consistency with Bitcoin. The solution may be to collaborate on creating a simplified framework about consistency analysis so that there is a better understanding of the strengths and weaknesses with Bitcoin. Rather than spending time on arguing whether it is or not consistent, that effort might be better used toward further evolving the tremendous opportunities that are to be found in Bitcoin, other alt-coins, and the technology behind blockchain.