Uma das funções mais básicas dentro da tecnologia blockchain está relacionada à aleatoriedade ou simplesmente "aleatória" como é tecnicamente conhecida.
LO motivo de sua importância é bem simples: sem a aleatoriedade, não existiria a criptografia assimétrica que possibilita o esquema de segurança das criptomoedas. Na verdade, sem a aleatoriedade, os computadores, a Internet e até o seu celular seriam muito diferentes do que são hoje e, muito possivelmente, também seriam dispositivos inseguros.
Mas como isso é possível? Por que a aleatoriedade é tão importante no mundo digital e das criptomoedas? Isso e muito mais você pode descobrir abaixo.
Primórdios da aleatoriedade no mundo digital
A aleatoriedade tem sido usada pela humanidade há muito tempo. Desde o lançamento de dados, ossos ou leitura de cartas para conhecer seu futuro até outros usos rituais. No entanto, não foi até a Idade Média (século XNUMX), quando a aleatoriedade foi formalmente estudada.
De fato, um dos principais usos da aleatoriedade estava relacionado ao estudo do número pi e da forma aleatória e infinita de seus números decimais. Os matemáticos interessados nesse fato começaram a ver como esse fenômeno se repetia em outros espaços.
Mas, no início do século XNUMX, com o advento dos fundamentos matemáticos de probabilidade e fundamentos algorítmicos, a utilidade da aleatoriedade cresceu exponencialmente. Por exemplo, a aleatoriedade é elementar para estudos em física, especialmente física quântica. Na computação, o uso da aleatoriedade é elementar para a construção de algoritmos, chips e, claro, criptografia, uma das tecnologias básicas na criação do mundo digital e sua segurança.
Aleatoriedade e sua importância
Agora, por que gerar números aleatórios é tão importante? Que uso tudo isso tem na tecnologia blockchain? Bem, a verdade é que gerar um número aleatório é algo muito comum e necessário quando se trata de segurança informática.
Por exemplo, toda vez que você se conecta a uma Web na Internet usando uma conexão HTTPS (Secure HTTP Connection), o que acontece é que seu computador/móvel se conecta ao servidor Web e eles trocam mensagens para criar uma conexão segura entre esses dois computadores. Esse processo é possível graças ao uso de números aleatórios e sua implementação na criptografia que protege nossas comunicações digitais.
Claro, este é apenas um exemplo da importância da aleatoriedade em nosso mundo digital. A aleatoriedade está presente em coisas tão simples quanto seu cartão de crédito/débito (criando os tokens de autenticação que autorizam as despesas que você faz), a conexão sem fio do seu celular (conexões 2G, 3G e 5G usam criptografia assimétrica).
Aleatoriedade no Blockchain
Agora, sendo o blockchain uma tecnologia digital projetada para fornecer segurança aos seus usuários, a aleatoriedade está presente. Podemos ver o uso da aleatoriedade no blockchain em um dos pontos básicos desta tecnologia: criptografia, eporque a criptografia assimétrica usada pelas criptomoedas é construída graças ao uso de números aleatórios. Por exemplo, ao criar uma chave Bitcoin usando o esquema ECDSA e a curva secp256k1, o que uma carteira Bitcoin faz é escolher um número aleatório (um número muito grande) e usar esse número dentro desta formulação matemática:
y ^ 2 = x ^ 3 + machado + b
Certificar-se de que a aleatoriedade é "caótica e única" o suficiente é algo que os computadores podem fazer muito bem. E, ao mesmo tempo, eles podem realizar a computação necessária para resolver essa formulação em um tempo muito curto, nos dando acesso a uma das formas mais seguras de criptografia conhecidas até hoje.
Tudo isso com um único propósito: criar duas chaves (pública e privada) para gerenciar nosso BTC com segurança em uma rede sem confiança e com a certeza de que nossos BTC estão protegidos por princípios computacionais e matemáticos amplamente testados.
A evolução da aleatoriedade do blockchain
Claro, a tecnologia blockchain também evolui, assim como o uso da aleatoriedade. Sabendo que os computadores não podem representar um verdadeiro gerador aleatório (caos e ordem não podem coexistir no mesmo algoritmo), uma dessas evoluções da aleatoriedade do blockchain é usar o mesmo blockchain para garantir a geração de "números aleatórios" para que possam ser usados em diferentes espaços.
Vamos explicar isso um pouco:
Para computadores é quase impossível representar números aleatórios verdadeiros. Um desenvolvedor pode criar um algoritmo de geração de números aleatórios. Mas esse gerador seguirá "parâmetros" definidos (um algoritmo), que podem ser estudados por meios matemáticos e probabilísticos. Isso significa que esses algoritmos de geração de números aleatórios (ou pseudo-aleatórios) podem ser analisados e quebrados, dando origem aos conhecidos ataques de geradores de números aleatórios.
Com isso em mente, muitos desenvolvedores de blockchain estão procurando transformar os dados dessas redes em geradores de aleatoriedade, que podem ser usados em outras aplicações.
Mas como isso é possível? Bem, alguns desses modelos são:
bloquear hash
Um dos meios para conseguir isso é o Block-hashing, no qual hashes de blocos, transações ou combinações dos mesmos são usados como fonte de aleatoriedade. Como o hash é determinístico, todos obterão o mesmo resultado. Um bloco, uma vez adicionado ao blockchain, permanecerá lá para sempre, portanto, todos podem verificar a exatidão dos números gerados.
No entanto, esse método tem um sério problema de segurança: os hashes podem ser manipulados por mineradores. Embora esse problema seja pequeno e detectável, dentro de um gerador de números aleatórios seguro é intolerável. Por esta razão, este sistema é usado muito pouco.
oráculos
Outra maneira possível de gerar aleatoriedade no blockchain para aplicativos de terceiros é por meio de oráculos. Projetos como Provable, Uniswap TWAP ou Chainlink VRF são apenas alguns exemplos desse sistema.
A operação é simples. Esses sistemas coletam dados de fontes externas, processam-nos em sua rede e geram um enorme conjunto de dados aleatórios. Esses dados podem então ser usados pelos usuários do sistema. O melhor é que esse sistema não é apenas descentralizado, mas usa um grande número de fontes aleatórias em paralelo. Além disso, todo esse trabalho é acompanhado por um teste criptográfico para verificar os dados aleatórios gerados.
Sem dúvida, a aleatoriedade desempenha um papel fundamental em nosso mundo digital e no blockchain. Graças a ele, podemos ter meios para nos comunicarmos com segurança pela Internet. E, ao mesmo tempo, permite-nos criar tecnologia que nos ajuda a melhorar esta capacidade. Assim, o blockchain se torna um exemplo do que a aleatoriedade nos permite alcançar e nos oferece ferramentas para continuar melhorando esses sistemas dos quais nossa privacidade e segurança dependem no mundo digital.