25초 블록용 우선순위 채우기 블록 릴레이 논문
zcashminer1이 NU7의 25초 블록에서 고아 블록을 줄이기 위해 블록 업로드 순서를 정하는 priority fill 릴레이를 ZECATHON에 제출했습니다.
글쓴이는 NU7이 11월 5일 블록 간격을 25초로 줄이면(ZIP 218) 블록이 네트워크를 건너는 시간이 간격에서 차지하는 비중이 커져 고아 블록 비율도 오른다고 본다. 지금 Zebra 노드는 새 블록을 요청한 모든 피어에게 병렬로 업로드해 TCP가 대역폭을 균등 분배하므로 모든 사본이 비슷하게 늦게 끝난다. 이 문제를 다룬 논문과 시뮬레이션을 ZECATHON에 제출했다.
priority fill은 다음 전파자가 될 가능성이 높은 피어, 즉 측정된 처리량이 높은 피어에게 먼저 전속으로 업로드하고 남는 대역폭을 다음 순서에 쓴다. 멈춘 피어는 순위를 내린다. 각 노드가 로컬로 결정하므로 새 메시지도 합의 변경도 포크도 필요 없다.
Zebra의 zebra-network 코드로 만든 100노드 테스트베드(2MB 블록, 25초 간격)에서 추정 stale 비율이 10.0%에서 3.6%로, 다른 채굴자 도달 중앙값이 2.67초에서 0.82초로 줄었다. 푸아송 도착을 쓴 1,000노드 모델에서는 고아 블록이 16.2%에서 6.0%로 감소했고, 46% 풀과 1% 풀의 수익 격차는 7.3%에서 2.7%로 줄었다.
한계도 밝혔다. 순위 학습이 필요해 막 시작한 노드는 이득의 약 4분의 1만 얻고, 가장 느린 10% 노드는 이득이 없으며, 순위를 조작하는 공격이 가능하다(10개 느린 공격자가 0.8초 지연, 강등 규칙으로 0.4초). 모델이 2MB 꽉 찬 블록, 동일 해시레이트 채굴자, 압축 블록 없음을 가정해 절대 수치는 높게 나오므로 방향과 대략적 규모로 읽어야 한다. 별개로 zebrad의 PEER_GOSSIP_DELAY(7초)가 75초 블록 기준이라 25초 블록에서는 확인이 필요하다고 지적했다. 이 글은 병합 제안이 아니라 토론용이다.
한국어 요약은 원문을 바탕으로 정리한 것으로, 정확한 내용은 원문을 확인하세요.