HotStuff: de cero a estado del arte
Artículo 40 de 47
85%
completado al llegar aquí
Sistemas distribuidosNota de investigación13 min de lectura
El castigo financiero (Slashing): Desincentivos económicos en BFT
Por qué el slashing convierte un ataque a la safety de Casper FFG en un hecho demostrable y costoso, apoyado en la misma intersección de quórums que PBFT.
Ruta HotStuff: 0/47
Prerequisitos recomendados
Si alguno de estos conceptos todavía está medio nebuloso, empieza por aquí. Te ahorra tropiezos y un par de cejas fruncidas.
Quórums en acción: ¿Por qué 2f+1 votos garantizan que las mayorías se crucen?
Por qué dos quórums de 2f+1 votos entre 3f+1 réplicas comparten al menos f+1 nodos y cómo esa réplica correcta común impide certificar bloques en conflicto.
Blockchain14 min de lectura→El ataque del doble gasto: Cómo los estafadores digitales copian el dinero como si fuera un PDF
Por qué un saldo digital se puede gastar dos veces si las réplicas no acuerdan un único orden de transacciones, y cómo los quórums 2f+1 lo impiden.
Blockchain13 min de lectura→
Comprende el slashing como el mecanismo que hace cumplir la accountable safety de Casper FFG: qué cuenta como evidencia, por qué la intersección de dos supermayorías deja al menos un tercio del depósito expuesto a castigo y dónde termina esa garantía.
- Quórums en acción (quorums-en-accion-mayorias-honestas)
- El ataque del doble gasto (el-ataque-del-doble-gasto)
Detente cuando puedas explicar por qué dos checkpoints finalizados en conflicto dejan, por pura aritmética de quórums, pares de votos firmados de al menos un tercio del depósito que violan una regla de slashing.
Glosario de Notación Matemática y Criptográfica
Cantidad de réplicas maliciosas o con fallas arbitrarias que tolera el sistema.
n = 3f + 1Ruta mental del castigo financiero (Slashing)
1. Regla verificable
Dos condiciones sobre pares de votos
2. Evidencia
Dos votos firmados
3. Inclusión y castigo
Transacción de evidencia
4. Accountable safety
Conflicto implica un tercio slashable
Decodificador Didáctico de Conceptos BFT
En palabras simples: Una fianza depositada ante un tribunal: no impide que alguien incumpla, pero si el incumplimiento queda registrado con su propia firma, la fianza se pierde sin necesidad de juicio sobre sus intenciones.
Detalle técnico: Mecanismo de prueba de participación que destruye (total o parcialmente, según el protocolo) el depósito de un validador cuando existe evidencia firmada de que violó una regla del protocolo.
En los protocolos BFT clásicos, la seguridad descansa en una hipótesis sobre cuántos participantes fallan. PBFT, con réplicas, garantiza safety mientras a lo sumo sean defectuosas. [3] El modelo no dice nada sobre qué pasa después de que la hipótesis se rompe: si el adversario controla más réplicas de las previstas, el sistema puede decidir cosas contradictorias y las réplicas responsables no pagan ningún precio dentro del protocolo.
Casper FFG cambia la forma de la garantía. En vez de prometer "no habrá conflicto si hay pocas fallas", promete "si hay conflicto, sabremos quién lo causó y podremos castigarlo". El paper lo llama accountability: si un validador viola una regla, se puede detectar la violación y saber quién fue, y eso permite penalizarlo. [1] El slashing es el brazo ejecutor de esa idea.
Qué cuenta como evidencia
Para que un castigo sea automático, la falta tiene que ser verificable por cualquiera sin interpretar intenciones. Casper FFG lo logra reduciendo el comportamiento prohibido a dos condiciones sobre pares de votos de un mismo validador, donde cada voto une un checkpoint fuente con un destino : [1]
La primera es un doble voto: dos votos distintos para la misma altura de destino. La segunda es un voto envolvente: un voto cuyo intervalo encierra el de otro voto del mismo validador. En ambos casos, la evidencia son simplemente los dos mensajes firmados. Los autores eliminaron a propósito las condiciones de versiones anteriores que dependían de qué estaba justificado en la cadena, para que las violaciones fueran independientes del estado. [1] Eso es lo que hace a la evidencia portable: sirve igual en cualquier rama.
Gasper adapta las mismas dos condiciones a attestations: (S1) prohíbe dos attestations distintas en la misma época y (S2) prohíbe el voto envolvente sobre las épocas de los pares fuente y destino. [2] También define en general las condiciones de slashing como reglas que un validador honesto nunca viola y cuya violación se puede atrapar de forma demostrable. [2]
Esa segunda mitad de la definición es esencial. Un castigo automático solo es justo si seguir el protocolo nunca lo activa. Gasper lo demuestra explícitamente: un validador honesto vota una vez por época, así que no puede violar (S1), y la regla de bifurcación HLMD GHOST está construida para que tampoco lo empuje a violar (S2). [2]
Las dos firmas que bastan como evidencia
Fuentes:
[1]Cómo leer esta figura
Panel izquierdo: dos votos que terminan en la misma altura h. Panel derecho: un voto cuyo intervalo de alturas envuelve estrictamente al de otro voto. Debajo, la nota de que las dos firmas juntas son la evidencia que cualquiera puede presentar.
De la intersección de quórums a la evidencia
La conexión con BFT clásico está en la aritmética. En PBFT, cualquier par de quórums de entre réplicas comparte al menos réplicas; como a lo sumo fallan, al menos una réplica correcta está en ambos, y esa réplica nunca acepta dos propuestas distintas para la misma vista y número de secuencia. [3] HotStuff empaqueta la misma regla en el quorum certificate: un QC reúne votos sobre una misma propuesta y vista. [4]
Casper hace la misma cuenta con depósitos. Si los votantes y de dos enlaces de supermayoría reúnen cada uno al menos dos tercios del depósito total :
La diferencia está en qué se hace con la intersección. PBFT la usa para encontrar un testigo honesto y concluir que el conflicto es imposible. Casper la usa para encontrar culpables: si dos checkpoints en conflicto quedaron finalizados, los validadores de la intersección firmaron votos incompatibles. El paper de Gasper lo dice de forma explícita en su lema central: si un par finalizado y un par justificado posterior no están en la misma cadena, existen dos conjuntos de validadores con al menos dos tercios del depósito cada uno cuya intersección viola en bloque (S1) o (S2). [2]
Accountable Safety de Casper FFG
Esa frase, "al menos un tercio del depósito total se pierde", es la traducción económica de accountable safety que da el propio paper. [1] No es una estimación de mercado ni depende del precio del token: es una cota sobre la fracción del depósito que queda expuesta, sea cual sea su valor.
Por qué un ataque se vuelve demostrable y costoso
El cambio de perspectiva tiene dos partes. La primera es que el ataque deja de ser indistinguible de una falla de red. En un protocolo sin accountability, dos réplicas con historias distintas no siempre pueden saber si hubo malicia, latencia o un error de software. Con slashing, romper la safety de un checkpoint finalizado produce, por construcción, pares de firmas que cualquiera puede verificar.
La segunda es el costo. En Casper FFG, la penalización por violar una regla es el depósito completo del validador, y los autores la presentan como la defensa máxima contra la violación del protocolo. [1] Según el paper, esa responsabilidad resuelve el problema de "nothing at stake" que afecta a la prueba de participación basada en cadenas, donde votar en varias ramas no cuesta nada. [1] El argumento del paper es que, como la seguridad de la prueba de participación depende del tamaño de la penalización, esta puede fijarse muy por encima de lo que se gana como recompensa. [1]
Gasper es más prudente con los números. Dice que un validador debe ser penalizado por violar condiciones de slashing, que los montos de recompensa y castigo se ajustan según el nivel de seguridad buscado, y deja ese análisis de teoría de juegos fuera de su alcance. [2] En su lugar, asume que los incentivos bastan para que los honestos sigan el protocolo y que cualquier validador honesto que vea una violación la castigue. [2] Por eso este artículo no da cifras de penalización: los papers fijan la forma del mecanismo, no un valor universal.
Los autores de Gasper resumen el valor de esta forma de garantía con una comparación precisa: ser -slashable es más fuerte y deseable que solo saber que un tercio del stake pertenece a bizantinos, porque con esta última garantía todavía podría convenirles a validadores en principio honestos hacer trampa sin ser atrapados. [2]
Tres lecturas de un mismo conflicto
Dónde termina la garantía
El slashing solo castiga lo que puede castigar: depósitos que siguen bloqueados y evidencia que llega a una cadena que los clientes aceptan. Los papers son explícitos sobre los huecos.
Validadores que ya se fueron. Una coalición que tuvo más de dos tercios del depósito en el pasado y ya retiró sus fondos puede usar esa supermayoría histórica para finalizar checkpoints en conflicto sin temor al castigo. Es el ataque de revisión de largo alcance. [1] Casper responde con un retardo de retiro durante el cual el depósito sigue siendo slashable, una regla de bifurcación que nunca revierte un checkpoint finalizado y la expectativa de que cada cliente se sincronice con cierta regularidad. [1] En Gasper, con conjuntos de validadores dinámicos, la cota se debilita a "algo menos de un tercio" mientras el atacante no logre bifurcaciones largas. [2]
Evidencia que no se incluye. Para dejar de hacer cumplir una regla de slashing hay que controlar el mecanismo de propuesta e impedir que la evidencia entre en la cadena. El paper de Casper trata esa posibilidad como una falla de liveness, no de safety, porque un mecanismo de propuesta corrompido ya puede impedir la finalidad. [1]
Fallas que no son violaciones. Si más de un tercio se desconecta, no hay supermayorías y nada se finaliza. El inactivity leak drena el depósito de quienes no votan para recuperar el progreso, pero en una partición cada lado puede terminar finalizando checkpoints en conflicto sin que ningún validador sea slasheado, perdiendo en cambio parte de su depósito por el leak en la otra cadena. [1] El slashing castiga mentiras firmadas, no silencios.
La lección es que slashing no reemplaza a la intersección de quórums: la presupone. Sin supermayorías de dos tercios no habría intersección de un tercio, y sin reglas verificables sobre pares de votos esa intersección no produciría evidencia. Lo que añade la prueba de participación es convertir la frase "más de fallas rompen el sistema" en "romper el sistema cuesta, como mínimo, un tercio del depósito, y deja la firma de quien lo hizo".
Qué compra el slashing y qué no
Un comité BFT permisionado depende de que nunca haya más de f participantes maliciosos, y no tiene un mecanismo interno para castigar a quien rompa esa hipótesis.
Con depósitos y reglas de slashing verificables, un ataque a la safety de un checkpoint finalizado deja evidencia firmada contra al menos un tercio del depósito.
Checklist mental de Slashing
5 de 5 revisados
Bibliografía académica
- [1]
V. Buterin and V. Griffith, "Casper the Friendly Finality Gadget," arXiv:1710.09437, 2017.
Accountability, condiciones de slashing, pérdida del depósito completo y ataques de largo alcance.
- [2]
V. Buterin, D. Hernandez, T. Kamphefner, K. Pham, Z. Qiao, D. Ryan, J. Sin, Y. Wang, and Y. X. Zhang, "Combining GHOST and Casper," arXiv:2003.03052, 2020.
Definición de condiciones de slashing, (1/3)-slashable, honestidad sin slashing accidental y límites con validadores dinámicos.
- [3]
M. Castro and B. Liskov, "Practical Byzantine Fault Tolerance," OSDI, 1999.
Safety con n = 3f + 1 réplicas y quórums de 2f + 1 que se intersecan en una réplica correcta.
- [4]
M. Yin, D. Malkhi, M. K. Reiter, G. G. Gueta, and I. Abraham, "HotStuff: BFT Consensus in the Lens of Blockchain," PODC, 2019.
Quorum certificates de n - f votos como forma moderna de la misma intersección de quórums.
Siguiente lectura
La cuenta de la intersección está desarrollada paso a paso en Quórums en acción. Para ver cómo los conjuntos de validadores cambian por épocas, el problema que debilita la cota de un tercio, sigue con Reorganización dinámica de validadores, y para el ataque que el slashing intenta encarecer, vuelve a El ataque del doble gasto.
Rutas vecinas
Si este tema te abrió hambre, sigue por aquí.
Series y labs que comparten área o dependen de esta ruta. Pocas opciones, para no convertir la curiosidad en menú infinito.
Series relacionadas
Ethereum: de historia a labs
Serie progresiva para entender Ethereum desde el whitepaper, forks y The Merge hasta EVM, Solidity, proof-of-stake, rollups, account abstraction, DeFi, observabilidad y laboratorios reproducibles.
Substrate: del runtime al consenso propio
Serie de 20 capítulos, de neófito a experto, sobre Substrate (Polkadot SDK): runtime en Wasm, FRAME, extrinsics, estado, pesos, actualizaciones sin fork, Aura, BABE, GRANDPA, sincronización, parachains, XCM, Sassafras, BEEFY y cómo conectar un consenso BFT propio a un nodo.
Ruta práctica: activos digitales en la operación
Nueve módulos, de menor a mayor dependencia, para decidir cómo usar custodia, wallets, llaves, firmas multifirma y MPC, AML/KYT y stablecoins con Fireblocks, BitGo, Kaleido, Circle y Tether.
Labs para convertir lectura en práctica
Prueba de trabajo y reajuste de dificultad
Laboratorio determinista para medir el costo de la prueba de trabajo y ver cómo el reajuste por altura de bloque estabiliza el tiempo entre bloques.
Consensus benchmark
Banco reproducible para comparar consenso BFT y documentar los trade-offs de HotStuff-2.
Ethereum local: Anvil, wallet y primera transacción
Laboratorio base para levantar una red local, crear cuentas, firmar transacciones y observar receipts sin gastar ETH real.
RPC y Cast: leer Ethereum con lupa
Ejercicios con JSON-RPC y Cast para consultar bloques, nonces, gas, receipts, logs y errores reproducibles.
Sigue leyendo
Ideas conectadas con este artículo
Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.
Por qué Ethereum necesitaba The Merge
Motivos técnicos, económicos y ambientales detrás de la transición de proof-of-work a proof-of-stake.
Beacon Chain desde cero
Validadores, depósitos, slots, epochs, committees y papel de Beacon Chain en Ethereum proof-of-stake.
The Merge: cómo se apagó proof-of-work sin apagar Ethereum
Bellatrix, Paris, Engine API, execution payloads y separación operacional entre consensus y execution clients.
Finality, slashing e inactivity leak
Double vote, surround vote, penalties, inactivity leak y recuperación de finality bajo condiciones malas.