ZooBC 위키
참여 증명 (PoP)

참여 증명과 PoW·PoS의 비교

모든 블록체인은 다음 블록을 누가 쓸지 정해야 합니다. 작업 증명(PoW)에서는 블록을 만들 기회가 컴퓨팅 파워를 따르고, 지분 증명(PoS)에서는 스테이킹한 코인을 따릅니다. 위임형과 연합형 설계는 그 권한을 선출되거나 승인된 집단에 맡깁니다. ZooBC의 합의 방식인 참여 증명(PoP)은 입회한 모든 좌석에 같은 기회를 주고, 프로토콜이 정한 속도로 새 좌석을 천천히 받아들이며, 측정된 일에 대가를 지급합니다. 이 문서는 이 설계들을 나란히 비교합니다.

누가 블록을 만드는가

작업 증명지분 증명위임형 / 연합형참여 증명
생산자의 기회가 따르는 것해시 파워스테이킹한 코인선출 또는 승인 여부활성 좌석마다 똑같은 몫 하나
더 큰 권한을 얻는 방법하드웨어 구매코인 구매투표에서 이기거나 임명받기주기마다 하나씩 입회하는 좌석을 더 얻기
생산자가 될 수 있는 사람하드웨어가 있는 누구나코인이 있는 누구나선출되었거나 목록에 오른 소수스테이크를 잠그고 대기열에서 기다리는 누구나

작업 증명과 지분 증명에서는 돈이 허락하는 만큼 빠르게 권한을 살 수 있습니다. 한쪽에서는 하드웨어로, 다른 쪽에서는 코인으로 삽니다. 참여 증명에서는 노드 레지스트리의 정지되지 않은 모든 활성 좌석이 블록마다 추첨에서 같은 기회를 갖습니다. 하드웨어, 계정 잔액, 스테이크, 심지어 노드의 참여 점수도 추첨에 반영되지 않습니다. 좌석 30개 중 3개를 가진 운영자는 대략 열 블록에 하나를 만듭니다.

노드 id 순으로 늘어선 활성 좌석 30개 중 3개가 내 것입니다. 각 추첨에서 모든 좌석의 확률이 같으므로, 30개 중 3개의 좌석은 약 10블록에 1블록을 만듭니다.
노드 id 순으로 늘어선 활성 좌석 30개 중 3개가 내 것입니다. 각 추첨에서 모든 좌석의 확률이 같으므로, 30개 중 3개의 좌석은 약 10블록에 1블록을 만듭니다.

열려 있되, 속도가 정해져 있음

위임형 설계는 블록 생산을 선출된 소수의 생산자에게, 연합형 설계는 알려진 검증자의 고정 목록에 집중시킵니다. 참여 증명은 생산자 집합을 열려 있고 평평하게 유지합니다.

열려 있음. 어떤 소유자 계정이든 노드 키를 등록하고 대기열 최소치 이상을 잠글 수 있습니다. 대기열 최소치는 mainnet에서 100 ZBC로 시작하며, 좌석들이 투표로 1 원자 단위에서 250 ZBC 사이의 어느 값으로든 정할 수 있습니다. 신청자를 투표로 받아들이는 사람도, 승인하는 재단도 없습니다. 각 체인은 ZooBC Foundation이 보유한 제네시스 좌석 11개에서 시작하며, 오직 대기열을 통해서만 커집니다.

속도가 정해져 있음. 대기열은 스테이크에 기다린 블록 수를 곱한 값으로 정렬되며, 프로토콜은 주기마다 노드 하나를 입회시킵니다. 주기는 600일을 좌석 수로 나눈 값으로, 7일에서 90일 사이로 유지됩니다. 좌석이 11개이면 약 54.5일입니다. 첫 신규 노드는 제네시스 7일 뒤에 합류합니다. 입회 속도를 참조하십시오.

평평함. 일단 입회하면 좌석은 모두 같은 좌석입니다. 더 큰 스테이크는 대기열에서 더 이른 자리를 살 뿐, 더 많은 블록을 사지는 못합니다. 열 배 더 오래 기다린 신청자를 앞지르려면 열 배 더 많이 잠가야 합니다.

스테이크 × 기다린 블록 수로 정렬된 대기열이 주기마다 한 번 입회하는 회전문을 지나, 모든 활성 좌석의 확률이 같은 동일한 좌석들의 원으로 들어갑니다. 그중 11개는 제네시스 좌석입니다.
스테이크 × 기다린 블록 수로 정렬된 대기열이 주기마다 한 번 입회하는 회전문을 지나, 모든 활성 좌석의 확률이 같은 동일한 좌석들의 원으로 들어갑니다. 그중 11개는 제네시스 좌석입니다.

속도가 정해진 참여의 대가는 느린 성장입니다. 600일 기준이 속도를 정하는 동안, n개 좌석의 레지스트리는 600 ÷ n일마다 새 노드 하나를 받아들이므로, 크기와 상관없이 두 배가 되는 데 약 416일(600 × ln 2)이 걸립니다. 공격자도 같은 속도를 마주합니다. 좌석은 하룻밤 사이에 살 수 없습니다(참여 증명이 방어하는 위협 참조).

좌석을 지키는 것

참여 증명에서 좌석은 돈으로 지켜지지 않습니다. 좌석은 오직 일을 해야, 즉 자기 차례에 블록을 만들고 배정된 피어들에게 블록과 트랜잭션을 중계해야 지켜집니다. 차례를 건너뛰는 노드는 아무것도 벌지 못하고 참여 점수를 잃으며, 점수가 0이 되면 퇴출됩니다(놓친 차례, 정지, 퇴출 참조). 스테이크는 보증금입니다. 그 자체로는 아무것도 벌지 않으며, 스테이킹 이자도 없습니다.

블록을 위조하기 어렵게 만드는 것

작업 증명에서 블록을 위조하기 어려운 이유는 블록에 다시 하려면 비용이 큰 작업이 담겨 있기 때문입니다. 참여 증명은 퍼즐에 에너지를 쓰지 않으며, 설계에서는 이를 "낭비되는 작업이 없음"이라고 부릅니다. ZooBC 블록은 자기 라운드에 추첨된 노드의 키로 서명되며, 오직 그 키만 만들 수 있는 시드를 담고 있습니다(블록 시드 (VRF) 참조). 모든 노드는 이 둘을, 블록 안의 모든 트랜잭션과 영수증과 함께 검사합니다. 보안은 Ed25519 서명, SHA3-256 해시, 검증 가능한 난수 함수에 기댑니다. 컴퓨팅 파워는 아무 역할도 하지 않으며, 빈 블록도 완전히 유효합니다.

보상과 최종성

새 ZBC는 오직 코인베이스에서만 나오며, 블록마다 스테이크나 해시 파워가 아니라 참여 점수로 가중치를 준 추첨으로 나뉩니다(코인베이스 추첨 참조).

작업 증명은 확률적 최종성을 제공합니다. Bitcoin 사용자는 흔히 결제를 확정된 것으로 보기 전에 여섯 블록을 기다립니다. ZooBC는 대신 엄격한 한계를 둡니다. 어떤 노드도 720블록(3시간)보다 많이 롤백하지 않으며, 좌석의 3분의 2가 공동 서명한 마지막 체크포인트 아래로도 내려가지 않습니다(최종성과 롤백 참조).

같이 보기