Kachina: contratos inteligentes que preservam a privacidade

Kachina: contratos inteligentes que preservam a privacidade

Aproveitando ZK Snarks para habilitar a funcionalidade de contrato inteligente que preserva a privacidade sem sacrificar as características de descentralização.

Os contratos inteligentes apresentam uma abordagem padrão para expressar interações complexas entre duas ou mais partes dispostas a trocar assets ou dados de maneira descentralizada. Contratos inteligentes são acordos digitais efetivamente automatizados em uma blockchain. Escritos em código, eles podem rastrear, verificar e executar as transações vinculantes de um contrato quando condições predeterminadas são atendidas. Para criar um contrato inteligente expressando tais condições, os desenvolvedores usam linguagens de programação. O código do contrato é armazenado e distribuído em uma rede blockchain descentralizada, tornando-o transparente e, se desejado, irreversível.

Nesta postagem, discutimos a Kachina – uma solução de contrato inteligente que preserva a privacidade desenvolvida pela Input Output Global (IOG) em colaboração com a Universidade de Edimburgo. Ela permite que os usuários obtenham a funcionalidade de contrato inteligente de uso geral e de preservação de privacidade sem sacrificar as características de descentralização.

Preservando a privacidade em acordos de contratos inteligentes

A transparência e as configurações públicas da maioria dos históricos de registro dos contratos inteligentes, tornam as condições visíveis para todos. Embora a transparência seja uma das maiores vantagens da tecnologia blockchain, a privacidade continua sendo essencial para aplicativos que trabalham com dados confidenciais.

Os desenvolvedores podem usar várias técnicas criptográficas para garantir maior privacidade em contratos inteligentes. Provas de conhecimento zero (ZKP) e computação segura são dois exemplos. Motivados por tais técnicas criptográficas, surgiram várias soluções que satisfaziam várias definições de privacidade e requeriam pressupostos de confiança. Exemplos incluem Zexe, zkay, Hawk, Zether, Secret Network e outros. As mais expressivas dessas soluções, Hawk e Secret, contam com pressupostos de confiança, limitando significativamente o nível de descentralização que poderiam alcançar. Hawk assume um conjunto pequeno e fixo de participantes no núcleo do sistema, enquanto o Secret conta com Trusted Execution Environments (TEEs), uma tecnologia com um extenso histórico de ataques prejudiciais à privacidade. Essas técnicas colidem fundamentalmente com os princípios básicos de uma plataforma blockchain descentralizada.

Kachina: fundamentos de contratos inteligentes privados

Kachina identifica uma grande classe de cálculos distribuídos que podem ser expressos como contratos inteligentes com garantias de privacidade, que os desenvolvedores podem implementar sem suposições de confiança adicionais.

Um protocolo de contrato inteligente depende apenas de argumentos de conhecimento sucintos e não interativos de conhecimento zero (ZK Snarks) para fornecer privacidade. As garantias de privacidade deste protocolo são comprovadas na estrutura de segurança Universal Composability (UC) por meio de modelagem matemática e provas. O objetivo principal do protocolo é fornecer uma base de propósito geral e de nível suficientemente baixo para outros sistemas de preservação de privacidade sem exigir que o sistema subjacente seja atualizado a cada nova extensão ou alteração.

A Kachina permite que os autores do contrato preencham a lacuna entre a blockchain e as máquinas locais dos usuários – estes são representados por dois estados independentes, um estado público e privado, respectivamente. Um contrato pode atualizar o estado público na cadeia (e compartilhado) e o estado privado fora da cadeia (e local) juntos. As partes então provam com conhecimento zero que atualizam o estado público de uma maneira permissível: fornecem detalhes sobre a existência de um estado privado e insumos para os quais essa atualização faz sentido.

Os contratos da Kachina também garantem:

  • Ao mesmo tempo de uma maneira que preserva a privacidade. Kachina alcança maior simultaneidade através do novo conceito de transcrições do oráculo do estado. São registros de operações realizadas no estado do contrato que interagem com consultas oracle. Os autores do contrato podem otimizar transações conflitantes, garantindo o vazamento mínimo e ainda permitindo reordenamentos.

  • Construção modular eficiente. A Kachina foi projetado para ser implantada em escala. Trabalhos anteriores usando conhecimento zero não mantêm explicitamente um estado de contrato. Kachina permite o acesso ao estado indiretamente através de oráculos especificados pelo contrato. Esse acesso indireto garante maior escalabilidade e, como resultado, a complexidade do que deve ser comprovado está sob total controle do autor do contrato e pode ser otimizada.

No trabalho de pesquisa, a IOG demonstra a versatilidade do protocolo Kachina no estudo de caso de pagamentos privados. A equipe especifica formalmente um contrato de token privado por meio de suas funções de transição e vazamento. Este contrato oferece suporte a transferências de fundos privados, consultas de saldo e criação de ativos.

Embora o design proposto seja principalmente teórico, Kachina prova a possibilidade de criar contratos inteligentes que preservam a privacidade sob restrições da vida real:

  • O uso de oráculos de estado permite mover a maioria das operações computacionalmente difíceis ou de armazenamento intensivo para fora da prova de conhecimento zero, o que reduz seu custo.
  • Embora o sistema de prova de conhecimento zero ainda deva ser universal, as construções ZKP existem e são práticas de usar no cenário proposto.

Para mais detalhes, exemplos e exemplos de contratos, leia ‘Kachina – Fundamentos de contratos inteligentes privados ’.

Gostaria de agradecer a Thomas Kerber por sua contribuição e apoio na preparação desta postagem no blog.

Artigo original: Kachina: privacy-preserving smart contracts - IOHK Blog