Antes de instalar software de Bitcoin, confira duas coisas: se a soma de verificação do arquivo bate com a lista que os desenvolvedores publicaram e se a lista tem uma assinatura válida de uma chave que você confirmou ser deles. A soma de verificação prova que sua cópia está intacta. A assinatura prova quem publicou. O software da carteira e do nó decide quais endereços você vê, o que assina e para onde vão suas palavras de recuperação. Por isso, um instalador trocado pode esvaziar uma carteira sem quebrar a criptografia. A primeira verificação leva uns dez minutos. Depois, são uns dois minutos a cada atualização.
Você vai verificar o Bitcoin Core e a Sparrow Wallet no macOS, Windows e Linux, conferir imagens do StartOS e do umbrelOS para nós e aprender a ler cada resultado. Os comandos seguem as instruções de cada projeto. Rodamos a verificação de cada projeto nas versões em uso em novembro de 2026: Bitcoin Core 32.1, Sparrow 2.5.6, StartOS 0.4.1.2 e umbrelOS 2.0.1.
Por que verificar: ataques à cadeia de suprimentos
Um ataque à cadeia de suprimentos mira o caminho do software dos desenvolvedores até você: o site, o servidor de download, um anúncio na busca, um e-mail ou uma janela de “atualização”. O código dos desenvolvedores pode estar correto e seu computador livre de malware, e mesmo assim você pode acabar rodando a versão do atacante. A história do Bitcoin tem um exemplo de cada caminho:
- O download. Em agosto de 2016, o bitcoin.org avisou que os binários (os arquivos prontos para rodar) da próxima versão do Bitcoin Core “provavelmente seriam alvo de atacantes patrocinados por um Estado” e que baixar sem cuidado “poderia fazer você perder todas as moedas”. O conselho era verificar as assinaturas de vários desenvolvedores com chaves de mais de uma fonte.
- Mensagens de atualização. Em dezembro de 2018, atacantes operaram servidores do tipo que as carteiras Electrum usam. Com eles, mostraram aos usuários uma mensagem de “atualização” com um link para malware disfarçado de uma versão nova da Electrum.
- Remetentes legítimos. Em setembro de 2026, atacantes entraram no serviço de e-mail usado pelo boletim da Trezor e enviaram um alerta de segurança falso da conta do próprio boletim. O alerta promovia um aplicativo que pedia o backup da carteira (nosso aviso).
A aula Os golpes que esvaziam carteiras de autocustódia conta a história completa do boletim, e a aula sobre Electrum conta a de 2018. A verificação funciona nos três casos: um atacante pode copiar um site ou uma mensagem e até usar um remetente autêntico. Sem a chave privada dos desenvolvedores, não consegue criar uma assinatura válida.
Somas de verificação e assinaturas: duas perguntas diferentes
Aqui, uma soma de verificação é um hash SHA-256 do arquivo: uma impressão digital de 64 caracteres calculada a partir de cada byte. A aula O que é a tecnologia blockchain? mostra como os hashes funcionam. Basta mudar um byte para a impressão digital ficar totalmente diferente. Esta é a linha do download do Bitcoin Core 32.1 para Macs com Apple silicon:
6fb94e4d2254bf45f0f58a6679c10f16206c5e885be8541fd974d395fe49d46c bitcoin-32.1-arm64-apple-darwin.zip
Os projetos publicam uma lista dessas linhas, uma por arquivo, geralmente chamada SHA256SUMS ou manifesto. Se a impressão digital do arquivo bater com a linha, sua cópia é idêntica ao arquivo que a lista descreve. Assim você detecta um download danificado ou incompleto. A lista não diz quem a escreveu. Se estiver no mesmo servidor do arquivo, quem conseguir trocar um também poderá trocar o outro.
Uma assinatura digital responde à segunda pergunta. O desenvolvedor assina a lista com a chave privada, e qualquer pessoa com a chave pública correspondente pode conferir a assinatura. É a mesma ideia que protege as transações de bitcoin (a aula Chaves, endereços e assinaturas em linguagem simples), com outro sistema de assinatura. As versões de software usam OpenPGP e o programa gratuito que faz a verificação é o GPG (GNU Privacy Guard). Basta mudar um caractere de uma lista assinada para a assinatura falhar. Uma assinatura na lista cobre todos os arquivos da versão, então a verificação tem duas partes e as duas precisam passar.
| Soma de verificação | Assinatura | |
|---|---|---|
| O que responde | Minha cópia é idêntica ao arquivo da lista? | Os desenvolvedores publicaram a lista? |
| Como é feita | Com um hash que qualquer pessoa pode calcular | Com a chave privada dos desenvolvedores |
| O que detecta | Um arquivo danificado, incompleto ou alterado | Uma lista trocada e os arquivos trocados que ela faria passar por autênticos |
| Em quem ou no que você confia | Em quem publicou a lista | Na chave pública que você importou |
A chave é a base da verificação
Uma assinatura só é confiável se a chave pública usada para verificá-la também for. Cada chave tem uma impressão digital, um identificador longo calculado a partir da própria chave (40 caracteres para cada chave desta aula). A da Sparrow é D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40. Dois hábitos ajudam a confirmar que a chave é confiável:
- Pegue a chave em outro lugar que não a página de downloads e compare a impressão digital em pelo menos duas fontes independentes.
- Guarde a chave. O GPG guarda chaves importadas no seu chaveiro. Assim você verifica cada atualização seguinte com a mesma chave. Para enganar você com uma chave falsa, um atacante teria de alcançar você no dia em que pegou a chave pela primeira vez e alterar todas as fontes que você comparou.
Prepare as ferramentas
| Sistema | Ferramenta para somas de verificação | GPG |
|---|---|---|
| macOS | shasum, incluído | GPG Suite de gpgtools.org (o link que o Bitcoin Core e a Sparrow indicam) ou brew install gnupg se usar Homebrew |
| Windows | certutil e Get-FileHash do PowerShell, incluídos | Gpg4win de gpg4win.org (versão 5.1.1, setembro de 2026) |
| Linux | sha256sum, incluído | gpg, geralmente já instalado |
Execute todos os comandos em um terminal, a janela em que você digita comandos: Terminal no macOS (aperte Command + Space e digite Terminal), PowerShell no Windows (aperte a tecla Windows e digite PowerShell) ou seu terminal de costume no Linux. Depois, vá para sua pasta de downloads: cd ~/Downloads no macOS e no Linux, cd $HOME\Downloads no PowerShell. Se o PowerShell não reconhecer gpg, abra uma janela nova ou digite & "C:\Program Files\GnuPG\bin\gpg.exe" no lugar. O Gpg4win instala o GnuPG nessa pasta desde a versão 5 (janeiro de 2026). A página do Bitcoin Core ainda mostra a pasta antiga Program Files (x86).
Bitcoin Core, passo a passo
Nenhuma versão do Bitcoin Core é assinada por uma só pessoa. Vários colaboradores compilam a versão a partir do código-fonte por conta própria e assinam a mesma lista de somas de verificação. Você decide em quais chaves confia.
- Baixe três arquivos em uma pasta a partir de bitcoincore.org/en/download. Digite o endereço por conta própria: o arquivo do seu sistema,
SHA256SUMS(“SHA256 binary hashes” na página) eSHA256SUMS.asc(“SHA256 hash signatures”). - Importe as chaves de quem compilou o software. Elas ficam em outro lugar: a pasta
builder-keysdo repositório bitcoin-core/guix.sigs no GitHub, com 41 chaves em novembro de 2026. Na página do repositório, escolha Code → Download ZIP, que salvaguix.sigs-main.zip, e depois execute:- macOS e Linux:
unzip guix.sigs-main.zipe depoisgpg --import guix.sigs-main/builder-keys/*.gpg - Windows:
tar -xf guix.sigs-main.zipe depoisGet-ChildItem guix.sigs-main\builder-keys\*.gpg | ForEach-Object { gpg --import $_.FullName }
git clone https://github.com/bitcoin-core/guix.sigse depoisgpg --import guix.sigs/builder-keys/*. - macOS e Linux:
- Verifique as assinaturas da lista em qualquer sistema:
gpg --verify SHA256SUMS.asc SHA256SUMS - Confira o arquivo com a lista:
- macOS:
shasum -a 256 --ignore-missing --check SHA256SUMS - Linux:
sha256sum --ignore-missing --check SHA256SUMS - Windows:
Select-String -Path SHA256SUMS -Pattern (Get-FileHash bitcoin-32.1-win64-setup.exe).Hash
- macOS:
No macOS e no Linux, --ignore-missing pula os arquivos da lista que você não baixou. Procure uma linha que tenha o nome do seu arquivo e termine em OK, como bitcoin-32.1-arm64-apple-darwin.zip: OK. No Windows, o PowerShell mostra a linha de SHA256SUMS com a impressão digital do seu arquivo, que termina com o nome do arquivo. Se não mostrar nada, seu arquivo não bate com a lista. (A página do Bitcoin Core usa certutil -hashfile bitcoin-32.1-win64-setup.exe SHA256, que mostra o código para você comparar a olho.)
Como ler o resultado da verificação de assinatura
Este é um dos blocos de assinatura que obtivemos para o Bitcoin Core 32.1 (os horários aparecem no seu fuso):
gpg: Signature made Tue Oct 27 14:58:55 2026 CET
gpg: using RSA key CFB16E21C950F67FA95E558F2EEB9F5CC09526C1
gpg: issuer "fanquake@gmail.com"
gpg: Good signature from "Michael Ford (bitcoin-otc) <fanquake@gmail.com>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
E777299FC265DD04793070EB944D35F9AC3DB76A
CFB16E21C950F67FA95E558F2EEB9F5CC09526C1
- “Good signature from” é o resultado que conta. Oito colaboradores assinaram a lista do Bitcoin Core 32.1: Ava Chow, Ben Carman, Michael Ford, Oliver Gugger, Matthew Zipkin, Sebastian Kung, Sjors Provoost e Will Clark. O Bitcoin Core pede “um número suficiente de chaves em que você confia”: procure várias.
- O aviso WARNING é normal. Conforme a chave, aparece “This key is not certified…” ou “The key’s User ID is not certified…”. Nos dois casos, quer dizer que você não certificou a chave dentro do GPG. Comparar a impressão digital cumpre essa função.
- As linhas da impressão digital mostram a chave principal e depois a subchave que assinou (uma segunda chave que o dono anexou à principal para assinar). Quando a chave principal assina direto, há só uma linha. Dependendo da versão do GPG, as impressões aparecem como uma sequência sem espaços, como aqui, ou depois de “Primary key fingerprint” em grupos de quatro. A página de downloads do Bitcoin Core mostra a de Michael Ford,
E777 299F C265 DD04 7930 70EB 944D 35F9 AC3D B76A. Bate com a primeira linha, e a página está em outro servidor que não o GitHub, de onde a chave veio. Para os outros signatários, a quantidade de assinaturas cumpre a mesma função: quem falsificasse teria de forjar várias chaves independentes ao mesmo tempo.
Compilações reproduzíveis: por que várias assinaturas fazem diferença
O Bitcoin Core usa compilações reproduzíveis: quem compila o código-fonte publicado com o Guix, o sistema de compilação do projeto, obtém arquivos idênticos, byte por byte, aos do site. Quem compila publica no guix.sigs as somas de verificação assinadas dos arquivos gerados. Até 6 de novembro de 2026, 15 colaboradores tinham compilado o Bitcoin Core 32.1 nas próprias máquinas, com resultados idênticos. Os 13 que tinham terminado a etapa final, que acrescenta as assinaturas de código que o macOS e o Windows verificam antes de rodar um programa, publicaram listas que batiam exatamente com o SHA256SUMS oficial. Cada assinatura válida corresponde a um desses resultados independentes.
Sparrow Wallet, passo a passo
Craig Raw é o único desenvolvedor que assina a Sparrow. A página de downloads está em sparrowwallet.com, os instaladores no GitHub e a chave no Keybase, um diretório público de chaves. São três lugares diferentes.
- Baixe de sparrowwallet.com/download o instalador do seu sistema e os dois arquivos no fim da tabela,
sparrow-2.5.6-manifest.txtesparrow-2.5.6-manifest.txt.asc. - Importe a chave: salve o arquivo de
https://keybase.io/craigraw/pgp_keys.ascna pasta de downloads e depois executegpg --import pgp_keys.asc. A página da Sparrow traz um comando de uma linha que funciona nos terminais do macOS e do Linux:curl https://keybase.io/craigraw/pgp_keys.asc | gpg --import - Verifique a assinatura:
gpg --verify sparrow-2.5.6-manifest.txt.asc sparrow-2.5.6-manifest.txt. Devem aparecerGood signature from "Craig Raw <craig@sparrowwallet.com>"e a impressão digitalD4D0D3202FC06849A257B38DE94618334C674B40, que também está na página de downloads da Sparrow. - Confira o arquivo:
- macOS:
shasum --check sparrow-2.5.6-manifest.txt --ignore-missing - Linux:
sha256sum --check sparrow-2.5.6-manifest.txt --ignore-missing - Windows:
Select-String -Path sparrow-2.5.6-manifest.txt -Pattern (Get-FileHash Sparrow-2.5.6.msi).Hash
- macOS:
Muitas chaves têm data de vencimento (a de Craig Raw vale hoje até 18 de setembro de 2027). Se o GPG avisar que uma chave venceu, importe a chave de novo da mesma fonte e repita a verificação. Para as chaves do Bitcoin Core, a página de downloads indica gpg --keyserver hkps://keys.openpgp.org --refresh-keys.
Depois de verificar uma cópia da Sparrow, as atualizações ficam mais simples. Coloque o instalador novo, o manifesto e a assinatura em uma pasta e arraste qualquer um dos três para a Sparrow (1.8.3 ou mais recente), ou abra Tools → Verify Download. Você vai ver quem assinou, se o hash bateu e “Ready to install”. A Sparrow já vem com as chaves de assinatura de vários projetos, entre elas as de dois colaboradores que compilam o Bitcoin Core e as dos fabricantes da Trezor, da BitBox, da Coldcard e da Passport. Assim, a mesma ferramenta verifica versões do Bitcoin Core e arquivos de firmware.
Imagens para nós: StartOS e Umbrel
O sistema operacional de um nó vem como imagem de disco, uma cópia exata de um disco inteiro que você grava em um cartão ou pen drive. É com essa imagem que vai rodar o nó que guarda seus fundos na Lightning, se tiver algum. Confira a imagem antes de usar.
StartOS: soma de verificação e assinatura
A Start9 hospeda as imagens em um servidor, publica as somas de verificação nas notas da versão no GitHub e assina cada imagem com uma chave guardada no computador de quem mantém o projeto, longe dos servidores da empresa. Assim, a assinatura continua válida mesmo se alguém tomar a conta no GitHub ou a hospedagem do site. O guia de instalação mostra as duas verificações:
- Soma de verificação. Na página da versão, em “OS Images Checksums”, encontre o bloco “SHA-256” (não o bloco “BLAKE-3” logo abaixo) e copie a linha inteira do arquivo que baixou. Para Raspberry Pi, é a linha que termina em
.img.gz. No macOS, executeecho "PASTE THE WHOLE LINE HERE" | shasum -a 256 -c. No Linux, faça o mesmo comsha256sum -c. No Windows, execute(Get-FileHash "$HOME\Downloads\FILENAME").Hash -eq "LONG CODE". Deve aparecerOK, ouTrueno Windows. - Chave, de outro lugar que não o download: pegue a chave em keys.openpgp.org, um servidor de chaves públicas, com
gpg --keyserver hkps://keys.openpgp.org --recv-keys 5456DBFF1B9DF905041FA7765259ADFC2D63C217. A Start9 também publica a chave em start9.com/start9.gpg. Em novembro de 2026, as duas cópias tinham a mesma impressão digital. - Assinatura. Da mesma versão, baixe
signatures.tar.gze extraia o conteúdo ao lado da imagem (tar -xzf signatures.tar.gzfunciona nos três sistemas). Depois, executegpg --verify FILENAME.start9.asc FILENAME. Deve aparecerGood signature from "Start9 <security@start9.com>"com a impressão digital5456 DBFF 1B9D F905 041F A776 5259 ADFC 2D63 C217.
O pacote também inclui uma cópia da chave, start9.key.asc. O guia da Start9 orienta usar a chave que você buscou por conta própria, porque uma chave que vem com a assinatura que vai verificar não prova nada. Fizemos as duas verificações na imagem do StartOS 0.4.1.2 para Raspberry Pi (publicada em 5 de novembro de 2026). As duas passaram.
Umbrel: soma de verificação e marca de tempo
A Umbrel publica uma lista SHA256SUMS ao lado das imagens. A aula Como configurar seu nó de Bitcoin passo a passo mostra como conferir a lista. A lista não é assinada (umbrelOS 2.0.1, novembro de 2026). Por isso, a verificação prova que sua cópia está intacta, e para o resto você confia no servidor de downloads da Umbrel.
A Umbrel acrescenta uma prova de marca de tempo, SHA256SUMS.ots. O OpenTimestamps liga a impressão digital da lista a um bloco do Bitcoin por uma cadeia de hashes: “um marca de tempo prova que certos dados já existiam antes de certo momento”. Não diz quem escreveu os dados. No umbrelOS 2.0.1, a prova aponta para o bloco 974.104, minerado às 08:24 UTC em 1 de novembro de 2026, cerca de uma hora antes de as notas da versão serem publicadas. Uma lista trocada depois só poderia ter uma data posterior. Para conferir, abra opentimestamps.org, arraste SHA256SUMS.ots para a caixa “Stamp & Verify” e depois arraste SHA256SUMS quando o site pedir o arquivo com a marca de tempo. Deve aparecer uma atestação do Bitcoin datada do dia da publicação.
Firmware das carteiras de hardware
O próprio dispositivo verifica o firmware, o software interno de uma carteira de hardware. Em uma Trezor, por exemplo, o carregador de inicialização, o programa pequeno que liga o aparelho antes de rodar o firmware, verifica a assinatura e avisa você antes de rodar um firmware não oficial. Sua parte: instale firmware só pelo aplicativo do fabricante ou a partir de um arquivo que você verificou. Pare se aparecer esse aviso e acompanhe nossos avisos de segurança para seu modelo (mais detalhes na aula sobre carteiras de hardware).
Como ler os resultados
| O que você vê | O que significa | O que fazer |
|---|---|---|
Good signature from "…" e a impressão digital que você confirmou | Aquela chave assinou a lista | Passe para a soma de verificação |
WARNING: … not certified with a trusted signature! | Normal: você não certificou a chave dentro do GPG | Compare a impressão digital com uma segunda fonte |
BAD signature from "…" | A lista mudou depois de ser assinada | Apague tudo e baixe de novo do site oficial. Se falhar de novo, pare e pergunte ao projeto |
Can't check signature: No public key | Você não importou a chave de quem assinou | Importe a chave e repita a verificação. Isso não diz nada sobre o arquivo. No Bitcoin Core, não há problema se aparecerem algumas linhas assim, desde que várias chaves em que você confia mostrem “Good signature” |
your-file: OK, uma linha que bate no Windows ou True | Seu arquivo bate com a lista | Instale depois que a assinatura passar na verificação |
FAILED e computed checksum did NOT match, False ou nenhum resultado da verificação com Select-String no Windows | Seu arquivo não bate com a lista | Apague o arquivo, baixe de novo e repita a verificação. Se falhar de novo, pare e pergunte ao projeto |
Nenhuma linha com o nome do arquivo e nenhuma linha FAILED. Muitas vezes aparece no file was verified ou um erro em vermelho no Windows | O comando nunca conferiu seu arquivo | Confira a pasta e o nome exato (o navegador pode salvar uma segunda cópia como file (1).zip) e depois execute o comando de novo |
Atenção à última linha. Com --ignore-missing, o comando pula um arquivo em outra pasta ou com outro nome sem mostrar FAILED. Só conta como aprovação se uma linha mostrar o nome do arquivo e terminar em OK.
O que a verificação não consegue dizer
- Se o código é seguro. Em novembro de 2018, a BitPay confirmou que um pacote de terceiros usado pela carteira Copay tinha sido alterado para carregar código que “poderia ser usado para capturar as chaves privadas dos usuários”. O código tinha saído nas versões 5.0.2 a 5.1.0 da Copay. Estava nas versões oficiais, então verificar quem publicou não mostrou nada errado. Compilações reproduzíveis só provam que um binário bate com o código-fonte. Para se proteger, use software que muita gente já revisou e aja assim que sair um aviso de segurança.
- Se seu computador está livre de malware. Um malware que já está na máquina pode falsificar o que a verificação mostra. Faça a verificação em um computador que você mantém livre de malware e assine em uma carteira de hardware, cuja tela o computador não consegue alterar.
- Se seu equipamento é legítimo. Em outubro de 2026, a Ledger confirmou um implante escondido em um aparelho vendido por um revendedor (nosso aviso). A seção “Hardware falso e adulterado” da aula sobre golpes explica como comprar com segurança.
Faça disso um hábito: verifique toda versão nova antes de instalar, com as chaves que já estão no chaveiro. É a etapa “Verifique por conta própria” do plano de soberania. Nosso guia sobre como verificar um download do Bitcoin Core reúne esses comandos em uma página.
Pontos principais
- A soma de verificação prova que sua cópia bate com a lista publicada. A assinatura prova que os desenvolvedores publicaram a lista. Faça as duas verificações.
- Pegue as chaves de assinatura em um lugar diferente do download, confirme a impressão digital em dois lugares e guarde as chaves para usá-las em todas as atualizações.
- Para a verificação passar, você precisa de “Good signature” com uma impressão digital confirmada e de uma linha com o nome do arquivo que termine em “OK”.
- A verificação prova quem publicou um arquivo, mas não que o código é seguro. Por isso, acompanhe também os avisos de segurança.
Confira o que você aprendeu
1. Um amigo baixa o Bitcoin Core, executa o comando de soma de verificação com o arquivo SHA256SUMS do mesmo site e, ao ver “OK”, considera o arquivo verificado. O que falta e por que isso faz diferença?
Resposta
Falta verificar a assinatura da lista. “OK” só mostra que o arquivo bate com SHA256SUMS. Quem conseguir trocar o instalador nesse servidor também poderá trocar SHA256SUMS. Execute gpg --verify SHA256SUMS.asc SHA256SUMS com as chaves de quem compilou o software, obtidas de guix.sigs no GitHub. Assim, você verifica que a lista é a que assinaram os colaboradores que compilaram o Bitcoin Core.
2. Ao verificar a Sparrow, o GPG mostra “Good signature from Craig Raw”, seguido de “WARNING: This key is not certified with a trusted signature!”. Você deve parar?
Resposta
Não. O aviso aparece sempre que você não certificou uma chave dentro do GPG. Compare a impressão digital na saída, D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40, com a da página de downloads da Sparrow. Se baterem, a assinatura é de Craig Raw, e você passa para a soma de verificação.
3. O signatures.tar.gz do StartOS inclui uma cópia da chave da Start9. Por que a Start9 orienta buscar a chave em keys.openpgp.org?
Resposta
Porque quem puder trocar a imagem e as assinaturas também pode trocar aquela cópia por uma chave própria. Nesse caso, o GPG mostraria “Good signature” com a chave do atacante. O que liga a assinatura à Start9 é uma chave que você buscou em outro lugar e cuja impressão digital confirmou.
