블록체인

21.09.18 [합의알고리즘] DPoS 위임 지분 증명

슈팅스타제제 2021. 9. 19. 02:14

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 설명

https://medium.com/loom-network-korean/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EA%B8%B0%EB%B3%B8-%EC%9B%90%EB%A6%AC-%EC%9D%B4%ED%95%B4-%EC%A0%9C3%EB%B6%80-%EC%9C%84%EC%9E%84-%EC%A7%80%EB%B6%84-%EC%A6%9D%EB%AA%85-dpos-4fc585e42b9f

 

라운드 로빈

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