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.

Tác giả: Jiji
Thông dịch viên: Joy
(Những) người đánh giá: Hugo, Cecilia, Ashley
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.

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.

Tác giả: Jiji
Thông dịch viên: Joy
(Những) người đánh giá: Hugo, Cecilia, Ashley
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500