<비잔티움 장군 문제>
비잔티움 장군들이 행동을 합의하려 할 때, 발생할 수 있는 의사소통 문제에 관한 것.
- 장군들은 공격 or 후퇴에 대한 동의를 얻어야 한다.
- 모든 장군이 합의에 도달하면 아무 문제 없다.
- 결정은 번복이 불가하며, 모두가 동시에 같은 결정을 해야 한다.
- 장군들은 운반자에 의해 전달되는 메시지를 통해서만 서로 소통이 가능하다.
- 장군들은 공격 or 후퇴에 대한 동의를 얻어야 한다.
- 모든 장군이 합의에 도달하면 아무 문제 없다.
- 결정은 번복이 불가하며, 모두가 동시에 같은 결정을 해야 한다.
- 장군들은 운반자에 의해 전달되는 메시지를 통해서만 서로 소통이 가능하다.
<문제점>
어떤 이유에서든 메시지가 늦게 전달되거나 훼손, 소실될 수 있다는 점.
메시지가 성공적으로 전달되더라도 한 명 혹은 여러 명의 장군들이 악의적으로 행동하기로 선택해 다른 장군들을 혼란스럽게 할 수도 있다는 점.
<비잔티움 장군 문제를 블록체인에 적용해보면?>
- 각 장군들이 하나의 노드.
- 노드들은 현 시스템 상태에 합의를 달성해야 한다.
- 블록체인에서 이러한 합의를 달성할 수 있는 유일한 방법은 최소 2/3 혹은 그 이상의 신뢰할 수 있는 정직한 네트워크 노드를 확보하는 것이다.
-> 네트워크 참여자 대다수가 악의적으로 행동하면 공격당할 수 있다.
=> 51% 공격
<51% 공격>
- 단일 주체 혹은 조직이 대다수의 hash rate를 제어할 수 있게 되어, 네트워크를 중단시킬 수 있는 공격.
- 트랜잭션 서비스 거부, 마이닝 독점 가능하다.
- 자신의 트랜잭션을 되돌릴 수 있다. (남의 트랜잭션은 못함)
-> 블록 보상 변경, 새 코인 생성, 공격자 소유가 아닌 코인 가로채기는 불가능
51% 공격자는 트랜잭션 순서를 의도적으로 수정하거나 제외시키기 위해 충분한 마이닝 파워를 소유하고 있다.
hash rate 가 충분히 분산화되어 있지 않으면 51% 공격 발생률이 높다.
* hash rate = hash power
자신이 보유한 컴퓨터 파워에 기초한 마이닝 성과.
다양한 노드에 분산되어 있으며 단일 주체 소유가 아니다.
'Team' 카테고리의 다른 글
[블록체인]PBFT (0) | 2021.04.11 |
---|---|
[블록체인] 하이퍼레저 패브릭 (0) | 2021.04.04 |
[블록체인] 비트코인과 블록체인 (0) | 2021.03.28 |
[공주는 코딩하고 싶어] 8회차. 발표 (0) | 2021.01.29 |
[공주는 코딩하고 싶어] 7회차. 정렬 (0) | 2021.01.27 |
댓글