Comece por uma pergunta familiar: o que acontece quando alguém paga em bitcoin? Estas oito lições acompanham o pagamento desde a carteira até à confirmação num bloco. Os termos técnicos são explicados quando aparecem pela primeira vez. Pode ler pela ordem apresentada ou escolher um tema no índice.
Lição01
Bitcoin, BTC e carteiras: três coisas diferentes
Bitcoin é uma rede de computadores que segue regras comuns para registar transferências sem um administrador central das contas. Os participantes trocam transações diretamente entre si. O histórico público das transações é organizado em blocos ligados uns aos outros: a blockchain, ou cadeia de blocos. BTC é a unidade monetária da rede. Um bitcoin equivale a 100 milhões de satoshis, pelo que um pagamento pode utilizar uma pequena fração de um bitcoin.
Uma carteira é um programa ou dispositivo que gere as informações necessárias para receber pagamentos e autorizar gastos. Os bitcoin são registados como saídas não gastas no histórico de transações da rede; não são ficheiros guardados no seu telemóvel. As chaves privadas são informações secretas utilizadas para autorizar gastos. Um endereço fornece instruções de pagamento que pode partilhar com quem lhe vai enviar fundos; não é uma chave privada.
Na autocustódia, controla as chaves e é responsável por protegê-las e por garantir que as consegue recuperar. Numa conta com custódia, um fornecedor controla as chaves em seu nome. Estas modalidades têm riscos diferentes. A emissão limitada de Bitcoin não garante um preço estável, poder de compra ou rendimentos de investimento.
Lição02
Como um pagamento passa da carteira para um bloco
Quando paga, Bitcoin não atualiza simplesmente o saldo de uma conta central. Uma transação gasta saídas de transações anteriores que ainda não foram gastas e cria novas saídas. Estas saídas disponíveis são habitualmente designadas por UTXO, de Unspent Transaction Output. A carteira soma os valores das saídas que pode gastar para apresentar um saldo. Quando escolhe uma saída para pagar, essa saída é gasta na totalidade; o troco pode ser atribuído a uma nova saída controlada pelo remetente.
Por exemplo, uma entrada de 10.000 satoshis pode financiar um pagamento de 6.000 satoshis e uma saída de troco de 3.800 satoshis. Os restantes 200 satoshis são a comissão da transação. Os montantes explicam a contabilização; não são uma cotação das comissões de hoje. Em geral, as comissões dependem da dimensão da transação e da procura de espaço nos blocos, não de uma percentagem fixa do valor enviado.
A carteira cria a transação e fornece a autorização necessária para gastar as entradas. Depois transmite-a à rede. Os nós verificam-na e podem guardá-la numa mempool local, a sua coleção de transações ainda não confirmadas. Um minerador pode incluí-la num bloco. Quando esse bloco é aceite segundo as regras de um nó e passa a integrar a sua cadeia ativa, a transação tem a primeira confirmação. Cada bloco seguinte acrescenta uma confirmação.
Lição03
SHA-256 e assinaturas digitais: funções diferentes
SHA-256 é uma função de hash criptográfica. Recebe bytes de entrada, como os bytes que representam uma mensagem, e produz um resultado de 256 bits chamado hash ou resumo. É normalmente apresentado como uma sequência de 64 caracteres hexadecimais. A mesma entrada produz sempre o mesmo resultado. Alterar um único bit costuma produzir um hash muito diferente, sem um atalho útil para prever o resultado.
Uma função de hash não é encriptação. Não existe uma chave de desencriptação que transforme um resumo SHA-256 na mensagem original. Os hashes ajudam a ligar dados e a detetar alterações; não ocultam o histórico público de transações de Bitcoin nem tornam os utilizadores anónimos. Na experiência abaixo, pode alterar uma mensagem de exemplo e comparar os resultados.
As assinaturas digitais resolvem outro problema: autorizam um gasto segundo as regras da transação sem revelar a chave privada. Os outros participantes podem verificar a assinatura utilizando a chave pública correspondente e os dados assinados. Bitcoin utiliza assinaturas ECDSA e, no Taproot, assinaturas Schnorr BIP340 sobre a curva elíptica secp256k1. As funções de hash e as assinaturas trabalham em conjunto, mas não são intercambiáveis.
Lição04
Mineração: procurar um hash abaixo de um alvo
Um minerador prepara um bloco candidato com transações e uma primeira transação chamada coinbase. A coinbase pode atribuir os novos BTC permitidos, o subsídio do bloco, e as comissões das transações. O minerador constrói então o cabeçalho do bloco, de 80 bytes. Este inclui uma referência ao bloco anterior, um resumo dos identificadores das transações chamado raiz de Merkle e campos como a data e hora, a codificação do alvo e o nonce.
A mineração aplica SHA-256 duas vezes ao cabeçalho, repetindo o processo com cabeçalhos diferentes. Para uma prova de trabalho válida, o número resultante deve ser menor ou igual ao alvo exigido, um limite definido pelas regras de consenso. Um alvo menor reduz a probabilidade de sucesso em cada tentativa. É um processo de tentativa e erro: os mineradores não resolvem uma equação oculta com uma resposta útil, e uma tentativa falhada não torna a seguinte mais provável de ter sucesso.
O nonce é um campo de 32 bits que os mineradores podem alterar para experimentar novos cabeçalhos. Também podem modificar outros dados permitidos. Por exemplo, alterar os dados extra nonce da coinbase muda o identificador dessa transação, a raiz de Merkle e o cabeçalho. Mesmo depois de encontrar um hash que cumpra o alvo, o bloco tem de passar todas as outras regras de validação. As pools de mineração coordenam participantes e repartem as receitas segundo os seus próprios acordos; não garantem recompensas nem rentabilidade.
Lição05
Como os nós completos verificam blocos e confirmações
Um nó completo é um programa que verifica de forma independente as regras de consenso de Bitcoin. Ao receber um bloco, verifica mais do que o hash da prova de trabalho: as transações têm de cumprir as condições de gasto, as entradas não podem gastar saídas indisponíveis e a coinbase não pode reclamar mais do que o subsídio e as comissões permitidos. Um bloco inválido é rejeitado mesmo que tenha exigido muita capacidade de processamento.
Por vezes, dois blocos válidos competem pela mesma posição. Entre os históricos que cumprem as suas regras, um nó segue a cadeia com mais prova de trabalho acumulada. É frequente chamar-lhe a «cadeia mais longa», mas a medida importante é o trabalho total, não apenas o número de blocos ou o número de computadores que apoiam uma versão do histórico.
Uma confirmação significa que uma transação está incluída num bloco dessa cadeia; cada bloco seguinte acrescenta outra confirmação. Substituir essa parte do histórico torna-se mais difícil à medida que se acumula trabalho, mas continuam a ser possíveis reorganizações. O número de confirmações adequado a um pagamento depende do montante e da tolerância ao risco do destinatário. O protocolo procura manter uma média de cerca de dez minutos entre blocos; não promete que o próximo bloco chegue dentro de dez minutos.
Lição06
Quem desenvolve Bitcoin e quem decide as regras?
Bitcoin não é uma empresa com um diretor executivo que possa ordenar a todos que alterem o sistema. Os participantes têm funções diferentes. Os programadores propõem, escrevem, testam e revêm software. Os mineradores escolhem os blocos candidatos em que vão trabalhar. Os operadores de nós escolhem o software e as regras que aplicam. Os utilizadores escolhem carteiras e serviços e decidem que pagamentos aceitam.
Uma Bitcoin Improvement Proposal, ou BIP, documenta uma ideia ou norma proposta. A publicação não é uma ativação: uma proposta, uma versão de software e uma regra efetivamente aplicada são etapas diferentes. Uma alteração pode exigir revisão técnica, implementação e coordenação entre participantes. Também é possível discordar e não adotar uma alteração.
Convém distinguir as regras de consenso das políticas locais de um nó. O consenso determina se um bloco é válido segundo as regras desse nó. As políticas locais afetam, por exemplo, as transações não confirmadas que o nó retransmite ou mantém na sua mempool. Alterar uma política local não muda automaticamente o conteúdo permitido nos blocos Bitcoin. Educadores, colaboradores e empresas conhecidos podem influenciar o debate, mas nenhum fala em nome de todos os utilizadores de Bitcoin.
Lição07
Utilizações reais: pagamentos, donativos e projetos locais
Bitcoin permite transferir valor entre pessoas que optam por utilizá-lo, sem exigir que um operador central aprove uma transação que cumpre as regras da rede. Um pagamento pode ser efetuado na blockchain, ou um serviço pode utilizar outro sistema, como Lightning, com os seus próprios requisitos. Ter acesso à rede e ter acesso a um serviço conveniente de conversão para moeda local são coisas diferentes.
Existem exemplos práticos. O BTCPay Server disponibiliza ferramentas de código aberto para os comerciantes aceitarem bitcoin, incluindo Lightning quando configurado. A OpenSats aceita donativos em bitcoin para apoiar trabalho de código aberto. A Bitcoin Beach descreve uma iniciativa local de pagamentos e educação em El Salvador. Estes exemplos ilustram utilizações possíveis; não demonstram adoção universal nem significam que um determinado serviço seja adequado a todos.
Antes de utilizar um serviço de pagamentos, verifique quem controla as chaves, quais são as comissões, como o destinatário recebe o valor e o que acontece se o fornecedor ficar indisponível. A volatilidade, a conversão para moeda local, a privacidade e as regras aplicáveis também importam. Enviar bitcoin para outro país não proporciona automaticamente um levantamento de numerário no destino. Compreender como um sistema funciona deve vir antes de decidir utilizá-lo.
Lição08
Porque Bitcoin usa canais de pagamento e outras redes
A camada base de Bitcoin regista transações em blocos de capacidade limitada. Uma maior procura dessa capacidade pode aumentar as comissões e os tempos de espera. Aumentar os pagamentos quotidianos não é, por isso, apenas uma questão de colocar mais transações individuais em cada bloco. Outros modelos podem tratar parte da atividade fora da cadeia principal e utilizá-la apenas em determinadas etapas de liquidação ou de garantia do cumprimento dos acordos.
Lightning usa canais de pagamento para atualizar saldos sem registar cada atualização num bloco Bitcoin. Sidechains como Liquid e Rootstock têm os seus próprios blocos e mecanismos para representar bitcoin. Fedimint distribui a custódia por um grupo de guardiões. Os sistemas do tipo Ark e os modelos baseados em BitVM exploram outros mecanismos em diferentes fases de desenvolvimento. Chamar layer 2 a um sistema não significa que tenha as mesmas garantias de outro.
Compare cada modelo através de cinco perguntas: quem controla as chaves, que ativo o utilizador detém, onde as transações ficam concluídas segundo as regras do sistema, que liquidez é necessária e como pode recuperar os fundos se um fornecedor falhar. Uma atualização mais rápida no ecrã não é necessariamente uma confirmação na cadeia principal de Bitcoin. A secção seguinte explica uma seleção de modelos e as suas limitações; não enumera todos os projetos relacionados com Bitcoin.
Cinco termos que encontrará nestas lições
Nonce
Um número de 32 bits no cabeçalho do bloco que os mineradores alteram para experimentar novos hashes. Depois de esgotarem os valores possíveis, também podem modificar outros dados permitidos.
Coinbase
A primeira transação de um bloco. Pode atribuir o subsídio permitido e as comissões das transações. Este termo do protocolo não está relacionado com a empresa chamada Coinbase.
Raiz de Merkle
Um valor de 32 bytes que liga o cabeçalho a uma lista ordenada de identificadores de transações. Alterar um identificador incluído modifica esse valor. Bitcoin protege separadamente os dados witness, dados adicionais de gasto como as assinaturas. Alterar apenas esses dados pode não modificar o identificador txid da transação.
Valor-alvo (target)
O maior inteiro permitido como hash da prova de trabalho. Um alvo mais baixo torna mais difícil encontrar um hash que cumpra o requisito.
Peg
Um mecanismo que liga um ativo representado numa rede a fundos mantidos noutra. As pessoas, o software ou o hardware que operam essa ligação fazem parte dos pressupostos de segurança.
SHA-256
Experimente: hashing e uma prova de trabalho simplificada
Altere uma mensagem de exemplo e compare o respetivo resumo SHA-256. Depois experimente valores de nonce num cabeçalho de demonstração. Tudo é executado apenas no seu navegador: não minera bitcoin nem envia transações.
Utilize texto de exemplo, nunca segredos de uma carteira. O conteúdo introduzido não é enviado ao servidor nem guardado. Ao sair desta página, é apagado da ferramenta.
Hash do cabeçalho com duplo SHA-256, na ordem de apresentação de Bitcoin
—
Tentativas
0
Último nonce testado
—
O exemplo utiliza um cabeçalho de 80 bytes, um alvo artificial fácil e o resumo de uma mensagem em vez de uma raiz de Merkle de transações reais. Não tem um corpo de bloco válido nem segue a dificuldade da mainnet. Os nós reais não o aceitariam como bloco Bitcoin. É apresentado o último nonce testado, não uma contagem de sucessos garantidos.
Estas explicações simplificam a apresentação, não as regras. Os exemplos usam montantes ilustrativos, não as comissões atuais. Cada lição remete para a documentação do protocolo ou para uma fonte original onde pode aprofundar os pormenores.
Fontes verificadas:
Aprender primeiro. Interpretar os dados depois.
Relacione as explicações com as comissões observadas, os blocos, as divulgações de reservas empresariais e os dados de mercado. Um gráfico é mais útil quando sabe o que os seus números medem.