Em poucas palavras, gasto duplo significa usar o mesmo fundo para duas ou mais transações. O advento do pagamento online garante que as autoridades adotem medidas para evitar que esse problema ocorra.
A existência de intermediários nos sistemas de pagamento tradicionais entre o remetente e o destinatário, como bancos e administradoras de cartão de crédito, facilita a validação das transações. Esses terceiros são confiáveis para garantir que o remetente tenha saldo suficiente para realizar uma transação, e ele não está enviando duas ou mais transações que contam apenas como uma contra seu saldo.
A ausência de um intermediário na criptomoeda exige que uma medida seja tomada para evitar esse risco que pode comprometer o sistema. O Bitcoin é a primeira moeda digital bem-sucedida a apresentar essa medida por meio de seu mecanismo de prova de trabalho.
Vejamos um exemplo para ilustrar melhor o gasto duplo. Se Janet pagar $ 30 em dinheiro físico por um par de sapatos, ela não poderá gastar o mesmo dinheiro novamente porque não o possui mais. Ela o entregou ao balconista da loja. Duplicar o gasto, no caso dela, significa usar os mesmos $ 30 em dinheiro que ela deu ao balconista para comprar outro item. Isso é altamente improvável com dinheiro físico.
O desafio quando se trata de usar moedas digitais é como se proteger contra uma situação em que Janet poderia copiar os $ 30 e gastá-los repetidamente. Digamos que Janet decida pagar por um par de sapatos usando uma moeda digital como Bitcoin. Levará algum tempo para que a transação seja validada. Se o funcionário aceitar o pagamento antes que a transação seja confirmada, Janet pode decidir enviar o mesmo fundo para sua carteira com uma taxa mais alta.
A loja será vítima de gasto duplo se a segunda transferência feita por Janet for aceita e, portanto, invalidar aquela enviada em pagamento pelo sapato depois que ela poderia ter saído. Aceitar uma transação não confirmada é uma das maneiras de ser vítima de gastos duplos.
O gasto duplo é evitado nos sistemas de pagamento tradicionais por meio do que é conhecido como propriedades do banco de dados ACID. ACID é a abreviação de:
1 Atomicidade:
Isso implica que não existe tal situação em que o saldo de um usuário seja desconhecido como resultado de uma transação incompleta. A transação é concluída ou falha. No caso de transação no ponto de venda, ou a operação falha e mostra uma mensagem na máquina do ponto de venda, ou ela passa e imprime um recibo.
2 Consistência:
A consistência garante que as transações ocorram uma após a outra corretamente e que o estado da sua conta seja válido após uma transação. A consistência sempre garante o saldo correto após um valor debitado em sua conta.
3 Isolamento:
Isolamento significa que as transações devem ser tratadas uma após a outra, mesmo se você tiver muitas transações acontecendo ao mesmo tempo. O sistema deve deixar a conta válida como se as várias transações acontecessem uma após a outra. Isolamento significa que uma transação é tratada separadamente de outra atividade do sistema. Depois de concluir a transação, ela deixa sua conta no estado correto.
4 Durabilidade:
Durabilidade é a propriedade que o banco de dados deve ser indestrutível. Portanto, não deve ser possível adulterar os resultados das transações enquanto o sistema estiver em modo de produção. Isso significa que os bancos de dados devem ser protegidos contra perda de dados, comprometimento ou outros perigos.
O blockchain, que é a tecnologia por trás das criptomoedas, registra as transações em um livro descentralizado e funciona em consenso coletivo entre os participantes. Essa tecnologia cria um meio seguro e robusto de armazenar e registrar informações e transações digitais. A característica única do blockchain é que ele envolve dispositivos ou computadores interconectados sem um servidor central, embora nenhum computador finalize processos ou transações. Esse sistema permite verificações e balanços, registros de validação cruzada e garante que ninguém possa reverter transações sozinho para dobrar os gastos. Proteger-se contra a duplicação de uma determinada unidade de criptomoeda é crucial para manter a confiança e a viabilidade do sistema.
Como as moedas digitais funcionam em códigos de computador, as informações podem ser relativamente fáceis de copiar e duplicar por indivíduos sem escrúpulos com conhecimento técnico da rede.
O gasto duplo em criptomoeda ocorre quando a rede é interrompida e o fundo é efetivamente roubado. O perpetrador enviará uma cópia da transação para fazê-la parecer genuína ou até mesmo excluir a transação totalmente para fazê-la parecer como se nunca tivesse acontecido.
Sem mecanismos apropriados para evitar tal problema, toda a transação será fundamentalmente desestabilizada e prejudicada. Isso significaria, portanto, que não há nenhum protocolo em vigor para garantir que os fundos recebidos não sejam gastos em outro lugar. Como resultado, mecanismos rígidos que impedem esse tipo de comportamento são necessários para que uma moeda digital funcione de maneira confiável.
O problema do gasto duplo no blockchain é frequentemente ilustrado usando a analogia de 'O problema dos generais bizantinos'. Essa analogia aponta para a dificuldade que muitas partes enfrentam quando não confiam umas nas outras e devem participar de uma joint venture que requer cooperação para ser bem-sucedida. Ele explica como o desacordo ocorre em um sistema descentralizado.
No problema dos generais bizantinos, a vitória é alcançada quando todos os generais lideram um ataque coordenado com seus exércitos. No entanto, se um general falhar ou atacar outro general, toda a batalha, como um blockchain, é comprometida e eventualmente perdida. Esse enigma deu origem ao princípio de que os protocolos das criptomoedas devem incluir tolerância a falhas bizantinas (BFT).
A tolerância a falhas no caso do blockchain significa que uma rede deve continuar funcionando satisfatoriamente diante de erros, quebras ou participantes agindo de forma contrária aos planos designados. A tecnologia Blockchain evita gastos duplos por meio da tecnologia de compartilhamento de arquivos ponto a ponto, juntamente com a criptografia de chave pública.
As transações na maioria dos blockchains são registradas abertamente e protegidas ao mesmo tempo em milhares de nós em todo o mundo. Todos os participantes podem vê-los e verificar transações já concluídas. O processo de verificação depende do mecanismo de consenso. No caso do Bitcoin, o algoritmo de consenso, conhecido como Proof of Work (PoW), garante que os mineradores só podem validar um novo bloco de transações se todos os nós da rede concordarem mutuamente sobre a correção do hash do bloco fornecido pelo minerador.
Apesar das medidas em blockchain para evitar gastos duplos, tal ataque ainda é uma possibilidade, embora as chances sejam baixas. Uma das maneiras pelas quais os ataques de gasto duplo podem ocorrer é por meio do que é conhecido como ataque majoritário ou ataque de 51%. Esse ataque ocorre quando um único indivíduo ou organização controla a maior parte da taxa de hash, potencialmente interrompendo a rede. Quando isso ocorre, o chamado 'atacante' ganha poder de mineração suficiente para omitir ou alterar intencionalmente a sequência em que as transações são realizadas. No caso de um ataque de 51%, o invasor pode reverter as transações feitas durante esse período, resultando em gastos duplos. Um exemplo disso é o ataque ao Bitcoin Gold, um fork do Bitcoin em 2018 e 2020.
Gasto duplo significa usar o mesmo fundo duas vezes ou mais. Ocorre quando um sistema de pagamento é comprometido, permitindo tais transações duvidosas. Os sistemas de pagamento tradicionais utilizam propriedades de banco de dados atômicas, consistentes, isoladas e duráveis para proteção contra gastos duplos.
A primeira moeda digital de sucesso, o Bitcoin, conseguiu sobreviver porque também incorpora essas propriedades, permitindo que a rede seja confiável. No entanto, há uma pequena chance de um ataque majoritário porque requer um custo enorme em termos de poder de computação para obter blockchains usando o mecanismo de prova de trabalho. No caso das blockchains que utilizam proof-of-stake, o risco envolve a perda do depósito de garantia necessário para a validação da rede.
Em poucas palavras, gasto duplo significa usar o mesmo fundo para duas ou mais transações. O advento do pagamento online garante que as autoridades adotem medidas para evitar que esse problema ocorra.
A existência de intermediários nos sistemas de pagamento tradicionais entre o remetente e o destinatário, como bancos e administradoras de cartão de crédito, facilita a validação das transações. Esses terceiros são confiáveis para garantir que o remetente tenha saldo suficiente para realizar uma transação, e ele não está enviando duas ou mais transações que contam apenas como uma contra seu saldo.
A ausência de um intermediário na criptomoeda exige que uma medida seja tomada para evitar esse risco que pode comprometer o sistema. O Bitcoin é a primeira moeda digital bem-sucedida a apresentar essa medida por meio de seu mecanismo de prova de trabalho.
Vejamos um exemplo para ilustrar melhor o gasto duplo. Se Janet pagar $ 30 em dinheiro físico por um par de sapatos, ela não poderá gastar o mesmo dinheiro novamente porque não o possui mais. Ela o entregou ao balconista da loja. Duplicar o gasto, no caso dela, significa usar os mesmos $ 30 em dinheiro que ela deu ao balconista para comprar outro item. Isso é altamente improvável com dinheiro físico.
O desafio quando se trata de usar moedas digitais é como se proteger contra uma situação em que Janet poderia copiar os $ 30 e gastá-los repetidamente. Digamos que Janet decida pagar por um par de sapatos usando uma moeda digital como Bitcoin. Levará algum tempo para que a transação seja validada. Se o funcionário aceitar o pagamento antes que a transação seja confirmada, Janet pode decidir enviar o mesmo fundo para sua carteira com uma taxa mais alta.
A loja será vítima de gasto duplo se a segunda transferência feita por Janet for aceita e, portanto, invalidar aquela enviada em pagamento pelo sapato depois que ela poderia ter saído. Aceitar uma transação não confirmada é uma das maneiras de ser vítima de gastos duplos.
O gasto duplo é evitado nos sistemas de pagamento tradicionais por meio do que é conhecido como propriedades do banco de dados ACID. ACID é a abreviação de:
1 Atomicidade:
Isso implica que não existe tal situação em que o saldo de um usuário seja desconhecido como resultado de uma transação incompleta. A transação é concluída ou falha. No caso de transação no ponto de venda, ou a operação falha e mostra uma mensagem na máquina do ponto de venda, ou ela passa e imprime um recibo.
2 Consistência:
A consistência garante que as transações ocorram uma após a outra corretamente e que o estado da sua conta seja válido após uma transação. A consistência sempre garante o saldo correto após um valor debitado em sua conta.
3 Isolamento:
Isolamento significa que as transações devem ser tratadas uma após a outra, mesmo se você tiver muitas transações acontecendo ao mesmo tempo. O sistema deve deixar a conta válida como se as várias transações acontecessem uma após a outra. Isolamento significa que uma transação é tratada separadamente de outra atividade do sistema. Depois de concluir a transação, ela deixa sua conta no estado correto.
4 Durabilidade:
Durabilidade é a propriedade que o banco de dados deve ser indestrutível. Portanto, não deve ser possível adulterar os resultados das transações enquanto o sistema estiver em modo de produção. Isso significa que os bancos de dados devem ser protegidos contra perda de dados, comprometimento ou outros perigos.
O blockchain, que é a tecnologia por trás das criptomoedas, registra as transações em um livro descentralizado e funciona em consenso coletivo entre os participantes. Essa tecnologia cria um meio seguro e robusto de armazenar e registrar informações e transações digitais. A característica única do blockchain é que ele envolve dispositivos ou computadores interconectados sem um servidor central, embora nenhum computador finalize processos ou transações. Esse sistema permite verificações e balanços, registros de validação cruzada e garante que ninguém possa reverter transações sozinho para dobrar os gastos. Proteger-se contra a duplicação de uma determinada unidade de criptomoeda é crucial para manter a confiança e a viabilidade do sistema.
Como as moedas digitais funcionam em códigos de computador, as informações podem ser relativamente fáceis de copiar e duplicar por indivíduos sem escrúpulos com conhecimento técnico da rede.
O gasto duplo em criptomoeda ocorre quando a rede é interrompida e o fundo é efetivamente roubado. O perpetrador enviará uma cópia da transação para fazê-la parecer genuína ou até mesmo excluir a transação totalmente para fazê-la parecer como se nunca tivesse acontecido.
Sem mecanismos apropriados para evitar tal problema, toda a transação será fundamentalmente desestabilizada e prejudicada. Isso significaria, portanto, que não há nenhum protocolo em vigor para garantir que os fundos recebidos não sejam gastos em outro lugar. Como resultado, mecanismos rígidos que impedem esse tipo de comportamento são necessários para que uma moeda digital funcione de maneira confiável.
O problema do gasto duplo no blockchain é frequentemente ilustrado usando a analogia de 'O problema dos generais bizantinos'. Essa analogia aponta para a dificuldade que muitas partes enfrentam quando não confiam umas nas outras e devem participar de uma joint venture que requer cooperação para ser bem-sucedida. Ele explica como o desacordo ocorre em um sistema descentralizado.
No problema dos generais bizantinos, a vitória é alcançada quando todos os generais lideram um ataque coordenado com seus exércitos. No entanto, se um general falhar ou atacar outro general, toda a batalha, como um blockchain, é comprometida e eventualmente perdida. Esse enigma deu origem ao princípio de que os protocolos das criptomoedas devem incluir tolerância a falhas bizantinas (BFT).
A tolerância a falhas no caso do blockchain significa que uma rede deve continuar funcionando satisfatoriamente diante de erros, quebras ou participantes agindo de forma contrária aos planos designados. A tecnologia Blockchain evita gastos duplos por meio da tecnologia de compartilhamento de arquivos ponto a ponto, juntamente com a criptografia de chave pública.
As transações na maioria dos blockchains são registradas abertamente e protegidas ao mesmo tempo em milhares de nós em todo o mundo. Todos os participantes podem vê-los e verificar transações já concluídas. O processo de verificação depende do mecanismo de consenso. No caso do Bitcoin, o algoritmo de consenso, conhecido como Proof of Work (PoW), garante que os mineradores só podem validar um novo bloco de transações se todos os nós da rede concordarem mutuamente sobre a correção do hash do bloco fornecido pelo minerador.
Apesar das medidas em blockchain para evitar gastos duplos, tal ataque ainda é uma possibilidade, embora as chances sejam baixas. Uma das maneiras pelas quais os ataques de gasto duplo podem ocorrer é por meio do que é conhecido como ataque majoritário ou ataque de 51%. Esse ataque ocorre quando um único indivíduo ou organização controla a maior parte da taxa de hash, potencialmente interrompendo a rede. Quando isso ocorre, o chamado 'atacante' ganha poder de mineração suficiente para omitir ou alterar intencionalmente a sequência em que as transações são realizadas. No caso de um ataque de 51%, o invasor pode reverter as transações feitas durante esse período, resultando em gastos duplos. Um exemplo disso é o ataque ao Bitcoin Gold, um fork do Bitcoin em 2018 e 2020.
Gasto duplo significa usar o mesmo fundo duas vezes ou mais. Ocorre quando um sistema de pagamento é comprometido, permitindo tais transações duvidosas. Os sistemas de pagamento tradicionais utilizam propriedades de banco de dados atômicas, consistentes, isoladas e duráveis para proteção contra gastos duplos.
A primeira moeda digital de sucesso, o Bitcoin, conseguiu sobreviver porque também incorpora essas propriedades, permitindo que a rede seja confiável. No entanto, há uma pequena chance de um ataque majoritário porque requer um custo enorme em termos de poder de computação para obter blockchains usando o mecanismo de prova de trabalho. No caso das blockchains que utilizam proof-of-stake, o risco envolve a perda do depósito de garantia necessário para a validação da rede.