<p>Lamport et al's paper describes multiple problems, each with a unique situation. Liveness is solved for all of those situation as long as the network is synchronous. The original paper doesn't attempt to solve for asynchronous networks, and in fact later work proves that it is impossible to solve consensus in asynchronous networks (FLP). </p>

<p>A latter paper figured out how to guarantee liveness in partially synchronous network (PBFT). </p>

<p>So the accurate way to restate your two bullets:</p>

<p>Yes, it does guarantee both liveness and safety as long as 2/3rd +1 are honest and there is a known maximum to the delays (aka the network is synchronous). </p>

<p>The intuition on why asynchronous networks make the problem hard is that an honest node A who has yet to receive a message from a different node B can't be sure whether B has decided not to vote, or, if B does plan to vote eventually. </p>

CC BY-SA 4.0
2019-07-04T22:44:52.120Z
2019-07-05T19:24:57.023Z
2019-07-05T19:24:57.023Z
Yaoshiang
<p>Solution: <a href="https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf" rel="nofollow noreferrer">https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf</a></p>

<p>Although there is a lot of material about this, I am still not sure what the answer is. I found two different statements:</p>

<ol>
<li>Yes, it does guarantee both liveness and safety as long as 66% are honest.</li>
<li>No, if there is a certain amount of delays, it cannot guarantee safety.
<a href="https://cs.nyu.edu/rgrimm/teaching/sp07-os/bft.pdf" rel="nofollow noreferrer">https://cs.nyu.edu/rgrimm/teaching/sp07-os/bft.pdf</a> , slide 9</li>
</ol>

<p>If it is 2., what is the intuitive reason for this to happen? Is it because if the some messages never reach the nodes, they cannot know what the majority of the other nodes are doing/communicating and therefore cannot forward their own decision?</p>

<p>Note: I know this is not a bitcoin specific question but there is no general blockchain forum here.</p>

<consensus>
Does the BFT solution from lamport guarantee liveness?
solaire
# Does the BFT solution from lamport guarantee liveness?

(Asked by: username_0 on 2018-11-09)

Solution: <https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf>

Although there is a lot of material about this, I am still not sure what the answer is. I found two different statements:

1. Yes, it does guarantee both liveness and safety as long as 66% are honest.
2. No, if there is a certain amount of delays, it cannot guarantee safety.
   <https://cs.nyu.edu/rgrimm/teaching/sp07-os/bft.pdf> , slide 9

If it is 2., what is the intuitive reason for this to happen? Is it because if the some messages never reach the nodes, they cannot know what the majority of the other nodes are doing/communicating and therefore cannot forward their own decision?

Note: I know this is not a bitcoin specific question but there is no general blockchain forum here.

**Tags:** consensus


---

## 1 answers

### Answer by username_1 on 2019-07-04. Score: 1

Lamport et al's paper describes multiple problems, each with a unique situation. Liveness is solved for all of those situation as long as the network is synchronous. The original paper doesn't attempt to solve for asynchronous networks, and in fact later work proves that it is impossible to solve consensus in asynchronous networks (FLP).

A latter paper figured out how to guarantee liveness in partially synchronous network (PBFT).

So the accurate way to restate your two bullets:

Yes, it does guarantee both liveness and safety as long as 2/3rd +1 are honest and there is a known maximum to the delays (aka the network is synchronous).

The intuition on why asynchronous networks make the problem hard is that an honest node A who has yet to receive a message from a different node B can't be sure whether B has decided not to vote, or, if B does plan to vote eventually.


---

