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.

Autor: Jiji
Tradutor(a): Joy
Revisor(es): Hugo, Cecilia, Ashley
* As informações não se destinam a ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecido ou endossado pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem fazer referência à Gate.io. A violação é uma violação da Lei de Direitos de Autor e pode estar sujeita a ações legais.

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.

Autor: Jiji
Tradutor(a): Joy
Revisor(es): Hugo, Cecilia, Ashley
* As informações não se destinam a ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecido ou endossado pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem fazer referência à Gate.io. A violação é uma violação da Lei de Direitos de Autor e pode estar sujeita a ações legais.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!