Payy-to-Public Key (P2PK) é o método original de receber bitcoin e não envolve um endereço. Em vez disso, como o nome sugere, o bitcoin é pago diretamente a uma chave pública exposta. A primeira transação de bitcoin de uma pessoa para outra usou P2PK, quando Satoshi Nakamoto enviou moedas para Hal Finney no Bloco 170.
O P2PK já não é utilizado porque é uma forma mais cara, menos privada e menos segura de receber bitcoin do que os métodos subsequentes.
O Payto-Public-Key-Hash (P2PKH) estava disponível para utilização no início da bitcoin e apareceu na cadeia de blocos pela primeira vez menos de duas semanas após o bloco de génese. O P2PKH faz várias melhorias em relação ao P2PK, tal como a utilização de um endereço. Conforme discutido no nosso artigo anterior, os endereços contêm uma soma de verificação que ajuda a prevenir erros de digitação e perda de bitcoin.
Os endereços P2PKH têm tipicamente 34 ou 33 caracteres (mas podem teoricamente ter apenas 26 caracteres) e são codificados no formato Base58. Começam com um prefixo de 1 e são atualmente responsáveis por receber e garantir 43% do fornecimento de bitcoin extraído, mais do que qualquer outro tipo de endereço.
Criar um endereço P2PKH envolve colocar uma única chave pública através das funções hash SHA-256 e RIPEMD-160. Isto reduz a quantidade de dados, o que por sua vez ajuda a poupar espaço de bloco e taxas de transação para o utilizador. Também introduz maior resistência à engenharia reversa da chave privada para além da já acreditada curva elíptica secp256k1.
Payto-Multisig (P2MS) é um tipo de transação trivial que só foi brevemente relevante e nunca foi responsável por deter mais de 100 bitcoins ao mesmo tempo em todos os participantes da rede. No entanto, o P2MS faz parte da história da bitcoin.
O P2MS foi introduzido como um script padrão no início de 2012, conforme especificado pelo BIP 11. No entanto, este tipo de transação sofreu os mesmos problemas que o P2PK, uma vez que incluía chaves públicas expostas e não usava nenhum formato de endereço. Também limitou o número de chaves públicas num quórum multisig a três. Dentro de meses, o P2MS seria substituído por um método alternativo para receber bitcoin num acordo multisig chamado P2SH, que abordaremos a seguir.
O Payto-Script-Hash (P2SH) foi introduzido no bitcoin como um soft fork de acordo com o BIP 16 em 1 de abril de 2012. Como a maioria dos garfos, a história por trás disso é fascinante. O P2SH tem muito em comum com o P2PKH. A principal diferença é que o endereço é criado através do hash de um script de resgatar em vez de fazer o hash de uma única chave pública.
Um script de resgatar pode ser pensado como instruções codificadas especificando como o bitcoin recebido no endereço P2SH pode ser gasto no futuro. Pode haver uma vasta gama de possibilidades, incluindo várias chaves públicas diferentes. O destinatário, não o remetente, determina os detalhes do script e as instruções de gastos não são expostas publicamente até que o bitcoin seja gasto fora do endereço.
Embora os utilizadores avançados possam construir scripts complexos, os usos mais comuns do P2SH têm sido criar endereços SegWit aninhados (cobertos abaixo) e carteiras multisig. Por exemplo, um script pode incluir três chaves públicas e especificar que as assinaturas de quaisquer duas das chaves privadas correspondentes podem gastar o bitcoin. Isso criaria um endereço multisig 2 de 3.
Os endereços P2SH têm exatamente 34 caracteres e começam com um prefixo de 3, conforme especificado no BIP 13. Antes do soft fork em 1 de abril, algumas transações experimentaram este prefixo alternativo, a primeira das quais é encontrada no Bloco 170,052.
Pay-To-Witness-Public-Key-Hash (P2WPKH) é o primeiro de dois tipos de endereços introduzidos ao bitcoin no soft fork SegWit em agosto de 2017. A história por trás deste soft fork extremamente importante e particularmente controverso está documentada num livro chamado The Blocksize War, escrito por Jonathan Bier.
P2WPKH é a variante SegWit do P2PKH, o que, a um nível básico, significa que escolher este tipo de endereço em vez de endereços P2PKH mais antigos irá ajudá-lo a poupar dinheiro em taxas de transação ao mover o seu bitcoin.
Os endereços SegWit parecem bastante diferentes dos tipos de endereços mais antigos porque, de acordo com o BIP 173, usam a codificação Bech32 em vez de Base58. Mais notavelmente, não há letras maiúsculas no Bech32. Os endereços P2WPKH podem ser identificados por um prefixo de bc1q e um comprimento de caracteres exatamente 42.
Pay-to-Witness-Script-Hash (P2WSH) é a variante SegWit do P2SH. A principal vantagem de usar o P2WSH sobre o P2SH é que pode ajudar a reduzir as taxas de transação, e a principal razão para usar um hash de script em vez de um hash de chave pública é acomodar arranjos multisig.
Como P2WPKH, um endereço P2WSH começa com um prefixo bc1q. No entanto, tem um comprimento de carácter mais longo de exatamente 62. Ao contrário dos tipos de endereço cobertos até agora, os endereços P2WSH são criados usando apenas a função de hash SHA-256, sem incluir o RIPEMD-160, resultando no aumento do comprimento dos caracteres. Isto foi implementado com cautela, adicionando proteção extra contra um vetor de ataque multisig bastante matizado e extremamente improvável.
O SegWit aninhado (também conhecido como SegWit embrulhado) não é tecnicamente um tipo de endereço diferente do que abordamos acima. Ainda assim, é uma maneira única de usar os tipos de endereço discutidos anteriormente de uma maneira que foi temporariamente útil para a comunidade bitcoin.
Quando ocorreu o soft-fork do SegWit, nem todos os nós, software e serviços de bitcoin foram atualizados imediatamente para suportar os novos tipos de endereço SegWit nativos, P2WPKH e P2WSH. Só as entidades que fizeram o upgrade poderiam enviar para estes novos endereços. Isto significava que as pessoas que queriam a capacidade de receber bitcoin de qualquer pessoa (incluindo aqueles que não tinham feito upgrade) ainda não podiam usar uma carteira SegWit nativa. No entanto, uma vez que o SegWit ofereceu taxas de transação mais baratas, a maioria das pessoas estava ansiosa para começar a usá-lo.
A solução astuta para este dilema era utilizar o tipo de transação P2SH. As entidades que ainda não implementaram o SegWit poderiam ainda enviar bitcoin para endereços P2SH — que, como discutido acima, são construídos com um script de resgatar especificando as instruções sobre como o bitcoin pode ser gasto mais tarde. Acontece que estas instruções podem incorporar o novo modelo de gastos SegWit, fornecendo aos utilizadores uma ponte para taxas reduzidas. Portanto, os endereços P2SH que usam este truque ficaram conhecidos como SegWit Nested e desempenharam um papel significativo no processo de adoção do SegWit.
Superficialmente, os endereços SegWit aninhados são indistinguíveis de outros endereços P2SH, portanto, o fornecimento de bitcoin mantido neste acordo é incognoscível. Além disso, uma vez que todas as ferramentas modernas de bitcoin podem agora enviar diretamente para endereços SegWit nativos, não há mais nenhuma boa razão para usar o SegWit Nested.
Payto-Taproot (P2TR) é o mais novo tipo de endereço, disponibilizado pelo soft-fork Taproot em novembro de 2021. A adoção do P2TR continua bastante baixa no momento em que este artigo foi escrito, e muitos softwares e serviços de bitcoin ainda estão a trabalhar na integração.
Enquanto P2WPKH e P2WSH são conhecidos como SegWit V0, o P2TR é considerado SegWit V1. Notavelmente, o P2TR utiliza um algoritmo de assinatura digital chamado Schnorr, que difere do formato ECDSA usado em tipos de transações de bitcoin anteriores. As assinaturas Schnorr têm várias vantagens, incluindo reduções adicionais de taxas de transação e maior privacidade.
No que diz respeito à privacidade, as agregações de chaves e assinaturas possibilitadas pela Schnorr permitem que os endereços multisig sejam indistinguíveis dos singlesig, e as condições de gastos para um endereço P2TR nunca são reveladas publicamente. O criador do endereço pode até incluir vários scripts de resgatar personalizados para escolher, a fim de gastar o bitcoin mais tarde.
Os endereços P2TR têm 62 caracteres e usam a codificação Bech32M, uma versão ligeiramente modificada do Bech32, conforme descrito no BIP 350. Os endereços P2TR podem ser identificados pelo seu prefixo bc1p exclusivo.
Agora que cobrimos todos os métodos padronizados para receber bitcoin na cadeia, alguns dos fatos rápidos e recursos de endereço podem ser combinados em um gráfico conveniente para referência.
Payy-to-Public Key (P2PK) é o método original de receber bitcoin e não envolve um endereço. Em vez disso, como o nome sugere, o bitcoin é pago diretamente a uma chave pública exposta. A primeira transação de bitcoin de uma pessoa para outra usou P2PK, quando Satoshi Nakamoto enviou moedas para Hal Finney no Bloco 170.
O P2PK já não é utilizado porque é uma forma mais cara, menos privada e menos segura de receber bitcoin do que os métodos subsequentes.
O Payto-Public-Key-Hash (P2PKH) estava disponível para utilização no início da bitcoin e apareceu na cadeia de blocos pela primeira vez menos de duas semanas após o bloco de génese. O P2PKH faz várias melhorias em relação ao P2PK, tal como a utilização de um endereço. Conforme discutido no nosso artigo anterior, os endereços contêm uma soma de verificação que ajuda a prevenir erros de digitação e perda de bitcoin.
Os endereços P2PKH têm tipicamente 34 ou 33 caracteres (mas podem teoricamente ter apenas 26 caracteres) e são codificados no formato Base58. Começam com um prefixo de 1 e são atualmente responsáveis por receber e garantir 43% do fornecimento de bitcoin extraído, mais do que qualquer outro tipo de endereço.
Criar um endereço P2PKH envolve colocar uma única chave pública através das funções hash SHA-256 e RIPEMD-160. Isto reduz a quantidade de dados, o que por sua vez ajuda a poupar espaço de bloco e taxas de transação para o utilizador. Também introduz maior resistência à engenharia reversa da chave privada para além da já acreditada curva elíptica secp256k1.
Payto-Multisig (P2MS) é um tipo de transação trivial que só foi brevemente relevante e nunca foi responsável por deter mais de 100 bitcoins ao mesmo tempo em todos os participantes da rede. No entanto, o P2MS faz parte da história da bitcoin.
O P2MS foi introduzido como um script padrão no início de 2012, conforme especificado pelo BIP 11. No entanto, este tipo de transação sofreu os mesmos problemas que o P2PK, uma vez que incluía chaves públicas expostas e não usava nenhum formato de endereço. Também limitou o número de chaves públicas num quórum multisig a três. Dentro de meses, o P2MS seria substituído por um método alternativo para receber bitcoin num acordo multisig chamado P2SH, que abordaremos a seguir.
O Payto-Script-Hash (P2SH) foi introduzido no bitcoin como um soft fork de acordo com o BIP 16 em 1 de abril de 2012. Como a maioria dos garfos, a história por trás disso é fascinante. O P2SH tem muito em comum com o P2PKH. A principal diferença é que o endereço é criado através do hash de um script de resgatar em vez de fazer o hash de uma única chave pública.
Um script de resgatar pode ser pensado como instruções codificadas especificando como o bitcoin recebido no endereço P2SH pode ser gasto no futuro. Pode haver uma vasta gama de possibilidades, incluindo várias chaves públicas diferentes. O destinatário, não o remetente, determina os detalhes do script e as instruções de gastos não são expostas publicamente até que o bitcoin seja gasto fora do endereço.
Embora os utilizadores avançados possam construir scripts complexos, os usos mais comuns do P2SH têm sido criar endereços SegWit aninhados (cobertos abaixo) e carteiras multisig. Por exemplo, um script pode incluir três chaves públicas e especificar que as assinaturas de quaisquer duas das chaves privadas correspondentes podem gastar o bitcoin. Isso criaria um endereço multisig 2 de 3.
Os endereços P2SH têm exatamente 34 caracteres e começam com um prefixo de 3, conforme especificado no BIP 13. Antes do soft fork em 1 de abril, algumas transações experimentaram este prefixo alternativo, a primeira das quais é encontrada no Bloco 170,052.
Pay-To-Witness-Public-Key-Hash (P2WPKH) é o primeiro de dois tipos de endereços introduzidos ao bitcoin no soft fork SegWit em agosto de 2017. A história por trás deste soft fork extremamente importante e particularmente controverso está documentada num livro chamado The Blocksize War, escrito por Jonathan Bier.
P2WPKH é a variante SegWit do P2PKH, o que, a um nível básico, significa que escolher este tipo de endereço em vez de endereços P2PKH mais antigos irá ajudá-lo a poupar dinheiro em taxas de transação ao mover o seu bitcoin.
Os endereços SegWit parecem bastante diferentes dos tipos de endereços mais antigos porque, de acordo com o BIP 173, usam a codificação Bech32 em vez de Base58. Mais notavelmente, não há letras maiúsculas no Bech32. Os endereços P2WPKH podem ser identificados por um prefixo de bc1q e um comprimento de caracteres exatamente 42.
Pay-to-Witness-Script-Hash (P2WSH) é a variante SegWit do P2SH. A principal vantagem de usar o P2WSH sobre o P2SH é que pode ajudar a reduzir as taxas de transação, e a principal razão para usar um hash de script em vez de um hash de chave pública é acomodar arranjos multisig.
Como P2WPKH, um endereço P2WSH começa com um prefixo bc1q. No entanto, tem um comprimento de carácter mais longo de exatamente 62. Ao contrário dos tipos de endereço cobertos até agora, os endereços P2WSH são criados usando apenas a função de hash SHA-256, sem incluir o RIPEMD-160, resultando no aumento do comprimento dos caracteres. Isto foi implementado com cautela, adicionando proteção extra contra um vetor de ataque multisig bastante matizado e extremamente improvável.
O SegWit aninhado (também conhecido como SegWit embrulhado) não é tecnicamente um tipo de endereço diferente do que abordamos acima. Ainda assim, é uma maneira única de usar os tipos de endereço discutidos anteriormente de uma maneira que foi temporariamente útil para a comunidade bitcoin.
Quando ocorreu o soft-fork do SegWit, nem todos os nós, software e serviços de bitcoin foram atualizados imediatamente para suportar os novos tipos de endereço SegWit nativos, P2WPKH e P2WSH. Só as entidades que fizeram o upgrade poderiam enviar para estes novos endereços. Isto significava que as pessoas que queriam a capacidade de receber bitcoin de qualquer pessoa (incluindo aqueles que não tinham feito upgrade) ainda não podiam usar uma carteira SegWit nativa. No entanto, uma vez que o SegWit ofereceu taxas de transação mais baratas, a maioria das pessoas estava ansiosa para começar a usá-lo.
A solução astuta para este dilema era utilizar o tipo de transação P2SH. As entidades que ainda não implementaram o SegWit poderiam ainda enviar bitcoin para endereços P2SH — que, como discutido acima, são construídos com um script de resgatar especificando as instruções sobre como o bitcoin pode ser gasto mais tarde. Acontece que estas instruções podem incorporar o novo modelo de gastos SegWit, fornecendo aos utilizadores uma ponte para taxas reduzidas. Portanto, os endereços P2SH que usam este truque ficaram conhecidos como SegWit Nested e desempenharam um papel significativo no processo de adoção do SegWit.
Superficialmente, os endereços SegWit aninhados são indistinguíveis de outros endereços P2SH, portanto, o fornecimento de bitcoin mantido neste acordo é incognoscível. Além disso, uma vez que todas as ferramentas modernas de bitcoin podem agora enviar diretamente para endereços SegWit nativos, não há mais nenhuma boa razão para usar o SegWit Nested.
Payto-Taproot (P2TR) é o mais novo tipo de endereço, disponibilizado pelo soft-fork Taproot em novembro de 2021. A adoção do P2TR continua bastante baixa no momento em que este artigo foi escrito, e muitos softwares e serviços de bitcoin ainda estão a trabalhar na integração.
Enquanto P2WPKH e P2WSH são conhecidos como SegWit V0, o P2TR é considerado SegWit V1. Notavelmente, o P2TR utiliza um algoritmo de assinatura digital chamado Schnorr, que difere do formato ECDSA usado em tipos de transações de bitcoin anteriores. As assinaturas Schnorr têm várias vantagens, incluindo reduções adicionais de taxas de transação e maior privacidade.
No que diz respeito à privacidade, as agregações de chaves e assinaturas possibilitadas pela Schnorr permitem que os endereços multisig sejam indistinguíveis dos singlesig, e as condições de gastos para um endereço P2TR nunca são reveladas publicamente. O criador do endereço pode até incluir vários scripts de resgatar personalizados para escolher, a fim de gastar o bitcoin mais tarde.
Os endereços P2TR têm 62 caracteres e usam a codificação Bech32M, uma versão ligeiramente modificada do Bech32, conforme descrito no BIP 350. Os endereços P2TR podem ser identificados pelo seu prefixo bc1p exclusivo.
Agora que cobrimos todos os métodos padronizados para receber bitcoin na cadeia, alguns dos fatos rápidos e recursos de endereço podem ser combinados em um gráfico conveniente para referência.