ZooBC 위키
보안과 아키텍처

3분의 2 규칙

ZooBC에서 일어나는 일 대부분에는 투표가 전혀 필요 없습니다. 추첨된 생산자 하나가 각 블록에 서명하고, 모든 노드가 이를 검사합니다. 그러나 어떤 결정은 레지스트리 전체를 대변합니다. 이력을 최종으로 만드는 체크포인트, 다른 체인의 입금에 대해 발행하는 코인, 잘못된 릴리스에 대한 거부권입니다. 이런 결정에 ZooBC는 하나의 기준을 씁니다. 등록 좌석의 3분의 2입니다. 좌석이 11개이면 8개입니다.

3분의 2가 적용되는 곳

결정필요한 것
스파인 블록 저장전체 서명자 목록의 67 %(올림)의 공동 서명(11개 중 8개). 스파인 블록 없이 스파인 기간 3개가 지난 뒤에만 과반(11개 중 6개). 결코 5개 미만은 아님
브리지 입금의 입금 처리, 브리지 출금의 해제각각 노드 키로 서명한, 레지스트리 3분의 2의 증언
일일 상한을 넘는 브리지 발행정지되지 않은 모든 좌석
지급을 발동하는 오라클 사실의 확정활성 레지스트리의 3분의 2가 같은 값을 증언
릴리스 거부등록 좌석의 3분의 2가 거부를 증언
릴리스 권한자 교체같은 3분의 2 정족수. 가장 오래된 투표가 일주일이 지난 뒤에만 집계
새 규칙 묶음 켜기등록 생산자의 3분의 2 이상이 최근 새 버전으로 블록을 만들었을 것

자세히 보면 다음과 같습니다.

  • 스파인 블록. 기준은 max(spine_min_signatures, ceil(n × 67 / 100))이며, 여기서 n은 스파인 서명자 목록의 좌석 수입니다. 즉 목록의 67 %를 올림한 값입니다. 각 서명자는 서명하기 전에 블록의 내용을 자기 체인과 대조합니다. 스파인 체인을 참조하십시오.
  • 브리지. 그 규칙은 버전 0.5.8부터 노드에 포함되어 있습니다. 노드 옆의 키퍼 프로그램이 다른 체인의 커스터디 주소를 감시하고, 수수료 없는 증언으로 투표합니다. 집계 대상 좌석, 즉 정지되지 않은 등록 노드의 3분의 2가 같은 토큰, 금액, 수신자를 증언하면 입금이 1 대 1로, 브리지 수수료 없이 발행됩니다. 한 코인의 하루 발행량이 코인 1개와 공급량의 10 % 중 큰 값을 넘게 되면, 정지되지 않은 모든 좌석이 동의해야 합니다. 체인들은 브리지 서비스를 시작하지 않은 채 버전 0.5.8로 재출범합니다. 브리지와 래핑된 코인을 참조하십시오.
  • 오라클 사실. 등록 노드들이 이벤트를 증언하며, 활성 레지스트리의 3분의 2가 같은 값을 증언하면 이벤트가 확정되어 그 이벤트를 지정한 대기 중인 모든 트리거가 지급합니다. 트리거와 증언을 참조하십시오.
  • 릴리스. 좌석의 3분의 2가 증언한 거부는 릴리스 권한자 자신의 철회와 똑같이 릴리스를 철회합니다. 새 릴리스 권한자를 지명하는 투표는 가장 오래된 투표가 일주일(40,320블록)이 지난 뒤에야 집계되므로, 현재 보유자는 이를 미리 볼 수 있습니다. 릴리스와 업데이트를 참조하십시오.
  • 준비 게이트. 새 합의 규칙 묶음은 서로 다른 등록 생산자 최소 ceil(2 × R / 3)개가 최근 max(720, 5 × n)블록의 윈도우 안에서 새 버전으로 블록을 만든 뒤에야 켜지며, 릴리스가 등록된 지 하루가 지나기 전에는 켜지지 않습니다. 여기서 R은 정지되지 않은 등록 좌석의 수이고, n은 등록 노드의 수입니다.
결정들의 표: 스파인 블록(정지된 좌석도 여전히 집계), 브리지 입금이나 출금, 릴리스 거부, 오라클 사실에는 3분의 2가 필요하고, 일반 블록과 투표로 정하는 가격에는 필요하지 않습니다.
결정들의 표: 스파인 블록(정지된 좌석도 여전히 집계), 브리지 입금이나 출금, 릴리스 거부, 오라클 사실에는 3분의 2가 필요하고, 일반 블록과 투표로 정하는 가격에는 필요하지 않습니다.

정지된 좌석의 집계 방식

버전 0.5.8부터 정지된 좌석(놓친 차례, 정지, 퇴출 참조)은 모든 3분의 2 집계에서 빠집니다. 투표하지도, 전체 수에 집계되지도 않습니다. 스파인은 의도적인 유일한 예외입니다. 스파인은 정지 여부와 상관없이 서명자 목록의 모든 좌석을 계속 집계하므로, 스파인 체크포인트는 언제나 전체 좌석의 3분의 2를 대변합니다.

레지스트리 하한

레지스트리 전체의 결정에는 하한도 있습니다. 레지스트리의 좌석 수나 서로 다른 소유자 계정 수가 max(3, min_registry_size), 즉 mainnet에서 7보다 적은 동안에는 레지스트리 전체의 어떤 증언도 확정되지 않습니다. 소유자 수를 셀 때 한 운영자의 좌석 두 개는 한 표입니다.

3분의 2가 필요 없는 것

  • 일반 블록. 시드로 추첨된 생산자 하나가 서명하고, 모든 노드가 이를 검사합니다(추첨 참조).
  • 투표로 정하는 가격. 계정 임대료나 전송 수수료 같은 가격입니다. 주기마다 한 번 각 가격은 집계 대상 좌석 투표의 평균으로 움직이며, 각 투표는 먼저 최대 20 % 인상 또는 절반으로의 인하로 제한됩니다(가격 투표 참조).

노드가 스스로 하는 몇몇 검사도 3분의 2 또는 그에 가까운 기준을 쓰지만, 이는 합의가 아니라 로컬 정책입니다. 뒤처진 노드는 등록 피어 표본의 3분의 2가 보고하는 최상단 블록을 따르고, 스냅샷 검사의 확대 조회에는 답한 피어의 3분의 2가 필요하며(스냅샷과 빠른 동기화 참조), 노드의 포크 조회에는 투표한 피어의 최소 0.66이 필요합니다. 이는 3분의 2보다 조금 적은 값입니다.

3분의 2의 이면

3분의 2 기준은 좌석의 3분의 1을 조금 넘는 수가 함께 행동하거나 그저 투표하지 않는 것만으로 결정을 붙잡아 둘 수 있다는 뜻이기도 합니다. 스파인에서는 세 번의 유휴 기간 뒤 과반으로 완화되는 대체 규칙이 이를 누그러뜨립니다. 준비 게이트에는 마감 기한이 없으므로, 좌석의 3분의 1을 조금 넘는 수가 업그레이드를 붙잡아 둘 수 있습니다.

같이 보기