La ZooBC Foundation
La ZooBC Foundation es la organización que está detrás de ZooBC. En cada cadena tiene las 11 plazas génesis del registro de nodos, y publica las herramientas públicas de línea de comandos. No tiene ningún poder especial sobre las transacciones ni sobre los saldos: el protocolo da a cada clave una sola tarea, y hay cosas que ninguna clave puede hacer en absoluto.
Las plazas génesis
Cada cadena empieza con 11 nodos registrados escritos en su bloque génesis: las plazas génesis, en manos de la Foundation. Todos los demás operadores entran en el registro de nodos a través de la cola (cola). Nadie elige a los recién llegados; se admiten de uno en uno, al ritmo que fija el protocolo. En mainnet el primer recién llegado se admite 7 días después del génesis, y después uno por ciclo de 600 días divididos entre las plazas contadas, entre 7 y 90 días: unos 54.5 días mientras se cuenten 11 plazas (ritmo de admisión). En ese recuento las plazas génesis pesan como máximo 11.
Una vez admitidas, todas las plazas activas tienen la misma probabilidad de ser sorteadas para producir un bloque. Las plazas génesis siguen las mismas reglas que las demás, y empiezan con la misma puntuación de participación del 20 % que cualquier nodo nuevo.
Las herramientas
La Foundation publica las herramientas públicas de línea de comandos en github.com/zoobc/tools, con licencia MIT, en diez lenguajes: C++, TypeScript, JavaScript, Python, Go, Rust, Kotlin, Swift, PHP y Perl. Hablan con un nodo solo a través de su API pública, como puede hacerlo cualquier aplicación (herramientas de línea de comandos).
Las claves y sus tareas
ZooBC da a cada clave una sola tarea:
| Clave | Qué hace |
|---|---|
| autoridad de versiones | registra versiones del software por el hash de sus archivos, y puede revocarlas |
| tesorería | una cuenta normal: gasta lo que tiene |
| creador de mercado | una cuenta normal |
| autoridad de páginas | ninguna regla de la cadena la lee |
| propietario de una plaza | registra, actualiza, cambia de clave y retira su propio nodo, y cobra las ganancias del nodo |
| clave de nodo | produce bloques y firma recibos, atestaciones y votos |
A partir de la versión 0.5.8 las cuatro claves de rol (autoridad de versiones, autoridad de páginas, tesorería y creador de mercado) tienen cuatro direcciones distintas en las tres cadenas, cada una guardada en su propio dispositivo. El constructor del génesis comprueba que sean distintas. De las cuatro, solo la autoridad de versiones tiene un poder en la cadena, y puede tener hasta 1000 ZBC en el génesis para pagar sus comisiones. Las plazas ejercen un control sobre ella: dos tercios de ellas pueden vetar una versión, y dos tercios que mantengan su voto durante una semana pueden sustituir a la autoridad (versiones y actualizaciones).
Los propietarios de plazas y las claves de nodo se explican en claves de un nodo.
Lo que ninguna clave puede hacer
- No hay ninguna clave de administrador en el consenso. Una regla, un parámetro o un saldo solo cambian mediante transacciones que todos los nodos validan, o mediante los votos de precio acotados de las plazas (votos de precio); nunca mediante un mensaje firmado.
- El génesis es fijo. Sus cuentas, plazas, parámetros y alturas de las reglas forman parte de la identidad de la cadena.
- La activación de las reglas no puede votarse ni firmarse. Un binario de nodo que discrepe de las alturas de las reglas registradas para su cadena se niega a funcionar.
- La tesorería no puede acuñar. Los ZBC nuevos solo provienen del calendario de la coinbase (suministro y emisión).
- El registro de una versión es orientativo. Solo guía a los nodos que eligieron actualizarse solos, y estos comprueban el hash contra la cadena. A un nodo que ejecuta un binario elegido por su operador no le afecta.
- Nadie aprueba transacciones. Cada nodo valida cada transacción y cada bloque con las mismas reglas, así que la Foundation no puede aprobar, revertir ni bloquear un pago.
Estas garantías se cumplen por el código que ejecuta cada nodo, no por la promesa de nadie. Los ZBC nuevos tampoco los mina ni los vende nadie: siguen un calendario fijo y se pagan por lotería a los nodos registrados en proporción a su puntuación (lotería coinbase).