ZYCORD 문서
한국어
Zycord문서용어집

용어집

인증서(certificate), 폴드(fold), 건너뜀(skip), 예치금, 시퀀서, 강제 경로. 이 가운데 몇몇은 다른 곳에서보다 여기서 더 좁은 뜻을 갖고, 두어 개는 대부분의 체인에 해당하는 말이 아예 없는 사건을 가리킵니다.

이 프로토콜이 쓰는 어휘를, 이 프로토콜이 쓰는 뜻으로 정리했습니다. 이 가운데 몇몇 단어는 다른 곳에서보다 여기서 더 좁은 뜻을 가지며, 그중 둘 — 건너뜀(skip)과 폐기(drop) — 은 대부분의 체인에 해당하는 것이 없어서 해당하는 말도 없는 사건을 가리킵니다.

인증서 (certificate)#

Zycord의 유일한 트랜잭션 유형입니다. 인증서(certificate)는 자신이 읽은 상태와 쓴 상태, 그리고 그 둘을 잇는 프로그램, 그것을 인가하는 서명들, 예치금, TTL, 그리고 두 수수료 시장 각각에 대한 입찰가를 함께 지닙니다. 자기 입력과 출력을 함께 지니고 있으므로, 그것이 유효한지 확인하는 데는 상태가 전혀 필요하지 않습니다.

폴드 (fold)#

원장을 전진시키는 결정론적 루프입니다. 블록의 인증서(certificate)들을 정규 순서로 — 먼저 fill, 그다음 모든 평범한 인증서, 그다음 강제 인증서 — 훑으면서, 각각에 대해 선언된 읽기가 여전히 성립하는지 확인합니다. 성립하면 쓰기를 커밋하고, 성립하지 않으면 건너뜀(skip) 처리합니다. 폴드(fold)는 뜨거운 키-값 작업 집합 위에서 비교와 덧셈과 쓰기를 수행합니다 — 코드 실행도, 서명 검증도, 재실행도 없고, 타원곡선 연산도 없습니다. 이 시스템에서 병렬화되지 않는 유일한 단계입니다.

건너뜀 (skip)#

선언된 읽기가 더 이상 성립하지 않거나, 델타가 256비트 범위를 벗어나게 되거나, 사용된 주소 아래에 쓰게 되는 인증서(certificate)에 일어나는 일입니다. 아무것도 쓰이지 않고, 1,000,000 drop(0.01 ZCD)의 고정 건너뜀 수수료가 그 예치금에서 소각되어 누구에게도 지급되지 않으며, 예치금의 나머지는 반환되고, 블록은 유효한 상태로 남습니다. 예치금을 지정한 쪽이 냅니다. 평범한 인증서라면 읽기를 고른 그 작성자이고, fill이라면 그 시퀀서입니다. 사용자는 결코 fill의 건너뜀 비용을 내지 않습니다. 건너뜀(skip)은 실패가 아니라 의미론입니다. 포함과 적용은 서로 다른 사건이므로, 블록 생산자가 오래된 인증서를 포함시켰다고 해서 유효하지 않은 블록을 만들어 내는 일은 결코 없습니다.

폐기 (drop)#

청구되지 않는 비사건입니다. 예치금을 예약할 수 없는 인증서(certificate) — 예치 셀이 이미 사용되었거나, 인증서가 예약하는 금액보다 적게 들어 있는 경우 — 는 폐기(drop)됩니다. 블록에 실리지만 청구되지 않고, 확인 집합(seen set)에 표시되지도 않으며, 새 예치금을 붙여 자유롭게 다시 제출할 수 있습니다. 따라서 정직한 사용자는 자기 예치 셀(cell)을 둘러싼 경합으로 잃는 것이 없습니다.

예치금 (deposit)#

인증서(certificate)에 대해 책임지는 셀(cell)입니다. 사용자 주소의 네이티브 잔액 셀, 그 셀에서 예약하는 금액, 그리고 나머지가 돌아가는 잔돈 슬롯으로 이루어집니다. 예치금 없이 존재하는 인증서는 없으며, 예치 셀에는 언제나 서명이 붙습니다. 건너뜀(skip)이 공짜여서는 안 됩니다. 그러면 mempool이 잠겨 버립니다. 모든 충돌에 주인을 부여하는 것이 예치금입니다. fill은 그 시퀀서의 영구 잔액에서 예치하며, fill이 건너뜀 처리될 때 사용자가 아니라 시퀀서가 내는 이유가 이것입니다. 강제 인증서는 대신 그 오픈 인텐트의 지불에서 비용을 냅니다. 백서 v1.0의 인수인(underwriter)과 보험 인증서는 사라졌으며, 이것이 그것들을 대체한 것입니다.

셀 (cell)#

슬롯에 담긴 값입니다 — 32바이트에 빅엔디언으로 저장되는 부호 없는 256비트 정수입니다. 0은 부재입니다. 한 번도 쓰인 적 없는 슬롯과 0이 쓰인 슬롯은 같은 슬롯입니다. 이는 편의가 아니라 합의 요구사항입니다. 상태 루트가 상태를 만들어 낸 이력의 함수가 아니라 상태 자체의 함수로 남게 해 주기 때문입니다.

일회성 주소 (0x01)#

첫 차변으로 서명 권한이 영구히 소각되는 주소입니다. 새로 유도한 일회성 주소로 지불하는 것은 경합이 없는 빠른 경로이며, 결제마다 새 주소를 유도하는 것이 어떤 결제를 다음 결제와 연결할 수 없게 만들어 줍니다. 그 대가는 “그중 일부를 지출하라”가 일회성 주소가 할 수 있는 일이 아니라는 것입니다 — 지갑 규칙 1을 보세요.

영구 주소 (0x02)#

재사용 가능한 주소입니다. 사용된 주소 레지스트리에 결코 들어갈 수 없으므로, 소각 괴롭힘의 표면이 전혀 없습니다. 상점, 기부 주소, 시퀀서의 예치금, 그리고 채굴 지급은 이 주소를 씁니다. zycordd --payout은 그 밖의 것을 거부합니다.

사용된 주소 레지스트리#

권한이 소각된 일회성 주소들의 영구적인 합의 집합입니다. 사용된 주소 아래의 셀(cell) 값은 되돌리기 지평 이후에 정리될 수 있지만 레지스트리 항목은 결코 정리되지 않습니다 — 그것이 그 주소가 되살아나는 것을 막는 장치이기 때문입니다. 주소당 약 33바이트씩, 영원히입니다. 이는 이 프로토콜이 정직하게 밝히는 미해결 문제이며, 모든 널리파이어 집합 설계가 구조적으로 함께 지고 있는 문제입니다.

유효한 vs. 적용 가능한#

통상적인 체인이 하나로 뭉뚱그리는 두 개의 술어입니다. 유효한은 상태와 무관하고, 병렬적이며, 누구든 인증서(certificate)의 바이트만으로 확인할 수 있습니다. 적용 가능한은 상태에 의존하고, 순차적이며, 원장 안에서의 위치만이 결정합니다. 두 개의 유효한 인증서가 같은 슬롯에 대해 같은 입력 값을 선언할 수 있고, 그중 많아야 하나만 적용 가능할 수 있습니다.

가드 델타#

인증서(certificate)가 어떤 슬롯에 대한 술어 — balance ≥ 10 — 를 값을 계산 안으로 읽어 들이지 않은 채 단언하고, 부호 있는 델타를 쓰는 접근 방식입니다. 같은 슬롯에 대한 가드 차변과 대변은 몇 개가 되든 교환 가능하므로, 건너뜀(skip)은 잔액이 바뀌었다는 이유만으로가 아니라 실제로 잔액이 부족할 때만 일어납니다. 이 하나의 방식이 전송, 공급 상한이 있는 발행, 허용량, 금고 지분을 모두 포괄하며, 결코 시퀀서에 의해 제한되지 않습니다. 시퀀싱되는 토큰도 누구에게서 오는 어떤 전송이든 여전히 받아들입니다.

순수 델타#

가드가 없는 부호 있는 델타입니다. 결코 충돌할 수 없고 결코 건너뜀(skip) 처리되지 않습니다. 팁, 카운터, 누산기, 보상 집계에 쓰입니다.

정확한 읽기#

SLOAD식 접근 방식입니다. 읽기가 슬롯의 값을 계산 안으로 반환하고 인증서(certificate)를 그 값에 묶습니다. 임의의 로직이 가능하고, 경합이 심한 슬롯에서 충돌이 일어나며, 시퀀서의 영역입니다.

시퀀서 (sequencer)#

컨트랙트가 자신의 정확한 읽기 트래픽을 직렬화하도록 선택하는 오프체인 서비스입니다. 모든 컨트랙트의 기록에는 시퀀서 키가 있습니다. 그 키가 0이 아닌 동안에는 그 컨트랙트의 셀에 대한 정확한 읽기, 동등 가드, 설정에 그 키의 서명이 필요하고, 0인 동안에는 컨트랙트가 열려 있으며 오직 자신의 코드로만 보호됩니다. 시퀀서는 사용자의 인텐트를 실행하고 그 결과를 fill로 게시합니다. 시퀀서는 활성(liveness)에 대해서만 신뢰받고, 안전에 대해서는 결코 신뢰받지 않습니다. 인텐트가 하는 일은 바꿀 수 없고 언제 할지만 바꿀 수 있으며, 거짓 위에 만들어진 fill은 시퀀서의 비용으로 건너뜀(skip) 처리됩니다. 시퀀서가 처리를 멈추더라도 강제 경로가 남아 있습니다.

인텐트 (intent)#

시퀀싱되는 컨트랙트를 호출하기 위해 사용자가 인증서 대신 서명하는 것입니다. 대상과 calldata, 병렬 예산, 논스, 최대 8 블록의 창, 시퀀서의 영구 주소, 결과에 대한 한도, 각 시퀀서에게 지불할 금액, 그 재원이 되는 일회성 지불 주소들, 그리고 잔돈 출력을 담습니다. 한도는 호출이 쓰는 셀에 대한 술어 — final-at-least, final-at-most, delta-at-least 또는 delta-at-most — 이며, 적어도 하나는 호출이 쓴 셀을 지정해야 합니다. 인텐트는 사용자의 인가 전부이며, 그 지불은 fill이 적용될 때에만 정산됩니다.

fill#

시퀀서가 인텐트에 대해 게시하는 인증서입니다. 그 프로그램은 인텐트이고, 그 예치금은 시퀀서 자신의 영구 잔액에서 나오며, 그 id는 인텐트의 해시이므로, 한 인텐트에 대한 두 fill은 같은 id를 공유하고 그중 하나만 청구될 수 있습니다. fill은 폴드 순서에서 가장 먼저 오며, 각 fill은 자신이 속한 모든 파이프라인이 준비되는 즉시 들어갑니다.

영수증 (receipt)#

인텐트에 대한 시퀀서의 서명된 답으로, 블록이 존재하기 훨씬 전에 밀리초 안에 돌아옵니다. 인텐트 id, 파이프라인 seq, 그리고 결과를 담습니다. 이것은 사전 확인입니다 — 체인의 약속이 아니라 시퀀서의 약속이며, fill이 적용될 때에야 최종이 됩니다. 영수증은 서명되어 있으므로, 같은 키에서 나온 두 영수증이 하나의 seq를 서로 다른 인텐트에 주거나 하나의 인텐트에 서로 다른 결과를 준다면, 그것은 누구든 바이트로부터 확인할 수 있는 증거입니다. 합의는 그것을 처벌하지 않습니다. 사용자들이 떠납니다.

파이프라인 (pipeline)#

체인은 시퀀서 키와 컨트랙트의 모든 쌍에 대해, 마지막으로 적용된 seq를 보관합니다. fill은 그 카운터가 자신의 seq보다 하나 작을 때에만 들어가며, 카운터는 fill이 적용될 때에만 전진하므로, 시퀀서의 fill들은 생산자가 어떤 순서로 받았든 시퀀서가 서명한 순서대로 커밋됩니다. 건너뜀(skip) 처리된 fill은 그 뒤에 만들어진 fill들을, 시퀀서가 같은 번호부터 다시 만들 때까지 붙잡아 둡니다.

펜스 카운터 (fence counter)#

모든 컨트랙트의 기록에 있는 카운터입니다. fill은 자신이 기반으로 삼은 컨트랙트들의 펜스 카운터를 선언하며, 그중 하나라도 움직였으면 들어갈 수 없습니다. 펜스 카운터는 반영된 강제 인증서가 컨트랙트의 셀 하나를 설정할 때, 그리고 컨트랙트의 시퀀서 셀이 쓰일 때 전진합니다 — 그래서 강제 경로와 시퀀서 변경은 자신이 바꾼 상태 위에 만들어진 모든 fill을, 아무에게도 청구하지 않고 무효로 만듭니다. 읽기나 델타는 그것을 움직이지 않으며, 실패한 강제 인증서도 마찬가지입니다. 시퀀서는 다시 만들고, 지연 시간만 잃습니다.

공동 시퀀싱 (co-sequencing)#

서로 다른 시퀀서에 묶인 컨트랙트들을 가로지르는 호출은, 그 호출이 건드리는 정확한 경로의 모든 시퀀서 — 최대 16개 — 의 서명을 지닌 하나의 fill로 반영되며, 각 시퀀서는 자기 파이프라인 안에서 seq를 하나씩 갖고 인텐트가 자신에게 지정한 금액을 받습니다. 시퀀서들이 어떻게 조율하는지는 설계상 오프체인이며 자유롭습니다. 체인은 하나의 인증서를 보며, 그것은 구조상 원자적입니다.

시퀀서 디렉터리 (sequencer directory)#

시퀀서가 자신의 서비스를 공지하는 곳입니다. 시퀀서의 영구 주소에서 나온 디렉터리 인증서가 그 키를 출력 가능한 ASCII 1~256바이트의 문자열, 보통은 URL에 묶습니다. 항목은 갱신되지 않으면 공지 인증서의 TTL 이후 259,200블록(약 90일) 뒤에 만료되며, 철회하면 즉시 제거됩니다. 합의는 그 문자열을 저장할 뿐 결코 해석하지 않습니다 — 인가가 아니라 발견입니다. 노드는 /directory에서 그것에 답합니다.

강제 경로 (forced path)#

시퀀서가 필요 없는 느린 경로입니다. 사용자가 오픈 인텐트에 서명해 네트워크에 중계하면, 블록 생산자가 자신이 고른 오픈 인텐트들을 블록 끝 상태에 대해 실행하고 그 결과를 블록의 마지막 인증서인 강제 인증서로 덧붙입니다. 포함이 곧 적용입니다. 대기열도, 임대도, 할당량도, 기한도 없습니다. 한 블록은 최대 16개의 강제 인증서를 실으며, 각각은 최대 4,000 유도 단위(derivation unit)의 병렬 예산(머신 gas 200,000)을 가지므로, 컨트랙트가 제공하는 모든 출구는 그 예산 안에 들어가야 합니다. 호출이 revert되는 강제 인증서도 FORCED_FAILED로 반영됩니다. 그 지불 주소들이 지불하고, 잔돈은 사용자에게 돌아가며, 그 밖에는 아무것도 쓰이지 않습니다.

오픈 인텐트 (open intent)#

시퀀서도 공동 시퀀서도 지정되지 않고, 사용자 자신의 일회성 지불 주소로 재원을 대는 인텐트입니다. 인증서가 아니라 인텐트로서 멤풀을 오가며, 그 지불이 강제 인증서의 수수료를 충당합니다. 기본 수수료 부분은 소각되고 나머지는 생산자에게 갑니다. zcd wallet open-intent가 오픈 인텐트에 서명하며, zcd wallet intent --fallback은 시퀀서가 원래의 인텐트를 처리하지 않을 때 오픈 인텐트에 서명합니다.

cEVM#

단 하나의 가상 머신입니다. 인증서에 맞게 조정된 Ethereum 가상 머신의 한 방언입니다. 스토리지는 발견되는 것이 아니라 선언되며, 가드, 델타, 컨트랙트의 시퀀서 설정을 위한 옵코드가 추가되었고, 여기서 가리킬 대상이 없는 옵코드는 제거되었으며, NUMBER와 TIMESTAMP는 에포크 비컨으로부터 답합니다. Era 1부터 활성화되며, 델타 우선 표준 라이브러리가 알려진 주소에 미리 배포됩니다. Solidity와 그 도구들이 그대로 넘어옵니다.

에포크 비컨#

프로토콜이 에포크마다 한 번씩 쓰는 예약된 셀들입니다. 에포크 번호, 그 에포크를 연 헤더의 높이, 엔트로피 워드, 그리고 Era 1부터는 그 헤더의 시각입니다. 프로그램은 타임스탬프나 높이 같은 주변 값을 직접 읽어서는 안 됩니다 — 그러면 실행이 선언된 읽기가 아닌 다른 무언가의 함수가 되기 때문입니다 — 그래서 프로그램은 비컨을 다른 슬롯과 똑같이, 가급적 범위 가드를 붙여 읽습니다. 그 값들은 한 에포크 내내 일정합니다. 엔트로피 워드는 작업증명의 출력이며 고액이 걸린 추첨에는 적합하지 않습니다.

에포크#

2,880 블록 — 30초 블록으로 약 하루이며, 지분증명으로 전환한 뒤에는 5초 슬롯 17,280개로, 여전히 하루입니다. 보조금이 내려가고, 순차 용량 목표치가 움직이며, 비컨이 갱신되는 단위입니다.

TTL#

인증서(certificate)가 유효한 것이 되려면 그 높이까지 커밋되어야 하는 높이입니다. 합의 수준에서 240 블록(약 두 시간), 지분증명으로 전환한 뒤에는 1,440 블록으로 제한되며, 이것이 확인 집합(seen set)을 정리 가능하게 유지해 줍니다. 이미 본 인증서나 만료된 인증서를 포함시키면 블록이 유효한 것이 아니게 됩니다 — 따라서 하나의 서명은 많아야 한 번만 청구될 수 있고, 그것도 서명자가 서명함으로써 받아들인 위치에서만 그렇습니다.

순차 gas와 병렬 gas#

수수료는 두 개의 시장으로 나뉩니다. 하나는 희소한 순차 상태 변경을 위한 것이고, 다른 하나는 희소하지 않은 병렬 검증을 위한 것입니다. 따라서 서명 검사는 저장소 쓰기와 같은 경매에서 경쟁하지 않으며, 그것이 무거운 암호 연산을 설계상 값싸게 만들어 줍니다. 두 시장 모두에서 기본 수수료는 소각되고 우선 수수료는 생산자에게 지급되며, 이는 적용되는 인증서에서만 그렇습니다. 건너뜀(skip) 처리된 인증서의 수수료는 전액 소각됩니다.

에라 (Era)#

에라는 프로토콜의 한 단계로, 공개 릴리스에 컴파일된 높이에 의해, 그리고 Era 2에서는 높이 범위 안에서 체인에서 측정된 지분에 의해 발동되며 — 달력상의 날짜나 투표로는 결코 발동되지 않습니다. Era 0은 블록 0부터 운영 중입니다: 채굴, 네이티브 자산, 두 수수료 시장, 보조금 분배, 그리고 적립되며 봉인된 트레저리(treasury). Era 1은 mainnet에서는 높이 80,640(2026년 11월 4일경), 공개 testnet에서는 높이 2,880부터입니다: cEVM, 시퀀서, 인텐트와 fill, 시퀀서 디렉터리, 그리고 강제 경로. Era 2, 지분증명: 본딩은 에포크 182, 2027년 4월 7일경에 열립니다. 램프 구간은 활성 지분이 30 에포크 동안 공급량의 10%를 유지하면, 늦어도 에포크 273에 시작됩니다. 지분만으로 하는 블록 생산으로의 전환은 램프 구간이 완료되면 뒤따릅니다. Era S는 독립 감사를 거친 뒤에만 기밀 결제를 더할 것이며, 현재 명세의 일부가 아닙니다. Era 2와 S는 각각 하드 포크를 통해 자체 릴리스로 배포됩니다. 본딩은 Era 1의 일부가 아닙니다.

지분증명#

Era 2의 합의로, 다음 블록을 생산할 권리가 해시에 대한 대가로 팔리는 대신 지분에 따라 추첨되며, 블록 간격은 30초에서 5초로 줄어듭니다. 그 밖의 모든 것은 그대로입니다. 모든 노드는 모든 인증서를 그 바이트로부터 검사하고, 폴드와 두 수수료 시장은 바뀌지 않으며, 블록 안의 무효한 인증서는 여전히 블록을 무효로 만듭니다. 채굴자가 해시에 쓰던 계산을 생산자는 검증에 씁니다. 지분증명은 램프 구간과 전환을 거쳐 들어오며, 전환 전까지 블록은 채굴됩니다. 백서 §11에 명세되어 있습니다.

지분 (stake)#

블록 생산에 본딩된 네이티브 코인입니다. BOND는 잔액을 영구 주소에서 그 주소에 묶인 지분 셀로 옮기며, 그 주소의 키가 블록에 서명하는 키입니다. UNBOND는 되돌리기 지평보다 긴 출금 지연 뒤에 그것을 돌려줍니다. 지분은 본딩된 지 한 에포크 뒤에 활성화되므로, 지분을 연달아 만들었다가 버릴 수 없습니다. 최소 본딩은 1,000 ZCD이며, 키 하나에 지분 하나입니다. 본딩은 에포크 182에 Era 2와 함께 열립니다.

풀과 위임#

풀은 위임을 받아들이는 지분입니다. DELEGATE는 생산용 본딩보다 작은 최소액으로 본딩을 풀의 키로 향하게 하며, 잔액은 결코 위임자를 떠나지 않고, 위임자는 같은 출금 지연 아래에서 그것을 다른 곳으로 돌리거나 본딩 해제할 수 있습니다. 추첨에서 풀의 가중치는 자신의 본딩에 그 풀에 위임된 것을 더한 값이며, 폴드는 풀의 보상을 에포크마다 한 번, 풀이 선언한 마진에 따라 풀에, 그리고 지분에 비례해 그 위임자들에게 나눕니다. 위임자는 결코 슬래싱되지 않습니다. 풀이 이중 서명하면 풀 자신의 본딩만 소각됩니다. 채굴 풀과는 다르며, 채굴 풀은 오프체인에 있고 합의 밖에 있습니다.

슬롯#

지분증명 아래에서 하나의 블록이 생산될 수 있는 5초 간격으로, 그 블록은 이전 에포크에서 고정된 시드로부터 지분에 비례하는 확률로 그 슬롯에 대해 추첨된 생산자가 생산합니다. 한 에포크는 17,280 슬롯입니다. 블록이 없는 슬롯은 비어 있는 채로 남고 아무것도 지급하지 않으며, 유효한 체인들 가운데 가장 많은 슬롯을 차지하는 체인이 이깁니다. 다른 곳에서 슬롯은 저장 위치 (address, word)이며, 그 값이 셀입니다.

램프 (ramp)#

Era 2의 진입 단계입니다. 90 에포크 동안 모든 블록은 여전히 채굴되며, 그 높이에 대해 추첨된 지분의 서명도 함께 지닙니다. 스테이커는 생산자 몫의 k/180을 가져가며, 여기서 k는 1에서 시작해 관문을 통과하는 에포크마다 하나씩 늘어납니다. 관문은 그 에포크 블록의 90% 이상이 서명되고 활성 지분이 공급량의 10% 이상인 것입니다. 서명 없이 채굴된 블록도 유효한 블록이지만 누구에게도 지급하지 않습니다. 그 생산자 몫과 우선 수수료는 소각됩니다. 램프 구간은 활성 지분이 30 에포크 동안 공급량의 10%를 유지하면 시작되며, 늦어도 에포크 273에는 시작됩니다. 30일짜리 발행 램프와는 다릅니다. 발행을 보세요.

전환 (switch)#

작업증명이 끝나는 블록입니다. 램프 구간의 관문을 통과한 90번째 에포크 다음 에포크의 첫 블록이며, 관문이 결코 일시 정지시키지 않는다면 늦어도 에포크 363, 2027년 10월 5일경입니다. 그때부터 블록은 5초 슬롯으로 오고, 한 에포크는 17,280 슬롯이며, 각 블록은 그 에포크 발행률의 6분의 1을 지급합니다. 블록당 상한은 6으로 나뉘고 시간을 측정하는 모든 블록 수는 6배가 되므로, 하루당 용량과 기간은 그대로입니다. 그 뒤로 블록은 120 블록, 10분의 깊이에서 최종이 되며, 작업증명에서는 20 블록이었습니다.

이중 서명 (equivocation)#

하나의 키가 한 슬롯에 대해 서명한 두 헤더로, 지분증명 아래에서 합의가 처벌하는 유일한 잘못입니다. 무효한 인증서처럼, 누구든 바이트로부터 검사할 수 있는 단일 메시지 증명입니다. 신고 인증서가 두 헤더를 담으며, 폴드는 서명자 자신의 본딩을 소각하고, 그 키를 활성 집합에서 제거하며, 신고자에게 일부를 지급합니다. 생산자가 하는 어떤 일도 다른 누구의 코인에도 닿지 않습니다. 풀의 위임분은 그 위임자들에게 돌아갑니다.

발행 (issuance)#

ZCD는 블록 보조금으로만 존재하며, 블록 0은 아무것도 지급하지 않습니다. 발행률은 블록당 21 ZCD로 시작해 모든 에포크 경계에서 정확한 정수 산술 — E(n) = max(tail, E(n−1) − floor(E(n−1) / 1054)) — 에 따라 내려가며, 약 2년마다 반감하다가 에포크 4,376, 약 12년차에 블록당 0.33 ZCD의 영구 꼬리 발행에 이릅니다. 처음 86,400블록(30일)은 발행 램프입니다. 블록 h는 블록 86,400이 지급하는 발행률의 h/86,400을 지급하며, 램프가 보류하는 약 907,917 ZCD는 결코 나중에 지급되지 않습니다. 지분증명으로 전환한 뒤에는 각 블록이 그 에포크 발행률의 6분의 1을 지급하므로, 하루에 지급되는 양은 같습니다. zcd emission --height N은 임의의 높이에서 보조금을 출력합니다.

보조금 분배#

모든 블록 보조금은, 그리고 결코 수수료는 아닌 보조금만, 블록 0부터 합의에 의해 94 / 3 / 3으로 분배됩니다. 94%는 두 시간(240 블록, 지분증명 아래에서는 1,440 블록)의 성숙 기간 뒤에 블록 생산자에게, 3%는 에포크 1,095(3년)까지 창립자의 영구 주소에, 3%는 트레저리에 가며, 트레저리는 그때부터 창립자의 3%도 받습니다. 지분증명 램프 구간 동안에는 생산자의 94% 자체가 채굴자와 추첨된 스테이커 사이에 나뉩니다. 이것은 채굴되는 모든 블록에 적용되는 규칙이지 제네시스 블록에서의 할당이 아닙니다. 프리마인은 없습니다.

트레저리 (treasury)#

프로토콜 주소의 네이티브 잔액입니다. 어떤 키도 그 주소로 해시되지 않고, 어떤 인증서도 그것에서 차감할 수 없으며, 제네시스 블록은 어떤 정족수도 지정하지 않습니다. 블록 1부터 모든 블록 보조금의 3%가, 에포크 1,095부터는 6%가 입금됩니다. 프로토콜에는 지출 경로가 존재하지 않습니다. 지출 경로는 이후의 업그레이드로만 추가될 수 있고, 서명자는 창립자가 아니라 커뮤니티가 고르며, 출시 시의 약속은 그것이 높이 259,200, 2027년 1월 5일경보다 이르게 오지 않는다는 것입니다.

관리 제안 (stewardship proposal)#

합의 규칙이 아니라 커뮤니티 검토를 위한 제안입니다. 트레저리를 처음 3년 동안 어떻게 지출할 수 있을지를 제안합니다. 공개 헌장을 가진 다섯 자리 — 수석 개발자, 검토 개발자, 채굴자, 커뮤니티, 공공 대표 — 로, 지출에는 5명 중 3명, 그리고 보유자 교체, 키 교체, 준비금 지출, 헌장 개정에는 효력이 생기기 전 20,160블록 동안 공개되는 5명 중 4명이 필요합니다. 예산은 고정 금액이 아니라 언제나 트레저리 유입분의 비율입니다. 트레저리 업그레이드가 키 집합을 고정하기 전까지는 그 안의 어떤 것도 구속력이 없습니다. 본문은 부속 문서에 있습니다.

RandomX#

평범한 하드웨어가 경쟁력을 유지하도록 범용 CPU에 최적화된 작업증명 함수입니다. mainnet과 공개 testnet은 randomx-v2를 실행합니다. 이것은 설정이 아니라 합의 파라미터입니다. 네트워크의 pow_engine을 계산할 수 없는 바이너리는 다른 것으로 되돌아가는 대신 시작을 거부합니다.

상태 루트#

어떤 높이에서의 상태 전체에 대한 커밋먼트입니다. 노드는 시작할 때 이를 다시 계산하고, 저장된 값과 어긋나면 실행을 거부합니다.

각 용어가 규범적으로 정의된 곳#

이 페이지는 읽기를 돕는 자료입니다. 구속력을 갖는 정의는 명세와 골든 벡터에 있고, 그 근거는 백서 v2.0과 그 부속 문서 Launch, Eras and Parameters에 있으며, 이 부속 문서가 발행, 에라(Era), 그리고 모든 파라미터 값을 규정합니다. 구현 자신의 어휘 절은 docs/ARCHITECTURE.md에 있습니다.