El verdadero modelo de seguridad de un protocolo a menudo no está en la lógica de su contrato. Está en la respuesta a una pregunta más simple: quién puede cambiar la lógica y con qué rapidez puede hacerlo.
Averigua si es actualizable
La mayoría de los despliegues relevantes usan un contrato proxy: la dirección con la que interactúan los usuarios guarda el estado y delega el comportamiento en una dirección de implementación separada, que puede sustituirse. Los exploradores de bloques suelen detectarlo y muestran el contrato de implementación junto al proxy.
Si un contrato es actualizable, «código inmutable» no es una propiedad que tenga. Eso no es malo por sí mismo —es la forma de corregir fallos después del despliegue—, pero cambia aquello en lo que confías: del código a las personas que lo controlan.
Identifica al administrador, y de qué tipo es
El proxy tiene una dirección de administración con la potestad de actualizar. Lo que esa dirección es importa más que su valor:
- Una sola cuenta externa. Una clave, una persona, ninguna segunda aprobación. El arreglo más débil, y legible como tal.
- Un multifirma. Mejor, pero los dos números que importan son el umbral y el número de firmantes, y ambos están en cadena. Un tres de cinco solo es realmente un tres de cinco si las cinco claves están en manos de personas distintas y en dispositivos distintos, algo que la cadena no puede decirte.
- Un contrato de gobernanza tras un bloqueo temporal. El más sólido de los tres, porque convierte un cambio instantáneo en un cambio anunciado, siempre que alguien vigile la cola.
Comprueba el retardo, y si puede eludirse
Cuando existe un bloqueo temporal, su retardo es legible desde el contrato, igual que la cola de acciones pendientes. Conviene establecer dos cosas: cuánto dura realmente el retardo y si existe alguna vía para actuar sin él, como un rol de emergencia, un guardián o una función de pausa en manos separadas.
Un interruptor de circuito o función de pausa suele ser algo bueno, pero también es un poder. Quién puede invocarlo y qué lo desactiva forman parte de la misma cadena de control.
Por qué esta pregunta se repite
Los registros del rastreador dependen del control mucho más a menudo que de la criptografía. Una gobernanza que podía ejecutarse sin retardo es la forma que adopta el préstamo relámpago sobre la gobernanza de Beanstalk. Un acceso privilegiado concedido legítimamente es la forma que adopta el compromiso de clave por acceso interno en Munchables; véase también amenaza interna.
Qué puedes establecer y qué no
En cadena puedes establecer: si el contrato es actualizable, la dirección de implementación, la dirección de administración, si la administración es un multifirma y con qué umbral, si existe un bloqueo temporal y cuál es su retardo, y qué hay actualmente en cola.
Lo que no puedes establecer solo desde la cadena es si las personas firmantes son genuinamente independientes, dónde se custodian las claves o qué ocurre si se pierde una. Esas son cuestiones de transparencia informativa, y un proyecto que las responde por escrito te está diciendo algo que también te está diciendo un proyecto que no las responde.
No es asesoramiento. Conisec informa solo a título informativo. Nada de este artículo es asesoramiento financiero, jurídico, fiscal ni de seguridad. Verifícalo con las fuentes primarias enlazadas más arriba antes de actuar.