A tecnologia Blockchain oferece uma estrutura segura para dados, baseada em princípios de criptografia, descentralização e consenso. Essa combinação de recursos ajuda a garantir a confiança nas transações e oferece proteção contra adulteração de dados. Nesta lição, forneceremos uma visão geral dos mecanismos de segurança na tecnologia blockchain e discutiremos como a segurança difere entre vários tipos de redes blockchain.
Leia nosso curso específico e detalhado sobre segurança: Blockchain Security: Cryptography , Consensus , Hack
Se você é novo e quer apenas um conhecimento superficial do mundo da segurança blockchain, continue lendo abaixo!
As redes Blockchain podem ser classificadas em redes públicas, privadas, com permissão e sem permissão com base na participação e acesso:
Blockchains públicos: Blockchains públicos, como o Bitcoin, permitem que qualquer pessoa se junte e participe da rede. Os participantes podem permanecer anônimos e a rede depende de computadores conectados à Internet para validar transações e obter consenso por meio de um processo chamado “mineração”. Blockchains públicos têm controles de identidade e acesso limitados.
Blockchains privados: em contraste, os blockchains privados limitam a participação a organizações conhecidas que formam uma rede privada e exclusiva para membros. Essas redes alcançam consenso por meio de “endosso seletivo”, em que usuários conhecidos validam as transações. Os controles de identidade e acesso são mais rigorosos em blockchains privados.
Blockchains sem permissão: essas redes não impõem restrições aos processadores, permitindo que qualquer participante contribua para os processos de validação e consenso da rede.
Blockchains com permissão: as redes com permissão concedem acesso apenas a um conjunto selecionado de usuários que recebem identidades usando certificados. Essas redes têm uma identidade mais robusta e controles de acesso em vigor.
Ao desenvolver um aplicativo blockchain, é essencial determinar qual tipo de rede se alinha melhor com seus objetivos de negócios. As redes privadas e autorizadas oferecem mais controle e são preferíveis por motivos regulatórios e de conformidade. Em contraste, as redes públicas e sem permissão fornecem maior descentralização e distribuição. Compreendendo os vários mecanismos de segurança e tipos de rede, você pode selecionar a rede blockchain mais adequada para sua aplicação, garantindo segurança robusta e desempenho eficiente.
As funções hash criptográficas desempenham um papel essencial para garantir a segurança na tecnologia blockchain. Nesta lição, exploraremos funções hash criptográficas, como elas funcionam e suas aplicações em vários contextos, incluindo blockchain, segurança de senha e segurança de mensagem.
Uma função de hash criptográfica é uma função matemática que recebe dados de entrada de comprimento variável e retorna uma saída de comprimento fixo, conhecida como “valor de hash”. Essas funções combinam os recursos de passagem de mensagens das funções de hash regulares com propriedades de segurança adicionais.
As funções hash criptográficas transformam um determinado conjunto de dados em uma cadeia de bits de tamanho fixo. Eles são usados em vários aplicativos, como criptomoedas, segurança de senha e segurança de mensagens.
As funções hash criptográficas são projetadas para serem seguras e fornecem as seguintes propriedades:
Proteger as chaves privadas é fundamental para manter a integridade e a confiança nos sistemas blockchain. As chaves privadas são usadas para assinar transações e, portanto, essenciais para controlar o acesso aos ativos da blockchain. No entanto, armazenar chaves privadas com segurança pode ser um desafio. Se uma chave privada for perdida ou roubada, os ativos associados a essa chave podem ficar permanentemente inacessíveis.
Uma possível solução para esse problema de confiança é o uso de cálculos multipartidários (MPCs). Os MPCs permitem a divisão de uma chave privada entre vários participantes, descentralizando seu uso. Protocolos como gerações de chaves descentralizadas (DKGs) garantem que a chave privada nunca esteja totalmente presente em nenhum lugar e, desde que um número suficiente de participantes aja honestamente, o sistema permanece seguro. Projetos como o Axelar implementam essa abordagem para permitir a interoperabilidade entre diferentes blockchains.
Contratos inteligentes de conhecimento zero, ou zkapps, oferecem uma abordagem diferente. Nesses sistemas, um detentor de chave privada pode executar a lógica associada à chave privada localmente, como assinar uma transação Bitcoin. Graças às provas de conhecimento zero (ZKPs), outras pessoas podem verificar se a chave privada foi usada corretamente de acordo com o contrato sem conhecer a própria chave privada. No entanto, essa abordagem requer confiança no detentor da chave para não vazar a chave ou usá-la de forma maliciosa.
A abstração de contas é outra técnica que pode ser usada para aumentar a segurança das chaves privadas. A abstração de conta permite que contratos inteligentes mantenham chaves privadas e executem operações de assinatura. Essa abordagem oferece maior flexibilidade na criação de contratos inteligentes e reduz o risco de perda ou roubo de chaves.
Para expandir o escopo das operações seguras de contratos inteligentes, os pesquisadores propuseram combinar o MPC com provas de conhecimento zero. Esta abordagem permite a execução de qualquer programa de forma segura e verificável (via ZKPs), com diferentes partes do programa originadas de diferentes participantes (via MPC).
Um artigo recente intitulado “Experimentando com zk-SNARKs Colaborativos: Provas de Conhecimento Zero para Segredos Distribuídos” apresenta uma solução para combinar essas duas técnicas. Embora ainda não existam implementações on-chain, prevê-se que essa inovação possa abrir novas possibilidades para blockchains programáveis.
Ao explorar e implementar soluções inovadoras, como contratos inteligentes de conhecimento zero, cálculos multipartidários e a combinação de MPC com ZKPs, podemos avançar no campo da segurança de blockchain e desbloquear novos aplicativos para essa tecnologia transformadora.
A tecnologia Blockchain oferece uma estrutura segura para dados, baseada em princípios de criptografia, descentralização e consenso. Essa combinação de recursos ajuda a garantir a confiança nas transações e oferece proteção contra adulteração de dados. Nesta lição, forneceremos uma visão geral dos mecanismos de segurança na tecnologia blockchain e discutiremos como a segurança difere entre vários tipos de redes blockchain.
Leia nosso curso específico e detalhado sobre segurança: Blockchain Security: Cryptography , Consensus , Hack
Se você é novo e quer apenas um conhecimento superficial do mundo da segurança blockchain, continue lendo abaixo!
As redes Blockchain podem ser classificadas em redes públicas, privadas, com permissão e sem permissão com base na participação e acesso:
Blockchains públicos: Blockchains públicos, como o Bitcoin, permitem que qualquer pessoa se junte e participe da rede. Os participantes podem permanecer anônimos e a rede depende de computadores conectados à Internet para validar transações e obter consenso por meio de um processo chamado “mineração”. Blockchains públicos têm controles de identidade e acesso limitados.
Blockchains privados: em contraste, os blockchains privados limitam a participação a organizações conhecidas que formam uma rede privada e exclusiva para membros. Essas redes alcançam consenso por meio de “endosso seletivo”, em que usuários conhecidos validam as transações. Os controles de identidade e acesso são mais rigorosos em blockchains privados.
Blockchains sem permissão: essas redes não impõem restrições aos processadores, permitindo que qualquer participante contribua para os processos de validação e consenso da rede.
Blockchains com permissão: as redes com permissão concedem acesso apenas a um conjunto selecionado de usuários que recebem identidades usando certificados. Essas redes têm uma identidade mais robusta e controles de acesso em vigor.
Ao desenvolver um aplicativo blockchain, é essencial determinar qual tipo de rede se alinha melhor com seus objetivos de negócios. As redes privadas e autorizadas oferecem mais controle e são preferíveis por motivos regulatórios e de conformidade. Em contraste, as redes públicas e sem permissão fornecem maior descentralização e distribuição. Compreendendo os vários mecanismos de segurança e tipos de rede, você pode selecionar a rede blockchain mais adequada para sua aplicação, garantindo segurança robusta e desempenho eficiente.
As funções hash criptográficas desempenham um papel essencial para garantir a segurança na tecnologia blockchain. Nesta lição, exploraremos funções hash criptográficas, como elas funcionam e suas aplicações em vários contextos, incluindo blockchain, segurança de senha e segurança de mensagem.
Uma função de hash criptográfica é uma função matemática que recebe dados de entrada de comprimento variável e retorna uma saída de comprimento fixo, conhecida como “valor de hash”. Essas funções combinam os recursos de passagem de mensagens das funções de hash regulares com propriedades de segurança adicionais.
As funções hash criptográficas transformam um determinado conjunto de dados em uma cadeia de bits de tamanho fixo. Eles são usados em vários aplicativos, como criptomoedas, segurança de senha e segurança de mensagens.
As funções hash criptográficas são projetadas para serem seguras e fornecem as seguintes propriedades:
Proteger as chaves privadas é fundamental para manter a integridade e a confiança nos sistemas blockchain. As chaves privadas são usadas para assinar transações e, portanto, essenciais para controlar o acesso aos ativos da blockchain. No entanto, armazenar chaves privadas com segurança pode ser um desafio. Se uma chave privada for perdida ou roubada, os ativos associados a essa chave podem ficar permanentemente inacessíveis.
Uma possível solução para esse problema de confiança é o uso de cálculos multipartidários (MPCs). Os MPCs permitem a divisão de uma chave privada entre vários participantes, descentralizando seu uso. Protocolos como gerações de chaves descentralizadas (DKGs) garantem que a chave privada nunca esteja totalmente presente em nenhum lugar e, desde que um número suficiente de participantes aja honestamente, o sistema permanece seguro. Projetos como o Axelar implementam essa abordagem para permitir a interoperabilidade entre diferentes blockchains.
Contratos inteligentes de conhecimento zero, ou zkapps, oferecem uma abordagem diferente. Nesses sistemas, um detentor de chave privada pode executar a lógica associada à chave privada localmente, como assinar uma transação Bitcoin. Graças às provas de conhecimento zero (ZKPs), outras pessoas podem verificar se a chave privada foi usada corretamente de acordo com o contrato sem conhecer a própria chave privada. No entanto, essa abordagem requer confiança no detentor da chave para não vazar a chave ou usá-la de forma maliciosa.
A abstração de contas é outra técnica que pode ser usada para aumentar a segurança das chaves privadas. A abstração de conta permite que contratos inteligentes mantenham chaves privadas e executem operações de assinatura. Essa abordagem oferece maior flexibilidade na criação de contratos inteligentes e reduz o risco de perda ou roubo de chaves.
Para expandir o escopo das operações seguras de contratos inteligentes, os pesquisadores propuseram combinar o MPC com provas de conhecimento zero. Esta abordagem permite a execução de qualquer programa de forma segura e verificável (via ZKPs), com diferentes partes do programa originadas de diferentes participantes (via MPC).
Um artigo recente intitulado “Experimentando com zk-SNARKs Colaborativos: Provas de Conhecimento Zero para Segredos Distribuídos” apresenta uma solução para combinar essas duas técnicas. Embora ainda não existam implementações on-chain, prevê-se que essa inovação possa abrir novas possibilidades para blockchains programáveis.
Ao explorar e implementar soluções inovadoras, como contratos inteligentes de conhecimento zero, cálculos multipartidários e a combinação de MPC com ZKPs, podemos avançar no campo da segurança de blockchain e desbloquear novos aplicativos para essa tecnologia transformadora.