본문 바로가기
Team

[블록체인]여러가지 개념

by seungh2 2021. 4. 11.

Safety

: 노드 간 합의가 발생했다면, 어느 노드가 접근하든 그 값은 동일해야 한다.

Liveness

: 합의 대상에 문제가 없다면 네트워크 내에서 반드시 합의가 이루어진다.

 

*그동안 합의 알고리즘에서는 Safety > Liveness

 -> Safety를 충족하는 상황에서 Liveness의 손실을 최소화

 

비트코인

- Liveness를 극대화.

- 하드 포크가 발생할 경우 최장 길이 체인 알고리즘을 활용해 Safety문제를 해결한다.

- 블록이 쌓일수록 변경이 사실상 불가능해지는 구조를 활용해 Safety를 확보한다.

 

소프트 포크 Soft Fork

: 기존의 규칙에서 큰 틀은 바꾸지 않고 부분적 업데이트만 일어나기 때문에 포킹된 블록끼리 호환이 가능하다.

 

하드 포크 Hard Fork

: 블록의 규칙을 근본적으로 바꾸는 업데이트로 이전 노드들과 호환이 되지 않는다.

 전혀 다른 블록체인이 되어 합의에 도달하지 않고 서로 분리된 채 블록이 계속 쌓여 나간다.

 

비동기 네트워크 -> 블록체인이 구동되는 네트워크

노드가 메시지를 보내는 시간과 수신 노드가 메시지를 수신하는 시간 사이에 상한선이 없다.

즉, 메시지가 수신 노드에게 제대로 도착했는지 여부를 수신 노드가 응답하는데 얼마나 걸리는지 알 수 없다.

따라서 특정 노드가 임의로 메시지를 전송하지 않거나 거짓 데이터를 전송하는 배신행위가 가능한 네트워크.

 

FLP Impossibility

- 비동기 네트워크에서는 합의 문제를 완벽히 해결할 수 있는 분산 알고리즘이 없다는 것을 증명

- 비동기 네트워크에서는 한 노드에서 문제가 발생했을 경우, 그 노드에서 합의가 됐는데 단순히 응답이 오래 걸리는 건지 아니면 합의 과정에서 충돌이 발생해 응답을 안 하는 건지 알 수 없기 때문이다.

-> 블록체인에서 어떤 합의 알고리즘을 채택한다는 것은 Safety와 Liveness 중 하나를 어느 정도 포기해야 한다는 것을 의미

 

728x90

'Team' 카테고리의 다른 글

[블록체인] 트러플1  (0) 2021.05.10
[블록체인]블록체인과 솔리디티  (0) 2021.05.06
[블록체인]PBFT  (0) 2021.04.11
[블록체인] 하이퍼레저 패브릭  (0) 2021.04.04
[블록체인] 비잔티움 장군 문제  (0) 2021.04.03

댓글