Qual é o problema dos generais bizantinos

Principiante11/21/2022, 10:21:06 AM
O Problema dos Generais Bizantinos é uma descrição situacional do problema de consensos distribuídos.

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 das comunicações de rede distribuídas ponto a ponto 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 teve origem na Idade Média. Devido ao vasto território de Bizâncio, a comunicação entre exércitos só pode contar com mensageiros. Se houver um traidor deliberadamente deturpando a informação 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 os potenciais traidores; o segundo é enviar mensageiros sob a forma de acordos escritos para entregar mensagens escritas com assinaturas exclusivas, que devem ser secundadas por cada exército, mas se a transmissão for muito lenta, as assinaturas podem ser perdidas. Como as duas soluções só podem resolver parte do problema, e leva muito tempo e recursos para chegar a um consenso, 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 de canais, pode ser difícil para alguns nós conseguir a sincronização da informação devido à carga de trabalho excessiva ou a alguns ataques mal-intencionados. Em 1999, Miguel Castro e Barbara Liskov propuseram a Tolerância Bizantina a Falhas (BFT). Acreditavam que se dois terços dos nós no sistema funcionassem normalmente, a consistência e correção do sistema poderiam ser garantidas. Mais tarde, Satoshi Nakamoto propôs o mecanismo de prova do trabalho (PoW) e o algoritmo criptográfico assimétrico da Bitcoin, que forneceu uma nova solução para o Problema dos Generais Bizantinos.

Tolerância a Falhas Bizantinas

Suponhamos que existem n generais e t traidores. Digo n=3, t=1, então um de A, B e C é um traidor. Se A emitir o comando [ataque], mas o traidor B diz a C para [recuo], então C não pode fazer um julgamento; Se o traidor B enviar o comando [ataque] para A e [retiro] comando 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, partindo do princípio que o número total de nós de rede é N e o número de nós mal-intencionados é T, o problema só pode ser resolvido quando N> =3T+1, ou seja, o número de nós normais na rede é pelo menos (2/3) N, para garantir a consistência da informação. Em uma comunicação de rede fiável, a Tolerância a Falhas Bizantina pode resolver o problema de falha nos nós até certo ponto, para que o sistema possa chegar a um consenso.

Mecanismo de prova de trabalho (PoW)

Imagine que o geral A primeiro emite o comando [attack] e anexa a sua assinatura. Depois de o receberem, se outros generais também planeiam atacar, eles seguirão o comando [ataque] e a sua assinatura depois do comando do general A. Se A não executar o comando [ataque] depois de A enviá-lo, outros generais podem julgar A como traidor e usá-lo para distinguir a informação certa.

Da mesma forma, vários nós participantes terão um resultado através de uma série de trabalho e o primeiro nó que receber o resultado transmitirá para toda a rede. Se o resultado estiver correto, os outros nós adicionarão o resultado nos seus próprios registos para se prepararem para o cálculo a fim de ganhar o direito de gravar transações na blockchain.

Um hacker deve ter mais de 51% de poder computacional para destruir a segurança da rede ou publicar blocos falsos. O custo é muito maior que o retorno. Portanto, este mecanismo pode reduzir a possibilidade de informações falsas e fazer o sistema chegar a um consenso mais rápido.

Algoritmos de chaves assimétricas

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

Porque a identidade e a assinatura não podem ser falsificados, os algoritmos de chaves assimétricas asseguram a privacidade da transmissão e a assinatura confiável.

Author: Jiji
Translator: Joy
Reviewer(s): Hugo, Cecilia, Ashley
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

Qual é o problema dos generais bizantinos

Principiante11/21/2022, 10:21:06 AM
O Problema dos Generais Bizantinos é uma descrição situacional do problema de consensos distribuídos.

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 das comunicações de rede distribuídas ponto a ponto 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 teve origem na Idade Média. Devido ao vasto território de Bizâncio, a comunicação entre exércitos só pode contar com mensageiros. Se houver um traidor deliberadamente deturpando a informação 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 os potenciais traidores; o segundo é enviar mensageiros sob a forma de acordos escritos para entregar mensagens escritas com assinaturas exclusivas, que devem ser secundadas por cada exército, mas se a transmissão for muito lenta, as assinaturas podem ser perdidas. Como as duas soluções só podem resolver parte do problema, e leva muito tempo e recursos para chegar a um consenso, 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 de canais, pode ser difícil para alguns nós conseguir a sincronização da informação devido à carga de trabalho excessiva ou a alguns ataques mal-intencionados. Em 1999, Miguel Castro e Barbara Liskov propuseram a Tolerância Bizantina a Falhas (BFT). Acreditavam que se dois terços dos nós no sistema funcionassem normalmente, a consistência e correção do sistema poderiam ser garantidas. Mais tarde, Satoshi Nakamoto propôs o mecanismo de prova do trabalho (PoW) e o algoritmo criptográfico assimétrico da Bitcoin, que forneceu uma nova solução para o Problema dos Generais Bizantinos.

Tolerância a Falhas Bizantinas

Suponhamos que existem n generais e t traidores. Digo n=3, t=1, então um de A, B e C é um traidor. Se A emitir o comando [ataque], mas o traidor B diz a C para [recuo], então C não pode fazer um julgamento; Se o traidor B enviar o comando [ataque] para A e [retiro] comando 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, partindo do princípio que o número total de nós de rede é N e o número de nós mal-intencionados é T, o problema só pode ser resolvido quando N> =3T+1, ou seja, o número de nós normais na rede é pelo menos (2/3) N, para garantir a consistência da informação. Em uma comunicação de rede fiável, a Tolerância a Falhas Bizantina pode resolver o problema de falha nos nós até certo ponto, para que o sistema possa chegar a um consenso.

Mecanismo de prova de trabalho (PoW)

Imagine que o geral A primeiro emite o comando [attack] e anexa a sua assinatura. Depois de o receberem, se outros generais também planeiam atacar, eles seguirão o comando [ataque] e a sua assinatura depois do comando do general A. Se A não executar o comando [ataque] depois de A enviá-lo, outros generais podem julgar A como traidor e usá-lo para distinguir a informação certa.

Da mesma forma, vários nós participantes terão um resultado através de uma série de trabalho e o primeiro nó que receber o resultado transmitirá para toda a rede. Se o resultado estiver correto, os outros nós adicionarão o resultado nos seus próprios registos para se prepararem para o cálculo a fim de ganhar o direito de gravar transações na blockchain.

Um hacker deve ter mais de 51% de poder computacional para destruir a segurança da rede ou publicar blocos falsos. O custo é muito maior que o retorno. Portanto, este mecanismo pode reduzir a possibilidade de informações falsas e fazer o sistema chegar a um consenso mais rápido.

Algoritmos de chaves assimétricas

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

Porque a identidade e a assinatura não podem ser falsificados, os algoritmos de chaves assimétricas asseguram a privacidade da transmissão e a assinatura confiável.

Author: Jiji
Translator: Joy
Reviewer(s): Hugo, Cecilia, Ashley
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!