Hackathon con resultados verificables mediante firma digital
El portal DogFood permite recomputar y verificar las puntuaciones de los participantes sin confianza en el host, usando firmas Ed25519 y un algoritmo de normalización reproducible.

DogFood es una plataforma de 72 horas que gestiona un único producto, la presentación y la valoración de los proyectos. El núcleo de su sistema de puntuación se basa en criterios ponderados, cada juez calificando de 1 a 5. Los pesos asignados por el organizador se combinan en un compuesto ponderado que permanece en la escala 1‑5.
Para eliminar la inclinación del juez se utiliza un modelo aditivo: media global más efecto del proyecto y sesgo del juez. El ranking se calcula con el factor de reducción n/(n+k), donde k se ajusta al número de evaluaciones. En la prueba inicial k fue 0.81, lo que significa que un proyecto con dos puntuaciones conserva aproximadamente el 71 % de su señal propia, y con cinco, el 86 %.
El resultado se empaqueta: puntuaciones crudas, rúbrica y pesos, método y parámetros, commit de código y clasificación. Se crea una representación canónica, se calcula su hash y se firma con una clave Ed25519 generada en el primer arranque dentro de su propio volumen.
El script verify.py permite recomputar el ranking a partir de los datos crudos y comprobar la firma. Si se altera cualquier puntuación, el script devuelve NOT VERIFIED. Así se transforma la afirmación “normalizamos los puntajes” en un registro público verificable.
Para garantizar la fiabilidad, el núcleo de valoración se implementó como un módulo Python puro y se integró en la aplicación Django. Al usar los mismos datos y pesos (0.4, 0.4, 0.2) los dos entornos produjeron el mismo ganador, prj_16, con la misma puntuación final.
El sistema también reporta una banda de incertidumbre junto a cada puntuación. En el escenario de prueba, 39 de 40 posiciones adyacentes se solapan, indicando que la mayoría de la orden es estadísticamente un empate. Se publica tanto el método ponderado como una ronda Bradley‑Terry; los dos coinciden en 7 de los 10 primeros lugares, pero difieren en el primero, que es la señal que una ronda de pares intenta capturar.
DogFood corre en un portátil con Docker Compose sin conexión a internet. El conjunto de pruebas de aceptación pasa todas las verificaciones. La galería es pública, los eventos cerrados rechazan inscripciones tardías y los jueces no pueden leer las puntuaciones de sus pares a través de la API. El organizador puede exportar CSV o un JSON completo del evento, lo que permite reinstalarlo en un nuevo entorno con exactitud.
El repositorio, bajo licencia MIT, está en github.com/zkasuran/dogfood-portal. La demo, disponible en youtu.be/igjISVTL2ik, muestra la creación del evento, la presentación, la evaluación y la publicación, así como la verificación del bundle y la detección de una modificación maliciosa.
El uso de IA (Claude) se limitó a la generación del contenido textual; el diseño, las matemáticas y la verificación fueron revisados manualmente por el autor. El conjunto de pruebas de aceptación y los tests de valoración pasan sin errores.
