423 / 736SONG

Jimmy Song

Autor de Programming Bitcoin e professor de programação

O que acontece dentro da carteira quando você aperta Enviar? Jimmy Song ensina cada etapa fazendo o leitor programá-la. Programming Bitcoin conecta a matemática a uma transação concreta e torna mais claro o que significa verificar alguma coisa.

Jimmy Song é desenvolvedor, professor e autor de Programming Bitcoin. Ensina transações, chaves e assinaturas digitais do Bitcoin com exemplos em Python. Sua abordagem é prática: em vez de depender de uma aplicação pronta, o leitor constrói pequenas ferramentas e observa os resultados. Ele também publica opiniões sobre dinheiro e sociedade, que exigem evidências diferentes das de um exercício de programação.

A biografia de Song descreve trabalho de desenvolvimento e seminários Programming Blockchain. A O’Reilly o identifica como autor de Programming Bitcoin. O ponto comum é aprender experimentando: ler o nome de um princípio não basta para entendê-lo. Programá-lo exige saber quais dados entram e qual resultado deve sair. Porém, ser chamado de desenvolvedor não significa automaticamente ser mantenedor do Bitcoin Core nem ter autoridade para decidir as regras pelos outros usuários. [1] [2]

Programming Bitcoin foi publicado pela O’Reilly em 2019. Começa por corpos finitos, cálculos em um conjunto limitado de elementos segundo regras precisas, e curvas elípticas, fundamento matemático das assinaturas estudadas. Depois vêm chaves, assinaturas, transações e mensagens entre computadores. O leitor monta uma biblioteca Python, um conjunto de funções reutilizáveis. Não precisa simplesmente acreditar que uma assinatura funciona: pode acompanhar os cálculos. Assim conhece o funcionamento interno da carteira, não apenas seus controles. [2]

Imagine um programa recebendo uma transação. Primeiro ele precisa reconhecer suas partes; decompor os dados desse modo se chama parsing. Uma entrada comum aponta para uma saída anterior: um valor específico com condições de gasto. Depois é preciso verificar essas condições, como uma assinatura exigida. Nem mesmo uma assinatura correta prova, sozinha, que a saída referenciada continua não gasta. Isso requer verificar o estado da cadeia. Os exercícios de Song separam dados legíveis, autorização para gastar e validade da transação inteira. [3]

Um resultado matemático correto importa, mas um programa seguro de assinatura precisa de mais. A biblioteca libsecp256k1 também trata tempo constante e acesso à memória ao lidar com uma chave secreta. O objetivo é evitar que o comportamento do cálculo revele informações sobre o segredo. Esse problema é diferente de acertar um exercício. Código escrito para entender um princípio não substitui automaticamente uma biblioteca criptográfica revisada para dinheiro real, mesmo quando ambos verificam corretamente a mesma assinatura de teste. [4]

O repositório programmingbitcoin oferece materiais dos capítulos e instruções de Jupyter Notebook, ambiente que reúne texto, código executável e resultados. Repetir um exercício também depende das versões do código e das dependências, os outros pacotes utilizados. Uma instalação antiga não é automaticamente uma recomendação de versões atuais. Registrar o ambiente ajuda a explicar resultados diferentes; funcionar no computador de outra pessoa não substitui verificar a própria execução. [5]

O livro de 2019 oferece uma base para ler outras documentações. Não se deve presumir que cubra todas as ampliações posteriores. Por exemplo, libsecp256k1 hoje também oferece Schnorr signatures conforme BIP340, especificação de outro esquema de assinatura usado no Bitcoin. É preciso distinguir o que determinada edição explica das funções disponíveis na biblioteca atual. Para usar sua interface, isto é, a forma de chamar suas funções, vale a documentação da versão correspondente. [2] [4]

Em Fiat Ruins Everything, de 2023, Song argumenta que dinheiro fiat, as moedas estatais comuns, molda profundamente as instituições e que Bitcoin oferece uma solução. Aqui lemos sua interpretação da sociedade, não um procedimento para verificar assinaturas. Essa tese exige argumentos e evidências próprios. Acertar um exercício criptográfico não prova uma tese social; discordar de uma opinião econômica tampouco refuta, por si só, uma explicação técnica. Cada parte de sua obra pode ser avaliada com evidências adequadas. [6]

O site de Song descreve a verificação da foto de um objeto autografado usando PGP, ferramenta de assinaturas digitais, e SHA-256, função que produz uma impressão digital do arquivo. A impressão correspondente ajuda a verificar que temos o mesmo arquivo; uma assinatura válida relaciona os dados assinados a uma chave. Ainda falta estabelecer a quem pertence a chave. Nesta revisão, a página identifica as chaves antiga e nova de forma inconsistente, portanto não reproduzimos o identificador abreviado como identidade verificada. Verificar dados e confiar em sua origem são etapas diferentes. [7]

Para ter uma visão mais completa, leia este verbete junto com Alex Gladstein, Bitcoin Script, Private Key. Também há referências a este verbete em Hackers Congress Paralelní Polis, Cathie Wood.

DOC · 001Jimmy Song — biographyFonte primária DOC · 002O’Reilly — Programming Bitcoin (2019)Fonte primária DOC · 003Bitcoin developer guide — TransactionsFonte primária DOC · 004libsecp256k1 — implementation requirementsFonte primária DOC · 005Jimmy Song — Programming Bitcoin repositoryFonte primária DOC · 006Jimmy Song — Fiat Ruins EverythingFonte primária DOC · 007Jimmy Song — PGP signature verificationFonte primária
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento