Klaytn proposer 선정 과정 질문

안녕하세요, proposer node를 선정하는 과정에 대해 질문이 있어 글 남깁니다.

각 노드들의 Staking 정보는 86400 블럭마다 한 번씩 업데이트 되는 것으로 알고 있습니다.
업데이트 된 후에 각 노드들의 share를 array로 나타낸 후,
가장 최근 블럭 값의 hash를 사용하여 array를 shuffle하는 것으로 알고 있습니다.

  1. array의 shuffle이 한 번만 이뤄지는 것인지, 아니면 매 라운드 proposer을 선정할 때마다 이뤄지는 것인지 궁금합니다.

  2. 86400 블럭이 생성된 후, staking 정보를 계산하는 것은 각 CN들이 하는 것일텐데 이 시간동안 (아주 짧더라도) 블럭 생성에 delay가 생기게 되는 것일까요?

proposer 및 committee selection 과정과 관련하여 자세하게 설명된 사이트가 있으면 공유 부탁드리겠습니다.

감사합니다.

안녕하세요.

  1. proposerUpdateInterval(3600 block)마다 Refresh - RefreshProposers 함수를 호출하네요.
    이 때 staking 양과 지니 계수를 고려하여 랜덤으로 array를 생성하고 shuffle 합니다.
  2. staking 정보를 계산이 연산이 필요한 작업인 것은 맞습니다만, Klaytn은 stakingUpdateInterval에 해당하는 Block 생성시에도 1초 block 확정 시간을 맞추고 있습니다. block 생성에 delay가 발생하지는 않습니다.

proposer / committee selection 관련뿐 아니라, Klaytn 전반적으로 자세하게 설명된 문서가 있으니 참고 하시기 바랍니다.
(클레이튼 블록체인 플랫폼의 고성능 합의 알고리즘 - 한국통신학회지(정보와통신) - 한국통신학회 : 논문 - DBpia, 연구를 돕는 똑똑한 학술콘텐츠 플랫폼)

3 Likes