Published on: 2016-03-02T16:56:28+00:00
The concept of eventual consistency is commonly used in distributed computing to ensure high availability in systems. It guarantees that all accesses to a specific data item will eventually return its last updated value if no new updates are made. However, this does not require a system to have a final state as most practical database systems operate continuously without one.Regarding Bitcoin, the reference client's listreceivedbyaddress function returns the number of confirmations by default, and getbalance and getreceivedbyaddress functions take a number of confirmations as an argument. This is done to protect the application from suffix reorgs, where a block is removed from the blockchain due to a fork. In practice, there may be a difference between 0 probability and epsilon probability, but it is negligible due to hardware errors. Therefore, an omega can be selected such that the chance of processor mis-execution is higher than observing a reorganization.Contrary to popular belief, Bitcoin does not provide eventual consistency. The author of a post on the Bitcoin-dev mailing list argues that Bitcoin actually guarantees strong consistency. Eventually consistent systems do not have a final state and may give inconsistent responses to queries over time. However, Bitcoin does not ignore the contents of the last X blocks, and a Bitcoin node queried about the current blockchain state will give inconsistent answers when there are block rearrangements. This inconsistency indicates that Bitcoin does not provide strong consistency.Furthermore, Bitcoin provides a probabilistic, accumulative probability rather than a perfect one. This probability drops exponentially but is never exactly 0. This is similar to hash collisions, which Bitcoin relies on for its correctness.The author of the post hopes to dispel the false perception that Bitcoin is eventually consistent and believes that this idea has become a bad meme that should be laid to rest. Bitcoin actually guarantees strong consistency and operates differently from systems that provide eventual consistency.
Updated on: 2023-08-01T17:54:26.099353+00:00