Taxas de Transferência na Rede Bitcoin

É vulgar ouvir dizer que com Bitcoin "pode enviar dinheiro entre quaisquer dois pontos do planeta de graça". Embora isso seja verdade em alguns casos, às vezes é necessária uma taxa de transação. A taxa, quando necessária, é geralmente inferior a um cêntimo.

As taxas vão para os mineiros como incentivo a manter a mineração, que por sua vez mantém a rede Bitcoin segura. Os mineiros já recebem uma recompensa de 25 BTC por cada bloco que mineram, mas esta recompensa passa para metade a cada 4 anos. O plano é, como a recompensa pelo bloco diminui ao longo do tempo, esta será substituída pelas taxas de transação.

Então o que decide quando tem de pagar taxa e quanto?

Como tudo na Bitcoin, a estrutura das taxas está embutida nas regras da rede, que são definidas como "o que o cliente de referência faz". Quando tenta enviar moedas através do Bitcoin-Qt (o cliente de referência usado neste artigo, versão 0.8.2), este passa pelas seguintes etapas:
  1. Escolher quais as moedas a enviar

    O cliente tem que decidir qual ou quais as suas moedas usar para fazer a transferência. Cada vez que receber um pagamento, esse pagamento vai para a sua carteira e fica lá até que decida gastá-lo.

    Se receber um pagamento de 2 BTC e outro de 3 BTC, terá 2 novos valores na sua carteira, de 2 e 3 BTC. Estes não se vão "fundir" numa única moeda de 5 BTC. Com o passar do tempo vai acabar por acumular uma coleção de valores de tamanhos diferentes na sua carteira, o cliente tem de decidir quais destes valores usar para obter o melhor ajuste para a quantidade que está a tentar enviar.

    Esses valores são conhecidos como os "inputs" (entradas) da sua nova transação, e os valores que está a enviar (incluindo qualquer valor que seja enviado de volta para a sua carteira) são conhecidos como os "outputs" (saídas).

  2. Desencorajar o "dust spam"

    A taxa padrão para as transações de baixa prioridade (por cada 1000 bytes da transação; uma transação média é de cerca de 500 bytes) é de 0,0001 BTC.

    Pagamentos (outputs da transação) de 0,543 vezes a taxa mínima (0,00005430 BTC) são considerados "não-padrão", porque armazená-los custa à rede mais do que estes valem e gastá-los normalmente irá custar ao seu proprietário mais em taxas de transação do que eles valem.

    Transações "não-padrão" não são transmitidas através da rede, não são incluídas em blocos pela maioria dos mineiros, e não irão aparecer na sua carteira até que sejam incluídas num bloco.

  3. Prioritorizar moedas antigas e de alto valor

    Se as moedas que está a enviar são de valor muito baixo ou se são muito novas a transação não será considerada grátis. A cada transacção é atribuída uma prioridade, determinada pela idade, tamanho e o número de inputs.

    Especificamente, para cada input (entrada), o cliente calcula o valor do input em BTC multiplicado pela idade do input em blocos. Faz a soma destes produtos sobre todos os inputs e divide o total pelo tamanho da transação em bytes. Se isto dá um número menor do que 0,576, então a transação requer uma taxa. Isto significa que pode incluir muitos inputs pequenos e/ou muito novos numa transação sem que necessite de taxa, desde que inclua um input grande e antigo.

    prioridade = sum(valor_do_input * idade_do_input)/tamanho_em_bytes

    Se o passo 3 causou uma transação requerer taxa quando foi originalmente enviada, é possível que com o passar do tempo, e à medida que novos blocos são encontrados, os inputs da transacção envelhecem, a sua prioridade irá aumentar, e como resultado o passo 3 já não será responsável pela exigência de taxa.

  4. Custo por kilobyte

    Finalmente, o cliente verifica o tamanho da transacção em bytes. O tamanho depende do número de inputs e outputs, e é aproximadamente:

    148 * numero_de_inputs + 34 * numero_de_outputs + 10

    Se esse tamanho for inferior a 10.000 bytes e no passo 3 se verificou que a prioridade da transação é alta o suficiente para ser classificada como grátis, então a transação ainda se qualifica como grátis, caso contrário uma taxa é necessária. A taxa é cobrada por cada 1000 bytes. O valor padrão cobrado por cada 1000 bytes é de 0,0001 BTC, mas pode ser aumentado nas configurações do cliente.

As taxas "necessárias" são mesmo necessárias?

O conceito de "taxas necessárias" não é rigorosamente aplicado. Alguns mineiros não seguem as regras sobre quais taxas são necessárias, e irão incluir uma transação nos seus blocos mesmo que esta não siga as regras das taxas. Através da interface do cliente de referência é possível criar transações com uma taxa inferior à necessária. Essas transações podem, eventualmente, ser incluídas num bloco por um mineiro que não cumpra as regras das taxas.

Bem, isto é tudo muito complexo, mas espero que este texto sirva para uma melhor compreensão de como e porque o cliente decide quando e quanto cobrar.

Posts Relacionados

8 comentários

  1. Está taxa tende a mudar o valor? a medida que a moeda está super-valorizada?!

    ResponderEliminar
    Respostas
    1. Exato, aliás acho que até já mudou.

      Vê o caso da Litecoin que passou de 0.1 para 0.02 só de uma vez.

      Eliminar
  2. Ola, ótimo post parabéns!
    Sou novo em Bitcoin e estou com uma (ou varias) duvidas no caso tenho 0.0000645 e 0.0000642 recebidos em minha carteira, para pode transferir esse dinheiro sem pagar taxas(já que a taxa e maior que minha quantia) preciso que esses bitcoins se tornem antigos?

    ResponderEliminar
    Respostas
    1. Cuper, neste momento não podes gastar um valor tão baixo, mas eventualmente esse valor poderá tornar-se relevante e nessa altura poderás gastar.

      Eliminar
    2. OK, realmente comecei a poucos dias, obrigado pela resposta.
      Vlw!

      Eliminar
  3. Alguem conhece um meio de se ganhar bitcoins além dos app?

    ResponderEliminar
  4. Estou aqui só para parabenizar o texto

    ResponderEliminar

Enviar um comentário

Subscrever por Email