20 / 736BIP341

Taproot

Gastos simples com condições alternativas ocultas

Uma melhoria no Bitcoin que permite gastar por acordo entre os detentores das chaves e revelar regras alternativas apenas quando elas são usadas.

Taproot é uma forma de definir e comprovar o direito de gastar bitcoins. Permite o gasto comum com uma única assinatura e, opcionalmente, condições alternativas preparadas antes. Quando o caminho da assinatura é usado, a rede não precisa saber se uma pessoa ou várias autorizaram o pagamento, nem se existiam outras regras não utilizadas.

Imagine Alice e Bob administrando dinheiro em conjunto. Enquanto concordam, querem autorizar os pagamentos juntos. Podem também combinar uma alternativa: a partir de determinada altura de bloco, Alice poderá gastar sozinha. Taproot permite registrar esse acordo sem publicar todo o plano alternativo em um pagamento conjunto normal. Isso não é uma função automática de qualquer carteira. O programa precisa dar suporte às condições escolhidas, e os participantes devem prepará-las corretamente antes de receber os fundos; Alice realmente ganha o direito de gasto independente combinado. [1] [3]

A opção mais simples se chama key path: a rede verifica uma assinatura Schnorr válida para a chave definida nas condições da saída. Uma saída é um valor específico criado por uma transação anterior e que agora será gasto. A assinatura, sozinha, não mostra quantas pessoas cooperaram nem se existia um script alternativo. A outra opção, script path, apresenta o script usado —as regras concretas— e os dados que as satisfazem. Inclui também uma prova chamada control block de que essas regras pertenciam ao acordo original. Os demais scripts podem ficar ocultos, mas o utilizado e sua prova ainda revelam informações. [1]

Schnorr Signature é um tipo de assinatura digital: a prova matemática de que a chave correspondente autorizou o pagamento. Um protocolo adequado, como MuSig2, permite que vários detentores de chaves criem uma chave conjunta e, depois, uma assinatura conjunta. Alice e Bob não precisam entregar suas chaves privadas um ao outro. Suas carteiras, porém, devem oferecer o protocolo e cooperar durante a assinatura. Taproot não junta automaticamente as assinaturas de todas as entradas nem transforma qualquer carteira Multisig em uma assinatura única. A implementação importa: reutilizar incorretamente valores secretos chamados nonces no protocolo de assinatura pode revelar uma chave privada. [2] [5]

Na rede principal do Bitcoin, os endereços Taproot normalmente começam com bc1p e usam Bech32m. Antes de enviar, confirme o suporte do serviço ou da carteira e confira o endereço inteiro. Taproot pode reduzir as regras reveladas e os dados necessários para gastar. Não esconde os valores nem rompe os vínculos públicos entre as saídas gastas. O caminho escolhido e o tamanho da prova também afetam a taxa; um formato mais recente não significa automaticamente o pagamento mais barato. Se sua carteira usa Taproot para um pagamento comum com uma chave, você não precisa inventar um script alternativo. [1] [4]

P2TR significa Pay to Taproot. Nas regras, é SegWit nativo de versão 1 com um programa witness de 32 bytes que representa a chave pública da saída. Scripts opcionais formam uma árvore cuja impressão digital criptográfica é incorporada à chave. Ao usar um ramo, é possível provar que ele pertence à árvore sem revelá-la por inteiro. BIP 340 descreve as assinaturas Schnorr, BIP 341 as regras Taproot e BIP 342 a linguagem Tapscript do caminho de script. Uma assinatura Schnorr comum tem 64 bytes; escolher explicitamente outro modo para determinar as partes assinadas da transação acrescenta um byte. A carteira cuida desses detalhes; alterar o endereço manualmente não resolve nada disso. [1] [2] [3]

Para ter uma visão mais completa, leia este verbete junto com SegWit, Private Key, Transação, Lightning Network. Também há referências a este verbete em SegWit, Lightning Network, Hash, SHA-256.

DOC · 001BIP 341: TaprootFonte primária DOC · 002BIP 340: Schnorr signaturesFonte primária DOC · 003BIP 342: TapscriptFonte primária DOC · 004BIP 350: Bech32mFonte primária DOC · 005BIP 327: MuSig2Fonte primária
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento