
O Orb foi construído para dar às pessoas uma maneira de provar sua humanidade online com máxima privacidade e segurança. Agora, os componentes principais do software do Orb estão publicamente disponíveis no GitHub sob uma licença dupla MIT/Apache 2.0. Para mais contexto sobre por que o código aberto do Orb é importante, veja a seção de hardware da Worldcoin Tech Tree.
Estes novos componentes abertos complementam os hardwares e os repositórios de reconhecimento de íris lançados anteriormente, e sua disponibilidade pública marca um progresso significativo em tornar o processamento de imagens do Orb transparente e suas alegações de privacidade verificáveis. O lançamento de hoje inclui todo o código no Orb que é essencial para capturar imagens e transferi-las com segurança para o World App[1].
Esta postagem revisa os requisitos de design do software do Orb, destaca os principais detalhes da implementação e projeta seu futuro.
Se você está interessado em trabalhar no software do Orb, veja os cargos abertos para contribuintes do projeto Tools for Humanity aqui.
Uma visão geral do software do Orb
Requisitos de alto nível
O Orb fornece o mais alto nível de verificação para World ID distinguir humanos de IA[2]. Ele faz isso primeiro verificando se o titular do World ID é humano, usando imagens dos olhos e do rosto. Se essas verificações de humanidade forem aprovadas, o Orb então realiza um processo de verificação de íris e submete o código da íris resultante para um serviço que verifica a singularidade da pessoa. O processo é concluído em poucos segundos. Para mais informações sobre como os World IDs verificados pelo Orb podem ser usados, veja aqui.

O único caso de uso do Orb para verificar a humanidade leva aos seguintes requisitos de alto nível, sem precedentes para um dispositivo biométrico:
- Privacidade: Durante a verificação do World ID, o Orb deve processar as imagens localmente no dispositivo e depois transferi-las com segurança para a custódia do usuário. Isso elimina qualquer necessidade de armazenar imagens no Orb ou de enviá-las para um backend centralizado para processamento[3].
- Segurança: O protocolo Worldcoin espera que os Orbs verifiquem apenas World IDs de humanos genuínos. Isso significa que o Orb deve ser altamente resistente a fraudes e adulterações, mesmo em ambientes adversos[4]. Dispositivos modificados ou falsificados devem ser rejeitados pelo protocolo.
- Transparência & Verificabilidade: O Orb deve ser projetado para exigir confiança mínima em seus fabricantes e operadores. Deve haver uma maneira para o público auditar os Orbs, incluindo a verificação do estado do software e das chaves criptográficas. Veja a seção relevante do whitepaper para mais detalhes.
Esses requisitos direcionam o design do Orb e impactam virtualmente todos os aspectos do seu software.

A pilha de computação do Orb
Tools for Humanity (TFH), um contribuinte para o projeto Worldcoin, tem passado anos construindo um ambiente de computação seguro e poderoso para o Orb. O design é centrado no NVIDIA Jetson, que processa localmente os cinco streams de câmera do Orb para verificar um World ID em segundos. Cada Orb tem adicionalmente dois Arm Cortex M4 microcontroladores (rodando Zephyr RTOS) para lidar com gerenciamento de energia, controles em tempo real e detecção de adulteração. Por fim, cada Orb tem um elemento seguro dedicado que, como uma carteira de hardware, armazena uma chave de assinatura privada em um invólucro resistente a violações.
O Orb executa várias aplicações Rust no Jetson, com um uso intenso de async Rust. Essas aplicações lidam com funções principais como o processamento de dados de sensores, interface com redes neurais e aplicação de atualizações do sistema. Para inferência de redes neurais, o Orb usa o motor TensorRT da NVIDIA para aproveitar ao máximo o GPU de 384 núcleos do Jetson.
Conectando tudo isso está o Orb OS[5]: uma distribuição GNU/Linux personalizada baseada em Debian e Ubuntu, otimizada para segurança. O Orb OS inclui verificações de integridade de sistema completo, uma configuração do Linux reforçada para segurança, um sistema robusto de atualização over-the-air e suporte para builds reprodutíveis. Para operações criptográficas críticas (por exemplo, autenticação no backend), o Orb OS se comunica com um ambiente de execução confiável (TEE) no Jetson, bem como com o elemento de segurança dedicado.
Um tour pelo código
Entre os principais componentes do software do Orb que foram lançados hoje está a função do_signup em orb-core, que codifica o fluxo de alto nível do Orb para cada verificação de World ID. Essa função chama a fase de captura de imagem e a fase de processamento biométrico, depois submete códigos de íris assinados ao serviço de unicidade. Adicionalmente, do_signup chama upload_custody_images para enviar com segurança as imagens do usuário para o seu World App.
Captura de imagem
Em questão de segundos, o avançado sistema óptico do Orb pode criar de forma confiável imagens de alta qualidade dos olhos e do rosto. Essa funcionalidade principal é habilitada por software personalizado e redes neurais que trabalham juntos para implementar detecção de rosto, rastreamento dos olhos, autofocus e auto exposição.
O autofocus foi uma das partes mais difíceis do sistema de imagem para implementar. Ele controla a lente líquida projetada especificamente para encontrar rapidamente uma imagem nítida dos olhos de um indivíduo. A implementação em Rust contém um controlador de feedback, com estimativas de nitidez fornecidas por uma rede neural em tempo real. A saída de controle é enviada do Jetson para um microcontrolador, que implementa um loop interno de controle para dirigir a corrente elétrica para a lente[6].
Uma espiada no loop de controle de feedback externo para encontrar o valor de foco mais nítido.

O autofoco comanda a lente líquida personalizada do Orb para encontrar rapidamente uma imagem de íris nítida.
Processamento de imagem
Uma vez que o Orb tenha criado imagens de olhos e rosto de qualidade suficiente, elas são passadas para a pipeline biométrica. Essa pipeline tem dois objetivos: verificar se as imagens são autênticas[7] e gerar códigos de íris. Ambos são manipulados por interfaces em Python para redes neurais personalizadas, bem como uma implementação de filtro de Gabor.
As imagens de alta qualidade do olho da fase anterior são passadas para o Sistema de Inferência de Reconhecimento de Íris (IRIS). Esta implementação de última geração foi construída pela TFH e subsequentemente open sourced pela Worldcoin Foundation. O código em Rust é otimizado para sempre manter o IRIS e outros modelos grandes na memória, evitando a sobrecarga de recarregar regularmente esses grandes componentes. Isso é realizado com um design inspirado pelo processo Zygote do Android, que evita o carregamento de cópias redundantes de dependências compartilhadas (como CUDA).
Privacidade e segurança
Privacidade e segurança sempre foram prioridades principais ao construir o Orb. As reivindicações de privacidade do Orb[8] foram o foco de uma auditoria de caixa branca por Trail of Bits, que foi recentemente publicada. Outras auditorias estão em andamento e, combinadas com o código aberto, refletem a meta da Fundação de manter um nível continuamente alto de transparência em torno da privacidade e segurança.
Um passo crítico para a privacidade é enviar dados individuais do Orb para a World App para um recurso chamado “Custódia Pessoal”. Os indivíduos podem usar esses dados auto-custodiados, por exemplo, para Autenticação Facial no World App. Olhando para o futuro, esse recurso também pode reduzir a frequência com que os usuários precisariam retornar a um Orb para re-verificar sua World ID.
A implementação no Orb garante que os indivíduos sempre permaneçam no controle de seus dados. Cada pacote de dados é assinado com a chave privada do Orb, depois criptografado com uma chave pública fornecida pelo usuário[9][10] antes de ser transferido para o telefone móvel do indivíduo. A assinatura é realizada por um elemento seguro dedicado, que é emparelhado criptograficamente com o Jetson durante a fabricação[11]. A implementação de criptografia usa uma caixa selada para garantir que apenas o indivíduo possa descriptografar esses dados biométricos[12]. Uma vez que os dados criptografados são enviados do Orb para o World App do indivíduo, não existem cópias não criptografadas desses dados em lugar nenhum.
Olhando para o futuro: transparência e verificabilidade
Este lançamento inicial do software do Orb é um passo importante em direção aos objetivos[13] de melhorar a transparência e a verificabilidade do Orb. Para os próximos passos, a Worldcoin Foundation e a comunidade mais ampla da Worldcoin pretendem focar nas seguintes áreas relacionadas ao software Orb:
- Desenvolvimento maximamente aberto. A maioria dos componentes lançados hoje já possui desenvolvimento aberto em seus repositórios públicos. No entanto, alguns componentes (notavelmente orb-core e orb-secure-element) são lançados como forks das versões internas, com algum código sensível[14] manualmente removido. Em consonância com a missão do protocolo, o objetivo da comunidade seria eliminar essa divergência e mover todo código não sensível para o desenvolvimento aberto.
- Componentes não confiáveis de código fechado. Para minimizar a confiança necessária em componentes de código fechado, eles são executados em um “sandbox” para restringir o acesso ao sistema. A configuração atual do sandbox está sendo ativamente melhorada para impedir que todos os modelos de ML acessem a rede e o armazenamento persistente. Criticamente, a implementação do sandbox é ela própria de código aberto.
- Apoiar auditorias descentralizadas. A Worldcoin Tech Tree inclui suporte para atestar propriedades de Orbs específicos, como o software exato que estão executando. Qualquer pessoa deve ser capaz de realizar essas atestações e divulgar os resultados. Essa infraestrutura é necessária para reduzir a confiança necessária nos fornecedores do Orb. Vários projetos de engenharia estão em andamento para suportar tais atestações, incluindo relatórios de versão segura e builds públicas reproduzíveis.
Finalmente, esses componentes visam ajudar a trazer segurança, privacidade e transparência para muitos outros projetos, especialmente aqueles que rodam aprendizado de máquina em dispositivos de borda. Por exemplo, ambientes de aprendizado habilitados por IA (como este) apresentam desafios de privacidade de dados semelhantes ao Orb. É a esperança da Worldcoin Foundation que a comunidade, para ajudar a tornar um mundo movido por IA seguro, melhore continuamente os componentes open source hoje para maximizar sua utilidade para outros projetos.
Detalhes do lançamento
Componentes Disponíveis Hoje
Nome do Componente | Descrição |
---|---|
núcleo-do-orbe | A aplicação principal no Orbe, que inclui o fluxo de verificação do World ID. O lançamento de hoje é um fork de uma versão interna, com verificações de fraude removidas. |
orb-attest | Usa o elemento seguro para gerar um token de autenticação efêmero para comunicação com o backend. |
orb-secure-element | Interface para o elemento seguro dedicado. |
orb-firmware | Firmware que roda no MCU principal do Orb. |
orb-messages | Definições de Protobuf para comunicação com o MCU principal. |
orb-ui | Gerencia as luzes e sons no Orb. |
orb-can | Wrapper em Rust para usar CAN no Linux. |
orb-security-utils | Biblioteca para tarefas comuns sensíveis à segurança em Rust. |
estado-do-backend-do-orbe | Obtém o estado do Orbe do backend. Atualmente não utilizado. |
ctrl-de-slot-do-orbe | Gerencia o slot de inicialização do Orbe via variáveis EFI. |
buscar-câmera | Wrapper seguro em Rust para a câmera térmica. |
util-cam-térmica | Ferramenta utilitária para gestão da câmera térmica. |
Trabalho futuro
Nome do Componente | Descrição |
---|---|
núcleo-do-orbe | A aplicação principal no Orbe, que inclui o fluxo de verificação do World ID. A interface para caminhos de código privado deve ser explicitamente indicada. O código não privado deve ser movido para desenvolvimento aberto. |
sistema-operacional-do-orbe | Constrói scripts para Orb OS. Espera-se que esses scripts, bem como as imagens de contêineres executáveis, sejam publicados. Espera-se que componentes sensíveis à segurança sejam removidos das imagens públicas. |
orb-update-agent | Responsável por realizar atualizações over-the-air (OTA). |
orb-supervisor | Coordena os outros serviços personalizados no Orb. |
orb-trustzone | Código que roda no Ambiente de Execução Confiável (TEE) do Jetson. |
orb-update-verifier | Bloqueia atualizações se elas forem bem-sucedidas. |
References
- 1.
- 2.Para uma visão geral sobre a necessidade de proof of humanness, veja a recente postagem no blog de Vitalik Buterin.
- 3.
- 4.
- 5.
- 6.
- 7.“Autêntico” significa que as imagens são de um ser humano real. Imagens exibidas em uma tela na frente do Orb, por exemplo, serão rejeitadas. Essas verificações de fraude não estão incluídas nos repositórios de código aberto. Veja a seção “Olhando para o futuro: transparência e verificabilidade” para mais detalhes.
- 8.
- 9.A chave pública do indivíduo é enviada do World App para o Orb através da infraestrutura de backend. O backend não precisa ser confiável porque o hash da chave pública é enviado diretamente para o Orb através de um código QR, que é usado para verificar a chave antes de ser utilizada.
- 10.Esta chave pública é gerada pelo World App e usada somente para criptografar os dados de Custódia Pessoal. Detalhes adicionais são especificados aqui.
- 11.Detalhes sobre a maior descentralização deste processo podem ser encontrados aqui.
- 12.
- 13.Veja a seção “Oracles: Orbs” de Avançando na Descentralização.
- 14.
Isenção de responsabilidade
O conteúdo acima é válido apenas na data indicada. Além disso, está sujeito a riscos, incertezas e pressupostos, e, portanto, pode se tornar incorreto e mudar sem aviso prévio. Uma isenção de responsabilidade completa pode ser encontrada em nossos Termos de Uso, e informações importantes ao usuário podem ser encontradas em nossa página sobre Riscos.