Author

Topic: [Teoria da conspiração] 51% attack (Read 232 times)

legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
February 15, 2018, 12:01:25 AM
#13
Puxa...

Eu li as explicações de sexta-feira. Compreendi a utilização do consenso para ignorar operações realizadas.

Invariavelmente imaginei que haveria algum componente/limite temporal que pudesse inibir esse tipo de ataque - pra falar a verdade, ainda não consegui elaborar a pergunta de maneira precisa. Quando estiver formulada, retorno para tentar solucionar a dúvida.

Uma carteira não tem como diferenciar um ataque de 51% de um retorno a normalidade após um ataque de 51%. Por exemplo, eu ligo minha carteira agora e começo a baixar a blockchain. Eu me conecto a um "node" que pertence ao atacante. Baixo a blockchain "falsa". De Repente eu me conecto a outro node, que não é do atacante e a blockchain dele é a "original". Qual das duas eu baixo? Se houver um limite temporal, eu ainda vou ser forçado a manter a chain do atacante (porque  pra mim ela é mais antiga) pra sempre. Mesmo depois do ataque ser mitigado. Sem o limite temporal, depois de mitigar o ataque (por exemplo, os mineradores trocarem de pool para uma que tenha menos hashrate, tirando da pool maliciosa os 51% de poder de processamento) a chain "benigna" volta a crescer e se torna a principal novamente.

Existem "checkpoints" no código da carteira para evitar reorgs muito longas, mas esses checkcpoints não fazem parte do protocolo e se alguem estiver usando carteiras mais antigas que não possuem um determinado checkpoint ainda, um ataque pode causar um "split" na blockchain.
jr. member
Activity: 70
Merit: 4
O Papa Francisco
February 14, 2018, 08:36:56 AM
#12
Puxa...

Eu li as explicações de sexta-feira. Compreendi a utilização do consenso para ignorar operações realizadas.

Invariavelmente imaginei que haveria algum componente/limite temporal que pudesse inibir esse tipo de ataque - pra falar a verdade, ainda não consegui elaborar a pergunta de maneira precisa. Quando estiver formulada, retorno para tentar solucionar a dúvida.
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
February 09, 2018, 09:24:32 PM
#11
Muito boas suas explicações @girino, eu apenas gostaria de adicionar uma explicação do Andreas Antonopoulos sobre o ataque de 51%, onde ele diz o seguinte:

"Para que você consiga realizar um ataque de 51% na rede você não precisa apenas de 51% da rede, mas você precisaria fazer com que coincida com um update do sistema, assim fazendo com que a maioria da cadeia mova para uma versão diferente do protocolo, para uma versão diferente do sistema. E este cenário é impossível."

Agora pra mim a parte mais legal,

"E a razão para que isso seja impossível é porque, não é apenas os mineradores que possuem partes no sistema de consenso, especialmente quando estamos falando sobre mudanças no protocolo. Os mineradores podem afetar o que é o bloco mais longe, mas para afetar qual é a escolha prevalecente do software, eles precisam persuadir os usuários a mudar, eles precisam persuadir as web wallets, o que representa milhões de usuários para mudar, e eles precisam persuadir os comerciantes a mudar. Se os mineradores querem mudar a direção do protocolo para um caminho que os usuários não desejam ir, eles irão estar em uma cadeia majoritária, mas eles vão se encontrar em uma cadeia majoritária vazia de transações. Porque todos os usuários irão permanecer atrás. Uma cadeia minoritária com transações atuais e comerciantes é uma cadeia majoritária, porque é aonde o valor está."

Essa explicação dele é de outro problema: usar um ataque de 51% para forçar um hard fork.

Usar ataque de 51% par forçar gasto duplo independe de mudanças no sistema de consenso. É exatamente o contrário, eles vão se aproveitar do sistema de consenso para "apagar" transações antigas.

Tem outros problemas nos ataques de 51% para gasto duplo (desvalorização da moeda, rastreabilidade da transação, etc),, mas nenhum deles é relacionado com a mudança do sistema de consenso ou atualização do software.
jr. member
Activity: 47
Merit: 4
February 09, 2018, 08:57:50 PM
#10
Muito boas suas explicações @girino, eu apenas gostaria de adicionar uma explicação do Andreas Antonopoulos sobre o ataque de 51%, onde ele diz o seguinte:

"Para que você consiga realizar um ataque de 51% na rede você não precisa apenas de 51% da rede, mas você precisaria fazer com que coincida com um update do sistema, assim fazendo com que a maioria da cadeia mova para uma versão diferente do protocolo, para uma versão diferente do sistema. E este cenário é impossível."

Agora pra mim a parte mais legal,

"E a razão para que isso seja impossível é porque, não é apenas os mineradores que possuem partes no sistema de consenso, especialmente quando estamos falando sobre mudanças no protocolo. Os mineradores podem afetar o que é o bloco mais longe, mas para afetar qual é a escolha prevalecente do software, eles precisam persuadir os usuários a mudar, eles precisam persuadir as web wallets, o que representa milhões de usuários para mudar, e eles precisam persuadir os comerciantes a mudar. Se os mineradores querem mudar a direção do protocolo para um caminho que os usuários não desejam ir, eles irão estar em uma cadeia majoritária, mas eles vão se encontrar em uma cadeia majoritária vazia de transações. Porque todos os usuários irão permanecer atrás. Uma cadeia minoritária com transações atuais e comerciantes é uma cadeia majoritária, porque é aonde o valor está."



legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
February 07, 2018, 10:04:46 PM
#9
(...)
De repente, cresci tanto que atingi esses 51% e resolvo fazer o ataque... consegui, ter mais sucesso que os outros e começaria a avacalhar o sistema, lançando blocos incorretos, com gastos duplos...

Entendo que, a partir daí, haveria questões a serem enfrentadas: de um lado, bastaria que qualquer outra pessoa conseguisse, posteriormente, efetuar a prova de trabalho antes de mim e lançar um novo bloco correto na rede, caso em que meu bloco (ou blocos) ilegítimo seria ignorado pelo minerador e demais fullnodes (correto?)... a corrente de blocos seguiria, então, a partir do bloco imediatamente anterior àquele incorreto que lancei... aquele meu trabalho não seria digno de credibilidade - penso que mesmo a minoria não iria querer seguir a mim, pois, mesmo tendo 51%, apresento transações incorretas, e seus trabalhos, lançados após meu bloco inválido, serão igualmente ignorados (aliás, daí dizerem ser razoável se esperar a inserção de "seis blocos ou uma hora", para verificar se há segurança na concretização da operação por meio do consenso)... (correto?)
(...)

O erro está nessa frase: "lançando blocos incorretos, com gastos duplos". Os blocos NÃO SÃO incorretos. São pelo contrário, corretíssimos! Se você gerar blocos incorretos você realmente cairá nessa situação descrita.

A ideia do ataque de 51% é gerar uma nova cadeia, TOTALMENTE CORRETA, mais longa que a "principal" e que não contenha as transações que você pretende fazer gasto duplo. Dessa forma você está "apagando" as transações que já foram feitas ou substituindo elas por outras de sua preferencia.

Por exemplo:
- Eu quero comprar um carro!
- Envio, sei-la, 2 BTC para a concessionária. Digamos que o txid seja "1234ABCD".
-- Nesse momento eu inicio o ataque e coloco meus mineradores em modo de ataque, eles vão continuar minerando, sem nunca incluir a transação "1234ABCD", e tomando o cuidado de esperar sempre um novo bloco ser gerado pelos outros mineradores antes de publicar um dos meus blocos. Assim eu construo uma cadeia "quase" do mesmo tamanho que a cadeia principal, mas que está sempre órfã porque é publicada sempre "depois" da principal.
- A concessionária espera 6 confirmações e me entrega o carro.
- Eu concluo o ataque publicando minha cadeia completa, que eu estava publicando "aos poucos" pra evitar detecção.
-- A rede sofre uma "reorg" e os meus blocos publicados que estavam "órfãos" passam a ser a cadeia principal, mais longa. A transação "1234ABCD" que eu evitei incluir nos meus blocos "desaparece", mesmo já tendo 6 confirmações. Os 2 BTC voltam pra minha carteira.

Em nenhum momento foi gerado um bloco "incorreto", todos os blocos foram corretos, apenas não incluíam a minha transação que eu quero "apagar". Nenhum full node consegue diferenciar qual bloco é o atacante e qual é o "normal" pois ambos são corretos. tendo duas cadeias de blocos "corretas", ele vai seguir a regra de consenso e aceitar a cadeia mais longa.
jr. member
Activity: 70
Merit: 4
O Papa Francisco
February 07, 2018, 07:40:51 PM
#8
Se me permitem, newbie, dar uma opinião (aliás, para ver se está certo hehehehe), penso que não compensa...

Imaginemos que eu que atuasse na área: mineração, ganhando bitcoins, vendendo e reinvestindo nesta sinergia, construindo assim todo meu aparato empresarial - toda ele baseada na confiança do sistema, de que os blocos por mim agregados à cadeia estão em conformidade com as regras (de outra forma, são ignorados, correto?) - e assim viria crescendo no mercado...

De repente, cresci tanto que atingi esses 51% e resolvo fazer o ataque... consegui, ter mais sucesso que os outros e começaria a avacalhar o sistema, lançando blocos incorretos, com gastos duplos...

Entendo que, a partir daí, haveria questões a serem enfrentadas: de um lado, bastaria que qualquer outra pessoa conseguisse, posteriormente, efetuar a prova de trabalho antes de mim e lançar um novo bloco correto na rede, caso em que meu bloco (ou blocos) ilegítimo seria ignorado pelo minerador e demais fullnodes (correto?)... a corrente de blocos seguiria, então, a partir do bloco imediatamente anterior àquele incorreto que lancei... aquele meu trabalho não seria digno de credibilidade - penso que mesmo a minoria não iria querer seguir a mim, pois, mesmo tendo 51%, apresento transações incorretas, e seus trabalhos, lançados após meu bloco inválido, serão igualmente ignorados (aliás, daí dizerem ser razoável se esperar a inserção de "seis blocos ou uma hora", para verificar se há segurança na concretização da operação por meio do consenso)... (correto?)

Ainda não desenrolei o raciocínio até o final, mas penso que haveria um problema se eu ficasse insistindo nisso - se, mesmo após meu trabalho haver sido ignorado, eu continuasse a apresentar a prova de trabalho antes dos demais e lançando blocos ilegais. Acredito que, no máximo, eu conseguiria emperrar o trabalho daqueles que querem seguir corretamente - eles teriam de "esperar" eu não conseguir lançar a prova de trabalho primeiro para poderem seguir em frente. Seria ruim para todo mundo.

Invariavelmente, penso que pra todo mundo, seria melhor que eu (o poderoso dos 51%) deixasse isso de lado - seria interessante que eu andasse na linha e seguisse as regras. Seria bom para mim, pois, além de não dar um verdadeiro tiro no pé (tirando a credibilidade do ecossistema de que faço parte e em que tanto investi), eu ganharia com a apresentação da prova de trabalho e taxas de transações, e também para todo o sistema, que não teria a mim tentando burlar as regras a todo momento e tirando a credibilidade no sistema do qual fazem parte e em que tanto investiram...

(correto?)

Ps.: peço perdão pela redundância e repetição de termos. Achei que assim ficaria mais simples e menos enfadonho.
hero member
Activity: 1778
Merit: 882
January 29, 2018, 05:31:32 PM
#7


Quote
Vejo muita gente alegando que o PoS seria interessante por dificultar (na real por tornar desinteressante) esse tipo de ataque,

Uma das paradas que eu acho bem bacanas na deCRED é a mistura de mineração PoW com a "mineração" PoS.

Várias coins são PoW + PoS, pelo menos é o que me lembro, particularmente não curto PoS, mas opinião pessoal.

Quanto ao ataque dos 51% no BTC, caso não me falhe a memória, a não muito tempo atrás tinha uma pool com quase tudo isso de hash power preocupando a comunidade.

Durante a história do Bitcoin já houveram pools com o hashrate maior que 51%. Acho que eles mesmos não fizeram força pra permanecer assim pra não gerar desconfiança da comunidade.
legendary
Activity: 2716
Merit: 1116
January 29, 2018, 03:39:23 PM
#6


Quote
Vejo muita gente alegando que o PoS seria interessante por dificultar (na real por tornar desinteressante) esse tipo de ataque,

Uma das paradas que eu acho bem bacanas na deCRED é a mistura de mineração PoW com a "mineração" PoS.

Várias coins são PoW + PoS, pelo menos é o que me lembro, particularmente não curto PoS, mas opinião pessoal.

Quanto ao ataque dos 51% no BTC, caso não me falhe a memória, a não muito tempo atrás tinha uma pool com quase tudo isso de hash power preocupando a comunidade.
full member
Activity: 532
Merit: 152
January 26, 2018, 05:09:23 AM
#5


Quote
Vejo muita gente alegando que o PoS seria interessante por dificultar (na real por tornar desinteressante) esse tipo de ataque,

Uma das paradas que eu acho bem bacanas na deCRED é a mistura de mineração PoW com a "mineração" PoS.
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
January 25, 2018, 08:30:48 AM
#4
Teria já algum grupo que chegue perto disso ?  Huh
Atualmente o maior hash de mineração pertence à BTC.com, porém com pouco mais de 22%.
Então podemos dizer que tá "susse" por enquanto.

Fonte: https://blockchain.info/pt/pools
jr. member
Activity: 84
Merit: 1
PerfectPool
January 25, 2018, 08:18:07 AM
#3
Teria já algum grupo que chegue perto disso ?  Huh
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
January 24, 2018, 11:24:59 PM
#2
Fala galera,

Independente da viabilidade , e se algum grupo acumulasse 51% do hashpower de mineiração e resolvesse corromper a blockchain com validações falsas?

Alguém sabe dizer mais sobre isso? Como não entendo muito da parte dos nodes, acho que pode ter alguma coisa aí que impeça esse fenomeno.

Infelizmente não existe nada que impeça isso. Essa fragilidade da blockchain é conhecida desde a criação dela pelo satoshi nakamoto.

Quote
Vejo muita gente alegando que o PoS seria interessante por dificultar (na real por tornar desinteressante) esse tipo de ataque,

Não faz muito sentido, na PoS você tem inclusive muito menos em jogo, já que não gasta recursos fora da moeda (energia, equipamentos, etc). Além disso, na PoS não é interessante pra um node impedir um gasto duplo porque ele não tem nada a perder com isso, então ataques podem necessitar de bem menos que 51%.

Quote
mas na real me soa estranho que ter 51% do hashpower seja suficiente pra validar transações fraudulentas.

porque estranho? é até intuitivo: se eu tenho mais poder de processamento que todos os outros somados, eu sempre vou minerar blocos mais rápido que eles, e posso rejeitar qualquer bloco que não seja minerado por mim. Qualquer bloco que for entrar na blockchain precisa da minha aprovação.

Quote
Grato desde já!
member
Activity: 140
Merit: 75
January 24, 2018, 09:15:01 PM
#1
Fala galera,

Independente da viabilidade , e se algum grupo acumulasse 51% do hashpower de mineiração e resolvesse corromper a blockchain com validações falsas?

Alguém sabe dizer mais sobre isso? Como não entendo muito da parte dos nodes, acho que pode ter alguma coisa aí que impeça esse fenomeno. Vejo muita gente alegando que o PoS seria interessante por dificultar (na real por tornar desinteressante) esse tipo de ataque, mas na real me soa estranho que ter 51% do hashpower seja suficiente pra validar transações fraudulentas.

Grato desde já!
Jump to: