티스토리 뷰
블록체인을 공부하다 보면, 자주 언급되는 딜레마중 하나안 바로 비잔틴 장군의 문제(이중 지불 문제)를 짧게 알아보고, 3세대 대표 코인으로 불려졌던 EOS 코인과 그의 실패 요인에 대해 살펴본다.
비잔틴 장군의 문제
비잔틴 장군의 문제는 분산 시스템에서 발생할 수 있는 문제 중 하나로, 각 노드가 서로 다른 결정을 내리는 상황에서 어떻게 합의를 이끌어 내고, 그 합의가 정상적으로 실행될 것을 어떻게 믿을 수 있는 것인가에 대한 문제다. 이 문제는 비잔틴 제국의 군사적인 예시에서 유래한 것으로, 여러 명의 장군이 다른 전략을 취할 경우 어떻게 합의점을 찾고, 그 합의가 온전히 실행되도록 하기 위해 어떻게 해야 하는가의 문제이다. 말하자면, 함께 합의를 이루는 구성원들 모두를 온전히 믿을 수 없는데서 출발한 문제이다. 이 문제를 해결하기 위해 고안된 알고리즘을 비잔틴 장군 문제 해결 알고리즘이라 한다. 이 알고리즘은 분산 시스템에서 다수의 노드가 서로 다른 결정을 내리는 경우, 안전한 합의를 이끌어 내기 위한 방법을 제시한다. 그러나 이 알고리즘도 완전히 문제를 해결할 수는 없다. 예를 들자면 악의적인 노드(사용자)가 있는 경우, 이들이 다수결에 영향을 끼치거나, 결과를 변조하는 등의 문제가 발생할 수 있다. 비잔틴 장군의 문제는 분산시스템에서 발생하는 문제 중 하나이며, 이를 해결하기 위해 다양한 알고리즘이 개발되어 있다. 그러나 앞서 말했듯 완전한 해결책은 아직 나오지 않았다고 보는 것이 맞다. 대부분의 블록체인 네트워크들이 이 문제를 해결하고자 다양한 합의 알고리즘을 발표하고 발전시켜 가고 있다. 하지만, 완벽한 제도는 있을 수 없다. 단, 조금 더 옳은 합의를 위해 끊임 업이 발전해 갈 것이다.
EOS
EOS는 블록체인 프로토콜 중 하나로, Dan Larimer가 개발한 분산형 플랫폼이다. EOS는 사용자가 더 많은 트랜잭션을 더 빠르게 처리할 수 있도록 설계되었으며, 블록체인에서 실행되는 스마트 컨트랙트 또한 지원한다. EOS는 이더리움과는 달리 트랜잭션 수수료가 없으며, 대신 사용자는 블록체인 상의 자원을 미리 구매하여 사용한다. 이를 통해 트랜잭션 처리에 필요한 컴퓨팅 자원을 보유할 수 있으며 블록체인에서 수행되는 작업에 대한 비용을 효율적으로 분산시킬 수 있다. EOS는 DPoS(Delegated Proof of Stake) 알고리즘을 기반으로 거버넌스 모델을 구상하고 있다. 이는 노드 대표자들이 블록체인에서 결정권을 가지며, 커뮤니티의 참여를 유도한다. 이를 통해 EOS는 더욱 높은 성능과 확장성(속도)을 제공하면서도 탈 중앙화를 유지할 수 있다. EOS는 대규모 애플리케이션 개발에 적합한 블록체인 플랫폼으로, 이미 게임 및 소셜 미디어 등 다양한 분야에서 애플리케이션이 개발되어 운영되고 있다. 또한, 기술적인 발전뿐만 아니라 금융 서비스 및 기타 산업 세어의 적용 가능성도 높다. EOS의 알고리즘 DPos는 대표자들을 투표로 선출하고 그들에게 참여자들의 지분을 위임한다는 뜻의 위임 지분증명을 뜻한다.
EOS의 실패 요인
EOS는 블록체인 생태계에서 중요한 위치를 차지하고 있지만, 그동안 여러 가지 문제와 실패 요인도 있었다. EOS의 실패 요인에 대해 알아보자. EOS는 초당 수백만 건의 트랜잭션을 처리할 수 있는 높은 성능을 강조하였으나, 메인넷이 론칭될 때, 네트워크 문제로 인해 트랜잭션 처리 속도가 지연되는 모습을 보였다. EOS의 실제 트랜잭션은 1,500 tps로 알려져 있다. 또한 거버넌스 구조가 복잡하고 선거 과정 등이 필요하기에, 개발자와 사용자들이 이해하기 어려운 구조를 가지고 있다. 이로 인해 대표자 선거에서 발생하는 불공정성과 제대로 된 결정이 내려지지 않는 문제가 발생하였다. 또한 EOS는 스마트 컨트랙트 기능을 강조하며, 사용자들이 안전하게 스마트 컨트랙트를 구축할 수 있도록 하였으나, 몇몇 스마트 컨트랙트의 버그로 인해 해커들이 침입하여 큰 피해를 입기도 하였다. 그리고 대표자들이 전체 블록 생성을 주도하여 자칫 중아화될 수 있는 구조를 가지고 있다. 이는 탈중앙화된 목표와는 어울리지 않고, 거버넌스 및 보안 문제를 일으킬 수 있다. 이것들로 인해 처음의 기대와는 다르게 실패한 것이 아니냐는 목소리들이 많이 나오고 있다. 필자가 생각하는 EOS의 치명적인 실패의 요인은, 바로 노드들을 합의에 이르게 하는 '동기'가 약하다는 것이다. 인간은 누구나 자신의 생각을 관철시키거나 혹은 이익을 위해 움직이게 된다. 이익은 어떤 행동을 이끌어 내기 위한 강력한 동기가 되기도 한다. 이익이 적은 노드들은 게을러지게 되었고, 이는 노드의 핵심 권력인 투표를 행하지 않는 데에 이르렀다. 합의하지 않는 합의 알고리즘은 실패한 것일 수밖에 없다. 이에 대한 보안 책은 바로 강력한 보상이다.