O que é Bitcoin?
Explicação completa e didática1) Definição resumida
Bitcoin é um sistema de dinheiro eletrônico peer-to-peer que permite transferir valor sem intermediário central, baseado em um livro-razão distribuído chamado blockchain. A ideia original e o protocolo foram descritos por Satoshi Nakamoto no whitepaper de 2008.
bitcoin.org
Ele garante consenso global usando Proof-of-Work (PoW) (hashing SHA-256) e um conjunto de regras (consenso) que todos os nós verificam.
developer.bitcoin.org
A unidade de conta mínima é o satoshi (1 BTC = 100.000.000 satoshis) e o suprimento total é limitado a 21 milhões de bitcoins (emissão programada por halving).
bitcoin.org
2) Origem e propósito
Em outubro de 2008 Satoshi Nakamoto publicou “Bitcoin: A Peer-to-Peer Electronic Cash System”, propondo resolver o problema do double spending sem autoridade central, usando um registro encadeado de blocos e prova de trabalho. Esse whitepaper é a referência original do protocolo.
bitcoin.org
3) Visão de alto nível — como as partes se encaixam
Usuários criam transações (assinadas com suas chaves privadas).
Transações entram na mempool (pool de transações não confirmadas) e são retransmitidas em um overlay P2P.
Mineradores agrupam transações em blocos e competem para produzir um bloco válido resolvendo o puzzle de PoW (hash do cabeçalho do bloco menor ou igual a um alvo). O minerador vencedor propaga o bloco e recebe recompensa (bloco + taxas).
developer.bitcoin.org
+1
Todos os nós completos (full nodes) verificam cada bloco/transação segundo regras de consenso; somente blocos válidos são aceitos na melhor cadeia.
developer.bitcoin.org
4) Dados fundamentais — blocos, cabeçalho, Merkle e prova de trabalho
Bloco e cabeçalho
Um bloco contém um conjunto de transações e um cabeçalho de 80 bytes que inclui, entre outros campos: version, previous block hash, merkle root (compromisso das TXs), time, nBits (alvo compactado) e nonce. O hash duplo SHA-256 do cabeçalho deve ser ≤ target para o bloco ser válido (prova de trabalho).
developer.bitcoin.org
Merkle tree
O merkle root sintetiza todas as TXIDs do bloco em uma árvore de hashes. Isso permite provas de inclusão compactas (SPV proof): um nó leve pode verificar que uma transação está em um bloco recebendo apenas um caminho de hashes até o merkle root.
developer.bitcoin.org
Proof-of-Work
O PoW em Bitcoin usa SHA-256(SHA-256()) (double SHA-256) sobre o cabeçalho. Mineradores iteram o nonce (e outros campos modificáveis) para encontrar um cabeçalho cujo hash seja menor/igual ao alvo (target) implícito em nBits. Esse trabalho vincula custo computacional à produção de blocos, tornando reescrever história caro.
developer.bitcoin.org
+1
Ajuste de dificuldade
A dificuldade é ajustada a cada 2.016 blocos (aprox. 14 dias). Se os últimos 2.016 blocos foram minerados em menos tempo que o ideal, a dificuldade sobe; se demorou mais, a dificuldade cai (com limites de variação por retarget). Isso mantém o intervalo médio entre blocos próximo a ~10 minutos.
developer.bitcoin.org
5) Transações e o modelo UTXO (Unspent Transaction Output)
O que é uma transação
No Bitcoin, uma transação consome UTXOs (saídas não gastas) e cria novas saídas. Uma saída especifica um valor (satoshis) e uma locking script (scriptPubKey) que define a condição para gastar aquela saída; o gasto é feito por uma transação que fornece uma unlocking script (scriptSig) e/ou dados de testemunha.
developer.bitcoin.org
UTXO vs contas
Bitcoin usa o modelo UTXO (sem estado de conta global): cada saída não gasta é um “objeto” que representa saldo. Isso facilita paralelismo, auditoria e verificação local do que um cliente possui (verificando que as UTXOs estão sob sua chave). Contrasta com o modelo “account” (como Ethereum) que mantém saldos por endereço.
Formato bruto e TXID
As transações são serializadas em um formato bruto (raw tx) e o TXID é o hash (double SHA-256) da forma serializada sem witness (em pre-SegWit). SegWit introduziu distinção entre txid e wtxid (witness tx id) — importante para maleabilidade e para identificar transações contendo dados de testemunha separados.
developer.bitcoin.org
Wikipédia
Verificação
Para cada entrada:
- verificar que o UTXO referenciado existe e está disponível;
- verificar que a assinatura(s) corresponde(m) à(s) chave(s) exigida(s) pelo locking script (Script evaluation);
- garantir que as somas de entradas ≥ somas de saídas (diferença = taxas).
Todo full node executa essas verificações antes de aceitar/relatar a transação.
developer.bitcoin.org
6) Script — a “linguagem” de Bitcoin (contratos)
Bitcoin tem uma linguagem de scripts (stack-based, inspirada em Forth) desenhada para ser não-Turing-completa (sem loops), mais simples e previsível. Ela fornece primitivas como OP_CHECKSIG, OP_HASH160, OP_DUP, OP_EQUALVERIFY, etc. Isso permite construir condicionais simples (multisig, timelocks) e contratos básicos.
developer.bitcoin.org
+1
Tipos de saída comuns:
- P2PKH (legacy): Pay to Public Key Hash — endereços que começam com 1.
- P2SH: Pay to Script Hash — endereços que começam com 3 (redeem script separado).
- SegWit: P2WPKH / P2WSH (endereços bc1... em Bech32) — testemunha separada, resolve malleability e melhora eficiência.
GitHub
Bitcoin Optech
7) Chaves, assinaturas e características criptográficas
Chaves
Cada carteira controla pares de chaves (privada, pública) usando a curva elíptica secp256k1. A chave pública (ou seu hash) aparece em scripts e endereços; a chave privada assina transações. Bibliotecas como libsecp256k1 são implementações robustas dessa curva.
GitHub
Assinaturas ECDSA → Schnorr/Taproot
Tradicionalmente o Bitcoin usava ECDSA (secp256k1) para assinaturas. Nas melhorias recentes, BIP-340 / Schnorr e BIP-341 (Taproot) foram adotados (soft-fork em 2021), trazendo assinaturas Schnorr (mais compactas, linearidade útil para agregação) e Taproot (melhor privacidade de scripts, possibilidade de key path e script path de gasto). Essas mudanças ampliam expressividade e eficiência das transações sem quebrar compatibilidade com versões antigas.
GitHub
8) Evoluções importantes do protocolo (ex.: SegWit e Taproot)
Segregated Witness (SegWit) — BIP141
SegWit (2017) separou as assinaturas (witness) do corpo principal da transação, corrigiu a maleabilidade de assinaturas (permitindo aplicações off-chain como Lightning), e introduziu uma métrica de “peso” para blocos (em vez do limite rígido de 1MB). Endereços nativos SegWit usam Bech32 (BIP173).
GitHub
+1
Taproot + Schnorr — BIPs 340–342
Taproot (2021) + Schnorr aproximam transações complexas (multisig, scripts) de transações simples em termos de privacidade e tamanho, porque assinaturas e scripts podem ser combinados/agregados. Isso melhora privacidade e eficiência de contratos on-chain.
GitHub
9) Wallets, HD wallets e gestão de chaves
Carteiras podem ser custodiais (serviço guarda chaves) ou non-custodial (você controla chaves). Há também hardware wallets para segurança das chaves privadas.
BIP-32 define carteiras hierárquicas determinísticas (HD wallets) — permite derivar muitas chaves de uma seed. BIP-39 define a mnemonic seed (frases de 12/24 palavras) para backup humano. BIP-44 padroniza caminhos de derivação (m/44`'`/0`'`/0`'`/...). Esses BIPs são padrões amplamente usados por carteiras modernas.
GitHub
10) Propagação P2P, mempool e inclusão em bloco
Transações são anunciadas e retransmitidas pela rede P2P (gossip), os nós mantêm políticas (por exemplo: taxa mínima de relay). Transações aguardam na mempool até serem incluídas em blocos pelos mineradores. Ferramentas de estimação de tarifa analisam mempool e histórico para sugerir feerates que aumentem chance de inclusão.
developer.bitcoin.org
Bitcoin Optech
Existem técnicas como Replace-By-Fee (RBF — BIP125) e Child-Pays-For-Parent (CPFP) para “bump” de taxas quando necessário (políticas e suporte variam entre carteiras e nós).
11) Escalabilidade e camadas (Lightning)
A camada 1 (on-chain) tem capacidades limitadas (por decisão de desenho e segurança). Para micropagamentos e alta escalabilidade, existe a Lightning Network (Layer-2): canais de pagamento (state channels), roteamento de pagamentos e protocolos especificados nos BOLTs (Basis of Lightning Technology). Lightning permite milhares de txs off-chain com apenas poucas transações on-chain para abrir/fechar canais.
GitHub
12) Privacidade e suas limitações
Bitcoin é pseudônimo: endereços não vinculam automaticamente à identidade humana, mas o ledger é público e permanente — análises on-chain (clustering, heurísticas, KYC de exchanges) frequentemente vinculam transações a identidades.
Técnicas de privacidade incluem CoinJoin, CoinSwap, e melhores práticas de carteira (endereços únicos, evitar reutilização). Mesmo assim, privacidade completa demanda cuidado e design especializado. (ver documentação e discussões técnicas sobre proteção de privacidade).
learnmeabitcoin.com
mempool.space
13) Segurança, ataques e limites do modelo
Double-spend e confirmações: antes de considerar dinheiro “final”, comerciantes costumam aguardar várias confirmações (6 é uma referência histórica), porque uma cadeia alternativa com mais trabalho poderia eventualmente anular blocos recentes. O risco decresce exponencialmente com número de confirmações, mas é probabilístico — não existe “imediata finalidade absoluta”.
developer.bitcoin.org
Ataque 51%: um agente controlando >50% da taxa de hashing pode reescrever história (custo alto). Economicamente, esse ataque é caro e destrói confiança/valor, então há forças econômicas dissuasoras, mas o risco técnico existe enquanto o atacante tiver capacidade de hashing maior que a rede.
developer.bitcoin.org
14) Economia da emissão — halving e recompensa
Recompensa de bloco: os mineradores recebem uma recompensa fixa por bloco que diminui pela metade aproximadamente a cada 210.000 blocos (≈4 anos). Começou em 50 BTC por bloco (2009), passou para 25, 12.5, 6.25 (a última halving foi em 2020). O protocolo define um limite final de 21 milhões de BTC; após isso, mineradores dependem de taxas de transação.
bitcoin.org
15) Governança e mudanças no protocolo
Mudanças no protocolo são propostas como BIPs (Bitcoin Improvement Proposals). Atualizações que não quebram consenso podem ser soft-forks; outras requerem coordenação maior. A governança é distribuída: desenvolvedores propõem, operadores/mineradores e economia (exchanges, nós, usuários) realizam adoção. Exemplos: SegWit (BIP141) e Taproot (BIPs 340–342).
GitHub
+1
16) Como verificar ou usar o Bitcoin de forma prática (princípios operacionais)
Full node
Full node: baixa e valida toda a blockchain; provê máxima segurança e privacidade (você verifica regras por si mesmo).
SPV / light client
SPV / light client: valida por cabeçalhos e provas de Merkle (mais leve, menos segurança).
Carteiras
Carteiras: ao usar uma carteira não custodial, guarde a seed (BIP39) com segurança; prefira hardware wallets para grandes valores.
developer.bitcoin.org
GitHub
17) Recomendações práticas e “melhores práticas”
Para segurança: mantenha backups off-line da seed, prefira hardware wallets para valores grandes, use endereços diferentes por recebimento (evita linkabilidade).
Para pagamentos/recebimentos: aguarde confirmações adequadas (depende valor/risco) — pequenas compras podem aceitar 0-conf com risco controlado (mas é técnico e arriscado).
Para desenvolvedores: teste em testnet/regtest, rode um node completo para validação, e leia o Developer Guide e BIPs antes de projetar integração.
developer.bitcoin.org
+1
18) Referências (para leitura técnica e verificação)
Whitepaper (Satoshi Nakamoto) — A Peer-to-Peer Electronic Cash System.
bitcoin.org
Bitcoin Developer Documentation (block headers, merkle, P2P, transações): developer.bitcoin.org (Block Chain, Transactions, P2P, Mining).
developer.bitcoin.org
FAQ e conceitos econômicos — bitcoin.org/faq (21M cap, halving explanation).
bitcoin.org
SegWit (BIP141) e Bech32 (BIP173) — BIPs e documentação relacionada.
GitHub - github.com/bitcoin/bips/blob/master/bip-0116.mediawiki?.com
Github - github.com/bitcoin/bips/blob/master/bip-0173.mediawiki?.com
Taproot / Schnorr (BIPs 340–342) — repositório BIPs (especificações).
GitHub - github.com/bitcoin/bips?.com
Lightning Network (BOLTs) — especificações da camada-2.
GitHub - github.com/lightning/bolts?.com
Fee estimation / mempool — Bitcoin-Optech, mempool.space e estudos sobre fee-estimators.
Bitcoin Optech
mempool.space
19) Conclusão — por que Bitcoin funciona (resumido)
Bitcoin combina:
- um ledger público imutável (blockchain),
- um mecanismo de parceira que exige custo real para escrever nova história (PoW),
- regras de consenso verificáveis por qualquer nó, e
- mecanismos criptográficos para autorização (chaves e assinaturas).
O design produz uma rede resistente, distribuída e audível — com trade-offs (escala, latência, privacidade) que foram endereçados com melhorias graduais (SegWit, Taproot) e com soluções em camadas (Lightning).