Bitcoin privacy means limiting the links between public payments, particular people and their other funds. An ordinary transaction does not require a legal name, but it does show the funds used, new outputs and amounts. An invoice, service account or recipient can supply the name. Bitcoin is therefore not anonymous by default.
Anna earned 100,000 sat, the smallest units of bitcoin. Later she uses that payment to send Pavel 20,000 sat; 79,000 sat returns to her wallet and 1,000 sat pays the fee. An output records an amount and the conditions for spending it. The network sees this whole transfer. Pavel knows his amount and knows Anna, so he can try to infer which other output is her change. That does not automatically reveal all her savings, but it gives him a clue. Unlike a bank statement, the record is not restricted to the bank and account holder. Anyone can revisit it, even years later. [1]
A stranger sees the public record, Pavel also knows Anna, and an exchange may hold her identity documents. A wallet service may know which addresses the app asks about. Asking whose view you want to limit, and what you want to protect, is called building a threat model. It does not mean assuming everyone is an attacker. It helps you choose suitable protection: keeping income private from customers differs from hiding network activity. A private key is secret data that a wallet uses to make a digital signature authorizing a payment. Keeping the key secret does not by itself conceal payment history. [1] [3]
Anna can give each customer a fresh receiving address. This prevents the easy tally of payments sent repeatedly to one address. Wallets also normally create fresh addresses for the amount returned to the sender, known as change. That is a sound starting point, not a guarantee that payments cannot be linked. If Anna later combines funds from different addresses in one payment, she may create another clue herself. A public donation address is a special case: transparency can be intentional, but the money received there is then not private. [1]
A wallet does not hold one undifferentiated balance. It manages unspent outputs from earlier transactions, called UTXOs, and selects some as inputs for a payment. When several inputs are used together, an analyst often infers a common owner. This is a heuristic — a useful guess, not proof: transactions built by several people break that assumption. Coin Control lets you influence this selection. Labels describing where funds came from can help maintain separation, but they do not enforce anything on the network. Choosing inputs manually without understanding change can make both privacy and fees worse. [2] [7]
An extended public key, XPUB, allows further public keys to be derived and, with the wallet’s address rules, the addresses in the relevant branch. Someone with that information can follow its payments, but an XPUB alone cannot sign a payment. Its scope depends on the particular key shared: it need not expose the whole wallet, but it is still sensitive. Similarly, a service can link a withdrawal to the name it verified through KYC, or customer identity checks. A web-based block explorer may record what you look up and where you connect from. Never supply recovery words or a private key to check a balance. Even public information should only be shared where its scope is necessary and understood. [1] [6]
The app needs to discover which payments belong to it. Sending a list of addresses to someone else's server can reveal that they belong together. A Full Node is a computer running software that independently checks Bitcoin transactions and blocks against the network’s rules. Your own Full Node helps when the wallet actually obtains its data through it, possibly through your own indexing service. Simply installing a node alongside the wallet is not enough. Light wallets can use compact filters under BIP 157 and check for matches locally rather than send an address list. This still leaves other network clues. Tor can reduce exposure of your IP address, the address of your internet connection, but does not change public amounts or links between transactions. [1] [3]
An observer need not learn a name directly from an address. A public invoice with an exact amount, the timing of an announced purchase and a later payment may be enough. Transaction structure and likely change provide further clues. No one feature reliably proves ownership, but several together can strengthen an inference. Splitting funds among wallets will not help if you later combine them again. The advanced avoid partial spends feature in Bitcoin Core can select outputs belonging to the same address to be spent together. This limits the gradual linking of further payments from that address, but can add inputs and increase fees. The outcome also depends on the configured fee limit; it is not a universal anonymity tool. [1] [5]
CoinJoin brings funds from several people into one transaction. It can make it harder for an observer to tell which original owner controls each new output. PayJoin takes a different approach: the recipient adds an input to the sender's payment, defeating the simple assumption that all inputs have one owner. Neither method erases history or guarantees anonymity. Results depend on the protocol, participants, what others know and subsequent payments. Before using either, understand the coordination, fees and what happens if the process is interrupted. A feature's name alone guarantees nothing. [2] [7]
Silent Payments under BIP 352 let you publish fixed payment details from which senders derive different destination outputs. The recipient need not send each person a fresh ordinary address beforehand. However, the recipient's wallet must support the protocol and scan data to recognize incoming payments. The specification separates the key used to find payments from the spending key. Backup and recovery must match the wallet used; any labels used may also matter. Silent Payments labels are not separate identities: their public payment details share a public scan key. This technique does not conceal every later movement of funds either. [4]
Use a fresh address for each ordinary incoming payment, avoid publishing unnecessary payment records and find out where your wallet gets its data. Keep track of where funds came from and separate purposes you do not want connected. Before selecting inputs manually or using an advanced technique, understand its effects; making mistakes is not a necessary price of privacy. Address checks, backups and fee checks remain just as important. The aim is to reveal less unnecessary information, not to gain false confidence that nobody could ever connect you with a payment. [1] [3] [4]
For the clearest picture, read this entry together with Pseudonymity, CoinJoin, Coin Control, KYC, Bitcoin, Bitcoin address. The reverse links also lead from Watch-only Wallet, Coin Control, Change Address, Extended Public Key (xpub).