159 / 736LABEL

Transaction Labeling

Notas que ajudam a entender os pagamentos depois

Valor e data nem sempre bastam para lembrar a finalidade de um pagamento meses depois. Os rótulos acrescentam contexto pessoal ao histórico da carteira. É importante saber o que descrevem, o que não garantem e como preservá-los na recuperação.

Uma carteira é um aplicativo ou dispositivo para receber e enviar bitcoins. Transaction Labeling é adicionar descrições e notas a transações, endereços ou outros registros da carteira. Elas podem guardar a finalidade de um pagamento ou a origem dos fundos recebidos. Esses metadados ficam no aplicativo, fora da transação Bitcoin, e não provam sozinhos a identidade da outra parte.

Você abre o histórico e encontra um pagamento antigo. Era um sinal de serviço, um presente ou uma transferência para sua outra conta? O rótulo “sinal do conserto da bicicleta” pode esclarecer o registro muito depois. Renomeá-lo muda uma nota do aplicativo, não a transação nem seu identificador txid. Nada novo precisa ser gravado na blockchain, o histórico público das transações confirmadas. A distinção também importa na recuperação: a Seed Phrase, palavras usadas para recuperar as chaves da carteira, não contém suas notas pessoais. Recuperar o poder de gastar e recuperar o contexto são tarefas diferentes. [1] [3] [5]

Uma nota útil descreve o que você sabe: número da fatura, finalidade ou origem do dinheiro. Sua anotação não equivale a uma associação automática do aplicativo ou a uma afirmação copiada de um analista. O BTCPay Server usa invoice para pagamentos por fatura e payout para pagamentos de saída ou reembolsos, por exemplo, e permite rótulos próprios. Esse contexto ajuda no Coin Control, a seleção manual dos UTXO, saídas ainda não gastas. Cada saída registra um valor e as condições para gastá-lo. Mas escrever “não combinar” não impede nada sozinho: a seleção real das entradas determina quais recebimentos o próximo pagamento conecta. [1] [2]

Algumas carteiras congelam uma saída para que o aplicativo não a selecione ao gastar. BIP 329 transfere esse estado local em spendable, apenas para o tipo output. spendable:false usa o valor booleano false; a sequência de texto "false" significa outra coisa. Na prática, congelar evita uma seleção involuntária naquele aplicativo, não todo gasto possível. Não é um Timelock, uma condição de tempo imposta pelas regras do Bitcoin. Outra carteira com as chaves corretas pode gastar a saída se cumprir suas condições reais. [1] [3]

Ao trocar de aplicativo, pense também em exportar as notas separadamente. O arquivo pode ligar nomes, faturas e histórico a endereços ou um XPUB, uma chave pública estendida. Ela permite calcular novos endereços da parte correspondente da carteira, mas um XPUB sozinho não permite assinar pagamentos. Se a exportação incluir um registro do tipo spscan, ele conterá uma chave privada de varredura para encontrar Silent Payments recebidos. Ela não permite gastar sozinha, mas sua exposição prejudica a privacidade. Portanto, a ausência de uma chave privada de gasto não torna o arquivo inofensivo. Criptografe cópias e transmissão e teste a recuperação na conta correta. [1] [4] [5]

BIP 329 distingue tx, addr, pubkey, input, output, xpub e spscan: transação, endereço, chave pública, entrada, saída, chave pública estendida e expressão de varredura de Silent Payments. O tipo determina a interpretação de ref. Para input, identifica a transação e o índice da entrada; para output, a transação criadora e o índice da saída. Assim, txid:1 não basta sem um tipo. Pode apontar para entrada ou saída, objetos diferentes. Tratar todas essas referências como “endereço de pagamento” não é seguro. [1] [4]

BIP 329 usa JSON Lines: arquivo de texto UTF-8 com um registro estruturado por linha. Você não precisa escrevê-lo manualmente; os dois aplicativos precisam entendê-lo. Os campos obrigatórios type e ref identificam o objeto. label, origin e spendable são opcionais. A ausência de label ou spendable não deve substituir valores existentes na importação. Um importador compatível deve ignorar tipos desconhecidos. Abrir o arquivo com sucesso não significa que a carteira nova preservou todas as notas e configurações. [1]

Uma transação pode aparecer em contas ou carteiras diferentes com descrições diferentes. origin ajuda a distinguir essas perspectivas. Contém um Output Descriptor abreviado, uma descrição da carteira legível por software, com a origem das chaves, mas sem chaves reais, caminhos filhos de derivação ou checksum. Indica a qual carteira o rótulo se refere. Não é uma assinatura do arquivo nem certifica que o autor descreveu honestamente o pagamento. Identificar a conta certa e confiar no conteúdo são coisas distintas. [1]

Antes de deixar o aplicativo antigo, experimente a transferência numa cópia de teste separada. Escolha pagamentos conhecidos e compare objeto e ref, texto e eventual congelamento spendable. Confira acentos, várias contas, tipos desconhecidos e campos opcionais ausentes. O importador pode pular registros incompatíveis ou encurtar rótulos. Os 255 caracteres sugeridos são um limite padrão, não uma garantia universal. Mantenha o backup original até verificar o contexto importante. A mensagem “importação concluída” não comprova isso sozinha. [1]

Para ter uma visão mais completa, leia este verbete junto com Coin Control, UTXO, Privacidade no Bitcoin, Address Clustering, Seed Phrase, Output Descriptor. Também há referências a este verbete em Chain Surveillance.

DOC · 001BIP 329 — Wallet Labels Export FormatEspecificação DOC · 002BTCPay Server — WalletDocumentação DOC · 003Bitcoin Developer Guide — TransactionsDocumentação DOC · 004BIP 392 — Silent Payment Output Script DescriptorsEspecificação DOC · 005Bitcoin Developer Guide — WalletsDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento