Qual é o problema dos generais bizantinos

iniciantes11/21/2022, 7:56:16 AM
O Problema dos Generais Bizantinos é uma descrição situacional do problema do consenso distribuído.

Introdução

O Problema dos Generais Bizantinos, também conhecido como o Problema dos Dois Generais, foi proposto no artigo de Leslie Lambert sobre a tolerância a falhas da comunicação de rede peer-to-peer distribuída em 1982. Na comunicação do sistema distribuído, alguns problemas locais podem fazer com que o computador envie mensagens de erro e destrua a consistência do sistema. Portanto, o Problema dos Generais Bizantinos é essencialmente um problema de consenso na comunicação ponto a ponto.

Origem

O Problema dos Generais Bizantinos originou-se na Idade Média. Devido ao vasto território de Bizâncio, a comunicação entre exércitos depende apenas de mensageiros. Se houver um traidor deliberadamente deturpando as informações dos líderes do exército, isso levará a planos operacionais inconsistentes, resultando nas “falhas bizantinas”.

Para resolver este problema, existem duas soluções: uma é enviar mensageiros entre si por acordo oral e chegar a um consenso por maioria simples, mas é difícil distinguir potenciais traidores; a segunda é enviar mensageiros na forma de acordos escritos para entregar mensagens escritas com assinaturas exclusivas, que devem ser destacadas por cada exército, mas se a transmissão for muito lenta, as assinaturas podem ser perdidas. Como ambas as soluções podem resolver apenas parte do problema e demandam muito tempo e recursos para chegar a um consenso, elas não são úteis.

Problema dos Generais Bizantinos na Internet

O problema dos generais bizantinos na Internet significa que, no processo de transmissão do canal, pode ser difícil para alguns nós obter a sincronização de informações devido à carga de trabalho excessiva ou a alguns ataques maliciosos. Em 1999, Miguel Castro e Barbara Liskov propuseram a tolerância a falhas bizantinas (BFT). Eles acreditavam que, se dois terços dos nós do sistema funcionassem normalmente, a consistência e a correção do sistema poderiam ser garantidas. Mais tarde, Satoshi Nakamoto propôs o mecanismo de prova de trabalho (PoW) e o algoritmo criptográfico assimétrico do Bitcoin, que forneceu uma nova solução para o Problema dos Generais Bizantinos.

Tolerância a Falhas Bizantinas

Suponha que existam n generais e t traidores. Digamos que n=3, t=1, então um de A, B e C é um traidor. Se A emite o comando [ataque], mas o traidor B diz a C para [recuar], então C não pode fazer um julgamento; Se o traidor B envia o comando [ataque] para A e o comando [recuo] para C, então A e C não podem chegar a um acordo. Portanto, quando o número de traidores é maior ou igual a 1/3, o Problema dos Generais Bizantinos não pode ser resolvido.

Da mesma forma, assumindo que o número total de nós da rede é N e o número de nós maliciosos é T, o problema pode ser resolvido apenas quando N>=3T+1, ou seja, o número de nós normais na rede é pelo menos ( 2/3) N, de forma a garantir a consistência da informação. Na comunicação de rede confiável, a tolerância a falhas bizantina pode resolver o problema de falha de nó até certo ponto, para que o sistema possa chegar a um consenso.

Mecanismo de Prova de Trabalho (PoW)

Suponha que o general A emita primeiro o comando [ataque] e anexe sua assinatura. Depois de recebê-lo, se outros generais também planejam atacar, eles seguirão o comando [ataque] e sua assinatura após o comando do general A. Se A não executar o comando [ataque] depois que A o enviar, outros generais podem julgar A como um traidor e usá-lo para distinguir a informação correta.

Da mesma forma, vários nós participantes obterão um resultado por meio de uma série de trabalhos, e o primeiro nó que obtiver o resultado o transmitirá para toda a rede. Se o resultado estiver correto, outros nós adicionarão o resultado a seus próprios livros para se preparar para o cálculo, a fim de ganhar o direito de registrar transações no blockchain.

Um Hacker deve ter mais de 51% de poder de computação para destruir a segurança da rede ou publicar blocos falsos. O custo é muito maior do que o retorno. Portanto, esse mecanismo pode reduzir a possibilidade de informações falsas e fazer com que o sistema chegue a um consenso mais rapidamente.

Algoritmos de chave assimétrica

A criptografia e a descriptografia dos algoritmos de chave assimétrica precisam de duas chaves secretas separadas - chave pública e chave privada, que geralmente aparecem em pares. Se A deseja enviar uma mensagem para B, A precisa da chave pública de B para criptografar as informações e B precisa de sua própria chave privada para descriptografar as informações. Se B quiser mostrar sua identidade, ele pode assinar a chave privada, escrever um “texto de assinatura” e transmiti-lo. Outros podem verificar sua identidade de acordo com a chave pública de B.

Como a identidade e a assinatura não podem ser falsificadas, os algoritmos de chave assimétrica garantem a privacidade da transmissão e a assinatura confiável.

Autor: Jiji
Tradutor: Joy
Revisores: Hugo, Cecilia, Ashley
* As informações não pretendem ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecida ou endossada pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem referência à Gate.io. A contravenção é uma violação da Lei de Direitos Autorais e pode estar sujeita a ação legal.

Qual é o problema dos generais bizantinos

iniciantes11/21/2022, 7:56:16 AM
O Problema dos Generais Bizantinos é uma descrição situacional do problema do consenso distribuído.

Introdução

O Problema dos Generais Bizantinos, também conhecido como o Problema dos Dois Generais, foi proposto no artigo de Leslie Lambert sobre a tolerância a falhas da comunicação de rede peer-to-peer distribuída em 1982. Na comunicação do sistema distribuído, alguns problemas locais podem fazer com que o computador envie mensagens de erro e destrua a consistência do sistema. Portanto, o Problema dos Generais Bizantinos é essencialmente um problema de consenso na comunicação ponto a ponto.

Origem

O Problema dos Generais Bizantinos originou-se na Idade Média. Devido ao vasto território de Bizâncio, a comunicação entre exércitos depende apenas de mensageiros. Se houver um traidor deliberadamente deturpando as informações dos líderes do exército, isso levará a planos operacionais inconsistentes, resultando nas “falhas bizantinas”.

Para resolver este problema, existem duas soluções: uma é enviar mensageiros entre si por acordo oral e chegar a um consenso por maioria simples, mas é difícil distinguir potenciais traidores; a segunda é enviar mensageiros na forma de acordos escritos para entregar mensagens escritas com assinaturas exclusivas, que devem ser destacadas por cada exército, mas se a transmissão for muito lenta, as assinaturas podem ser perdidas. Como ambas as soluções podem resolver apenas parte do problema e demandam muito tempo e recursos para chegar a um consenso, elas não são úteis.

Problema dos Generais Bizantinos na Internet

O problema dos generais bizantinos na Internet significa que, no processo de transmissão do canal, pode ser difícil para alguns nós obter a sincronização de informações devido à carga de trabalho excessiva ou a alguns ataques maliciosos. Em 1999, Miguel Castro e Barbara Liskov propuseram a tolerância a falhas bizantinas (BFT). Eles acreditavam que, se dois terços dos nós do sistema funcionassem normalmente, a consistência e a correção do sistema poderiam ser garantidas. Mais tarde, Satoshi Nakamoto propôs o mecanismo de prova de trabalho (PoW) e o algoritmo criptográfico assimétrico do Bitcoin, que forneceu uma nova solução para o Problema dos Generais Bizantinos.

Tolerância a Falhas Bizantinas

Suponha que existam n generais e t traidores. Digamos que n=3, t=1, então um de A, B e C é um traidor. Se A emite o comando [ataque], mas o traidor B diz a C para [recuar], então C não pode fazer um julgamento; Se o traidor B envia o comando [ataque] para A e o comando [recuo] para C, então A e C não podem chegar a um acordo. Portanto, quando o número de traidores é maior ou igual a 1/3, o Problema dos Generais Bizantinos não pode ser resolvido.

Da mesma forma, assumindo que o número total de nós da rede é N e o número de nós maliciosos é T, o problema pode ser resolvido apenas quando N>=3T+1, ou seja, o número de nós normais na rede é pelo menos ( 2/3) N, de forma a garantir a consistência da informação. Na comunicação de rede confiável, a tolerância a falhas bizantina pode resolver o problema de falha de nó até certo ponto, para que o sistema possa chegar a um consenso.

Mecanismo de Prova de Trabalho (PoW)

Suponha que o general A emita primeiro o comando [ataque] e anexe sua assinatura. Depois de recebê-lo, se outros generais também planejam atacar, eles seguirão o comando [ataque] e sua assinatura após o comando do general A. Se A não executar o comando [ataque] depois que A o enviar, outros generais podem julgar A como um traidor e usá-lo para distinguir a informação correta.

Da mesma forma, vários nós participantes obterão um resultado por meio de uma série de trabalhos, e o primeiro nó que obtiver o resultado o transmitirá para toda a rede. Se o resultado estiver correto, outros nós adicionarão o resultado a seus próprios livros para se preparar para o cálculo, a fim de ganhar o direito de registrar transações no blockchain.

Um Hacker deve ter mais de 51% de poder de computação para destruir a segurança da rede ou publicar blocos falsos. O custo é muito maior do que o retorno. Portanto, esse mecanismo pode reduzir a possibilidade de informações falsas e fazer com que o sistema chegue a um consenso mais rapidamente.

Algoritmos de chave assimétrica

A criptografia e a descriptografia dos algoritmos de chave assimétrica precisam de duas chaves secretas separadas - chave pública e chave privada, que geralmente aparecem em pares. Se A deseja enviar uma mensagem para B, A precisa da chave pública de B para criptografar as informações e B precisa de sua própria chave privada para descriptografar as informações. Se B quiser mostrar sua identidade, ele pode assinar a chave privada, escrever um “texto de assinatura” e transmiti-lo. Outros podem verificar sua identidade de acordo com a chave pública de B.

Como a identidade e a assinatura não podem ser falsificadas, os algoritmos de chave assimétrica garantem a privacidade da transmissão e a assinatura confiável.

Autor: Jiji
Tradutor: Joy
Revisores: Hugo, Cecilia, Ashley
* As informações não pretendem ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecida ou endossada pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem referência à Gate.io. A contravenção é uma violação da Lei de Direitos Autorais e pode estar sujeita a ação legal.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!