Nas primeiras civilizações, a verdade baseava-se no mito. As observações dos fenômenos mundanos estavam envoltas em narrativas simbólicas, crenças religiosas e sabedoria antiga. Com o tempo, a humanidade começou a valorizar medições objetivas e raciocínio, dando origem a disciplinas como ciências, matemática e lógica.
Após a invenção da palavra escrita e, mais tarde, da imprensa, livros e documentos capturaram a informação do mundo em forma escrita, desde literatura académica e contratos legais até estatísticas e análises opinativas. Depois, no século XX, os telefones, os computadores e a Internet iniciaram uma revolução digital na forma como a informação era criada, distribuída e verificada, com os supercomputadores a realizar agora cálculos em grande escala em conjuntos de dados complexos e a gerar milhares de milhões de utilizadores em todo o mundo, compartilhando e falando sobre conteúdo todos os dias em tempo real.
Agora, com uma simples ligação à Internet, qualquer pessoa no mundo pode aceder instantaneamente a um fluxo aparentemente infinito de informações. Mas embora os indivíduos estejam agora capacitados para consumir e partilhar mais informação do que nunca, a informação em alta velocidade e grande volume espalhada por uma variedade de aplicações coloca desafios extraordinários.
{Analogia do Chainlink Blog}
A computação verificável permite que um usuário terceirize cálculos para computadores potencialmente não confiáveis, garantindo ao mesmo tempo a exatidão dos resultados. Funciona fazendo com que o computador remoto execute o cálculo e, em seguida, forneça uma prova de que o cálculo foi feito com precisão.
Esta prova pode ser verificada pelo usuário sem a necessidade de repetir todo o cálculo. Isto é particularmente útil para situações em que um usuário possui recursos computacionais limitados ou precisa garantir a integridade de dados confidenciais processados em um sistema externo.
DR
A computação em nuvem é ótima para tarefas complexas, mas como saber se os resultados são precisos?
A computação verificável permite terceirizar cálculos e verificar as respostas sem executar tudo novamente.
Utiliza provas (como um recibo) para confirmar que o trabalho foi realizado corretamente.
Os benefícios incluem segurança, eficiência, transparência e verificação de cálculos científicos.
Existem dois tipos principais de provas: interativas (diálogo cliente-trabalhador) e não interativas (provas verificadas com uma chave).
Outras técnicas, como enclaves seguros e criptografia homomórfica, podem aumentar a segurança e a privacidade.
A computação verificável ajuda a escalar blockchains, reduzindo a carga de trabalho e permitindo contratos inteligentes complexos.
🅃🄴🄲🄷🄰🄽🄳🅃🄸🄿🅂123
Em nosso mundo dominado por vastas necessidades computacionais, a terceirização de tarefas complexas para servidores em nuvem tornou-se rotina. Mas é aqui que reside o desafio: depois de recebermos os resultados, como podemos ter certeza da sua precisão? Considere o seguinte: você atribui uma tarefa de treinamento de IA a uma plataforma como a AWS. Uma semana depois, você recebe milhões de parâmetros de rede neural desta tarefa de treinamento de IA. Mas como você pode garantir que esses parâmetros reflitam genuinamente o treinamento de uma semana e não apenas de um dia?
A solução mais simples é enviar a tarefa idêntica para outra plataforma de nuvem, o Google Cloud, e justapor os resultados. No entanto, este método não só é redundante como também duplica os custos. Então, qual é a alternativa? É o tema da computação verificável – um domínio focado na validação de resultados computacionais terceirizados sem reexecutar todo o processo.
{Analogia da Forbes}
🏵️ Como funciona a computação verificável
Imagine um cenário onde você possui uma tarefa computacionalmente intensiva, como análise de dados financeiros ou simulações científicas. A execução local pode ser impraticável devido a limitações de hardware ou considerações de segurança. Terceirizar a computação para um servidor em nuvem parece ser uma solução viável. No entanto, surge uma questão fundamental: é possível confiar no servidor para realizar a computação com precisão?
Um servidor malicioso poderia manipular os dados ou simplesmente retornar resultados fabricados. As abordagens tradicionais geralmente envolvem cálculos redundantes em vários servidores, o que pode ser ineficiente e consumir muitos recursos. A computação verificável oferece uma solução elegante para esse dilema.
📀 Como a computação verificável resolve o dilema
A computação verificável permite que você terceirize cálculos para servidores não confiáveis, garantindo ao mesmo tempo a exatidão dos resultados. Isso é alcançado por meio de uma abordagem dupla:
🔹 Geração de prova: o cálculo é transformado em um formato verificável junto com uma prova criptográfica. Esta prova funciona como uma garantia matemática de que o cálculo foi realizado com precisão, sem revelar os dados de entrada ou as etapas específicas envolvidas.
🔸 Verificação de prova: você possui uma ferramenta de verificação que utiliza uma chave secreta para validar a exatidão da prova recebida. Se a verificação for bem-sucedida, ela garante que o cálculo foi executado conforme planejado no servidor não confiável, produzindo um resultado confiável. Pense na computação verificável como um sistema para cálculos auditáveis.
Você delega a tarefa a um trabalhador, mas também recebe um recibo verificável para confirmar que o trabalho foi executado corretamente. Este processo de verificação matemática permite confiar nos resultados sem ter que confiar cegamente na integridade do servidor.
💡 Benefícios da computação verificável
A computação verificável oferece uma infinidade de benefícios para diversas aplicações:
Segurança em Cloud Computing: Permite a utilização segura dos recursos da nuvem para cálculos sensíveis, garantindo a privacidade dos dados e a integridade dos resultados.
Escalabilidade e eficiência: Cálculos complexos podem ser terceirizados para poderosos servidores em nuvem, acelerando processos e melhorando a eficiência.
Transparência em Sistemas Distribuídos: Em projetos colaborativos onde os cálculos são distribuídos entre múltiplas entidades, a computação verificável garante a precisão dos resultados parciais sem comprometer a confidencialidade.
Verificação de cálculos científicos: Os pesquisadores podem aproveitar a computação verificável para garantir a reprodutibilidade de cálculos científicos realizados em servidores remotos.
🔆 Tipos de provas
A computação verificável pode ser implementada usando duas abordagens principais:
Provas interativas:
Neste método, o cliente e o trabalhador mantêm um diálogo interativo para verificar a veracidade da prova. O cliente envia desafios ao trabalhador e as respostas do trabalhador são verificadas matematicamente para garantir a validade do cálculo.
Provas não interativas:
Essa abordagem elimina a necessidade de interação direta. O trabalhador gera uma prova que pode ser verificada pelo cliente por meio de uma chave criptográfica. As provas não interativas são frequentemente mais eficientes, mas podem exigir suposições criptográficas mais fortes.
A escolha entre provas interativas e não interativas depende de fatores como a complexidade da computação, o nível de eficiência desejado e os requisitos de segurança da aplicação.
⚡ Enclaves seguros e criptografia homomórfica
Embora as provas interativas e não interativas formem o núcleo da computação verificável, outras técnicas criptográficas podem aprimorar suas capacidades:
Enclaves Seguros:
São ambientes de execução isolados dentro de um processador que protegem a confidencialidade e integridade da computação durante sua execução no servidor não confiável.
Criptografia homomórfica:
Esta técnica permite que os cálculos sejam realizados diretamente nos dados criptografados, eliminando a necessidade de descriptografar os dados antes do cálculo e aumentando a privacidade.
🚆 Como isso ajuda na escalabilidade do Blockchain
Carga Blockchain reduzida: Cálculos complexos podem ser terceirizados para nós verificadores, diminuindo a carga sobre os nós validadores responsáveis pela verificação e consenso das transações. Isso libera espaço no blockchain para funções essenciais, como armazenamento de dados de transações e aplicação de regras de contratos inteligentes.
Melhor rendimento de transações: Ao descarregar cálculos, os blockchains podem processar mais transações por segundo, levando a tempos de confirmação de transações mais rápidos e eficientes. Isto é crucial para aplicações do mundo real que exigem alto volume de transações.
Habilitando Contratos Inteligentes Complexos: A computação verificável permite que contratos inteligentes aproveitem funcionalidades que podem ser muito caras do ponto de vista computacional para serem executadas diretamente no blockchain. Isso abre portas para aplicações de contratos inteligentes mais ricas e complexas.
🏵️ Aplicativos de computação verificáveis em criptografia
Blockchains escaláveis: Blockchains podem ser lentos devido à necessidade de todos os nós validarem transações. A computação verificável permite que cálculos complexos sejam feitos fora da cadeia, com apenas as provas de validade armazenadas na blockchain, tornando o sistema mais escalável.
Contratos inteligentes seguros: Contratos inteligentes são programas executados em um blockchain. A computação verificável permite a execução segura de contratos inteligentes complexos que envolvem dados privados, sem comprometer a privacidade desses dados.
Transações confidenciais: A computação verificável pode ser usada para permitir transações confidenciais em blockchains, onde apenas o remetente e o destinatário sabem o valor que está sendo transacionado, ao mesmo tempo que provam que a transação é válida.
💡 Aplicação Específica
A computação verificável, muitas vezes chamada de provas de Conhecimento Zero (ZK), é uma tecnologia poderosa com aplicações em contextos blockchain e não-blockchain. Ele permite que um computador (o verificador) delegue a computação a outro computador mais poderoso (o provador) e verifique com eficiência se a computação foi executada corretamente. Aqui estão algumas aplicações notáveis:
Blockchain da Camada 2 (L2): Blockchains L2 usam provas ZK (especificamente SNARKs) para garantir a integridade de suas transições de estado. Essas provas permitem uma verificação eficiente sem a necessidade de cálculo completo na cadeia.
Pontes entre cadeias: As pontes entre cadeias utilizam SNARKs para comprovar depósitos ou retiradas de uma cadeia para outra. Isso garante interoperabilidade confiável entre diferentes blockchains.
Coprocessadores ZK: Um “coprocessador ZK” usa SNARKs para provar cálculos off-chain em dados on-chain. Por exemplo, ele pode verificar cálculos complexos que seriam muito caros para serem computados nativamente em um contrato inteligente.
🔬 Projetos notáveis
>Zcash
> Meu
> Starknet
> Loopring
> StarkEx
> Rede ZigZag
> X imutável
🔼 Crédito de dados
> Wikipédia
> Portão de Pesquisa
> ArXiv
> Forbes
> Blog Chainlink
> Microsoft
🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸
A computação verificável é uma virada de jogo para blockchain e criptomoeda, não apenas para computação quântica. Ele, junto com a web verificada, abre possibilidades inovadoras. Novos protocolos construídos com tecnologias como provas de conhecimento zero (ZK) e criptografia totalmente homomórfica (FHE) são apenas o começo.
🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹