ZooBC Foundation
ZooBC Foundation은 ZooBC를 만든 조직입니다. 각 체인에서 노드 레지스트리의 제네시스 좌석 11개를 보유하고, 공개 명령줄 도구를 배포합니다. 트랜잭션이나 잔액에 대해서는 특별한 권한이 없습니다. 프로토콜은 각 키에 한 가지 일만 주며, 어떤 키로도 할 수 없는 일들도 있습니다.
제네시스 좌석
각 체인은 제네시스 블록에 기록된 11개의 등록 노드로 시작합니다. 이것이 Foundation이 보유한 제네시스 좌석입니다. 다른 모든 운영자는 대기열을 통해 노드 레지스트리에 합류합니다(대기열). 신규 노드를 고르는 사람은 없습니다. 신규 노드는 프로토콜이 정한 속도로 한 번에 하나씩 입회합니다. mainnet에서 첫 신규 노드는 제네시스 7일 뒤에 입회하고, 그 뒤로는 600일을 집계 대상 좌석 수로 나눈 주기(7일에서 90일 사이로 유지)마다 하나씩 입회합니다. 집계 대상 좌석이 11개인 동안에는 약 54.5일입니다(입회 속도). 이 집계에서 제네시스 좌석은 최대 11개로만 계산됩니다.
일단 입회하면 모든 활성 좌석은 블록을 만들도록 추첨될 기회가 같습니다. 제네시스 좌석도 다른 좌석과 같은 규칙을 따르며, 모든 새 노드와 마찬가지로 참여 점수 20 %에서 시작합니다.
도구
Foundation은 공개 명령줄 도구를 github.com/zoobc/tools에 MIT 라이선스로 배포합니다. 도구는 C++, TypeScript, JavaScript, Python, Go, Rust, Kotlin, Swift, PHP, Perl의 열 가지 언어로 제공됩니다. 이 도구들은 다른 어떤 애플리케이션과 마찬가지로 노드의 공개 API를 통해서만 노드와 통신합니다(명령줄 도구).
키와 그 역할
ZooBC는 각 키에 한 가지 일을 줍니다.
| 키 | 하는 일 |
|---|---|
| 릴리스 권한자 | 소프트웨어 릴리스를 파일 해시로 등록하며, 철회할 수 있음 |
| 트레저리 | 일반 계정: 보유한 것을 지출함 |
| 마켓 메이커 | 일반 계정 |
| 페이지 권한자 | 체인의 어떤 규칙도 이 키를 읽지 않음 |
| 좌석 소유자 | 자기 노드를 등록, 갱신, 키 교체, 제거하며, 노드의 당첨금을 받음 |
| 노드 키 | 블록을 만들고 영수증, 증언, 투표에 서명함 |
버전 0.5.8부터 네 역할 키(릴리스 권한자, 페이지 권한자, 트레저리, 마켓 메이커)는 세 체인 모두에서 서로 다른 네 주소를 가지며, 각각 별도의 기기에 보관됩니다. 제네시스 생성 도구는 이 주소들이 서로 다른지 검사합니다. 네 키 중 체인에서 권한을 가진 것은 릴리스 권한자뿐이며, 수수료를 내기 위해 제네시스에서 최대 1,000 ZBC를 보유할 수 있습니다. 좌석들은 이 키를 견제합니다. 좌석의 3분의 2는 릴리스에 거부권을 행사할 수 있고, 3분의 2가 일주일 동안 투표를 유지하면 권한자를 교체할 수 있습니다(릴리스와 업데이트).
좌석 소유자와 노드 키는 노드의 키에서 설명합니다.
어떤 키로도 할 수 없는 일
- 합의에는 관리자 키가 없습니다. 규칙, 파라미터, 잔액은 모든 노드가 검증하는 트랜잭션이나 좌석들의 범위가 정해진 가격 투표(가격 투표)를 통해서만 바뀌며, 서명된 메시지로는 결코 바뀌지 않습니다.
- 제네시스는 고정되어 있습니다. 제네시스의 계정, 좌석, 파라미터, 규칙 높이는 체인 신원의 일부입니다.
- 규칙 활성화는 투표로도 서명으로도 정할 수 없습니다. 자기 체인에 기록된 규칙 높이와 맞지 않는 노드 바이너리는 실행을 거부합니다.
- 트레저리는 발행할 수 없습니다. 새 ZBC는 오직 코인베이스 일정에서만 나옵니다(공급과 발행).
- 릴리스 등록은 권고일 뿐입니다. 릴리스 등록은 스스로 업데이트하기로 선택한 노드만 안내하며, 그 노드들은 해시를 체인과 대조합니다. 운영자가 고른 바이너리를 실행하는 노드는 영향을 받지 않습니다.
- 트랜잭션을 승인하는 사람은 없습니다. 모든 노드가 같은 규칙으로 모든 트랜잭션과 블록을 검증하므로, Foundation은 결제를 승인하거나 되돌리거나 막을 수 없습니다.
이 보장은 누군가의 약속이 아니라 모든 노드가 실행하는 코드 덕분에 유지됩니다. 새 ZBC는 누가 채굴하거나 판매하는 것도 아닙니다. 고정된 일정을 따르며, 추첨을 통해 점수에 비례하여 등록 노드들에게 지급됩니다(코인베이스 추첨).