DPoS Delegated Proof of Stake 위임 지분 증명 합의 알고리즘
DPoS 체인: 이오스, 아크,
블록생성과정
라운드로빈* 방식으로 블록 생성함.
1. 일반 노드에서 N개의 블록 생성 노드 (Block Producer, 이하 BP)를 선출한다.
2. 임의의 i번째 BP가 i번째 블록을 서명한다. (i = 1; i <=N; i++)
까지 한 라운드이며, BP의 2/3가 투표하면 블록 하나가 확정된다.
DPoS 체인 별 N 수
EOS: 21
BitShares: 101
Steemit: 21
Lisk: 101
Ark: 51
PoS와의 차이점
PoS: 일정 기준의 지분을 가지고 있는 일반 노드가 모두 블록 생성 권한 즉, 투표권이 생긴다.
DPoS: 일정 기준의 지분을 가지고 있는 일반 노드가 블록 생성 노드를 선출하는 투표권이 생기고
선출된 블록 생성 노드는 차례대로 블록에 투표를 한다.
*라운드 로빈 방식
CPU 스케쥴링 알고리즘으로 한 프로세스가 할당받은 시간동안 작업을 하다가 끝내지 못하면 준비 큐의 맨 뒤로 가서 차례를 기다리는 방식으로 프로세스들이 작업을 완료할 때까지 계속 순환한다. (해시넷 참고)
이 라운드 로빈 방식을 적용한 블록 생성 과정으로 내가 이해한 바는 다음과 같다.
블록 투표가 완료되지 않은 경우(i≠N), N개의 노드 중 i번째 노드의 블록 투표가 진행 중일 때
시간을 할당하고 이 안에 투표를 끝내지 못하면 다른 노드들 중 i번째 블록 투표를 진행 완료한 다음
즉, i+1번째 노드의 투표로 진행 순서가 넘어가게 되는 형식인 것 같다!
아니면 댓글 고고
참고문서 링크
DPoS 설명
라운드 로빈
http://wiki.hash.kr/index.php/%EB%9D%BC%EC%9A%B4%EB%93%9C_%EB%A1%9C%EB%B9%88
DPoS 백서에 대한 이오스 개발자 댄의 추가 글
https://steemit.com/dpos/@dantheman/dpos-consensus-algorithm-this-missing-white-paper
'블록체인' 카테고리의 다른 글
21.12.19 익명 송금 zkopru (0) | 2021.12.19 |
---|---|
21.09.27 Fabric 트랜잭션 정렬 [정리 중!] (0) | 2021.09.27 |
21.09.18 [합의알고리즘] PoS 지분 증명 (0) | 2021.09.18 |
21.09.17 [합의알고리즘] PoW 작업 증명 (0) | 2021.09.18 |
21.09.17 [합의알고리즘] 합의 알고리즘의 목표 (0) | 2021.09.18 |