drand: um serviço público de números aleatórios

O que a segurança do seu homebanking, as auditorias eleitorais e o sorteio semanal do EuroMilhões têm em comum? Todos eles requerem números aleatórios.

A aleatoriedade é uma parte crítica de nossos negócios e processos do dia-a-dia; embora seja mais facilmente observável em um sorteio de loteria, também depende dele, por exemplo, a criptografia aplicada para estabelecer comunicações seguras ou para garantir a segurança de criptomoedas.

A maior parte da aleatoriedade que usamos é gerada por algoritmos executados em um computador - como um computador é uma máquina determinística, os números produzidos são apenas pseudo-aleatórios.

Em particular, um oponente que conhece, adivinha ou consegue influenciar os parâmetros usados ​​para inicializar o algoritmo, também pode prever ou alterar os valores aleatórios gerados. Em 2015, o ex-diretor de segurança da entidade que administra a maioria das loterias nos Estados Unidos foi condenado por fraude, após configurar um sistema que gerava chaves vencedoras para produzir números específicos em determinadas datas, permitindo que você ganhasse na loteria seis vezes.

Como, então, podemos produzir números aleatórios para, por exemplo, o sorteio de uma loteria, de modo que nenhuma entidade possa influenciá-los e, igualmente importante, para que o público possa verificar essa propriedade? Este é o objetivo do software drand e da “Liga da Entropia”(Que inclui o PTisp), do que anunciado, no início deste mês, o lançamento de um serviço público de números aleatórios capaz de suportar aplicações em produção.

Aleatoriedade e o drand

Apesar do papel crítico da aleatoriedade, e até o lançamento do serviço drand, não havia nenhum serviço público projetado para fornecer verificável, imprevisível e impossível de influenciar a aleatoriedade. Isso significa que não havia fontes de números aleatórios? Não. Ao jogar monopólio com amigos, e aceitar que os dados não eram falhos, o grupo pode concordar que os números gerados estão corretos.

Em uma situação de comunicação remota, em que não haja confiança entre as partes e não seja possível verificar os dados ou testemunhar seu lançamento, o problema é complicado. Soluções adotadas no passado incluem presunção de boa-fé, serviços centralizados ou o uso de fontes secundárias, como preços de ações em bolsa - que, dentro de certos limites, são bastante difíceis de prever e mudar.

A drand, cujo desenvolvimento começou em 2017, em EPFL (Instituto Federal Suíço de Tecnologia em Lausanne) revolucionou a paisagem ao fornecer uma fonte pública de números aleatórios, gerados e revelados a cada 30 segundos, e acessível a todos que desejam usá-los - seja para jogar monopólio ou para tirar o vencedor da loteria . Como é possível garantir que os números não foram tendenciosos ou conhecidos antecipadamente por nenhuma das partes? Usando um grupo diversificado de participantes independentes e técnicas de criptografia modernas (nomeadamente Assinaturas BLS)

Como o drand realmente funciona? o Detalhes eles são complicados, mas o conceito é simples. Um grupo de computadores, controlado por diferentes entidades, gera uma chave criptográfica distribuída. Essa chave é dividida em partes, tantas quantas forem o número de computadores, e um número inicial é gerado. A partir daí, e a cada 30 segundos, cada um desses computadores usa sua chave parcial para assinar o número publicado no período anterior, e envia para os demais. Quando a maioria dos computadores envolvidos conclui o processo, as diferentes assinaturas parciais podem ser combinadas para construir a assinatura distribuída, que será publicada como o próximo número aleatório.

Nenhum dos computadores em questão, ou seus operadores, pode influenciar o resultado final. Como esse número deve corresponder a uma assinatura válida e única, e como a chave distribuída é conhecida, qualquer pessoa pode verificar se um número está, de fato, correto. Igualmente importante, nenhum dos operadores pode prever números futuros: como cada número depende do anterior e o anterior só é conhecido quando um número suficiente de parceiros envia a sua assinatura, altura em que também passa a ser do conhecimento do público (no rede atual, dentro de um segundo), ninguém, incluindo os participantes, tem uma vantagem.

Uma Liga de Entropia

O drand é a primeira peça do quebra-cabeça - e a base do serviço agora lançado. Mas, lendo a explicação do processo, fica claro que a escolha do grupo de computadores envolvidos é fundamental para garantir não só a segurança, mas, acima de tudo, a confiabilidade da geração e distribuição dos números. É neste contexto que surge a Liga da Entropia (“Liga da Entropia”), um consórcio de organizações que trabalham em conjunto para operar o serviço drand de forma robusta e imparcial, em benefício do público.

Atualmente, ISPs (PTisp, Emerald Onion), universidades (EPFL, C4DT, IC3, UCL, Universidade do Chile), empresas que atuam na área de blockchains (ChainSafe, cLabs, Fundação Ethereum, Tierion, Laboratórios de protocolo) e empresas de infraestrutura e segurança (Cloudflare, Kudelski Security).

Embora a liga tenha sido criada em 2019, com o lançamento de uma rede experimental, o lançamento da rede de produção neste mês marca a disponibilização de um serviço fiável e fiável, público e gratuito, pronto a ser utilizado por aplicações críticas - e também de as primeiras aplicações, criptomoeda Filecoin e o protocolo de reconhecimento de firma Ponto de corrente. A partir de agora, qualquer usuário ou programador que precise de uma fonte pública de números aleatórios pode usar o farol da Liga da Entropia, contribuindo para resultados mais seguros e confiáveis.

Pplware agradece PTisp e Protocol Labs por produzir este conteúdo.

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Scroll to Top