jump to navigation

Tempo de confirmação de uma transação Bitcoin 5 de Fevereiro de 2016

Posted by Rafael in Transações Eletrônicas.
trackback

Continuando nossa série de artigos sobre o bitcoin, agora trataremos alguns detalhes e problemas do funcionamento do bitcoin como meio de pagamento.

Proteção contra gasto duplo

Proteção contra gasto duplo é uma das características mais importantes do dinheiro, seja ele tangível ou virtual. No mundo real não temos um problema semelhante porque não se pode dividir uma cédula. Atente para o fato de não estarmos tratando de falsificação de moeda, e sim da possibilidade de uma pessoa gastar duas ou mais vezes a MESMA moeda, logo trata-se de um problema diferente. Você até pode cortar uma cédula ou moeda no meio, porém apenas a que possuir mais de 50% do material original ainda manterá seu valor. 

Porém, no mundo virtual temos o famoso CRT+C, CRT+V. Os bits podem ser simplesmente copiados infinitas vezes sem nenhuma perda de fidelidade ou possibilidade de detecção. Esse problema certamente tira o sono da indústria fonográfica e cinematográfica, e até hoje não temos uma solução definitiva.

Então como o bitcoin implementa a proteção contra o gasto duplo? A primeira linha de defesa é o fato do bitcoin possuir um registro de todas as transações em um banco de dados chamado blockchain, que nada mais é que o encadeamento de blocos. Como vimos, as transações são enviadas para os demais participantes da rede e ficam em uma fila esperando processamento, que é a agregação dessa transação específica com outras formando um bloco que precisa ser resolvido. Ao resolver esse bloco, o participante, normalmente chamado de minerador, envia o bloco para os demais participantes da rede para conferência da solução, e se estiver tudo certo, o bloco é acrescentado ao encadeamento de blocos (blockchain).

Assim, o blockchain é o equivalente ao Livro Razão da contabilidade, que mantém um registro de todas as transações, sendo que não há nomes, mas endereços de origem e destino das transações. Se você quiser saber quantos bitcoins um endereço possui no momento, basta consultar o blockchain e contar todos as transações com esse endereço de destino. Um leitor atento pode imaginar que o problema estaria resolvido, pois como todas as transações estão registradas e acessíveis em tempo real. Não haveria como um agente mal-intencionado gastar duas vezes a mesma moeda, pois o primeiro gasto criaria um registro transferindo a posse que inviabilizaria a o gasto posterior.

OBS: Antes de continuar, se alguém ficou curioso para olhar a conta bancária (em bitcoins) dos vizinhos, seguem alguns sites interessantes:

  • Blockchain.info informa os balanços de qualquer endereço bitcoin,
  • bitcoinrichlist.com mostra os endereços com maior balanço, os verdadeiros ricaços da rede. Se não fosse a dificuldade em ligar uma pessoa ou empresa a um endereço (o famoso anonimato da moeda), as Marias-Bitcoin não teriam dificuldade em achar suas almas gêmeas no futuro…. 🙂

Bem, voltando ao que importa, conforme explicado em um post anterior, existe uma “anomalia” que pode ocorrer no blockchain que gera uma bifurcação na cadeia (fork), e os blocos do caminho mais curto serão eventualmente abandonados e não terão validade. Essa “anomalia” abre espaço para o gasto duplo. Considere o seguinte cenário improvável: Um agente mal intencionado com controle de mais de 50% do poder computacional agregado dos participantes da rede pode construir um caminho alternativo que se tornará o mais longo, cancelando transações de seu interesse no caminho mais curto.

Tempo de confirmação

Então chegamos à conclusão que o que garante a validade e a proteção contra o gasto duplo de uma transação no bitcoin é a profundidade de seu bloco. Ou seja, quanto maior o número de blocos que são acrescentados ao topo do bloco dessa transação em questão, maior a dificuldade de se criar uma cadeia de blocos maior do que a naturalmente criada. Em resumo, quanto mais “enterrado” está seu bloco, mais difícil será desenterrá-lo para desfazer a transação. Lembre que os blocos são criados com um algoritmo de prova de esforço calibrado para que somente sejam gerados 6 (isso mesmo, SEIS) blocos por hora em toda a rede, então haja tempo e trabalho para refazer uma cadeia inteira!Uma nomenclatura comum é chamar de “confirmação” cada bloco adicionado à cadeia.

Um senso comum é que uma transação  torna-se irreversível após ser “enterrada” embaixo de seis blocos, ou após seis confirmações, o que seria por volta de uma hora, mas isso varia por implementação.

Dúvidas, críticas, sugestões, desabafos, propaganda, spam, recados de amor para alguma Maria-Bitcoin de plantão? O botão de comentário está aí para isso.

#soquenao.

🙂

Anúncios

Comentários»

1. Tiago Silva - 23 de Fevereiro de 2017

Ola, tenho uma transação com 13 confirmações mais ainda não creditado em conta porque ?

Rafael - 23 de Fevereiro de 2017

Se o endereço de destino é realmente o seu e há confirmações, os bitcoins já são seus. Não existe o conceito de creditar em conta.

2. Debora Marques - 28 de Fevereiro de 2017

Tem como rastrear uma transação até estar disponível em carteira?

Rafael - 28 de Fevereiro de 2017

Se você rastrear a transação no Blockchain, ela estiver direcionando a saída para seu endereço e não estiver gasta por outra transação, os bitcoins são seus e de quem mais possuir a chave privada. Não existe um passo adicional até a carteira, a carteira simplesmente lê o Blockchain.

3. Pedro Yamazaki - 4 de Abril de 2017

Tenho duas transações com 4 confirmações e estão como (não gasto). mesmo que os bitcoins ja sejam meus , se eles nao aparecem em minha carteira de btc, como vou utiliza-los ou resgata-los?

Rafael - 9 de Abril de 2017

Tente sincronizar outra carteira.

4. Kaique - 13 de Abril de 2017

Olá, é normal passados 1 dia constar na minha carteira que eu uso (Coinbase) que um pagamento está pendente e com nenhuma confirmação? Digamos que na pior das hipóteses, pode demorar quantos dias para ser confirmado?

Rafael - 13 de Abril de 2017

Uma transação contém a taxa de processamento que é definida pelo criador da transação e é coletada pelo minerador que incluiu essa transação em um bloco. Em geral, os mineradores processam as transações com maior taxas primeiro pelo incentivo econômico óbvio. Se sua transação não definir uma taxa adequada com a taxa vigente na rede, ela pode nunca ser processada (pior caso).
Recomendo que verifique a taxa definida em sua transação. Se ela estiver muito baixa, você pode enviar uma nova transação que realize a mesma transação, porém com uma taxa mais alta.

5. Alguns sites para acompanhar o andamento de uma transação Bitcoin – Guia do Bitcoin - 20 de Abril de 2017

[…] Informações detalhadas sobre o tempo de confirmação de uma transação: Blog Rafael Sarres […]

6. Patricia - 10 de Maio de 2017

Boa tarde,
Enviei bitcoins da carteira blockchain para uma outra carteira e já tem mais de doze horas e não teve nenhuma confirmação, quanto tempo demora para confirmarem a transação?

Rafael - 10 de Maio de 2017

Depende do congestionamento da rede e de sua taxa de transação.

7. Patricia - 10 de Maio de 2017

E eu posso cancelar essa transação e enviar os bitcoins de novo com uma taxa maior?

8. Rafael - 10 de Maio de 2017

Não tem como cancelar, mas há processo semelhante. Você pode enviar novamente com uma taxa maior, a primeira que for processada invalida a outra por double spend.

9. Josualdo Vasconcelos - 15 de Maio de 2017

Foi feito a transferência da Blockchain para minha carteira XAPO, já fazem mais de 15 dias, é possível que não chegue mais na minha carteira? pode ter ocorrido algum problema que esteja impedindo essa negociação? Por favor, amigo, me oriente como devo resolver esse problemas.(eu acompanho todos seus artigos. Bitcoin é um mundo complexo, mais estou me esforçando para entende-lo).

Rafael - 15 de Maio de 2017

Provavelmente sua taxa de transação é muito baixa. A rede está congestionada. Tente reenviar com uma taxa mais alta. Sim, é possível que a transferência nunca seja concretizada.

10. Tempo de confirmação de uma transação Bitcoin: parte 2 | Blog do Professor Rafael Sarres - 15 de Maio de 2017

[…] parece que a área de comentários de meu post sobre o tempo de confirmação de uma transação bitcoin virou uma filial do help-desk  das […]

11. AAFF - 7 de Agosto de 2017

Quantas confirmações são necessárias para os meus Bitcoins ser depositado na minha carteira?

Rafael - 8 de Agosto de 2017

A irreversibilidade é considerada após 6 blocos, mas em geral as carteiras já creditam ao detectar a transação no MEMPOOL.

12. maxmiller - 25 de Agosto de 2017

Olá, eu realizei a transferência dos meus bitcoins de um site de aposta para minha carteira, mas já faz 17 horas e nenhum confirmação, e foi com a taxa maior.Eu posso fazer alguma coisa para resolver esse problema? É possivel eu nunca receber esses bitcoins?

Rafael - 25 de Agosto de 2017

Leia meu segundo artigo sobre o assunto.

13. Lanna Silva - 31 de Agosto de 2017

eu acho que fiz a transferencia errada da blockchain para o mercado bitcoin, tem como cancelar a transferencia?

Rafael - 4 de Setembro de 2017

Transferências confirmadas são finais. Sua única chance é a transferência errada não ser confirmada por algum motivo, como, por exemplo, taxa insuficiente. Se ela for confirmada, não há como revertê-la.

14. Avelar91 - 5 de Setembro de 2017

Boa tarde, amigo. Tenho uma transação com 12 confirmações e depois de 1:30 ainda nao creditou na minha carteira Coinbase. Levei uma volta do site?!
Obrigado.

Rafael - 6 de Setembro de 2017

Se você não errou o endereço de destino, recomendo que abra uma reclamação na corretora.

15. marcos vinicius - 4 de Novembro de 2017

olá amigo eu fiz uma transferencia de bitcoin de uma determinada carteira pra outra já tem mais de 30 hs e ainda não caiu na blockchain depois de 99 confirmações está aparecendo somente a quantidade transferida em verde e uma cetinha verde no endereço de destino e quando clico no endereço aparece q ja foi gasto o que pode ser isso?
devo reclamar com a corretora que teransferiu?

Rafael - 6 de Novembro de 2017

É difícil dizer com essas informações. Recomendo que entre em contato com a corretora.

16. Igor Torres Bomfim - 10 de Novembro de 2017

fiz um saque para minha carteira de bitcoin da blockchain e não recebi nada e ja fazem quase 2 meses esta confirmando 8857 confirmaçoes e não sei o que fazer… não foi erro meu. o que posso fazer? tentei transferir mais bitcoin para o mesmo endereço na esperança dele estar “preso” e também não entrou são 0,03 bitcoins… eu não poderia perder tudo isso…

Rafael - 11 de Novembro de 2017

Há alguns problemas possíveis:
1- Sua carteira pode não ter atualizado seu valor correto.
2- Você errou o endereço de destino.
Consulte seu endereço no blockchain.info, se o valor estiver lá, está tudo correto, é apenas um problema com sua carteira.

17. Elian Junior - 14 de Novembro de 2017

Boa tarde professor tenho uma questão: Realizei uma retirada da Bittrex para a Fox bit, porem por um erro meu enviei Bitcoin Cash ao inves de Bitcoin. Mas para minha surpresa foi creditado e a transação deu como completada pela Bittrex, porem a Foxbit não recebe Bitcoin Cash. Ja entrei em contatos com ambas e ambas lavarm as mãos. Onde estao minhas moedas? Tem algo que eu possa fazer, ou onde eu possa verificar ou realmente perdi esse dinheiro? Obrigado

Rafael - 17 de Novembro de 2017

Seu dinheiro está no blockchain do Bitcoin Cash na conta da Foxbit. A Foxbit tem a chave privada para gastar o dinheiro em Bitcoin Cash, pois suponho que você tenha usado o endereço Bitcoin da Foxbit. Como a Foxbit não opera com Bitcoin Cash, provavelmente você perdeu o dinheiro. Ele ficará no endereço da Foxbit até que eles decidam gastar.
Lamento.

18. Cristian - 22 de Novembro de 2017

Fala amigo, entendi que após 6 confirmações a transação é considerada irreversível. Ok.
Mas, e com apenas 1 confirmação, posso considerar a transação como efetuada para fins de comércio?
Por exemplo: tenho uma loja e o cliente paga com bitcoins, então para agilizar eu considero como pago após uma confirmação.
O que me diz?
Outra dúvida: entendo que a primeira confirmação indique que o bloco no qual a transação está foi minerado.
É isso mesmo?
O que significam as confirmações seguintes? Em uma primeira análise eu arriscaria dizer que são as validações realizadas pelos outros nós da rede. No entanto, se fosse esse o caso não demoraria tanto, uma vez que o mais esforço computacional é o processo de mineração, enquanto a confirmação tende a ser rápido (em tese). Por que então as outras confirmações demoram tanto quanto a primeira?
Desde já agradeço a atenção.

Rafael - 27 de Novembro de 2017

Não há irreversibilidade absoluta no Bitcoin, a irreversibilidade é estatística. A sua explicação sobre confirmações está correta, logo não há maior agilidade nas confirmações seguintes, pois é o mesmo processo. Com 6 confirmações (ou blocos posteriores ao que a transação foi minerada) a probabilidade de reversão de uma transação é muito pequena, e é reduzia da cada novo bloco, mas é importante ter em mente que a possibilidade sempre existe.
Considero improvável que você consiga segurar um cliente presencial em sua loja até que haja pelo menos uma confirmação, pois essa confirmação depende de vários fatores como a taxa de transação que é calculada pelo cliente.
Para esses casos, já vi lojista usando a confiança em 0-confirmações. Ela funciona assim: Dado que o cliente propagou uma transação na rede com a taxa adequada, há uma boa probabilidade de que ela será confirmada em um futuro próximo. Não recomendo essa estratégia porque a fraude pode ocorrer usando uma técnica de Replace-by-fee. Eu explico essa técnica no segundo post sobre tempo de confirmação de transações.

19. joão baptista dantas dos santos - 28 de Novembro de 2017

Boa tarde,
enviei bitcoin do paysa para minha carteira blockchain, e foi confirmado no mesmo dia, só que não aparece no meu saldo. o problema é que quando solicitei a transferência, forneci para o payza o mesmo endereço que usei para uma tranzação anterior.( não gerei um novo endereço no blockchain). existe alguma solução para isso?
desde já grato pela resposta.
jbdantas

Rafael - 29 de Novembro de 2017

Pela sua explicação, não haveria motivo para o valor não estar creditado em seu endereço. Não conheço a fundo a carteira que você usa, mas mesmo que seja hierarchical deterministic (HD), ou seja, usa diferentes endereços para cada transação, ela deveria creditar corretamente transferências para endereços passados. Algumas carteiras não somam valores recebidos em endereços antigos, porém os valores são seus, pois você consegue gerar a chave privada com a semente inicial da carteira HD.

20. joão baptista dantas dos santos - 29 de Novembro de 2017

A carteira é Blockchain.info, quando vc faz qualquer transferência de recebimento, como eu fiz, (de payza para blockchain) eles geram um número, que acho eu, ser o endereço para o qual o valor vai ser enviado (1E5qsDKMZ2uL69DQW5LgS6o7RVtxnY2B4P), só que por ignorância minha, eu forneci o mesmo número de uma transação anterior (que foi efetuada e acrescida ao meu saldo).a tansação em questão, está lá, devidamente confirmada, só que no meu saldo não aparece o valor.

Rafael - 30 de Novembro de 2017

Bom, como não uso a carteira do blockchain.info, não conheço a fundo seu funcionamento. Porém, analisei o histórico do endereço que você citou (1E5qsDKMZ2uL69DQW5LgS6o7RVtxnY2B4P) e realmente há uma transferência de aproximadamente 50 dólares recebida com sucesso pelo endereço em 24/10. Esse dinheiro inclusive já foi transferido para outras contas no dia 7/11.
Esse endereço deve aparecer na listagem do blockchain.info: Acesse sua carteira no blockchain.info e entre em “Settings” e depois em “Addresses”. Esse endereço que você forneceu deve estar na lista “Used Addresses”. Se não estiver, provavelmente o endereço que você passou para o crédito não é seu. Se estiver, provavelmente o blockchain.info registrou esse crédito corretamente.

21. joão baptista dantas dos santos - 30 de Novembro de 2017

o endereço é meu, pois, conforme relatei anteriormente, fiz uma transação anterior com esse endereço, que foi confirmada, e creditada na minha conta, o meu erro, provavelmente foi fornecer o mesmo endereço para uma nova transação,já que,por regra, em cada transação é gerado um novo endereço.só descobri isso depois.talvez não consiga reverter, mas, paciência, perdi US$50.de qualquer forma, grato pela ajuda e orientações, um abraço.
jbdantas.

Rafael - 30 de Novembro de 2017

Eu não acho que você tenha perdido. O valor foi corretamente creditado, inclusive foi usado em uma transação no dia 7/11. Se o endereço é seu, verifique se você fez uma transação no dia 7/11. Carteiras HD devem creditar valores recebidos mesmo em endereços anteriores.
Mas realmente é difícil saber ao certo.

22. joão baptista dantas dos santos - 6 de Dezembro de 2017

Não fiz nenhuma transação nesse dia, por isso acho que perdi o valor.

23. Andresa - 7 de Dezembro de 2017

Ola Rafael.. primeiramente PARABENS pelo post! Bastante produtivo e enriquecedor o conteudo!

Gostaria de tirar uma duvida:
Fiz uma Retirada na BITFINEX no valor de 0,02480698 BTC e enviei para uma OUTRA carteira BITFINEX no dia 05 de Dezembro.
Ao procurar na blockchain, NAO aparece a transação e consta q o recebedor tem ZERO transações…

Mas ao acessar a carteira que enviei, aparece status: PROCESSANDO. inclusive eu no dia acessei os emails e confirmei q queria retirar e chegou a seguinte mensagem no email:
Your withdrawal #6173736 of 0.02480698 BTC (≈ 290.71 USD) via BITCOIN has been approved.

Ou seja.. aprovaram minha solicitação para processarem a transação
mas la dentro da carteira Bitfinex tem um botao chamado: CANCELAR RETIRADA.

Nessas circunstancias, eu posso clicar em CANCELAR e as minhas bitcoins estornarão imediatamente?

Lembrando que a chave recebedora eh esta: 1BVDH8BGR9S17cSVK1uiw5gi4wqi6srCNV
( ate o momento pesquisando consta como ZERO transações )

Rafael - 7 de Dezembro de 2017

Não dá para saber ao certo como as corretoras funcionam internamente. Pela sua explicação, é possível que a corretora tenha notado que o endereço de destino é também dela, e economizado uma transação no blockchain para apenas ajustar seus registros internos. Afinal, os endereços de origem e o destino são dela. É o mesmo que uma transação bancária entre contas do mesmo banco, logo dispensa um registro no Banco Central.
Se a transação foi aprovada, as carteiras deveriam ter sido atualizadas, então entre em contato com a corretora.
Desconheço o que o botão cancelar faria. Creio que ele somente teria utilidade até o momento que a transação for transmitida para a rede, depois disso não há mais como cancelar.

24. SANDRO BARREMAKER - 7 de Dezembro de 2017

Boa Noite Rafael,
Realizei uma transferência da blockchain para o Bitofertas, no Bitofertas já aparece pendente, mas ainda não foi liberado e já faz 12 horas. Vi seus comentários que teria que reenviar com outra taxa, mas quanto vou fazer isso o blockchain critica dizendo que não tenho saldo para realizar esse pedido. só tem disponível taxa regular e prioridade. oque deve fazer?
estou enviando 0.41834500 btc….
desde já agradeço

Rafael - 7 de Dezembro de 2017

Aumentar a taxa de uma transação já enviada depende de suporte da carteira, e a transação original deveria ter sido criada com essa opção sinalizando que poderia ser substituída por outra. Não conheço sua carteira, logo não sei se Replace-by-fee é suportado.


Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: