놓친 차례, 정지, 퇴출
노드 레지스트리의 좌석은 일을 해야 지켜집니다. 블록을 만들도록 추첨되었는데 블록을 내지 않은 노드는 체인에 15초를 허비하게 하고 놓친 차례 하나로 집계됩니다. 건너뛴 차례는 또한 시계를 작동시킵니다. 노드는 다음 자기 블록까지 누락 상태가 되어 아무것도 벌지 못하고 참여 점수를 잃습니다. 연속으로 네 번 놓치면 추첨에서 빠지고(정지), 점수가 0이 되면 좌석을 잃습니다(퇴출). 이 문서는 버전 0.5.8부터 적용되는 이 과정을 설명합니다.
놓친 차례
블록이 만들어지면, 그 높이의 더 이른 라운드에 추첨되었지만 블록을 만들지 않은 노드는 모두 건너뛴 생산자가 되어 놓친 차례 하나로 집계됩니다. 블록을 만든 노드는 자신의 놓친 차례 카운터가 초기화됩니다.
이유는 상관없습니다. 오프라인이었던 노드, 너무 느렸던 노드, 온라인이었지만 블록을 내지 않고 붙잡아 둔 노드가 모두 똑같이 취급됩니다. 건너뛴 차례는 건너뛴 차례입니다. (블록을 붙잡아 두는 것은 생산자가 시드에 영향을 주려고 시도할 수 있는 유일한 방법이기도 합니다. 블록 시드 (VRF) 참조.)
누락 상태: 수입이 없고 점수가 떨어짐
건너뛴 차례부터 다음 자기 블록까지 노드는 누락 상태입니다. 누락 상태인 동안에는 다음과 같습니다.
- 아무것도 벌지 못합니다. 코인베이스 추첨 티켓도, 수수료 몫도, 롱제비티 몫도 없습니다.
- 참여 점수가 점수 단위마다 5점(100점 만점)씩, 그 단위의 블록들에 고르게 나뉘어 떨어집니다.
점수 단위는 max(n, 2,880블록)이며, n은 선택 가능한 노드의 수입니다. 노드가 2,880개 미만이면 단위는 2,880블록, 즉 12시간입니다. 레지스트리가 더 크면 각 노드의 차례가 대략 n블록에 한 번씩만 돌아오므로 단위도 n에 따라 커집니다. devnet에서는 단위의 하한이 120블록(30분)이므로 이 모든 과정이 24배 빠르게 진행됩니다.
노드가 서명한 영수증이나 핑(아래에서 설명)은 누락 상태를 끝내지 않습니다. 오직 노드 자신의 다음 블록만 끝냅니다. 따라서 차례를 한 번 놓치고 곧 다음 블록을 만든 노드는 수입을 조금, 점수를 아주 조금 잃을 뿐이지만, 계속 자리를 비운 노드는 계속 잃습니다.
정지
연속으로 네 번째 차례를 놓치면 노드는 정지됩니다.
- 생산자 추첨에서 빠지므로, 이 노드의 차례가 더는 모두에게 한 라운드씩 손해를 입히지 않습니다.
- 레지스트리의 좌석은 유지하지만 누락 상태로 간주되므로 아무것도 벌지 못하고 점수도 계속 떨어집니다.
- 입회 속도의 좌석 수와 모든 3분의 2 집계에서 빠집니다. 단, 스파인 체인의 서명자 목록은 예외입니다(3분의 2 규칙 참조).
짧은 공백으로는 정지되지 않습니다. 노드가 최근 20블록 안에 자기 블록을 만들었다면 네 번째로 놓쳐도 정지되지 않습니다(놓친 차례는 그대로 집계됩니다).
돌아오려면 정지된 노드의 소프트웨어가 핑을 보냅니다. 핑은 노드 자신의 키로 보내는 활성 증언으로, 수수료는 0이고, 120블록 윈도우마다 최대 하나이며, 정지된 노드에서 보낸 것만 유효합니다. 핑은 QueueAttendance 트랜잭션(유형 59)으로, 대기 중인 노드가 온라인임을 보일 때 보내는 것과 같은 유형입니다. 핑은 노드를 수습 상태로 추첨에 복귀시킵니다. 핑은 놓친 차례를 지우지도, 점수 하락을 멈추지도 않습니다. 그것은 노드가 다음 차례 중 하나에서 블록을 만들 때만 일어납니다.
퇴출
노드의 점수가 0에 이르면 노드는 퇴출됩니다. 좌석이 닫히고, 잠근 스테이크의 90 %는 소유자에게 돌아가며 10 %는 롱제비티 풀로 갑니다(ZBC는 결코 소각되지 않습니다. ZBC는 결코 소각되지 않는다 참조). 퇴출로 활성 노드가 셋 미만이 되는 일은 없습니다. 이 하한이 적용될 때는 "마지막 확인 시점"이 누구를 먼저 살려 둘지 정합니다. 노드가 서명한 영수증이 블록에 나타나면 그 노드가 확인된 것으로 표시됩니다. 영수증은 이 "마지막 확인 시점" 표시 외에는 아무것도 움직이지 않습니다.
모든 노드는 20 %에서 시작하므로, 침묵하는 노드가 버티는 시간은 침묵하기 시작할 때의 점수에 따라 달라집니다.
| 침묵하기 시작할 때의 점수 | 노드 2,880개 미만 | 노드 5,760개 | 노드 10,000개 |
|---|---|---|---|
| 20 % (시작 점수) | 2일 | 4일 | 6.9일 |
| 60 % | 6일 | 12일 | 20.8일 |
| 100 % | 10일 | 20일 | 34.7일 |
다시 올라가는 것은 떨어지는 것보다 세 배 느립니다. 노드가 2,880개 미만일 때, 모든 블록을 영수증과 함께 만드는 노드는 0에서 100 %까지 30일, 20 %에서 100 %까지 24일이 걸립니다. 신뢰는 얻기는 느리고 잃기는 빠릅니다.
관련 규칙
- 노드가 누락 상태이거나 정지된 동안 노드를 제거하는 소유자는 스테이크의 10 %를 잃습니다(레지스트리에서 나가기 참조).
- 새 노드는 성숙할 때까지 아무것도 벌지 못합니다. 성숙하려면 입회 후 4 점수 단위가 지나고 자기 블록을 하나 만들어야 합니다(성숙과 수입 참조).
- 입증된 이중 서명은 놓친 차례로 집계되며, 생산자를 다음 자기 블록까지 누락 상태로 만듭니다(이중 서명 (equivocation) 참조).
- 이 과정의 모든 수치(5점, 점수 단위, 시작 점수)는 체인의 제네시스 파라미터입니다.