PIRLGUARD & #8211; Solução inovadora contra ataques 51%

Compartilhar esta publicação

Compartilhar facebook
Compartilhar linkedin
Compartilhar twitter
Compartilhar email

O código-fonte aberto PirlGuard já está em uso hoje e protege os seguintes blockchains: PIRL, Callisto, Egem, Expanse, Musicoin, Valorbit, Ether1, Xerom. Pirl gostaria de agradecer a esses projetos por confiar em nossa mitigação de ataque 51% e incentivar outros a fazerem o mesmo.

O bloco Pirl 2.442.442 é um evento histórico não apenas para a Pirl, mas também para a segurança da blockchain em geral.
Como a maioria da comunidade Pirl está ciente, a equipe Pirl vem pesquisando maneiras diferentes de proteger nosso blockchain contra ataques ASICS e 51% por vários meses, abertamente dentro de nosso Discord e nos bastidores. Durante esse período, Pirl foi vítima de um ataque 51%, juntamente com muitas outras cadeias de blocos.

Um dos fatores de ameaça que recentemente tornaram quase todo o mecanismo de consenso de PoW Blockchains suscetível a ataques do 51% foi o declínio
dos lucros da mineração, levando a quantidades excessivas de hash barato. 

A maioria das fontes disponíveis explica a complexidade desses ataques e apresenta soluções PoS e de terceiros como uma boa medida para proteção contra esses ataques.
Uma solução envolveria reverter o blockchain, o que ainda prejudicaria os mineradores, investidores e detentores da Pirl. Enquanto um mecanismo de consenso de PoS também é vulnerável a outros tipos de ataques, como o ataque "Nada em jogo".

Após uma pesquisa e análise completas dos métodos de segurança da blockchain, a equipe da Pirl não viu nenhuma das opções disponíveis no momento como medidas evitáveis a longo prazo aceitáveis contra esses tipos de ataques. Isso deixou a equipe com a única opção possível disponível, para desenvolver um novo Protocolo de Segurança.

Para entender o Protocolo PirlGuard, incluindo como e por que a Pirl desenvolveu a solução inovadora, você deve entender como funciona um ataque 51%.
Se você tem confiança em seu conhecimento sobre a anatomia de um ataque 51%, sinta-se à vontade para pular para a seção "Como o PirlGuard funciona?" Deste artigo.

Como um ataque 51% funciona

Fonte: CoinMonks
Autor:  Jimi.S

Quando um proprietário de Bitcoin assina uma transação, ele é colocado em um pool local de transações não confirmadas. Os mineradores selecionam transações desses pools para formar um bloco
de transações. Para adicionar esse bloco de transações à blockchain, eles precisam encontrar uma solução para um problema matemático muito difícil. Eles tentam encontrar essa solução usando energia computacional. Isso é chamado de hash. Quanto mais poder computacional um mineiro tiver, maiores serão suas chances de encontrar uma solução antes que outros mineiros os encontrem. Quando um mineiro encontra uma solução, ela é transmitida (junto com seu bloco) para os outros mineradores e eles só a verificarão se todas as transações dentro do bloco forem válidas de acordo com o registro existente de transações na blockchain. Observe que mesmo um minerador corrompido nunca pode criar uma transação para outra pessoa porque precisaria da assinatura digital dessa pessoa para fazer isso (sua chave privada). Enviar Bitcoin da conta de outra pessoa é, portanto, simplesmente impossível sem acesso
à chave privada correspondente.

Mineração furtiva - criando uma prole da blockchain

Agora preste atenção. Um mineiro malicioso pode, no entanto, tentar reverter as transações existentes. Quando um mineiro encontra uma solução, ele deve ser transmitido a todos os outros mineiros
para que eles possam verificá-lo quando o bloco for adicionado ao blockchain (os mineradores chegarão a um consenso). No entanto, um mineiro corrupto pode criar uma prole do blockchain
por não transmitir as soluções de seus blocos para o resto da rede. Agora existem duas versões do blockchain.

 

Agora existem duas versões do blockchain. O blockchain vermelho pode ser considerado no modo 'furtivo'.

Uma versão que está sendo seguida pelos mineiros não corrompidos e uma versão que está sendo seguida pelo mineiro corrompido. O minerador corrompido agora está trabalhando em sua própria versão desse blockchain e não o está transmitindo para o resto da rede. O resto da rede não atende a essa cadeia, porque, afinal, ela não foi transmitida.
É isolado para o resto da rede. O minerador corrompido agora pode gastar todos os seus Bitcoins na versão verdadeira da blockchain, aquela em que todos os outros mineradores estão trabalhando. Digamos que ele gaste em um Lamborghini, por exemplo. No verdadeiro blockchain, seus Bitcoins agora são gastos. Enquanto isso, ele não inclui essas transações em sua versão isolada do blockchain. Em sua versão isolada do blockchain, ele ainda possui esses Bitcoins.

Enquanto isso, ele ainda está pegando blocos e os verifica sozinho em sua versão isolada do blockchain. É aqui que todos os problemas começam ... O blockchain é programado para seguir um modelo de governança democrática, também conhecido como maioria. A blockchain faz isso seguindo sempre a cadeia mais longa, afinal, a maioria
dos mineradores adicionam blocos à sua versão do blockchain mais rapidamente do que o resto da rede (assim; cadeia mais longa = maioria) É assim que a blockchain determina em qual versão de sua cadeia é a verdade e, por sua vez, em que todos os saldos de carteiras são baseados. Uma corrida já começou. Quem tiver mais poder de hash adicionará blocos à sua versão da cadeia mais rapidamente.

Uma corrida - reverter as transações existentes transmitindo uma nova cadeia

O minerador corrompido agora tentará adicionar blocos à sua blockchain isolada mais rapidamente do que os outros mineradores adicionarem blocos à sua blockchain (a verdadeira). Assim que o minerador corrompido cria uma blockchain mais longa, ele repentinamente transmite essa versão da blockchain para o resto da rede. O restante da rede agora detectará
que esta versão (corrompida) do blockchain é realmente mais longa do que a que eles estavam trabalhando, e o protocolo os obriga a mudar para essa cadeia.

A blockchain corrompida agora é considerada a verdadeira blockchain, e todas as transações que não estiverem incluídas nessa cadeia serão revertidas imediatamente. O atacante já gastou seus Bitcoins em um Lamborghini antes, mas essa transação não foi incluída em sua cadeia furtiva, a cadeia que agora está no controle e, portanto, ele agora está novamente no controle desses Bitcoins. Ele é capaz de gastá-los novamente.

Este é um ataque de gasto duplo. É geralmente chamado de ataque 51% porque o minerador mal-intencionado precisará de mais poder de hash do que o resto da rede combinada (portanto, 51% do poder de hash) para adicionar blocos à sua versão do blockchain mais rapidamente, permitindo que ele construir uma corrente mais longa.

Agora que sabemos como o ataque funciona, podemos resumi-lo em alguns momentos importantes.

A) O invasor precisa extrair sua própria versão do blockchain em particular com hashrate maior que o da rede principal para ser mais rápido e criar uma cadeia mais longa. Geralmente é uma corrida para conseguir uma corrente com 10 a 20-50 blocos a mais.

B) Quando ele possui um blockchain mais longo, ele precisa transmiti-lo para a rede. Então a rede precisa reconhecê-la como a cadeia mais longa e aceitá-la.

C) Um gasto duplo bem-sucedido tornaria órfãs as transações iniciais que disponibilizavam as moedas na carteira do atacante novamente após a cadeia mais longa aplicada.

Como o PirlGuard funciona?

Para interromper a mecânica por trás do ataque 51% que permite que um invasor seja bem-sucedido, implantamos uma solução principal com um algoritmo de consenso modificado que defenderá nosso blockchain e muitos outros no futuro próximo de praticamente todos os ataques 51%.

Sistema PirlGuard
Com o protocolo PirlGuard implantado, as chances de um ataque ser bem-sucedido são bastante reduzidas. Como sabemos, uma vez que o invasor tenha criado uma cadeia mais longa através da mineração privada de uma cadeia separada, ele precisará transmiti-la para a rede. Depois que o invasor abrir seu nó para fazer o peering, ele tentará fazer o mesmo com o restante dos nós em
a rede, dizendo que eles estão errados. No entanto, uma vez que isso aconteça, o PirlGuard descartará os pares e os penalizará, condenando-os a extrair uma quantidade X de blocos de penalidades devido à sua mineração sem pares. A quantidade de bloqueios de penalidade atribuída depende da quantidade de bloqueios que o minerador mal-intencionado extraiu em particular.

O protocolo de segurança PirlGuard impede imensamente os invasores de tentar peering malicioso, dando à rede principal um impulso muito necessário na segurança.
Esse novo mecanismo de segurança reduz as chances para aproximadamente 0,03%.

Mas, essa não é a única medida de segurança que preparamos.

A Masternode operava contratos notários em várias cadeias de blocos e sistema de monitoramento.
Os masternodes assumirão um novo papel juntamente com suas outras funções utilitárias. Eles reconhecerão o blockchain em cartório e poderão atuar nos processos de penalização de maus atores e preservar um consenso honesto sobre o blockchain Pirl.

No caso de um invasor ainda estar determinado a aplicar uma grande quantidade de fundos e recursos para tentar a sorte (chance de 0,03%), e de alguma forma conseguir impor uma cadeia mais longa na rede, um sistema de monitoramento órfão recém-inicializado detectará as reorganizações de blocos órfãos que irá alertar a equipe para tomar as ações e contramedidas necessárias.

Como medida de segurança adicional, o contrato de notário será implantado nas cadeias blockchain Pirl e Ethereum.

Aumentando a quantidade de confirmações necessárias para trocas.
Uma medida adicional a ser implementada é um requisito mais alto de confirmações de blocos nas trocas para validar depósitos. Outro passo para tornar o ataque quase impossível e nem vale o tempo de um invasor.

Código aberto
Até o momento, a Pirl contribuiu para o blockchain desenvolvendo a primeira rede de masternode baseada em código Ethash, a primeira implementação IPFS privada executada em uma rede de masternode e atualmente está trabalhando em sua própria solução de armazenamento de blockchain criptografada privada.

O PirlGuard Security Protocol será adicionado à nossa biblioteca de código aberto juntamente com o núcleo do projeto.

Na Pirl, estamos desenvolvendo para revolucionar e otimizar a tecnologia blockchain para toda a indústria blockchain. Isso significa que nosso código estará disponível para qualquer pessoa estudar, educar, testar, modificar ou aplicar sua própria segurança de rede blockchain contra futuros ataques 51%.

Código fonte: https://git.pirl.io/community/pirl/-/blob/master/core/pirlguard.go
Local na rede Internet: https://pirl.io/en   

Assine a nossa newsletter

Receba atualizações e aprenda com os melhores

Mais para explorar

pt_PTPortuguês
en_USEnglish fr_FRFrançais nl_NLNederlands tr_TRTürkçe es_ESEspañol ru_RUРусский ko_KR한국어 zh_CN简体中文 hi_INहिन्दी pt_PTPortuguês