Como funcionam as transações de bitcoin?

Hoje é difícil encontrar uma pessoa que nunca ouviu falar Bitcoin. No entanto, o nível de compreensão de seus princípios e mecanismos varia muito. Muitas pessoas ficam satisfeitas com o conhecimento de que basta pegar uma carteira, receber, enviar criptomoeda para outra pessoa ou vendê-lo. Para alguns usuários, esta informação é suficiente. No entanto, para investidores criptomoeda uma compreensão mais profunda de BitcoinA natureza é obrigatória, pois pode resolver muitas questões e evitar problemas com o uso de criptomoedas.

Uma vez que já vimos o que é Bitcoin, mas não entramos em detalhes. Neste artigo, tentaremos descrever como o Bitcoin funciona de uma forma acessível e detalhada.

Rede

Como muitas fontes nos dizem, o Bitcoin é um ponto a ponto sistema de pagamento / rede, a criptomoeda de mesmo nome é a unidade de liquidação das operações nesta rede.

Uma rede ponto a ponto é uma rede de computadores cujo princípio é a igualdade de direitos de todos os participantes. Cada peer ou nó, como também são chamados, desempenha as funções de cliente e servidor. Tal organização permite que você mantenha a operabilidade da rede para qualquer número e qualquer combinação de nós disponíveis, a soma não muda com a reorganização dos locais dos termos. Os participantes da rede são todos pares, portanto, a principal característica do sistema é a descentralização completa: não há administrador ou servidor central. Em vez do termo “ponto a ponto”, você pode usar definições como: uma rede descentralizada ou p2p.

Blockchain

A base do bitcoin, e ao longo do caminho, o “registro” da contabilidade da transação é uma sequência ordenada (cadeia) de um conjunto de dados (blocos), ou simplesmente um blockchain. Cada bloco da rede bitcoin armazena até 1 MB de dados, é formado em média 10 minutos e contém informações sobre todas as transações colocadas nele e informações que o conectam ao bloco anterior.

Cada bloco da cadeia está criptograficamente interconectado com o anterior e o próximo. Esse relacionamento protege a rede de substituir ou modificar blocos existentes no futuro, tornando a cadeia de blocos imutável e as transações irreversíveis.

Princípio da Operação

Para uma compreensão mais clara dos fundamentos da rede Bitcoin, imagine um hipotético entusiasta de criptografia, vamos chamá-lo de Tony, que tem uma carteira de bitcoin com 2 BTC em equilíbrio.

Suponhamos que Tony queira dar 1 BTC para sua amiga Cindy e, para isso, ele precisa de seu endereço de carteira bitcoin exclusivo – um análogo do número da conta em um banco tradicional. Tony coloca esse endereço no campo de entrada apropriado de sua carteira e, no outro campo, indica o valor da transferência – 1 BTC. Em seguida, Tony passa a definir o tamanho da taxa de transação, e aqui vamos nos alongar um pouco mais.

Transações e carga de rede

Como em qualquer outro sistema de pagamento, as transações ocorrem em bitcoin, ou seja, os ativos são transferidos de um cliente para outro. Para transações de bitcoin, é cobrada uma comissão que é enviada como recompensa aos mineiros que confirmam essas transações. Quanto maior a comissão e menor a carga da rede, mais rápidas as transações são confirmadas.

Carga da rede significa o número total de participantes enviando sua tradução ao mesmo tempo.

Em essência, uma transação é um conjunto de informações que indica aos participantes da rede qual valor o saldo do remetente diminuiu e qual valor o saldo do destinatário aumentou.

Mineiros

Para que uma transação seja concluída com sucesso, os mineiros devem confirmá-la ou validá-la. Hoje em dia, essas são principalmente fazendas especializadas que usam equipamentos de computação poderosos, ASICs, para verificar a “correção” das transações, eles reúnem essas transações em blocos, e os blocos são sequencialmente conectados uns aos outros. O algoritmo da rede leva 10 minutos para formar 1 bloco, durante o qual os mineiros realizam o mesmo tipo de trabalho computacional em busca de uma solução única a cada segundo. Isso não é difícil, não é um problema matemático, mas é uma quantidade muito grande de trabalho, o que é difícil de fazer com pequeno poder de computação de forma rápida e eficiente.

Os mineiros recebem uma recompensa na forma de BTC pelo trabalho realizado. Esta recompensa consiste nas comissões que os usuários pagam por transações e novos bitcoins que a própria rede gerou quando um novo bloco foi finalizado e confirmado a partir das transações. Falaremos mais sobre mineradores e geração de novos bitcoins em um artigo separado.

Comissões

Voltemos ao nosso entusiasta de criptografia. Definindo o tamanho da taxa de transação, Tony é guiado pelo fato de que para cada byte de informação ele tem que pagar uma certa quantia de Satoshi – uma parte fracionária do bitcoin. Como Tony não sabe a quantidade de dados que sua transação levará, ele decide salvar e definir o preço em 1 Satoshi por byte.

Para vocês, leitores, contaremos como o peso e o custo de uma transação Tony serão formados.

Aqueles 2 BTC, que ele tem no balanço, apareceram na carteira por um motivo. Tony ganhou – 1 BTC em 2017, 1 BTC em 2018. Agora ele quer mandar metade para a namorada. Em sua transação, além de informações sobre o número de moedas, serão incluídas informações sobre os endereços de onde as moedas chegaram até ele (são chamadas de entradas), informações sobre os endereços dos destinatários (são chamadas de saídas) e informações sobre seu próprio endereço também será incluído.

  • Cada entrada da qual as moedas foram recebidas pesa 148 bytes
  • Cada saída para a qual as moedas vão tem 34 bytes
  • A transação em si pesa 10 bytes, independentemente do número de endereços ou da quantidade de transferência.

Consideramos: 148 * 2 + 34 * 2 + 10 = 374 bytes. Agora sabemos que nosso “ganancioso” Tony pagará 374 Satoshi pela transação.

Mudar

Você pergunta, por que multiplicamos 34 (o peso do endereço do destinatário) por 2, quando o destinatário é apenas um? O fato é que quando você envia parte do seu saldo para alguém, então não parte, mas todo o valor, sai do seu saldo, e após a validação, ou seja, inclusão da transação no bloco, o saldo menos a comissão da rede é devolvido para sua carteira. Portanto, além das informações sobre o endereço do destinatário, as informações sobre o endereço do remetente, ou seja, o seu endereço, também são incluídas na transação. Este retorno é chamado de mudança.

Mempool

Tendo estabelecido uma comissão minúscula de 374 satoshi, Tony confirma o envio de 1 BTC e espera que os mineiros confirmem esta transação.

Só que os mineiros não têm pressa em confirmá-la, a transação cai no mempool – o livro da fila para confirmação. Por quê? Porque os mineiros querem ganhar dinheiro, e não apenas operar seus equipamentos, pois pela confirmação da transação de Tony, receberão apenas 374 satoshi. Especialmente para essas transações muito baratas, há um mempool com seu sistema de classificação.

Em primeiro lugar, as mineradoras “pegam” transações mais leves com uma comissão mais alta do mempool, porque confirmá-las é mais lucrativo e muito mais é colocado em seu bloco.

A propósito, se o remetente usa a tecnologia SegWit, então suas transações de saída pesam menos do que o normal, o que também atrai mineiros.

Mas você não deve pensar que, uma vez no mempool, a transação recebe algum tipo de número de sequência. Não. Esta fila é dinâmica, a cada segundo entram muitas transações com taxas e pesos diferentes, então a transação do nosso Tony pode esperar muito pela confirmação. E, o mais importante, enquanto estiver no mempool, Tony não será capaz de descartar a mudança.

Na verdade, em tal situação, os saldos do remetente são “congelados”. É este mecanismo que protege a rede de transações de spam – situações em que um spammer cria muitas transações baratas, sobrecarregando assim a rede.

Embora a transação de Tony esteja no mempool, ela não é considerada confirmada e não é considerada suspensa. Ao mesmo tempo, ele pode ficar na fila por um longo tempo – até que seja confirmado ou até que seja removido por nós de validação do mempool. De acordo com as estatísticas, o período máximo de espera de uma fila é de cerca de 3 dias, mas em momentos de alta atividade da rede este período pode ser estendido por uma semana ou mais.

Concordamos que a rapidez das transferências em nosso tempo é uma das características prioritárias na questão do uso dos sistemas de pagamento, e tais filas não são muito agradáveis, para dizer o mínimo..

Há muitas maneiras de enviar uma transação por meio do mempool. Todos eles são bastante difíceis de entender e implementar para o usuário médio, e alguns deles chegam a uma forma tão fraudulenta como "gasto duplo", ou gastos repetidos. No entanto, existe um ótimo recurso que qualquer pessoa pode usar e falaremos sobre ele. É chamado de “Comissão de Substituição” (Substituir por Taxa ou RBF).

Substituir por taxa (RBF)

Hoje em dia, nem todas as carteiras de bitcoins possuem funcionalidades avançadas semelhantes. RBF está editando uma transação existente que está no mempool.

Editar significa que as novas entradas usarão as mesmas entradas que as antigas, mas a comissão será alterada. Essa transação editada não será considerada gasto em dobro, pois o uso da opção Substituir por taxa evitará isso. Os nós da rede bitcoin percebem a transação editada como antiga, e ela é transferida na fila do mempool para posições mais atraentes para os mineiros.

Assim, se a comissão for muito pequena, aumentá-la é uma prática normal caso seja necessário agilizar a operação. Não negligencie a função RBF e habilite-a antes de fazer transações, isso permitirá que você jogue com segurança no caso de a transferência atrasar na fila.

A confirmação

Tony percebeu a tempo que, devido à sua ganância, Cindy poderia não receber um presente, então ele optou por usar a função RBF e aumentou a comissão. A transação, como esperado, tornou-se mais atraente para os mineiros, que a incluíram no próximo bloco – a transação recebeu 1 confirmação. A cada bloco subsequente encontrado, esta transação receberá 1 confirmação adicional. Quando houver 6 ou mais confirmações, a transação é considerada confirmada.

Taxa de transação

Por falar na velocidade das transferências, deve-se entender que não existe um valor definido. Mas vamos calculá-lo com base na transação de Tony e nos dados que temos.

Doença:

  • o tamanho de um bloco é 1 Mb (1048576 bytes);
  • cada bloco preenchido com transações é formado uma vez em 10 minutos (600 segundos);
  • a transação do nosso Tony tem um peso de 374 bytes.

Decisão:

  • 1048576 bytes: 374 bytes = 2803,6 transações em um bloco de 10 minutos.
  • 2803,6 transações: 600 segundos = 4,6 transações por segundo.

Resposta: A cada segundo, os mineiros confirmam 5 transações, semelhante à transação de Tony.

Claro, todos esses são valores aproximados, uma vez que a velocidade de processamento muda a cada segundo e depende de muitos fatores. O principal é que sua transação seja retirada do mempool o mais rápido possível e, se isso acontecer, sua transferência chegará ao destinatário em 1 a 600 segundos.

Com efeito, depois de a transação ser incluída no bloco, o destinatário pode não só ver os fundos do seu balanço, mas também, sob determinada condição, geri-los. Rápido, certo? Sim, mas e a regra das 6 confirmações? 6 blocos, 10 minutos cada, total – 1 hora …

Clientes Bitcoin

É tudo sobre o software que os portadores de criptomoedas usam. As carteiras clássicas de Bitcoin exibirão a transação como “não confirmada” até receber 6 confirmações (bloqueios).

Os serviços que aceitam BTC como forma de pagamento podem definir seus limites no número de bloqueios necessários para a confirmação (7, 10, 45, 214).

BTC, que são gerados pela rede como uma recompensa por encontrar um bloco, podem ser usados ​​apenas após 100 confirmações, mas as carteiras de bitcoin clássicas não exibirão moedas recebidas para encontrar um bloco até que 120 confirmações sejam coletadas.

O número "6" não foi escolhido por acaso. A cada novo bloqueio, a transação se torna menos vulnerável a falsificações ou alterações. Para fazer algo com uma transação já confirmada em um bloco, você precisará “reescrever” todos os blocos subsequentes, e isso requer um poder de computação muito grande e milhões de investimentos. E quanto mais confirmações uma transação recebe, mais segura ela será.

Mas em um blockchain poderoso e estável como o Bitcoin, é mais provável que seja o requisito do destinatário da transação, e não uma regra do protocolo.

Portanto, nossa Cindy e Tony usam não um clássico, mas uma carteira Bitcoin muito avançada e funcional. Graças à função de utilizar transações não confirmadas nela ativada, a transação de saída de Tony, após ser incluída no bloco, será imediatamente apresentada na carteira da Cindy. Nesse caso, Tony poderá se livrar do troco imediatamente e Cindy poderá receber o presente.

O link “SegWit + RBF + uso de transações não confirmadas” permite que você extraia a velocidade máxima do blockchain BTC, o que é importante para serviços não custodiantes.

Conclusão

Bitcoin é muito complexo e muito avançado tecnologicamente. Em um artigo é impossível descrever todas as sutilezas e nuances de seu trabalho, mas ainda falamos sobre seus fundamentos. Agora você sabe quais jornadas difíceis suas moedas fazem em apenas uma única transação entre duas carteiras e em que velocidade. Como e de que forma a rede se protege contra hackers, ataques de spam, fraude ou ações precipitadas de iniciantes.

A operação estável do bitcoin depende igualmente de mineradores e usuários comuns, e quanto mais participantes houver na rede, mais segura e descentralizada ela se tornará.

Autor: Kate Solano para Сrypto-Rating.com