#### Silent Payments: Privacidade na primeira camada do Bitcoin reutilizando endereços. Silent Payments é um tipo de endereço especial desenvolvido no Taproot do Bitcoin na rede principal, que começa com "sp1qq..." e é tão longo quanto um endereço Liquid, tipo assim: sp1qqttx2mve0rg89az6xfyxv6dy7u79mhmzh8gjkeluw9hlc2dvxkhusqmja2e7drkkds5hwxgyan7m66279s9cz5r63zq668er0kjk0v3685qpey5l ##### O que ele faz?: - Ele não é pesquisável na Blockchain, não adianta copiar isso e colocar na Mempool que você não vai achar nada; - Ele gera endereços infinitos pra cada vez que alguém pagar. É como se fosse um "Endereço/Chave Pública Geradora de endereços infinitos gerados no momento da transação". ##### Como funciona? Digamos que eu exponha esse meu endereço Silent Payments e três indivíduos decidam me pagar: O macaco🐒, o orangotango🦧 e o gorila🦍: Em um endereço normal, se os 3 enviassem pro "Bc1..." iria cair no mesmo endereço, todo mundo conseguiria pesquisar o endereço, e saber que 3 primatas enviaram pra mim, ou 3 carteiras. Mas com o Silent Payments isso não acontece, cada vez que alguém pagar, um novo endereço vai ser criado na hora para aquela transação e UTXO. Tipo assim: - 🐒Macaco paga pro "Sp1qq...", os Bitcoins vão parar em um endereço aleatório gerado na hora, um "Bc1p...123"; - 🦧Orangotango paga pro mesmo "Sp1qq...", os Bitcoins vão parar em um novo endereço aleatório gerado na hora, o "Bc1p...gws"; - 🦍Gorila paga pro mesmo "Sp1qq...", os Bitcoins vão parar em mais um endereço aleatório gerado na hora, o "Bc1p...007". Ou seja, o endereço Silent Payments "Sp1qq" é um automatizador daquele processo de "Vou te enviar Bitcoins, crie um novo endereço e me mande". Na Blockchain, vai parecer uma transação normal, alguém enviado BTC para um endereço Bc1p, mas ao contrário de um endereço de doação exposto pra todos, ninguém no meio vai conseguir pegar o "Sp1qq..." e tentar ver quantas transações foram feitas, só eu, e claro, o primata que me enviou vai saber quanto ele enviou, mas não quanto outros enviaram. ##### O que NÃO fazer?: Você enviou Bitcoins para o "Sp1qq..." e eles foram enviados para um "Bc1p...666" gerado na hora, tudo certo. Se quiser enviar de novo, NÃO envie para esse endereço recém-nascido que foi criado, envie para o Sp1qq, pois a pessoa do outro lado só tem acesso à aquela UTXO, fiz um teste desse e acabei perdendo 28.000 sats, então tome cuidado. Se for enviar pro Silent Payment, é pro Sp1qq, ele foi feito pra ser reutilizável, e gerar infinitos endereços, não seja macaco. ##### Escaneamento: Você vai perceber que muitas carteiras enviam para o Silent Payments, mas ainda poucas recebem, pois é preciso escanear a Blockchain para que o Saldo apareça. Se o macaco enviar 1 BTC para Lorena no Sp1, ela vai receber, porém para que o saldo apareça na carteira, ela deve escanear a blockchain total ou parcialmente. É como se o endereço normal "Bc1" fosse a porta da sua casa, qualquer caixa ou coisa que for deixada alí você verá na hora. O endereço Silent Payment é como se fosse um encomenda deixada um lugar escondido próximo na sua casa, então ou você pergunta para quem te enviou "Qual bloco foi confirmada", escaneia e pronto, ou escaneia toda a blockchain a partir de um data e seus BTC vão aparecer na carteira. ##### Carteiras que aceitam 1. Para Receber e enviar, a melhor carteira é a Cake Wallet. Existem outras, mas ainda estão em fase beta ou testes, a Cake está completa. 2. Para enviar, a Cake (Obviamente), Blue Wallet, Wasabi (Desktop) e BitBox02 (Física) já podem enviar, então se você conhece alguém com endereço Silent Payment, e quiser fazer uma doação anônima OnChain, basta copiar o endereço e enviar. - Cake (Envia e recebe) - Blue (Envia) - Wasabi (Envia) - BitBox02 (Envia) Experimentais ou novas: - Dana (Beta/Nova, Envia e Recebe) - Silentium (Experimental, Envia e recebe) Em resumo, o processo é esse: Macaco > 10.000 sats para o Sp1qq > novo endereço Bc1p...321 único é criado na hora > Lorena recebe os 10.000 no endereço Bc1p...321 criado na hora. Se o macaco tentar enviar de novo pro Sp1qq, Lorena vai receber os Bitcoins, mas em um novo endereço aleatório criado na hora, um Bc1p...xxx. Lorena que recebeu precisa escanear ou a Blockchain inteira, ou apenas apartir de uma data, ou número de blocos, ou o bloco específico que a transação foi confirmada nada rede. Quem envia não precisa fazer isso, e quem receber e não escanear, não perde os Bitcoins, apenas não vai ter o saldo aparecendo para ser usado, mas o BTC vão estar escondidos na carteira dela. Espero ter explicado de uma forma mais direta e simples. Quem quiser testar, pode enviar pra si mesmo ou alguém que tenha, só lembre de escanear o blocos, quem recebe não perde nada, apenas precisa encontrar na Blockchain seus BTC. É isso, macacos, vamos curtir o frio, férias, e aproveitar a festa da democracia. Bitcoin não perdoa inflação e macaquísse de político.🤝🏻🐒 image

Replies (7)

É impressionante ao ponto de me deixar com uma pulga atrás da orelha. Como isso não teria um ponto de exposição de privacidade? Imagino que uma vez com o sp1qq você poderia gerar todos os endereços possíveis e assim saber quanto quem gerou aquilo recebeu no fim das contas, não? E o mais intrigante, como assim não é possível receber novamente em um mesmo endereço gerado por esse protocolo? image
Uma carteira normal tem mais de 2 bilhões de endereços, o Taproot é ainda maior. Então gerar todos é meio impossível. Sobre exposição, não tem nada demais, na Blockchain é uma transação normal. Lucas > 10 BTC > Bc1p... da Lorena. A questão é que pelo fato do sp1qq não ser um endereço pesquisável, e sim um endereço/chave pública geradora de endereços infinitos para 1 transação específica, ninguém no meio vai saber quantos BTC eu recebi. Quem me enviar, vai saber quanto enviou. Eu saberei quantos eu recebi (De 1 ou todas as pessoas), e quem estiver no meio vendo aquele "sp1qq" na bio não fará ideia do que está acontecendo. Sobre não poder reutilizar um endereço gerado na hora; ele é gerado apenas para aquela UTXO, não para receber infinitas transações como é um endereço normal. O Silent Payment (sp1qq) gera endereços infinitos que suportam 1 UTXO, por isso você deve usá-lo da forma correta.