Liveness / Safety blockchain 블록의 생성 과정은 safety와 liveness를 동시에 만족시킬 수 없다. 이는 1985년에 발표된 FLP Impossibility를 통해 증명되었다. FLP Impossibility 위 논문에서는 ‘비동기 네트워크 환경에서는 Safety와 Liveness를 동시에 만족시키는 분산된 합의 알고리즘은 존재할 수 없다.’를 수학적으로 증명하였는데, 이는 곧 분산 시스템 기반의 Blockchain 환경에서 Liveness와 Safety를 모두 만족하며 합의하는 것은 불가능하다는 것을 의미한다. 때문에 블록체인에서는 이를 극복하기 위해 다음 방법들을 사용한다. 합의를 재정의한다. 비동기성을 포기한다. Liveness over Safety Liveness를 ..
블록체인의 핵심에는 분산 시스템이 있다고할 수 있다. 노드는 분산 시스템에 대한 개별 참가자로 정의할 수 있으며 모든 노드는 서로 데이터를 주고받을 수 있다. 이러한 노드들은 정상적이거나 악의적인 사용자일 수도 있으며 각각의 노드는 메모리와 프로세스를 갖고 있따. 이때 비합리적인 행동을 보이는 노드를 비잔틴 장군 문제(Byzantine Generals Problem)에서 이름을 따서 비잔틴 노드라고도 한다. # 비잔틴 장군 문제 1982년 램포트와 그 외 사람들이 '비잔틴 장군 문제(The Byzantine Generals Problem)'이라는 연구 논문에서 사고 실험을 제안했는데 이 문제에서 비잔틴 군은 각기 다른 부대를 이끌고 있는 장군들이 도시를 공격하거나 퇴각하려고 계획을 세우고 있다. 장군들끼..