
La Orb fue construida para dar a los individuos una manera de probar su humanidad en línea con la máxima privacidad y seguridad. Ahora, los componentes principales del software del Orb son públicamente disponibles en GitHub bajo una licencia dual MIT/Apache 2.0. Para más contexto sobre por qué es importante hacer open source el Orb, consulta la sección de hardware del Worldcoin Tech Tree.
Estos nuevos componentes abiertos complementan los repositorios de hardware y reconocimiento de iris lanzados previamente, y su disponibilidad pública marca un progreso significativo en hacer que el procesamiento de imágenes del Orb sea transparente y sus afirmaciones de privacidad verificables. La versión de hoy incluye todo el código en el Orb que es esencial para capturar imágenes y transferirlas de manera segura a World App[1].
Esta publicación revisa los requisitos de diseño del software del Orb, destaca los detalles clave de la implementación y mira hacia su futuro.
Si estás interesado en trabajar en el software del Orb, consulta los roles abiertos en el contribuyente del proyecto Tools for Humanity aquí.
Una visión general del software de la Orb
Requisitos de nivel superior
El Orb proporciona el nivel de verificación más alto para World ID para distinguir a los humanos de la IA[2]. Esto se hace primero verificando que el titular de World ID sea humano usando imágenes del ojo y del rostro. Si se pasan estas pruebas de humanidad, el Orb realiza un proceso de verificación del iris y envía el código del iris resultante a un servicio que verifica la unicidad de la persona. El proceso se completa en unos pocos segundos. Para más información sobre cómo se pueden usar los World IDs verificados por Orb, ve aquí.

El único caso de uso del Orb para verificar la humanidad conduce a los siguientes requisitos de alto nivel, sin precedentes para un dispositivo biométrico:
- Privacidad: Durante la verificación de World ID, el Orb debe procesar imágenes localmente en el dispositivo y luego transferirlas de manera segura a la custodia del usuario. Esto elimina cualquier requisito de almacenar imágenes en el Orb o subirlas a un backend central para su procesamiento[3].
- Seguridad: El protocolo de Worldcoin espera que los Orbs solo verifiquen World IDs de humanos genuinos. Esto significa que el Orb debe ser altamente resistente a suplantaciones y manipulaciones, incluso en entornos adversos[4]. Dispositivos modificados o falsificados deben ser rechazados por el protocolo.
- Transparencia & Verificabilidad: El Orb debe estar diseñado para requerir una confianza mínima en sus fabricantes y operadores. Debe haber una manera para que el público audite los Orbs, incluyendo la verificación del estado del software y las claves criptográficas. Ver la sección relevante del whitepaper para más detalles.
Estos requisitos impulsan el diseño del Orb e impactan prácticamente todos los aspectos de su software.

La pila de cómputo de la Orb
Tools for Humanity (TFH), un contribuyente al proyecto Worldcoin, ha pasado años construyendo un entorno de computación seguro y potente para el Orb. El diseño se centra en el NVIDIA Jetson, que procesa localmente las cinco transmisiones de cámara del Orb para verificar un World ID en segundos. Cada Orb además tiene dos microcontroladores Arm Cortex M4 (ejecutando Zephyr RTOS) para manejar cosas como la gestión de energía, controles en tiempo real y detección de manipulaciones. Finalmente, cada Orb tiene un elemento seguro dedicado que, al igual que un monedero de hardware, almacena una clave de firma privada en una carcasa resistente a manipulaciones.
El Orb ejecuta varias aplicaciones Rust en el Jetson, con un uso intensivo de async Rust. Estas aplicaciones manejan funciones clave como el procesamiento de datos de sensores, la interacción con redes neuronales y la aplicación de actualizaciones del sistema. Para la inferencia de red neuronal, el Orb utiliza el motor TensorRT de NVIDIA para aprovechar completamente la GPU de 384 núcleos del Jetson.
Uniendo todo esto está el Orb OS[5]: una distribución personalizada de GNU/Linux basada en Debian y Ubuntu, optimizada para la seguridad. Orb OS incluye comprobaciones de integridad del sistema completo, una configuración de Linux endurecida en seguridad, un sistema robusto de actualizaciones por aire y soporte para builds reproducibles. Para operaciones criptográficas críticas (por ejemplo, autenticación con el backend), Orb OS se comunica con un entorno de ejecución de confianza (TEE) en el Jetson así como con el elemento seguro dedicado.
Un recorrido por el código
Entre los componentes clave del software del Orb que fueron lanzados hoy se encuentra la función do_signup en orb-core, que codifica el flujo de alto nivel del Orb para cada verificación de World ID. Esta función llama a la fase de captura de imagen y a la fase de procesamiento biométrico, luego envíacódigos de iris firmados al servicio de singularidad. Además, do_signup llama a upload_custody_images para enviar de manera segura las imágenes del usuario a su World App.
Captura de imágenes
En cuestión de segundos, el avanzado sistema óptico del Orb puede crear de manera confiable imágenes de ojos y caras de alta calidad. Esta funcionalidad central es habilitada por software personalizado y redes neuronales que trabajan juntas para implementar detección de rostros, seguimiento ocular, enfoque automático y exposición automática.
El enfoque automático fue una de las partes más difíciles de implementar en el sistema de imágenes. Controla la lente líquida especialmente diseñada para encontrar rápidamente una imagen nítida de los ojos de una persona. La implementación en Rust contiene un controlador de retroalimentación, con estimaciones de nitidez proporcionadas por una red neuronal en tiempo real. La salida de control es enviada desde el Jetson a un microcontrolador, que implementa un bucle de control interno para conducir la corriente eléctrica a la lente[6].
Una mirada al bucle de control de retroalimentación externa para encontrar el valor de enfoque más nítido.

El autofoco comanda la lente líquida personalizada del Orb para encontrar rápidamente una imagen nítida del iris.
Procesamiento de imágenes
Una vez que el Orb ha creado imágenes de ojo y cara de calidad suficiente, se envían a la pipeline biométrica. Esta pipeline tiene dos objetivos: verificar que las imágenes sean auténticas[7] y generar códigos de iris. Ambos son manejados por interfaces Python para redes neuronales personalizadas, así como una implementación de filtro Gabor.
Las imágenes de ojos de alta calidad de la fase anterior son pasadas al Sistema de Inferencia de Reconocimiento del Iris (IRIS). Esta implementación de última generación fue construida por TFH y posteriormente puesta en código abierto por la Worldcoin Foundation. El código en Rust está optimizado para mantener siempre IRIS y otros modelos grandes en memoria, evitando la sobrecarga de volver a cargar regularmente estos componentes grandes. Esto se logra con un diseño inspirado en el proceso Zygote de Android, que evita cargar copias redundantes de dependencias compartidas (como CUDA).
Privacidad y seguridad
La privacidad y la seguridad siempre han sido las principales prioridades al construir el Orb. Las afirmaciones de privacidad de Orb[8] ueron el centro de una auditoría de caja blanca realizada por Trail of Bits, que fue publicada recientemente. Se están llevando a cabo auditorías adicionales y, combinadas con el código abierto, reflejan el objetivo de la Fundación de mantener un nivel continuamente alto de transparencia en torno a la privacidad y la seguridad.
Un paso crítico para la privacidad es enviar datos individuales desde el Orb a World App para una función llamada “Custodia Personal”. Los individuos pueden usar estos datos autogestionados, por ejemplo, para Autenticación Facial en World App. Mirando hacia adelante, esta función también puede reducir la frecuencia con la que los usuarios necesitarían volver a un Orb para re-verificar su World ID.
La implementación en el Orb asegura que los individuos siempre mantengan el control de sus datos. Cada paquete de datos es firmado con la clave privada del Orb, luego encriptado con una clave pública proporcionada por el usuario[9][10] antes de ser transferido al teléfono móvil del individuo. La firma se realiza mediante un elemento seguro dedicado, que está emparejado criptográficamente con el Jetson durante la fabricación[11]. La implementación de cifrado utiliza una caja sellada para asegurar que solo el individuo pueda descifrar estos datos biométricos[12]. Una vez que los datos cifrados son enviados desde el Orb a la World App del individuo, no existen copias desencriptadas de estos datos en ningún lugar.
Mirando hacia adelante: transparencia y verificabilidad
Esta versión inicial del software del Orb es un paso importante hacia los objetivos[13] de mejorar la transparencia y verificabilidad del Orb. Para los próximos pasos, la Worldcoin Foundation y la comunidad más amplia de Worldcoin tienen la intención de centrarse en las siguientes áreas relacionadas con el software del Orb:
- Desarrollo máximamente abierto. La mayoría de los componentes lanzados hoy ya tienen desarrollo abierto en sus repositorios públicos. Sin embargo, algunos componentes (en particular orb-core y orb-secure-element) se lanzan como bifurcaciones de las versiones internas, con algo de código sensible[14] manualmente eliminado. En consonancia con la misión del protocolo, el objetivo de la comunidad sería eliminar esta divergencia y mover todo el código no sensible al desarrollo abierto.
- Componentes de código cerrado no confiables. Para minimizar la confianza requerida en los componentes de código cerrado, se ejecutan en una "sandbox" para restringir su acceso al sistema. La configuración actual del sandbox se está mejorando activamente para evitar que todos los modelos de ML accedan a la red y al almacenamiento persistente. Críticamente, la implementación del sandbox es en sí misma de código abierto.
- Apoyar auditorías descentralizadas. El Worldcoin Tech Tree incluye soporte para atestiguar propiedades de Orbs específicos, como el software exacto que están ejecutando. Cualquiera debería poder realizar estas atestaciones y publicitar los resultados. Esta infraestructura es necesaria para reducir la confianza requerida en los proveedores de Orbs. Varios proyectos de ingeniería están en marcha para apoyar tales atestaciones, incluyendo la reportación segura de versiones y compilaciones reproducibles públicas.
Finalmente, estos componentes tienen como objetivo ayudar a brindar seguridad, privacidad y transparencia a muchos otros proyectos, especialmente a aquellos que ejecutan aprendizaje automático en dispositivos perimetrales. Por ejemplo, los entornos de aprendizaje habilitados para IA (como este) vienen con desafíos de privacidad de datos similares a los del Orb. La Worldcoin Foundation espera que la comunidad, para ayudar a hacer un mundo impulsado por IA seguro, mejore continuamente los componentes de código abierto hoy para maximizar su utilidad para otros proyectos.
Detalles del lanzamiento
Componentes Disponibles Hoy
Nombre del Componente | Descripción |
---|---|
orb-core |
La aplicación principal en el Orb, que incluye el flujo de verificación de World ID.
La versión de hoy es un fork de una versión interna, con los controles de fraude eliminados. |
orb-attest | Usa el elemento seguro para generar un token de autenticación efímero para la comunicación con el backend. |
orb-secure-element | Interfaz para el elemento seguro dedicado. |
orb-firmware | Firmware que se ejecuta en el MCU principal del Orb. |
orb-messages | Definiciones de Protobuf para comunicarse con el MCU principal. |
orb-ui | Gestiona las luces y sonidos en el Orb. |
orb-can | Envoltorio en Rust para usar CAN en Linux. |
orb-security-utils | Biblioteca para tareas comunes sensibles a la seguridad en Rust. |
orb-backend-state | Obtiene el estado del Orb desde el backend. Actualmente no utilizado. |
orb-slot-ctrl | Gestiona la ranura de arranque del Orb a través de variables EFI. |
seek-camera | Envoltura segura en Rust para la cámara térmica. |
thermal-cam-util | Herramienta de utilidad para la gestión de la cámara térmica. |
Trabajo futuro
Nombre del Componente | Descripción |
---|---|
orb-core |
La aplicación principal en el Orb, que incluye el flujo de verificación de World ID.
Se espera que la interfaz con rutas de código privadas sea explícita. Se espera que el código no privado se traslade al desarrollo abierto. |
orb-os |
Construye scripts para Orb OS.
Se espera que estos scripts, así como imágenes de contenedores ejecutables, sean publicados. Se espera que los componentes sensibles a la seguridad sean eliminados de las imágenes públicas. |
orb-update-agent | Responsable de realizar actualizaciones over-the-air (OTA). |
orb-supervisor | Coordina los otros servicios personalizados en el Orb. |
orb-trustzone | Código que se ejecuta en el Entorno de Ejecución Confiable (TEE) del Jetson. |
orb-update-verifier | Bloquea las actualizaciones si son exitosas. |
References
- 1.
- 2.Para una visión general de la necesidad de proof of humanness, consulta el reciente blog de Vitalik Buterin.
- 3.
- 4.El conjunto completo de medidas de detección de fraudes se extiende más allá del Orb al backend del Orb y la World App. Por razones de seguridad, el código fuente disponible públicamente para la versión de hoy no incluye todos los componentes de software del Orb relacionados con la prevención de fraudes.
- 5.
- 6.
- 7.“Auténtico” significa que las imágenes son de un humano real. Las imágenes mostradas en una pantalla frente al Orb, por ejemplo, serán rechazadas. Estos chequeos de fraude no están incluidos en los repositorios de código abierto. Consulta la sección “Mirando hacia adelante: transparencia y verificabilidad” para más detalles.
- 8.
- 9.La clave pública del individuo se envía desde World App al Orb a través de la infraestructura de backend. No es necesario confiar en el backend porque el hash de la clave pública se envía directamente al Orb a través de un código QR, que se utiliza para verificar la clave antes de que se use.
- 10.Esta clave pública es generada por World App y solo se usa para cifrar los datos de Custodia Personal. Detalles adicionales se especifican aquí.
- 11.Se pueden encontrar detalles sobre la mayor descentralización de este proceso aquí.
- 12.
- 13.Consulta la sección “Oracles: Orbs” de Advancing Decentralization.
- 14.
Descargo de responsabilidad
El contenido anterior solo afirma lo dicho en la fecha indicada. Además, está sujeto a riesgos, incertidumbres y suposiciones, por lo que puede ser incorrecto y cambiar sin previo aviso. Consulta el descargo de responsabilidad completo en nuestros Términos de uso y la información importante para el usuario en nuestra página Riesgos.