Bitcoin é um sistema aberto de transferência de valor monetário sem um administrador central obrigatório. O nome designa o protocolo, a rede de participantes e sua unidade monetária; o símbolo da unidade é BTC, e um BTC se divide em 100 000 000 satoshis. Para entender Bitcoin, vale acompanhar um pagamento: quem pode controlar o valor, como transfere essa capacidade ao destinatário e como os demais verificam sua inclusão em um histórico compartilhado.
Um saldo bancário representa uma obrigação do banco com o cliente. Na autocustódia de bitcoin, temos os meios para cumprir as condições de gasto de registros específicos da rede. O protocolo registra valores e condições, não os nomes civis dos proprietários. A carteira reúne esses registros no saldo exibido; as moedas não são arquivos guardados no celular. Um saldo com custodiante ou corretora tem outro significado: geralmente é um direito perante o serviço que controla as chaves. A capacidade técnica de assinar um pagamento não determina, sozinha, a propriedade legal. [Bitcoin Developer Guide — Transactions] [Bitcoin.org — Securing your wallet]
O destinatário fornece um endereço criado pela carteira. Ele indica como criar uma saída com determinadas condições de gasto; não é uma caixa de moedas nem uma senha secreta. No caso comum, uma assinatura digital criada com uma chave privada autoriza o gasto seguinte; verificá-la não exige revelar a chave. As condições também podem exigir várias assinaturas ou espera. Conhecer o endereço não basta para gastar. Quem obtiver os segredos necessários poderá, porém, criar um gasto válido; a rede não distingue roubo de chave de consentimento de seu titular. [Bitcoin Developer Guide — Transactions]
Uma saída ainda não gasta de uma transação anterior é chamada UTXO. Uma transação comum referencia os UTXO escolhidos por suas entradas, consome-os por inteiro e cria novas saídas. Com uma saída adequada de 100 000 sat, o remetente pode destinar 60 000 sat ao destinatário e devolver 39 000 sat ao próprio controle. Os 1 000 sat restantes são a taxa, não uma tarifa recomendada. A saída original não pode ser gasta novamente naquele histórico. O endereço de troco não precisa ser o original. Antes de assinar, verificam-se destinatário, valor e taxa. [Bitcoin Developer Guide — Transactions]
A carteira prepara e assina o pagamento; um Full Node verifica os dados conforme as regras de consenso. Confere, por exemplo, se as entradas existem e não foram gastas, se as condições de gasto foram cumpridas e se uma transação comum não cria valor extra. Pode admitir uma transação válida não confirmada em sua fila local, o Mempool, e retransmiti-la. Cada nó tem sua fila e políticas de retransmissão; recusar a retransmissão nem sempre significa invalidade em um bloco. A carteira pode usar um nó próprio ou um servidor externo que fornece informações. Nem o próprio nó protege uma chave de assinatura roubada. [Bitcoin Developer Guide — Transactions] [Bitcoin Developer Guide — Operating Modes]
O titular autorizado de uma chave pode assinar duas transações distintas que gastam o mesmo UTXO. Ambas as assinaturas podem estar corretas e diferentes participantes podem ver primeiro pagamentos diferentes. Além da autorização, precisamos de uma ordem compartilhada. Gasto duplo não é copiar um arquivo de moeda: é tentar impor dois usos conflitantes da mesma saída. No máximo um pode pertencer a um histórico válido. A hora de recebimento, o número de nós conectados ou uma afirmação da carteira não resolvem esse conflito globalmente por si sós. [Bitcoin: A Peer-to-Peer Electronic Cash System]
Mineradores montam blocos candidatos e calculam hashes repetidamente para encontrar um Proof of Work que satisfaça o alvo de dificuldade. Um bloco referencia o anterior; alterar o histórico antigo exige refazer o trabalho subsequente. O nó verifica primeiro as regras e escolhe, entre os ramos válidos, aquele com mais trabalho acumulado, não necessariamente mais blocos. A mineração ajuda a definir a ordem, mas não autoriza gastar saídas alheias. Nem uma maioria da potência computacional força um nó inalterado a aceitar um bloco inválido; ela pode, contudo, perturbar a ordem e a disponibilidade de confirmações. [Bitcoin Developer Guide — Block Chain]
A inclusão em um bloco aceito dá a primeira confirmação. Blocos seguintes geralmente aumentam o custo de substituir esse histórico. O intervalo entre blocos não é um horário fixo: dez minutos é uma meta de longo prazo, não um prazo prometido para pagar. Uma reorganização pode retirar um bloco anteriormente aceito, devolver uma transação ao estado não confirmado ou substituí-la por um gasto conflitante. O número de confirmações necessário depende, portanto, do valor e do risco do pagamento; não oferece certeza absoluta. O protocolo não tem administrador de cancelamentos. Uma devolução voluntária é um novo pagamento cuja taxa precisa ser considerada novamente. [Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain]
A primeira transação do bloco, a Coinbase Transaction, pode atribuir ao minerador o subsídio do bloco e as taxas das transações incluídas. Só o subsídio cria unidades novas; taxas transferem valor existente. O subsídio máximo começou em 50 BTC e cai pela metade a cada 210 000 blocos. Esse Halving não afeta as taxas. O arredondamento para satoshis inteiros mantém a soma dos subsídios permitidos abaixo de 21 milhões de BTC. Os nós rejeitam recompensas excessivas. Chaves perdidas não aumentam a emissão futura, e um número limitado de unidades não determina sozinho seu poder de compra. [Bitcoin Developer Guide — Block Chain]
O código-fonte pode ser examinado e mudanças propostas publicamente. Desenvolvedores publicam software, operadores de nós escolhem as regras que verificam e mineradores escolhem o conteúdo dos blocos candidatos. Nenhum papel decide sozinho por todos; mudanças incompatíveis podem dividir a rede. A influência econômica dos participantes continua desigual. O espaço limitado dos blocos restringe as exigências de verificação e propagação de dados, mas uma demanda alta cria competição pela inclusão. A taxa se relaciona, assim, com o tamanho da transação e a demanda por inclusão, não simplesmente com o valor transferido. [Bitcoin Developer Guide — Block Chain] [Bitcoin Developer Guide — Transactions]
O histórico público permite verificar, mas também associar pagamentos a identidades, por exemplo com dados de uma corretora. Pseudonimato não é anonimato. A autocustódia elimina a necessidade de pedir uma assinatura a um custodiante, mas transfere ao titular a responsabilidade por backups, segurança do dispositivo e conferência do destinatário. O backup precisa restaurar as chaves e a configuração necessárias; restaurar a carteira não torna secreto novamente um segredo exposto. O nó próprio ajuda a verificar o histórico, sem garantir preço, privacidade ou assinatura segura. Verificar por conta própria exige saber qual dessas questões está sendo conferida. [Bitcoin.org — Protect your privacy] [Bitcoin.org — Securing your wallet]
Para ter uma visão mais completa, leia este verbete junto com Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node, Limite de 21 milhões. Também há referências a este verbete em Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Full Node.