O que está por trás de uma operação que envolve bitcoins não é exatamente um caminho muito simples. Além do infográfico acima, que apresenta o caminho de uma transação, há detalhes mais técnicos de como o bitcoin é usado. E veja também as dúvidas mais comuns sobre o funcionamento da moeda virtual.

Carteiras e endereços

A "carteira" do Bitcoin é o arquivo que guarda o par de chaves públicas (que toda a comunidade pode verificar) e privadas usadas na autorização das transações. O endereço de Bitcoin é formado a partir de uma codificação da chave pública, para representá-la de uma forma mais compacta.

Chave pública e privada

O sistema de chave pública e privada não é exclusivo do bitcoin – ele é base de muitos sistemas de confiança e criptografia digitais, inclusive parte do "cadeado" que aparece em sites seguros da web e os certificados digitais brasileiros (como o e-CPF). Funciona da seguinte forma: a chave pública pode ser usada para verificar se uma assinatura digital foi gerada pela chave privada, bem como codificar dados que somente a chave privada poderá abrir. Ou seja, a chave pública é para o uso dos outros, enquanto a chave privada é usada por você.

Uma transação de bitcoins inclui a chave pública do(s) destinatário(s). Quando essa transação for referenciada como origem do dinheiro, apenas a chave privada, que somente o destinatário possui, será capaz de gerar o código autorizador (assinatura digital) que será aceito. Caso alguém roube sua "carteira", que contém a chave privada, essa pessoa poderá gerar as assinaturas e gastar seu dinheiro. Tudo no bitcoin é um contrato que exige sua assinatura.

Bloco e corrente de blocos

Todas as transações de bitcoin são reunidas em blocos. Um bloco é "ligado" ao bloco anterior informando qual foi o "hash" (um código que é calculado e aceito pela rede de bitcoins), formando a "corrente de blocos" até o primeiro bloco do bitcoin. Ou seja, ao ler todos os blocos é possível ver todas as transações já realizadas com a moeda.

O hash é um número que representa uma informação, gerado a partir de uma fórmula preestabelecida. Mínimas alterações nos dados geram um hash completamente diferente e imprevisível. Dessa forma, alterar os blocos do bitcoin mantendo os hashes já computados é extremamente difícil, o que protege a corrente contra manipulação do seu "passado". O hash, por ser um número muito grande, costuma ser representado em hexadecimal, ou seja, com números de 0 a 9 e letras de A a F.

Mineradores

Mineradores montam os blocos do bitcoin. Primeiro, eles agrupam as transações que estão sendo propagadas na rede, mas que ainda não foram inclusas em um bloco já ligado com a corrente. Uma vez com o bloco montado, o minerador calcula o "hash" para o bloco. Mas o bitcoin não aceita qualquer hash.

Calcular o hash dos mesmos dados sempre terá o mesmo resultado. Existe, portanto, um dado dentro do bloco que o minerador pode manipular. Esse dado é apenas um número, chamado de "nonce". O minerador então começa a calcular repetidos hashes do bloco, alterando apenas o número nonce a cada tentativa.

Como o "hash" é apenas um número, o bitcoin estabelece um valor máximo para o hash. O bitcoin trabalha com números extremamente grandes, mas, para fins de exemplo, vamos supor que o hash não pode ser maior do que 8. Quando o minerador encontrar um "nonce" que faz o bloco ter um hash 6, por exemplo, ele propaga isso para a rede. O bloco está resolvido e pode integrar a corrente de blocos.

Blocos de bitcoins devem levar, em média, 10 minutos para terem seu "nonce" encontrado. Caso os mineradores estejam encontrando o "nonce" muito rapidamente, o valor máximo (8, no exemplo) é diminuído, para dificultar o trabalho. Caso os mineradores estejam muito lentos, o valor máximo é aumentando, facilitando o trabalho, pois o número de hashes válidos aumenta. Esse ajuste é proporcional e é calculado pela rede periodicamente, baseando-se na velocidade média de geração de cada bloco.

Pelo seu trabalho, os mineradores ganham uma quantidade de bitcoins. Atualmente, esse valor é de 25, mas ele será diminuído pela metade quando a rede atingir determinado número de blocos, até que moedas não sejam mais geradas. O minerador também fica com o "troco" de todas as transações do bloco, caso esse troco não tenha sido "devolvido" ao pagador na transação.

Blocos órfãos

Caso dois mineradores encontrem um "nonce" juntos ou quase juntos, a rede terá dois blocos válidos em circulação. Eventualmente, um novo bloco será gerado, mas ele referenciará apenas o hash de um dos blocos anteriores. O bloco que sobrou, chamado de "bloco órfão", é descartado. Se a transação foi incluída apenas no bloco órfão, ele terá que ser novamente incluída em um bloco futuro, o que pode fazer com que uma transação leve mais de 30 minutos até ser oficialmente parte do histórico do bitcoin.

Não há 'saldo'

Quando se fala que o bitcoin é uma "moeda criptográfica", supõe-se que ele funcione como o papel-moeda, e que as "carteiras" de bitcoins guardam seu dinheiro até você transferir para outra pessoa. Esse, porém, não é o caso. Carteiras de bitcoin não guardam dinheiro algum, e você não tem necessariamente um "saldo".

Em vez disso, todas as bitcoins ficam nas transações. As moedas que você recebe não ficam em sua carteira e não são gastas dizendo o equivalente "vou usar agora 5 BTC da minha carteira". Para usar as bitcoins, o software gerenciador precisa apontar uma transação específica de onde as moedas foram recebidas.

Por exemplo, se você recebeu três moedas de bitcoin (BTC) de uma pessoa A, e mais duas moedas de bitcoin de uma pessoa B, e quer usar quatro moedas, o software do bitcoin iniciará uma transação que identifica como "origem" essas duas transações anteriores, que somam 5 BTC. A moeda bitcoin que sobra é o troco e ele também é enviado – de volta para você mesmo. Quando você quiser usar essa moeda, o software terá de referenciar essa mesma transação, dizendo, de certa forma, "quero usar esse 1 BTC que ficou de troco para mim".

Detalhe: o envio desse "troco" não é automático. O software é que gerencia isso. Essa "transação", portanto, tinha dois destinatários: 4 BTC para uma pessoa, 1 BTC de volta para você. Caso essa segunda transação do "troco" não fosse informada, a moeda que sobra ficaria com o minerador que incluiu a transação no bloco que foi incluído na corrente de blocos do bitcoin (entenda o que são mineradores e a corrente de blocos, acima).

O bitcoin funciona assim por dois motivos. Um deles é que calcular o "saldo" de uma carteira levaria muito tempo. O banco de dados completo do bitcoin, somando todos os blocos da corrente, tem aproximadamente 13 GB hoje, mas aumentará muito mais. Para calcular o saldo de uma carteira, seria preciso processar esse banco de dados inteiro e chegar ao balanço. Especificar a origem das moedas permite que a verificação seja mais simples: basta procurar as transações em que aquela mesma moeda foi gasta. Se houver uma transação mais nova do que a especificada, e que não dá o direito de uso da moeda para quem a está usando, então ela já foi gasta e não pode ser usada.

Outro motivo é que as transações permitem a configuração de autorizações programadas. Ou seja, o bitcoin não funciona apenas dizendo que A quer autorizar ou enviar moedas para B. O bitcoin permite muito mais que isso. As autorizações de uso da moeda são uma sequência de regras. Em linguagem técnica, é um "script".

Transações futuras

É possível, por exemplo, enviar dinheiro para duas pessoas ao mesmo tempo, exigindo que as duas forneçam uma autorização para que aquela moeda seja gasta no futuro – as moedas pertencem a ambas, mas nenhuma tem o direito de usá-las sozinho. Com isso, é possível criar um fundo de doação, no qual alguns ou todos os doadores podem reter o controle do dinheiro e autorizá-lo somente quando uma compra foi acertada entre todas as partes.

Também é possível criar um "depósito garantido", no qual um valor é depositado, mas retornado, em todo ou em parte, após uma data combinada (as transações de bitcoin são todas datadas). Outras possibilidades levantadas são a de distribuição automática de heranças e criação de loterias.

Essas possibilidades ainda nem começaram a ser exploradas e são, em grande parte, hipotéticas. Mas atestam o poder do bitcoin como não apenas uma moeda de "troca", mas um poderoso protocolo de autorizações programadas, contratos e registros virtuais.