El Corsario
El subsistema de navegación no había sido escrito por nadie a bordo del barco. Lo había escrito un contratista — una pequeña empresa especializada en optimización de trayectorias de código cerrado — y fue entregado como un binario sellado, acompañado de una prueba de conocimiento cero que demostraba que el comportamiento del binario satisfacía una especificación formal. La especificación estaba en el almacén. El hash del binario estaba en el almacén. El código fuente no.
Este era el acuerdo que la misión había aceptado porque el algoritmo del contratista era genuinamente superior a cualquier cosa que el equipo interno pudiera producir en el tiempo disponible. También era un acuerdo con el que varios tripulantes se sentían incómodos. El subsistema de navegación no era soporte vital, pero tampoco era opcional. Un barco que no puede navegar es un barco que deriva.
La prueba era elegante. Demostraba, sin revelar el código fuente, que cualquier entrada en el dominio de la especificación producía una salida en el codominio de la especificación, y que la salida satisfacía un conjunto de propiedades de corrección — eficiencia energética, evitación de colisiones, precisión temporal — que habían sido formalmente verificadas antes de que el barco zarpara. La tripulación no podía leer el código. Podía verificar que el código hacía lo que la especificación decía que haría.
Rania, que se había convertido en la especialista de facto en métodos formales de la tripulación, leyó la prueba tres veces. No encontró lagunas. La añadió al almacén como derivación de la especificación, con una entrada de diario de trabajo describiendo lo que la prueba garantizaba y lo que no. La última línea de su entrada decía: 'La prueba nos dice que el algoritmo es correcto para el dominio especificado. No nos dice si el dominio está completo. Vigilad los casos límite.'
El subsistema de navegación funcionó sin incidentes durante cuatro años. En el quinto, en una corrección de trayectoria que estaba fuera del dominio de la especificación original — porque nadie había anticipado necesitarla — produjo un resultado subóptimo. La tripulación lo corrigió manualmente, usando un combinador que Yusuf había escrito en la Bodega y que resultó ser suficientemente bueno. Rania anotó en el diario de trabajo: 'Caso límite. Como se predijo. Gestionado.'