He estado comerciando el tiempo suficiente para saber que los riesgos técnicos interesantes en cualquier sistema suelen estar en los lugares donde dos cosas diferentes tienen que mantenerse en sincronía. Ahí es donde ocurren las fallas.

Leyendo a través de los @MidnightNetwork docs esta semana, encontré exactamente ese lugar.

Midnight mantiene dos estados paralelos simultáneamente. El estado público, datos de blockchain tradicionales almacenados en la cadena y visibles para todos los participantes, pruebas de transacción, código de contrato, información intencionadamente pública. Y el estado privado, datos encriptados almacenados localmente por los usuarios, nunca expuestos a la red, información personal, datos comerciales, contenido sensible.

El puente entre estos dos estados es la criptografía de conocimiento cero. Cuando un usuario realiza un cálculo sobre datos privados localmente, la prueba ZK que se envía en la cadena permite que el estado público se actualice correctamente sin que el estado privado se revele nunca. Ambos estados avanzan juntos, uno visible, otro no, uno en la cadena, otro en el almacenamiento local.

El diseño es correcto. El problema en el que sigo pensando es qué sucede cuando el estado local y el estado público se desincronizan.

En Ethereum, si pierdes el acceso a tu billetera, pierdes tus fondos. La clave privada es lo único que necesitas para recuperar porque todo el estado es público. En @MidnightNetwork necesitas tanto tus claves privadas como tu estado privado local. Si tu dispositivo falla y no has respaldado tu estado privado, las pruebas en la cadena existen pero los datos a los que hacen referencia han desaparecido.

La documentación describe esto como una característica, la privacidad hacia adelante significa que incluso si las claves se ven comprometidas en el futuro, las transacciones pasadas permanecen privadas porque los datos no están en la cadena. Eso es cierto. Pero el otro lado de esa moneda es que la recuperación del estado privado es una responsabilidad del usuario que no existe en los sistemas basados en cuentas.

Para la adopción empresarial, esto crea un requisito de infraestructura que la mayoría de las implementaciones de blockchain no tienen. Necesitas gestionar la copia de seguridad y recuperación del estado privado tan seriamente como gestionas la gestión de claves. Ya sea que @MidnightNetwork proporcione herramientas para esto en mainnet o que se deje a los desarrolladores de aplicaciones resolverlo es la pregunta a la que aún no he encontrado una respuesta clara en la documentación.

La arquitectura es sólida. La carga operativa es real. @MidnightNetwork $NIGHT #night