<p><strong>Safety</strong>: Any transaction deemed final by one properly-operating node will eventually be deemed final by every properly-operating node. No two transactions ever deemed final by two properly-operating nodes will ever conflict.</p>

<p><strong>Liveness</strong>: So long as there is always at least one transaction suitable for inclusion that has not been deemed final by any properly-operating nodes, the set of transactions deemed final by at least one properly-operating node will increase in number.</p>

<p>Note that these are very, very minimal definitions and generally not sufficient for realistic systems. Also, for some systems (where a transaction can produce different results depending on the context in which it executes), you have to understand "transaction" to mean the results of executing the transaction.</p>

CC BY-SA 4.0
2018-11-26T04:49:34.970Z
2018-11-26T04:49:34.970Z
David Schwartz
<p>Safety: never achieving agreement on a state when nodes have not actually agreed on that given state, provided the assumptions of the paper hold (<a href="https://en.wikipedia.org/wiki/Thread_safety" rel="nofollow noreferrer">read the wiki here</a>).</p>

<p>Liveness: consensus cannot stall, even in case of a tie, algo must always make progress (<a href="https://en.wikipedia.org/wiki/Liveness" rel="nofollow noreferrer">read the wiki here</a>).</p>

CC BY-SA 4.0
2018-11-26T02:30:02.097Z
2018-11-26T02:30:02.097Z
Psi
<p>Two main properties of a consensus are "<strong>Liveness</strong>" and "<strong>Safety</strong>".</p>

<p>What are the exact and precised definition of "<strong>Liveness</strong>" and "<strong>Safety</strong>" properties in a consensus ?</p>

<p>Are the following definitions correct?</p>

<ul>
<li><p><strong>Safety:</strong> Achieving an agreement on a single state by all participants ?</p></li>
<li><p><strong>Liveness:</strong> Possibility of updating this state with keeping the agreement ?</p></li>
</ul>

CC BY-SA 4.0
2018-11-25T16:52:32.140Z
https://en.wikipedia.org/wiki/Liveness
Wapac
<security><consensus><terminology><safety>
Exact definition of "Liveness" and "Safety" properties in a consensus?
Questioner
# Exact definition of "Liveness" and "Safety" properties in a consensus?

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

Two main properties of a consensus are "**Liveness**" and "**Safety**".

What are the exact and precised definition of "**Liveness**" and "**Safety**" properties in a consensus ?

Are the following definitions correct?

* **Safety:** Achieving an agreement on a single state by all participants ?
* **Liveness:** Possibility of updating this state with keeping the agreement ?

**Tags:** security, consensus, terminology, safety

> **Comments:**
> **username_1**: https://en.wikipedia.org/wiki/Liveness  

---

## 2 answers

### Answer by username_2 on 2018-11-26. Score: 4

**Safety**: Any transaction deemed final by one properly-operating node will eventually be deemed final by every properly-operating node. No two transactions ever deemed final by two properly-operating nodes will ever conflict.

**Liveness**: So long as there is always at least one transaction suitable for inclusion that has not been deemed final by any properly-operating nodes, the set of transactions deemed final by at least one properly-operating node will increase in number.

Note that these are very, very minimal definitions and generally not sufficient for realistic systems. Also, for some systems (where a transaction can produce different results depending on the context in which it executes), you have to understand "transaction" to mean the results of executing the transaction.


---

### Answer by username_3 on 2018-11-26. Score: 1

Safety: never achieving agreement on a state when nodes have not actually agreed on that given state, provided the assumptions of the paper hold ([read the wiki here](https://en.wikipedia.org/wiki/Thread_safety)).

Liveness: consensus cannot stall, even in case of a tie, algo must always make progress ([read the wiki here](https://en.wikipedia.org/wiki/Liveness)).


---

