ZooBC 위키
노드 운영

대기열

모든 새 노드는 등록부터 입회까지 공개 대기열에서 기다립니다. 다음에 누가 입회할지는 대기열이 정하고, 언제 입회할지는 입회 타이머가 정합니다. 이 순서는 의지와 인내의 균형을 맞춥니다. 중요한 것은 스테이크에 이미 기다린 시간을 곱한 값입니다.

순서

대기 중인 노드는 스테이크에 기다린 블록 수를 곱한 값으로 순위가 매겨집니다. 같으면 등록 높이가 더 이른 쪽이, 그다음에는 노드 id가 더 낮은 쪽이 앞섭니다. 대기 중인 노드는 언제든 스테이크를 늘릴 수 있으며, 쌓아 온 대기 시간은 그대로 유지됩니다. 증액에는 트랜잭션 수수료만 들며, 등록과 같은 소유 증명이 필요합니다(노드 등록).

곱셈이므로, 열 배 더 오래 기다린 사람을 앞지르려면 열 배 더 많이 잠가야 합니다.

가로는 스테이크, 세로는 기다린 일수로 축척을 맞춘 두 직사각형: A의 6,000이 B의 5,000보다 크므로 A가 먼저 입회합니다
가로는 스테이크, 세로는 기다린 일수로 축척을 맞춘 두 직사각형: A의 6,000이 B의 5,000보다 크므로 A가 먼저 입회합니다

대기 중인 노드에는 참여 점수가 없습니다. 노드는 입회할 때 기본 점수 20 %를 받으며, 입회 타이머는 한 번에 노드 하나씩 들여보내므로 두 노드가 함께 들어오는 일은 없습니다.

출석하기: 참석 확인

좌석은 일하는 노드를 위한 것이므로, 대기 중인 노드는 5,760블록(하루)의 윈도우마다 한 번씩 온라인임을 보여야 합니다. 노드가 서명한 증언처럼 체인에 나타난 노드의 흔적이라면 무엇이든 인정됩니다. 아무 흔적도 없으면 노드 소프트웨어가 스스로 QueueAttendance 트랜잭션(유형 59)을 보냅니다. 그 수수료는 스테이크를 결코 최소치 아래로 떨어뜨리지 않는 범위에서 스테이크에서 가져가며, 롱제비티 풀로 갑니다.

아무 흔적도 없는 윈도우가 생기면 노드의 대기 시간이 처음부터 다시 시작됩니다. 노드는 대기 기간 전체에 걸쳐 입회 주기 하나만큼의 윈도우를 빠질 수 있습니다. max(2, 최대 입회 지연 ÷ 하루)이며, 최대 지연이 90일인 mainnet에서는 90개 윈도우입니다. 91번째로 윈도우를 빠지면 대기열에서 제외됩니다. 입회하려면 노드는 마지막으로 평가된 윈도우에도 참석했어야 합니다.

대기열을 떠나면 10 %가 듭니다

대기 중인 노드를 철회하면, 소유자가 정식 RemoveNodeRegistration 트랜잭션을 쓰더라도 스테이크의 10 %가 듭니다. 참석 미달로 제외될 때도 같은 10 %가 듭니다. 두 경우 모두 나머지 90 %는 소유자에게 돌아가고(제외된 경우에는 즉시), 10 %는 일하는 노드들에게 지급하는 롱제비티 풀로 갑니다(풀). 소각되는 것은 없습니다(ZBC는 결코 소각되지 않는다).

이 비용은 입장 최소치 때문에 있습니다. 신규 노드는 이미 대기 중인 노드들의 스테이크 중앙값의 절반 이상을 잠가야 합니다. 떠나는 데 비용이 없다면, 누군가 큰 스테이크를 대기열에 넣어 다른 모든 사람의 최소치를 끌어올린 뒤 무료로 빼낼 수 있을 것입니다.

모든 활성 노드가 정지되었을 때

대기열은 예비 역할도 합니다. 모든 활성 노드가 정지되면, 참석을 지켜 온 대기 노드 중 가장 앞에 있는 노드가 블록을 만들 수 있으며, 그 블록으로 즉시 입회합니다. 따라서 레지스트리 전체가 침묵하더라도 체인은 다시 움직일 수 있습니다.

대기열 읽기

대기열은 공개되어 있습니다. GET /api/v1/nodes?status=queued는 대기 중인 모든 노드를 스테이크와 등록 높이와 함께 보여 주므로, 누구나 순서를 계산하고 다음 차례가 누구인지 알 수 있습니다.

같이 보기