MSTR Cat

Blockchain/Nível X · Ciclo completo/10.3 Vivendo em bitcoin/Lição 5

Construindo no Bitcoin

Regtest, descritores e a disciplina da revisão pública

MateriaisUm computador com o Bitcoin Core (baixado e verificado)A referência do bitcoin-cli (bitcoin-cli help)Documentação para BIP 174 e BIP 380

Curiosidade

  1. Por que uma única linha de código alterada no Bitcoin Core requer meses de discussão antes de chegar a uma versão estável?
  2. Como os desenvolvedores testam a lógica crítica para o consenso sem arriscar fundos reais ou danificar a rede principal?
  3. Qual é a diferença entre um descritor e um PSBT, e por que ambos são essenciais para o desenvolvimento de carteiras modernas?

Explorar

  1. O Bitcoin Core oferece dois ambientes principais para teste: regtest e Signet. O Regtest permite que os desenvolvedores minem blocos instantaneamente, sem a necessidade de prova de trabalho, o que o torna ideal para testes unitários e iterações rápidas nas regras de consenso. O Signet (BIP 325) é uma rede de teste pública cujos blocos também precisam conter assinatura de signatários designados, o que mantém tempos de bloco estáveis e impede que ela seja inundada por hashrate; ele é adequado para testar softwares de outras pessoas sem usar dinheiro real.
  2. A interface de Chamada de Procedimento Remoto (RPC) expõe o estado interno do Bitcoin Core a scripts externos. Os desenvolvedores utilizam comandos RPC para manipular cadeias, inspecionar transações e acionar a mineração em regtest. Esse acesso programático é fundamental para criar softwares de carteira que precisam interagir diretamente com as estruturas de dados de um nó, ignorando completamente a interface gráfica do usuário.
  3. Os descritores definem como as chaves são transformadas em condições de gasto, enquanto as Transações Bitcoin Parcialmente Assinadas (PSBTs) facilitam os fluxos de trabalho de assinatura por várias partes. O BIP 174 padronizou o formato PSBT, permitindo que diferentes entidades — carteiras hardware, dispositivos móveis ou servidores — adicionem assinaturas a uma transação sem expor as chaves privadas. Essa separação entre o gerenciamento de chaves e a construção da transação é fundamental para configurações multisig seguras.
  4. O Bitcoin Dev Kit (BDK) e o Lightning Dev Kit (LDK) eliminam a complexidade do gerenciamento de nodes para desenvolvedores de aplicativos. O BDK é uma biblioteca em Rust para carteiras baseadas em descritores, capaz de ler as informações da cadeia de blocos a partir do Bitcoin Core, de um servidor Electrum ou da API Esplora, enquanto o LDK oferece uma implementação leve do protocolo Lightning Network, adequada para dispositivos móveis. Essas bibliotecas reduzem a barreira de entrada para a criação de aplicativos nativos do Bitcoin, sem exigir conhecimentos avançados em programação de sistemas.
  5. A revisão pública é a espinha dorsal do modelo de segurança do Bitcoin. As alterações propostas por meio de pull requests passam por uma análise rigorosa por parte de uma comunidade global de desenvolvedores. O PR Review Club facilita isso ao organizar sessões regulares nas quais os colaboradores analisam as diferenças linha por linha. Essa inteligência coletiva detecta erros sutis e garante que as alterações acordadas sejam completamente compreendidas antes de serem adotadas, um processo distinto dos ciclos rápidos de lançamento comuns em outros ecossistemas de software.
  6. Inicie uma cadeia privada: execute bitcoind -regtest -daemon, crie uma carteira com bitcoin-cli -regtest createwallet dev e mine 101 blocos para um de seus endereços usando generatetoaddress, para que a primeira coinbase amadureça. Crie um pagamento com walletcreatefundedpsbt, leia-o com decodepsbt, depois assine e transmita-o com walletprocesspsbt e sendrawtransaction. Mine mais um bloco e observe sua confirmação.

Fatos-chave

  • O Regtest permite mineração em bloco instantânea, sem exigência de prova de trabalho para testes isolados.
  • Os blocos Signet (BIP 325) devem ser assinados por chaves designadas, proporcionando uma rede de teste pública estável.
  • O BIP 174 define o formato de Transação Bitcoin Parcialmente Assinada (PSBT) para fluxos de trabalho de assinatura por várias partes.
  • Os descritores de script de saída no BIP 380 definem os caminhos de derivação de chaves e as condições de gasto para carteiras.
  • O Bitcoin Dev Kit (BDK) é uma biblioteca em Rust para criar carteiras baseadas em descritores em vários back-ends de cadeia.
  • A revisão de solicitações públicas de pull request garante que as alterações consensuais passem por uma análise rigorosa e em várias camadas antes do lançamento.

Exercício nove, seis, três, um

9ReunirIdentifique 9 componentes distintos do ecossistema de desenvolvimento do Bitcoin: regtest, signet, mainnet, interface RPC, descriptors, PSBTs, BDK, LDK e PR Review Club. Para cada um, indique seu propósito principal no ciclo de vida do software.
6AgruparAgrupe esses 9 componentes em 6 categorias por função: teste privado, teste público, interfaces de nó, padrões de carteira, bibliotecas de desenvolvimento e revisão.
3DestilarReduza os 6 grupos a 3 princípios fundamentais que regem o desenvolvimento de softwares para Bitcoin: isolamento para segurança, padronização para compatibilidade e transparência para segurança.
1CristalizarUm PSBT é necessário porque uma carteira de hardware que não consegue se conectar diretamente a um nó de rede precisa de um meio para enviar transações.

Verificação de fatos

Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.

Abrir na academia interativa →

EN ES ZH JA KO RU DE FR MS