stack
Quatro serviços próprios, na mesma rede Docker isolada.
o que "próprio" cobre, com rigor
O geth, census3 e ubq-csp são inteiramente
nossos — chain EVM, indexação de tokens e autoridade de identidade, sem qualquer
dependência externa. O vocone remove a dependência da API
pública da Vocdoni e do seu faucet — mas continua sincronizado com a mesma chain de
consenso partilhada (vocdoni/DEV/36), a mesma que qualquer outro
utilizador da rede de testes Vocdoni usa. Não é isolamento de consenso — é
independência operacional real, honestamente escopada.
eleição real, on-chain
Uma das eleições de teste correu de ponta a ponta contra a rede real — cada voto com hash individualmente verificável, resultado recalculável por qualquer pessoa a partir do explorador público, sem depender da nossa aplicação.
O painel de auditoria lista as 27 votações reais do histórico, com o mesmo mecanismo de verificação individual.
emparelhamento IPFS
O vocone próprio e o census3 partilham dados de census por
IPFS, emparelhados por DHT com uma chave secreta partilhada
(--ipfsConnectKey) — mecanismo nativo do SDK oficial, não um túnel manual.
incidente real — Swarm.AddrFilters
Census por token (TokenCensus) bloqueado desde a primeira tentativa — parecia instabilidade de ligação entre nós.
kubo (motor IPFS por baixo do vocone/census3)
vem por omissão com um filtro Swarm.AddrFilters que bloqueia redes privadas
"para prevenir alertas de netscan" — incluindo 172.16.0.0/12, que cobre
por inteiro a rede Docker 172.18.0.0/16 onde os dois nós vivem.
Os nós estavam proibidos por configuração de sequer se ligarem um ao outro.
Substituição dessa entrada pelas 4 sub-redes que a compõem, menos a nossa — confirmado 2× de forma independente, incluindo após reiniciar o nó.
| wallet | token |
|---|---|
0x…a1 | true |
0x…b2 | true |
0x…c3 | true |
0x…d4 | true |
0x…e5 | true |
0x…f6 (sem token) | false |