393 / 736SIPA

Pieter Wuille

Desenvolvedor conhecido como sipa

Pieter Wuille ajudou a projetar como as carteiras Bitcoin criam chaves, representam endereços e assinam pagamentos. Você pode usar seu trabalho sem nunca ter ouvido o nome sipa.

Pieter Wuille, conhecido como sipa, é desenvolvedor do Bitcoin e autor ou coautor de BIP 32, SegWit, Bech32, Bech32m e Schnorr/Taproot. Um BIP é uma proposta técnica pública. Sua contribuição está em soluções concretas desenvolvidas com outras pessoas, não no direito de decidir por toda a rede.

Quando uma carteira oferece um novo endereço ou prepara a assinatura de um pagamento, um botão simples esconde o trabalho de muitos desenvolvedores. Pieter Wuille é um deles. No GitHub, ele usa o nome sipa; seu perfil relaciona esse nome à sua atividade. Mas atribuir uma invenção específica exige consultar a história e a documentação do projeto, não apenas um nome de usuário. As propostas a seguir mostram o que ele ajudou a resolver e com quem. [1]

Imagine uma loja que deseja um endereço de pagamento diferente para cada pedido. O BIP 32 de Wuille descreve como derivar uma árvore de chaves a partir de uma seed, os dados secretos iniciais. Uma chave pública estendida, chamada xpub, permite gerar outras chaves públicas do ramo correspondente sem dar autorização para gastar. Uma chave privada permite assinar. Há uma exceção importante: combinar o xpub com uma chave privada descendente vazada, derivada sem etapas hardened, pode revelar a chave privada do pai. A derivação hardened interrompe esse caminho. O xpub merece cuidado também porque seu compartilhamento revela relações entre pagamentos. [2]

Outras transações podem depender de uma anterior, por isso seu identificador importa. O BIP 141, de Eric Lombrozo, Johnson Lau e Pieter Wuille, separa os dados de verificação chamados witness, incluindo assinaturas, da parte que determina o identificador original txid. O novo identificador wtxid inclui também o witness. Alterar dados da assinatura, portanto, não precisa mudar o txid citado por outra transação. As assinaturas continuam sendo verificadas: um compromisso criptográfico na transação coinbase, a primeira do bloco, protege o witness. [3]

Ao copiar um endereço, é fácil errar um caractere. Wuille e Greg Maxwell descreveram Bech32 para endereços SegWit nativos no BIP 173. Sua soma de verificação contém caracteres que ajudam a detectar uma representação danificada. Essa conferência é útil, mas tem limite: verifica a codificação, não a identidade do destinatário pretendido. Se alguém substituir o endereço por outro válido, a soma de verificação não identificará a troca como fraude. [4]

Um formato de endereço também pode ser aperfeiçoado. O BIP 350 de Wuille altera a soma de verificação para corrigir uma fraqueza específica relacionada à inserção ou remoção de caracteres. O resultado é Bech32m. A carteira deve conferir se a versão de witness corresponde à codificação: a versão 0 continua usando Bech32; as versões 1 a 16 usam Bech32m. O usuário não deveria escolher o algoritmo manualmente. Cabe ao software criar e verificar endereços; aceitar qualquer soma de verificação válida não basta. [5]

Uma assinatura digital permite verificar a autorização de um pagamento sem que o proprietário revele sua chave privada. O BIP 340, de Pieter Wuille, Jonas Nick e Tim Ruffing, especifica Schnorr signatures com assinaturas de 64 bytes e chaves públicas de 32 bytes. Byte é uma unidade de tamanho de dados. Suas propriedades matemáticas permitem construir sistemas em que várias pessoas produzem uma assinatura conjunta. Mas simplesmente somar chaves não basta: um protocolo separado precisa coordenar os participantes com segurança. [6]

Uma carteira pode ter uma forma habitual de gastar e condições alternativas de recuperação. Pieter Wuille, Jonas Nick e Anthony Towns descrevem Taproot no BIP 341. O caminho por chave, key path, pode usar uma assinatura sem revelar sequer a existência de scripts alternativos. Um script é um programa que expressa condições para gastar. Se for necessário o caminho por script, script path, publica-se o script usado e a prova de sua inclusão; as alternativas não usadas não precisam ser reveladas por inteiro. Isso economiza espaço e protege parte das informações sobre a carteira, mas não torna todos os pagamentos anônimos automaticamente. [7]

Essas mudanças resolvem problemas específicos e permitem que outras pessoas examinem o projeto e o código. Bitcoin.org explica que um BIP passa por discussão pública e que sua adoção depende dos participantes da rede. Um nó é um computador que verifica transações e blocos segundo seu software. Ser autor ou manter um repositório não concede autoridade para mudar sozinho as regras de consenso. Wuille é importante pelas contribuições e pela colaboração, não por ser o chefe do Bitcoin. [8]

Para ter uma visão mais completa, leia este verbete junto com Craig Wright, Gregory Maxwell, Satoshi Nakamoto. Também há referências a este verbete em Craig Wright, Gregory Maxwell.

DOC · 001GitHub — Pieter Wuille (sipa)Documentação DOC · 002BIP 32 — Hierarchical Deterministic WalletsDocumentação DOC · 003BIP 141 — Segregated WitnessDocumentação DOC · 004BIP 173 — Bech32Documentação DOC · 005BIP 350 — Bech32mDocumentação DOC · 006BIP 340 — Schnorr signaturesDocumentação DOC · 007BIP 341 — Taproot spending rulesDocumentação DOC · 008Bitcoin.org — FAQDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento