프라이데이 합의 메커니즘(Friday consensus mechanism) 훑어보기

Yeon Hwang
RIZON Korea
Published in
4 min readNov 29, 2019

우리는 합의 알고리즘(algorithm) 보다는 합의 메커니즘(mechanism)이라는 용어를 사용하는 것을 조금 더 좋아합니다. 탈중앙화 플랫폼에서의 “합의”라는 것은 하나의 알고리즘이라기 보다는 여러 알고리즘이 포함된 하나의 체계(system)이거나 구조(mechanism)로 바라보는 것이 더 적합하다고 생각하기 때문입니다.

이 글에서는 프라이데이 합의 메커니즘이 어떤 방향을 바라보고 만들어지고 있는지 얘기해 보고자 합니다. 물론 계속되는 실험과 연구에 의해 계속 조금씩 방향이 바뀌게 될 테고, 어쩌면 커다란 변화를 받아들여야 할 수도 있습니다. 그렇다 하더라도 지금 우리가 생각하고 있는 방향에 대해 함께 이야기를 나누는 것은 언제나 의미 있을 거라고 기대합니다.

탈중앙화 플랫폼의 트릴레마

탈중앙화 합의 메커니즘에는 이미 잘 알려진 트릴레마(trillema)가 있습니다. 이 트릴레마에 대해서 간단히 설명 드리자면 확장성(scalability), 보안성(security), 탈중앙화(decentralization)을 동시에 달성할 수는 없다는 것입니다. 그러나, 우리가 가고자 하는 방향을 정하고 그 목표에 적합한 지점을 찾아 볼 수는 있습니다. 또한 동시에 달성할 수는 없어도 계속된 연구 개발을 통해 각각을 향상 시킬 수는 있습니다.

우리가 가고자 하는 방향

이더리움 네트워크의 확장성이 문제가 된 몇 번의 사건이 있었습니다. 그 이후에 새롭게 등장한 많은 플랫폼들은 TPS로 대변되는 throughput을 내세워 궁극의 확장성을 내세우기도 하였습니다. 그러나 확장성이 의미를 가지려면 현재 플랫폼의 처리 성능이 문제가 될 만큼 정말로 많이 사용되어야 합니다.

우리는 당장 의미가 없는 처리 성능의 향상을 위해 다른 부분을 희생시키기 보다는 다른 부분과의 적절한 균형을 이룰 수 있는 부분을 찾고자 합니다. 물론 확장성 또한 부족하지 않도록 계속 고민하며 만들어 가고 있습니다.

많은 고민과 논의 후에 우리는 우선 몇 가지 목표에 집중하기로 하였습니다.

  • 대기 시간을 줄이기 위한 비교적 짧은 블록 생성 시간 (blocktime)
  • 처리 완료 시간을 줄이기 위한 실시간에 가까운 완결성 (near-instant finality)

이 두 가지 항목을 달성하기 위해서는 확장성과 완결성 사이에서 적절한 균형을 이뤄야 합니다. 또한 우선순위에서 조금은 뒤쳐지지만 확장성을 희생하지 않고 더 나은 탈중앙화를 달성하기 위해 다음의 목표에 대한 연구 개발도 진행하고 있습니다.

  • 더 많은 검증자(validator) 참여를 위한 무작위성(randomness) 적용
  • 영향력(voting power) 집중을 막고 위임(delegation)의 고른 분산을 유도할 수 있는 보상 체계

합의 메커니즘 설계의 어려움

합의 메커니즘을 새로 설계하는 것이 어려운 이유는 모든 매개변수(parameter)가 서로 복잡하게 연결되어 있기 때문입니다. 한 부분을 수정하길 원하면 그 부분이 영향을 미치는 다른 부분을 모두 검토하고 고민해야 합니다. 그렇지 않으면 제대로 동작하지 않거나 예외 상황에 의해 언제든 멈출 수 있는 불안정한 상태가 됩니다. 이론적인 부분에 대한 고민도 매우 어렵지만 실제 전세계의 네트워크의 상태를 파악하기 위한 여러가지 실험도 수행해야 하고 그 과정에서 발견된 다양한 상황에 대한 처리도 필요합니다.

따라서 새로운 합의 매커니즘을 설계하고 그 합의 메커니즘을 적용한 플랫폼이 멈추지 않고 안정적으로 동작한다는 확신을 갖기 위해서는 상당히 오랜 시간의 검증이 필요합니다. 다행히도 전체를 한꺼번에 적용할 필요 없이 일부분을 분리해서 따로 적용할 수 있는 부분도 있고 조금씩 변경해 나갈 수 있는 부분도 있습니다. 너무 서두르지 않고 새로운 기술을 테스트넷에 적용하여 실험하고 안정화 한 후에 메인넷에 적용해 나갈 계획입니다.

합의 메커니즘에 대한 이야깃거리

합의 메커니즘과 관련해서는 다음 주제에 대한 이야기를 조금 더 해 볼 예정입니다. 이 외에도 개발하는 중간 중간 흥미로운 이야깃거리가 생길 때마다 시간을 내서 함께 얘기할 수 있도록 노력하겠습니다.

  • Friday consensus mechanism의 전체적인 구조와 흐름
  • PBFT 와 FBFT, HotStuff — mesh communication network 와 star communcation network의 비교 그리고 우리의 선택
  • VRF 와 BLS signature 의 적용
  • DAG 으로의 확장 가능성

더 많은 관심과 응원 부탁 드립니다.

--

--