합의 알고리즘 편집하기
최신판 | 당신의 편집 | ||
270번째 줄: | 270번째 줄: | ||
===비잔틴 장애 허용=== | ===비잔틴 장애 허용=== | ||
− | [[비잔틴 장애 허용]]('''BFT''', Byzantine Fault Tolerance)은 블록체인 합의 알고리즘의 기본이 되는 것으로 [[PBFT]], [[DBFT]] 등 여러 가지 변형된 형태를 띠고 | + | [[비잔틴 장애 허용]]('''BFT''', Byzantine Fault Tolerance)은 블록체인 합의 알고리즘의 기본이 되는 것으로 [[PBFT]], [[DBFT]] 등 여러 가지 변형된 형태를 띠고 있습니다. [[블록체인]]은 여러 사람들에 의해 [[네트워크]]가 관리되고 유지되는데, 이 중에서는 분명히 악의적인 의도를 가지고 네트워크를 파괴하려는 사람도 존재한다. 비잔틴 장애 허용은 이러한 악의적인 [[노드]]가 네트워크를 장악하는 것을 방지한다.<ref>초보자를 위한 블록체인 설명, 〈[https://cryptochain.tistory.com/49 블록체인의 합의 알고리즘에 대해 알아보자: PoW, PoS, DPoS, BFT]〉, 《블록센스》, 2018-07-03</ref> |
비잔틴 장애 허용은 레슬리 램포트와 쇼스틱, 피스가 공저한 1982년 논문에서 언급된 것으로 비잔틴 제국의 여러 부대가 멀리 떨어진 상태에서 성공적으로 공격 계획을 세우는 상황을 가정하고 있다. 비잔틴 장군이 적을 섬멸하려 할 때 사방을 둘러싸 한 번에 덮치는 전략을 세웠다. 이 때, 옆에 있는 부대에게 공격하라는 명령을 전달 시켜야만 성공적으로 작전이 수행될 수 있다. 하지만 만약 세 번째 부대에 배신자가 있어 다음 부대에 명령을 전달하지 않는다면 작전은 물거품으로 돌아가며 실패로 끝나게 된다. 이러한 가정을 블록체인에 적용해보면, [[데이터]]를 올바르게 검증해야 하는 사람이 그렇지 않는다면 가정과 같은 상황이 발생될 수 있다. 이렇듯 악의적인 노드가 네트워크를 장악하는 것을 방지하는 것이 비잔틴 장애 허용 합의 알고리즘의 핵심이다. | 비잔틴 장애 허용은 레슬리 램포트와 쇼스틱, 피스가 공저한 1982년 논문에서 언급된 것으로 비잔틴 제국의 여러 부대가 멀리 떨어진 상태에서 성공적으로 공격 계획을 세우는 상황을 가정하고 있다. 비잔틴 장군이 적을 섬멸하려 할 때 사방을 둘러싸 한 번에 덮치는 전략을 세웠다. 이 때, 옆에 있는 부대에게 공격하라는 명령을 전달 시켜야만 성공적으로 작전이 수행될 수 있다. 하지만 만약 세 번째 부대에 배신자가 있어 다음 부대에 명령을 전달하지 않는다면 작전은 물거품으로 돌아가며 실패로 끝나게 된다. 이러한 가정을 블록체인에 적용해보면, [[데이터]]를 올바르게 검증해야 하는 사람이 그렇지 않는다면 가정과 같은 상황이 발생될 수 있다. 이렇듯 악의적인 노드가 네트워크를 장악하는 것을 방지하는 것이 비잔틴 장애 허용 합의 알고리즘의 핵심이다. |