🛠️ Construir uma votação privada não é fácil, mas vale a pena!
Sabemos que isso pode ficar técnico, então vamos manter o mais claro e direto possível. Vamos detalhar os requisitos e como estamos projetando um sistema para votação segura, privada e verificável.
Pronto?
🧩 Os requisitos principais:
› Criptografar votos do lado do cliente e armazená-los criptografados on-chain
› Manter os valores dos votos ocultos enquanto os mercados estão ativos
› Decriptografar os votos somente após o fechamento do mercado
› Vincular cada voto ao seu usuário para atualizar a reputação com precisão
Veja como fazemos isso. 👇
🔐 Primeiro, criptografia:
→ Usamos TLE (Criptografia de Bloqueio de Tempo) oferecida pela Drand Network (@drand_loe), que nos permite usar uma chave pública para criptografar votos que serão DECRYPTADOS apenas por uma chave privada que será liberada no futuro pela Drand Network.
→ Os usuários criptografam seus votos off-chain usando a chave pública da Drand + um valor de sal. Isso garante que os votos sejam privados e difíceis de adivinhar. Quando criptografados, os votos são submetidos como um texto cifrado para o contrato.
O que acontece quando a votação termina? 🤔
📊 Após o fechamento do mercado:
› O Coordenador Olas decripta os votos individuais usando a chave privada liberada pela Drand
› O Coordenador Olas agrega os votos, cria uma Árvore de Merkle e calcula o total final.
› Os resultados da agregação (ou seja, a Raiz de Merkle, Total Final) são submetidos de volta ao contrato on-chain
› O contrato Olas utiliza um oráculo de aleatoriedade (atualmente experimentando com @pragmaoracle, @cartridge_gg VRF e @chainlink VRF para nossas necessidades de aleatoriedade) para selecionar votos aleatoriamente que são decriptados e verificados contra a Árvore de Merkle para alcançar uma certeza estatística de que os votos foram agregados corretamente.
Ainda há mais a refinar.
No momento, os votos criptografados se tornam públicos após a liquidação do mercado.
Privacidade total? Isso é o próximo! Estamos explorando técnicas avançadas de criptografia, como criptografia homomórfica, para manter os votos privados para sempre. Mais sobre isso em futuras atualizações. 💭