Sobre o projeto

ShadeNet é uma camada de saída baseada em Tor que fornece acesso anônimo à rede para agentes locais quando conexões diretas à clearnet estão bloqueadas. Os agentes são executados junto a um Proxy local que abre túneis através do Tor para nós Shade Tree. Cada túnel exige uma prova Groth16 RLN que demonstra participação em uma raiz Merkle admitida sem revelar qual folha, vinculando o destino e o nonce a um slot de mensagem privado por época. Os nós verificam as provas antes da saída e usam nullifiers com escopo de época para impor limites de túnel. Funções principais: o Proxy é executado ao lado do agente e abre túneis através do Tor; nós Shade Tree verificam provas e fazem conexões voltadas ao destino; a Elder Tree é um bootnode que armazena em cache anúncios assinados e serve o diretório canopy; o canopy é um grupo de nós mais o diretório assinado que os lista. Existem duas implementações. A versão Node.js é a referência full-stack que cobre o Proxy, o SDK, o nó Shade Tree, a Elder Tree e ferramentas de operador. A versão Rust é a distribuição principal para agentes: um binário `-live` autocontido que cria identidades, executa um Proxy CONNECT com Arti embutido, inicia um agente com escopo de proxy e expõe um cliente de saída reutilizável. Não requer Node.js nem um daemon Tor do lado do cliente. A participação usa staking na testnet Sepolia. Um bond compra um túnel CONNECT por época de 60 segundos com um teto combinado de payload de 40 MiB. Membros podem se registrar, fazer stake e depois sair e sacar bonds sem revelar segredos de identidade — cada ação é autorizada por uma prova gerada localmente, com apenas o compromisso público e a prova vinculada à ação chegando à chain. O projeto é uma prévia de pesquisa não auditada. Limites notáveis: os destinos veem o IP do nó e podem bloqueá-lo; os nós veem o hostname de destino, a porta, o timing e as contagens de bytes, mas não terminam TLS; o Tor não impede correlação de timing por observadores que monitoram ambas as pontas; a contabilização de replay e de taxa é mais forte por nó, com uma contagem opcional entre nós em modo fail-open. A base de código inclui pacotes JS (node, SDK), crates Rust (binário, egress/protocol, provador RLN), contratos Solidity opcionais, registros assinados de rede de teste e especificações de protocolo. Licenciado sob MIT.