Os desenvolvedores do Bitcoin Core, responsáveis por implementar melhorias na rede, estão sempre em busca de maneiras de aprimorar a experiência dos usuários, bem como das empresas e serviços que utilizam o Bitcoin.

Assim, uma das atualizações recentes no código do Bitcoin foi a implementação de PSBTs, ou seja, transações parcialmente assinadas. Essa proposta surgiu a partir da BIP-174.

Como sabemos, ao realizar uma transação de Bitcoin atualmente, essa transação é automaticamente assinada pela chave privada do usuário, o que garante a autenticidade e a segurança da transação.

Com as transações parcialmente assinadas, o processo de assinatura ocorre após a transmissão da transação, permitindo que mais pessoas assinem a mesma transação ao longo do caminho.

Mas calma, vamos entender melhor todo esse processo neste artigo.

Bora!

Como funciona uma transação de Bitcoin?

As assinaturas nas transações de Bitcoin são cruciais para a confirmação e validação de uma transação na rede. Esse processo é viabilizado pela criptografia de chave pública e privada.

Cada transação de Bitcoin possui uma quantidade de entradas e saídas. As entradas são transações anteriores (saídas não gastas, conhecidas como UTXOs), que representam a fonte dos fundos da transação. Já as saídas especificam para onde os fundos devem ir.

Portanto, cada entrada contém um script de assinatura, que inclui a assinatura (chave privada) e a chave pública (endereço público). Já sabemos que cada usuário possui um par de chaves, em que a chave privada serve para assinar a transação e provar a propriedade dos bitcoins daquela transação.

Nesse processo, é gerado um hash da transação, que atua como um identificador da transação. Assim, a chave privada é usada para criar uma assinatura digital do hash da transação, e a assinatura é anexada ao script de assinatura na entrada correspondente.

Logo, ao verificar a transação, a rede utiliza a chave pública (incluída no script de assinatura) para conferir se a assinatura corresponde ao hash da transação. Se for válida, a transação é considerada autêntica e pode ser adicionada a um bloco.

Somente após todo o processo a transação assinada é propagada pela rede até ser incluída em um bloco.

O que é uma transação parcialmente assinada (PSBT)?

As transações parcialmente assinadas são um padrão introduzido no Bitcoin Core pela BIP 174 para transações que ainda não estão totalmente assinadas, permitindo que várias partes assinem facilmente uma mesma transação.

PSBTs permitem que carteiras e outras ferramentas troquem informações sobre uma transação Bitcoin e as assinaturas necessárias para concluí-la. Isso melhora a interoperabilidade entre diferentes carteiras e facilita a realização de transações complexas que exigem múltiplas assinaturas.

Além disso, as assinaturas em transações PSBT são feitas offline, o que confere muito mais privacidade e segurança aos usuários envolvidos na transação.

Como funcionam as transações PSBT no Bitcoin?

As transações parcialmente assinadas são transmitidas entre as partes envolvidas para que elas as assinem até que possuam uma assinatura final e a transação seja transmitida na rede.

Um PSBT pode ser criado para identificar um conjunto de saídas não gastas (UTXOs) que serão utilizadas e um conjunto de saídas que receberão o valor gasto. Em seguida, as informações necessárias sobre cada UTXO para gerar uma assinatura, como o script do UTXO ou seu valor exato em Bitcoin, podem ser adicionadas.

Nas transações convencionais, as partes envolvidas têm acesso direto aos UTXOs que estão sendo gastos. No caso das transações PSBT, as partes podem realizar as assinaturas de modo offline, sem acesso direto ao conjunto de UTXOs que faz parte da transação.

Esse formato é particularmente ideal para carteiras air-gapped (que não ficam conectadas à internet) ou carteiras de hardware, pois reduz o risco de fraude.

Além disso, a especificação da BIP-174 define o processo de combinação e finalização de transações, permitindo que as partes assinem a mesma transação em paralelo e depois combinem seus respectivos PSBTs para formar uma transação totalmente assinada.

Quais as vantagens desse formato de transação?

  1. Interoperabilidade: As transações parcialmente assinadas ajudam na interoperabilidade entre carteiras e outros softwares Bitcoin, tornando as transações mais portáteis entre carteiras e nós. 
  2. Assinatura offline: O PSBT utiliza metadados para ajudar carteiras frias na verificação dos endereços e valores enviados na transação que estão assinando. Isso torna a assinatura de uma transação de armazenamento frio mais segura e facilita a elaboração de uma transação usando uma carteira watch only, utilizando uma carteira fria para assinar e depois transmitir a transação com um nó Bitcoin.
  3. Multisig: Como o PSBT torna uma transação parcialmente assinada portátil e reconhecível, uma transação pode ser assinada por várias partes ou dispositivos de maneira fácil e segura, tornando o multisig mais utilizável. Lembre-se, transações multisig trazem mais segurança e privacidade para os usuários
  4. Transações multipartidárias: O PSBT também é útil para a coordenação entre as partes que desejam assinar a mesma transação. Por exemplo, os protocolos CoinJoin (mix de moedas), CoinSwap e PayJoin exigem que várias partes diferentes assinem a mesma transação. O formato PSBT fornece um método para construir uma transação, passá-la entre as diferentes partes envolvidas e, em seguida, montar a transação final para ser transmitida.

Exemplos de como essas transações parcialmente assinadas podem ser usadas

Como o PSBT melhora a interoperabilidade entre diferentes plataformas, ele facilita a realização de transações mais complexas no Bitcoin.

Dessa forma, ele pode ser utilizado para transações quase instantâneas entre as partes, mesmo sem uma confirmação imediata dos mineradores. Isso pode ser especialmente útil na Lightning Network, em carteiras de hardware e em processos de CoinJoin (mixagem de moedas), pois os PSBTs atuam como um serviço de garantia, retendo o Bitcoin até que ambas as partes assinem a transação.

Conclusão

Como vimos, as transações PSBT podem trazer diversos benefícios para os usuários, sendo o maior deles a flexibilidade e a segurança nas transações

Além disso, diferente das transações normais, com os PSBTs, as chaves privadas nunca precisam ficar online e várias assinaturas podem ser usadas em uma transação.

Entretanto, também existem algumas considerações a serem feitas sobre as transações parcialmente assinadas, como o fato de que os arquivos nesse formato podem se tornar muito grandes. Isso pode ser um problema em carteiras de hardware, que geralmente têm espaço de memória limitado.

Diante disso, existe a possibilidade de uma versão 2 do PSBT ser implementada. Afinal, as propostas que surgem no Bitcoin visam facilitar a vida do usuário e, claro, das plataformas que fornecem esses serviços. 

Esperamos que esse artigo tenha te ajudado a entender mais sobre esse formato de transação.

Até a próxima e opt out!

Compartilhe em suas redes sociais:

Escrito por
Imagem do Autor
Area Bitcoin

A maior escola de educação sobre Bitcoin do mundo, que tem como objetivo elevar o conhecimento da comunidade e dos bitcoiners de todo o mundo aos níveis mais altos de soberania financeira, intelectual e tecnológica.

Ícone do X

Curtiu esse artigo? Considere nos pagar um cafezinho para continuarmos escrevendo novos conteúdos! ☕