Wiki de ZooBC
Seguridad y arquitectura

Seguridad y arquitectura

La seguridad de ZooBC se basa en firmas y hashes, no en energía gastada. Cada bloque, transacción, recibo y prueba de la semilla va firmado, y cada nodo comprueba todo lo que acepta, así que ningún nodo tiene que fiarse de la palabra de otro. Alrededor de ese núcleo, la arquitectura añade unos pocos límites firmes: el historial liquidado no puede reescribirse, un nodo nuevo puede encontrar por sí solo la cadena auténtica y una firma solo cuenta en una cadena.

El atacante para el que se prepara ZooBC

El diseño supone un atacante que puede ejecutar cualquier número de nodos y cuentas, ve todos los mensajes, explota cualquier fallo lógico y es rico, pero que no puede falsificar firmas, encontrar colisiones de hash ni comprar todos los tokens. Sus objetivos serían robar, censurar, reescribir el historial o perturbar la cadena. De qué protege Proof of Participation repasa cada ataque y su respuesta.

Dos cadenas en cada nodo

Cada nodo mantiene dos cadenas. La cadena principal produce un bloque cada 15 segundos y lleva las transacciones; sus bloques los producen nodos registrados elegidos por sorteo (véase Proof of Participation). La cadena spine produce un bloque al día en mainnet y no lleva transacciones: cada bloque es un punto de control de la cadena principal, un registro de las claves de nodo que entraron o salieron y los manifiestos de las instantáneas más recientes del estado, cofirmado por dos tercios de las plazas.

Capas de defensa

CapaQué garantizaArtículo
validación por cada nodoun bloque solo cuenta si lo firmó su productor sorteado y si su prueba de la semilla, sus transacciones y sus recibos son correctosProof of Participation
plazas iguales y pausadasel poder no puede comprarse deprisa: una probabilidad igual por plaza, una admisión por cicloDe qué protege Proof of Participation
reversión acotadaningún nodo revierte más de 720 bloques (3 horas)Finalidad y reversión
puntos de control de la spineningún nodo se reorganiza por debajo de un punto de control cofirmado por dos tercios de las plazasLa cadena spine
sincronización rápida comprobadaun nodo nuevo carga el estado que nombra la spine, comprueba cada hash y toma muestras de sus paresInstantáneas y sincronización rápida
pin de versiónuna instalación nueva rechaza un historial de la spine que contradice su versiónEl pin de versión
firmas vinculadas a la cadenauna transacción firmada para una cadena se rechaza en todas las demásFirmas vinculadas a la cadena
decisiones de dos tercioslos puntos de control, las transferencias del puente, los hechos de oráculo y los vetos de versiones necesitan dos tercios de las plazasLas reglas de los dos tercios
semillas impredeciblesningún productor puede elegir la aleatoriedad que designa al siguiente productorLa semilla del bloque (VRF)
denuncias de doble firmaun productor que firma dos bloques sobre un mismo bloque padre queda demostrado y penalizadoDoble firma (equivocación)

Las capas se solapan. Una reescritura del historial desde hace un año, por ejemplo, fracasa por sí sola en cada una de varias capas: el límite de reversión, el suelo del punto de control, las cofirmas de la spine y el pin de versión.

Una rama falsa que parte de muy atrás se topa con tres escudos: el límite de reversión de 720 bloques, el suelo del punto de control de la spine y el pin de la spine en la versión, bajo una spine cuyos bloques llevan cada uno dos tercios de las firmas. Los nodos en funcionamiento y los nodos nuevos la rechazan.
Una rama falsa que parte de muy atrás se topa con tres escudos: el límite de reversión de 720 bloques, el suelo del punto de control de la spine y el pin de la spine en la versión, bajo una spine cuyos bloques llevan cada uno dos tercios de las firmas. Los nodos en funcionamiento y los nodos nuevos la rechazan.

Lo que podría y no podría hacer una mayoría

Incluso un atacante con más de la mitad de las plazas solo podría retrasar o censurar transacciones y sustituir bloques recientes dentro del límite de 3 horas. No podría falsificar firmas, gastar las monedas de otros, acuñar más de lo que marca el calendario de la coinbase ni bajar del punto de control de la spine, porque cada nodo comprueba cada bloque por sí mismo.

En qué no se basa la seguridad de ZooBC

  • El secreto. El tráfico entre pares es gRPC en claro; la protección viene de las firmas y de la verificación.
  • La energía o el hardware. No se resuelve ningún acertijo y ninguna máquina da ventaja.
  • Un tercero de confianza. Ninguna fundación refrenda los bloques, ningún sitio web avala las instantáneas, y basta un solo par honesto para enterarse de cuál es la cadena más pesada.

Véase también

Artículos de este tema