코스모스의 비잔틴장애허용(BTF)방식이 무엇인가요?

2019. 05. 14. 15:23

요즘 핫한 코스모스코인의 텐더민트방식은 btf와 dpos 방식의 혼합된 알고리즘으로 알고있습니다 위임된 지분증명방식인 DPOS 는 알겠는데 BFT 의 비잔틴 장애 허용방식은 잘 이해가 가지않아 질문해봅니다!

공유하고 돈벌기 ♥︎

총 2개의 답변이 있습니다.

질문자 채택 답변

안녕하세요. 코스모스의 비잔틴장애허용(BTF)방식이 무엇인가요? 라고 문의 하셨는데요.

코스모스 백서 (https://cosmos.network/resources/whitepaper)에보면 아래와 같은 내용이 나와 있습니다.

텐드 민트의 보안은 과반수 (> 2/3)의 투표와 잠금 메커니즘을 통해 최적의 비잔틴 결함 허용 기능을 사용함에 있습니다. 함께, 그들은 다음을 보장합니다 :

  • ≥3 분의 투표권은 비잔틴이 2 개 이상의 가치가 행사되는 안전 위반을 야기해야한다.

  • 어떤 종류의 검사기가 안전을 위반하거나 검사를 시도하더라도 프로토콜에 의해 식별 될 수 있습니다. 여기에는 상충되는 블록 투표와 부당한 투표 방송이 포함됩니다.

비잔틴 결함 허용이란 컴퓨터 공학에서 누군가 잘못된 메시지를 보내더라도 전체 시스템이 돌아가도록 하는 것을 의미합니다. 블록체인에서는 선량한 노드가 3분의 2 이상이라는 전제 하에 블록을 생산하는 노드 중 몇몇이 악의적으로 거래 내역을 조작하더라도 3분의 2 이상이 같은 원장을 공유한다면 블록 생산을 계속해서 나갈 수 있다는 뜻입니다.

감사합니다.

2019. 05. 14. 16:37
41

질문자께서 질문해 주신 내용에 대해 답변을 드리도록 하겠습니다.

비잔틴 장군 문제에 대한 해법으로 보통은 '비잔틴 장애 허용(BTF)'이라는 합의 알고리즘을 이용해서 극복하려고 합니다. 이 방법은 일부의 잘못된 선택이나 일탈을 허용하는 합의 방식이라고 할 수 있습니다. 즉 3분의 2가 합의할 경우 3분의 1에 문제가 있더라도 나머지 3분의 2에 의해 결과적으로 문제가 없게 된다는 것입니다.

이것이 블록체인에 도입되게 되면 노드들이 블록을 검증할 때 정보의 위, 변조를 시도하는 노드가 있거나, 정상적으로 작동하지 않을 경우에도 또 완전한 합의에 도달하지 못하더라도 3분의 2이상의 정상적인 노드들이 합의를 도출할 수 있다는 전제가 있다면 그 합의 영향을 받지 않고 결과는 무결하다고 본다는 것입니다. 따라서 BTF 알고리즘은 코스모스뿐만 아니라 다른 블록체인에도 널리 이용되고 있다고 할 수 있습니다.

또한 블록체인에 따라서는 비잔틴 장애 허용 합의를 빠르게 두 번 진행하는 경우도 있는데 첫 번째 합의에서 3분의 2 이상의 합의가 도출되지 못하면 해당 블록은 확정 상태에 이르지 못하게 되며, 첫 번째 합의에서 3분의 2 이상의 합의가 도출되면 다시 빠르게 두 번째 합의를 다시 시작하여 합의 한 뒤 불변하는 블록을 생성하고 확정지을 수 있습니다. 이렇게 선합의, 후 블록 생성 방식을 택하게 되면 새로운 블록 생성의 이전 블록이 확정성을 부여 받은 상태이기 때문에 블록체인의 분기(Fork)를 방지할 수 있게 되어 안정성과 보안성이 높아지게 됩니다.

다만 이러한 BTF 합의 알고리즘의 경우 합의에 참여하는 노드들의 수가 많아지면 많아질수록 합의 속도가 느려지는 단점이 있습니다. 이러한 BTF의 단점을 DPOS를 통해 보완한 것이 질문자께서 말씀하신 코스모스의 텐더민트라고 할 수 있습니다.

결론적으로 비잔틴 장군 문제에 대해 100% 합의를 이끌어 내는 방법에는 아직 도달하지 못했지만 비잔틴 장애 허용을 통해 도출된 결과의 확정성을 빠르게 확보함으로써 블록체인은 '결과적으로' 비잔틴 장문 문제에 대한 해법을 찾았다고 할 수 있습니다.

답변이 도움이 되길 바랍니다.

2019. 05. 14. 20:47
162