I am new to Ethereum and still going through the theory of consensus protocols. After learning the FLP impossibility result, I am trying to understand how Ethereum PoW protocol overcomes the impossibility result. Is it because PoW introduces a partial synchronicity for message latency, or because it only guarantees liveness in a probabilistic way? Or is it something else? I appreciate any help you may provide, thank you!

  • After some reading, perhaps now I have a better understanding. Ethereum PoW provides liveness, under some partial synchrony assumption (it assumes that network latency is smaller with respect to time for solving the PoW problem). However, agreement may fail, and when it does a fork in the chain can happen. Safety is only achieved probabilistically. For this reason Ethereum uses an algorithm to resolve conflicts, based on GHOST. Makes sense? (source: "The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication" Marko Vukolić). – Peter Jul 19 '19 at 5:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.