Uma breve introdução à criptografia
Sua aplicação em Blockchain e principais ferramentas na proteção de chaves privadas.
EM RESUMO: Noções e aplicações da criptografia. Uso de ferramentas criptográficas para proteção de chaves privadas. MPC vs. Multi-Sig.
Origem e noção da criptografia
O campo da criptografia oferece a seus usuários um método para:
enviar mensagens que somente o receptor pretendido da mensagem entenderá
impedir que terceiros não autorizados as leiam em caso de interceptação
verificar a autenticidade e a integridade de mensagens digitais de um remetente conhecido
Embora a criptografia remonte aos antigos egípcios, um dos exemplos modernos mais famosos é a máquina Enigma - um dispositivo usado pelos alemães para enviar mensagens criptografadas durante a Segunda Guerra Mundial, que foi finalmente decifrado pelo matemático britânico Alan Turing.
Porque criptografia é importante?
Enquanto antigamente a criptografia era principalmente preocupação de agências governamentais e militares, na era da Internet a criptografia desempenha um papel cada vez mais central na maneira como todos nós transferimos informações.
Embora a ideia por trás da criptografia possa parecer simples, o campo inclui uma matemática extremamente complexa.
Como a criptografia funciona?
Em essência, as mensagens são embaralhadas, ou "criptografadas", por uma receita secreta (ou algoritmo) que oculta as informações contidas nelas. Dessa forma, se a mensagem criptografada for roubada ou interceptada por um terceiro mal-intencionado ou não confiável, ele não conseguirá entender, ver ou alterar as informações contidas na mensagem.
Em vez disso, a única pessoa que pode ler a mensagem corretamente é aquela que sabe como a mensagem foi criptografada e, portanto, tem a chave para decifrá-la.
Mensagem criptografada: HZZO HZ VO OCZ KJNO JAADXZ
Algoritmo secreto: *Use a letra que está cinco letras antes da letra da "mensagem real".
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Mensagem descriptografada: ME ENCONTRE NA AGÊNCIA DOS CORREIOS
Essa "cifra de César" utiliza matemática muito simples para demonstrar o conceito de criptografia. No entanto, sabe-se que ela pode ser quebrada. Para criptografar informações de forma segura, é necessária uma matemática mais avançada.
Papel da criptografia em Blockchain
No mundo do blockchain, a "mensagem" que está sendo transferida é um ativo digital, e a "chave" para esse ativo digital é essencialmente a ferramenta de descriptografia usada para receber esse ativo digital.
Essa chave em si - conhecida como "chave privada", pois o acesso a um ativo digital requer uma chave criptográfica conhecida publicamente e uma chave privada relacionada - deve ser mantida em segurança, pois qualquer pessoa que conheça a chave privada pode transferir o ativo para sua própria carteira.
Principais ferramentas para proteger chaves privadas
Existem várias ferramentas utilizadas para proteger chaves privadas. Tendo em conta o conteúdo desta Newsletter, vale a pena nos aprofundarmos em duas delas:
MPC
Multi-Sig.
MPC Vs Multi-Sig
As duas opções mais comuns em termos de tecnologia para proteção de chaves privadas são a multiassinatura e a criptografia de senha mestra (MPC). É necessário um entendimento básico das tecnologias antes de destacar as diferenças entre a Multi-Sig e a MPC.
Entendendo a Multi-Sig
A assinatura múltipla [Multi-Sig] refere-se a um processo de assinatura digital que permite que vários usuários assinem uma única transação em nome do grupo. Cada endereço de assinatura múltipla é frequentemente associado a várias chaves privadas. Quando o Bitcoin introduziu uma alternativa aos endereços de chave única em 2012, os endereços com várias assinaturas ganharam destaque.
No mesmo período, outro tipo de endereço chamado Pay-To-Script-Hash (P2SH) tornou-se evidente. Além disso, o processo P2SH exigia consistência, com a identificação atingível ao garantir que eles começassem com um "3" em vez de um "1". Quando se trata de endereços P2SH, o recurso mais interessante é a capacidade de impor transações com várias chaves privadas.
A maneira mais comum de armazenar ativos digitais era usar uma única chave privada antes do desenvolvimento das carteiras Multi-Sig. Os ativos digitais associados a uma chave específica podem ser acessados por pessoas que possuem a chave privada.
Por meio das carteiras com várias assinaturas, foi introduzida uma camada adicional de segurança, exigindo assinaturas de várias chaves.
A abordagem da carteira digital [wallets] com várias assinaturas parece oferecer soluções confiáveis para muitos dos problemas associados às wallets com uma única assinatura.
Além disso, as carteiras com várias assinaturas têm uma desvantagem na forma de dependência de protocolo.
Para entender a computação multipartidária (MPC) e a assinatura múltipla, é preciso entender por que ela foi introduzida.
- Falha na assinatura múltipla [Multi-Sig]: De onde veio?
Alguns protocolos de criptografia não funcionam bem com a Multi-Sig. Consequentemente, os provedores de wallets com Multi-Sig enfrentam muitas dificuldades para oferecer suporte a novas redes.
Para implementar a solução de várias assinaturas na rede, os fornecedores de wallets precisam implementar códigos diferentes.
De outro lado, implementações fracassadas de Multi-Sig podem causar grandes problemas. Por exemplo, uma carteira Ethereum de US$ 30 milhões foi hackeada porque foi usada uma implementação inadequada da Wallet Multi-Sig Parity. Uma das carteiras Parity também foi hackeada, causando a perda de quase US$ 300.000 em ativos digitais para alguns usuários.
Além disso, as abordagens de Multi-Sig não podiam oferecer a flexibilidade operacional desejada para permitir o crescimento de uma organização. Os métodos pelos quais os usuários acessam e transferem ativos digitais devem evoluir à medida que a empresa cresce.
Uma opção seria alterar o número de funcionários necessários para assinar uma transação. Além de adicionar novos compartilhamentos de chaves com a entrada de novos funcionários, a revogação de compartilhamentos de chaves com a saída de funcionários pode ser outro cenário.
Há desvantagens significativas associadas aos endereços com várias assinaturas [Multi-Sigs] nesses cenários.
Entendendo a MPC (Multiparty Computation) ou computação multipartidária
A segurança de chaves privadas é um dos principais desafios existentes atualmente. A computação multipartidária foi pensada como uma possível solução para resolver esse problema.
A ideia de uma única chave privada desaparece com a computação multipartidária porque ela não envolve a coleta de uma única chave privada em sua totalidade.
Isto é, no momento em que você cria a carteira digital [wallet] ou quando cria sua assinatura, você não tem uma única chave privada.
Como resultado, as chaves privadas - que costumam ficar vulneráveis devido a um ponto único de falha - deixam de sê-lo devido à Computação Multipartidária. Como? A MPC usa os seguintes procedimentos para eliminar os problemas relacionados a um ponto único de falha:
os segredos individuais de cada ponto de extremidade nunca são compartilhados entre eles, pois são aleatórios.
os pontos de extremidade que participam do protocolo de construção de uma carteira descentralizada podem computar o endereço da carteira ou a chave pública associada a cada grupo de compartilhamentos privados individuais.
sempre que uma transação de blockchain exigir uma assinatura, pelo menos três pontos de extremidade (3, no mínimo) deverão participar de um processo de assinatura distribuída.
a validação da transação e a política de segurança, seguida de sua assinatura, são realizadas separadamente e necessárias em todos os pontos de extremidade.
Considerando o fato de que a chave privada nunca fica em um dispositivo específico em um momento específico, o MPC pode fornecer uma camada adicional de proteção para a chave privada.
Além disso, a natureza distribuída da computação multipartidária oferece aos membros da equipe a capacidade de estabelecer uma política de segurança para a chave privada.
Diferenças entre assinatura múltipla e MPC
Entender como funcionam as técnicas de computação multipartidária e de assinatura múltipla pode ajudá-lo a compreender a segurança de chaves privadas.
Certamente, você pode encontrar a resposta para a pergunta "A multiassinatura é mais segura?". Considerando a camada de segurança adicional que a computação multipartidária oferece.
Em comparação com as abordagens de Assinatura Múltipla [Multi-Sig] e Computação Multipartidária [MPC], o aspecto de segurança é um dos pontos de referência mais importantes. Entretanto, vários outros aspectos podem ser comparados. Vamos examinar alguns deles aqui.
Adaptabilidade
De fato, em uma comparação entre o MPC e o Multi-Sig, a compatibilidade deve ser um dos aspectos mais importantes. A má notícia sobre o Multi-Signature é que ele só é compatível com um número limitado de protocolos de blockchain. Uma computação multipartidária, por outro lado, é totalmente independente de blockchains e pode ser usada com praticamente qualquer livro-razão. Além disso, a abordagem de assinatura múltipla não oferece suporte adequado a aplicativos descentralizados ou serviços DeFi. Um endereço MPC, por outro lado, é simples e pode ser usado com praticamente qualquer tipo de aplicativo descentralizado, seja ele da Web ou de desktop.
Além disso, a computação multipartidária tem a vantagem de ser fácil de implementar em um dispositivo de desktop, móvel ou servidor, oferecendo políticas flexíveis para autorização. Nesse caso, somente os endereços de blockchain poderiam ser acessados pelo módulo de segurança de hardware. As alterações na infraestrutura não teriam nenhum impacto sobre os operadores de HSM. As carteiras com várias assinaturas, no entanto, podem representar um problema para os HSMs devido à sua incapacidade de oferecer suporte a protocolos de blockchain.
Privacidade
Com relação à resposta à pergunta "Qual é a diferença entre MPC e Multi-Sig?", a privacidade é outro fator crucial a ser considerado. Um usuário de assinatura múltipla pode rastrear e identificar transações com seu endereço e relacioná-las à sua identidade se as compartilhar com alguém ou na Internet.
A computação multipartidária, no entanto, faz uso de informações secretas na assinatura de transações. Sabe-se que os segredos são visíveis para os participantes, mas eles não sabem quem os possui. Nesta publicação, descreverei os processos da computação multipartidária, o que o ajudará a entender as implicações da privacidade.
As notificações são enviadas aos usuários sobre transações específicas
Passar pelo processo de autenticação de vários fatores
Examinar a transação cuidadosamente
A validação ou o cancelamento da transação deve ocorrer
Os segredos em computações multipartidárias tornam difícil saber quais são usados para assinar uma transação específica. Mesmo que o anonimato possa ser um obstáculo significativo para a adoção generalizada da MPC em ambientes corporativos, ela ainda oferece muito valor.
Versatilidade
Quando a computação multipartidária é definida, a pergunta "A multiassinatura é mais segura" nunca é respondida. A computação multipartidária acrescenta uma camada adicional de segurança à criptografia de chave privada, fornecendo vários verificadores para assinar transações. No entanto, os cálculos multipartidários oferecem a flexibilidade desejada? Sempre que um endereço é alterado ao usar a abordagem de assinatura múltipla, o código deve ser modificado.
Por causa disso, as empresas precisam aproveitar os serviços de TI de terceiros para as tarefas cotidianas de TI, além de investimentos adicionais de tempo e dinheiro. Além disso, o multi-sig também apresenta uma questão problemática, pois restringe a capacidade de oferecer suporte a políticas de autorização de quorum. Como resultado, você pode ter um número ilimitado de partes no quorum. Uma transação pode ser assinada usando qualquer uma das seguintes regras: a quantia de dinheiro, o tipo de pagamento, a localização geográfica e quaisquer outros fatores que você escolher.
Aceleração
Ao aprender sobre transações com várias assinaturas, você perceberá que elas exigem assinaturas e confirmações na cadeia. Portanto, as transações com várias assinaturas são claramente desvantajosas quando comparadas às transações com várias assinaturas com base na velocidade. Ao usar uma abordagem fora da cadeia para a computação multipartidária, a velocidade das transações pode ser aumentada. No caso de transações com várias assinaturas, os scripts precisam incluir mais dados para incluir metadados referentes a cada signatário.
Dessa forma, o tempo necessário para processar um novo bloco aumenta, assim como o custo final para o usuário final.
Por outro lado, os usuários processam seus segredos de forma independente usando uma abordagem de computação multipartidária, garantindo assim que os dispositivos estejam sempre disponíveis.
A assinatura de transação anônima de segredos na computação multipartidária é suportada. Além disso, a falta de dados também garante uma diminuição plausível dos custos e do tempo de transação.
Isso é tudo, por hoje.
O assunto é vasto e, por isso, continuaremos alertas para te trazer informações de ponta, em linguagem fácil e acessível.
Enquanto isso, mantenha-se curioso, continue aprendendo e aprofunde-se nas principais notícias e conceitos sobre blockchain, Web3 e outras tecnologias de núcleo.
A jornada está apenas começando. Espero te ver em breve!
Muito esclarecedor!
Segue uma pequena colaboração fruto de um trabalho antigo:
https://www.instagram.com/p/CMXWGUQnhcv/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==