15

At the protocol level, there is no such thing as "balance of an address". There are individual unspent outputs (like coins in a wallet), which must be individually spent. You can't partially spend an output, but you can split/combine it. So for example, you have a 70 BTC output assigned to an address, and a 80 BTC output assigned to the same address. Some ...


13

There are both security and privacy related issues that arise from address reuse. Based upon your question you are less concerned with the privacy implications and more concerned with the security implications in this question. I will discuss security first before briefly mentioning why the privacy implications are greater than the security implications. ...


11

When Bitcoin was invented, Blockchain analysis was not as advanced as it was today and pseudonymous transactions were believed to be closer to anonymous than they are with Bitcoin today. Under the current Bitcoin system, privacy can be greatly improved by avoiding fiat entry/exit ramps connected to your identity and by avoiding reusing BTC addresses. Yes ...


11

Many wallets let you control where to send the change. In most cases it is advisable to send to a new address to reduce traceability and increase your privacy a little, but not everyone does and sometimes it makes sense not to do it. Most modern wallets will create a new address automatically unless you stop them. Bad reasons to send change to the same ...


10

Yes it can. See this transaction below. http://blockchain.info/tx-index/b345c51064074f5d6c0e11187326567765eb4fa3236ca1be440ccb5745775238


8

There's a bigger attack surface for someone that wants to doxx you. They only need to link a single transaction to your real life person to know all the transactions you've participated in. A single payment to newegg, for instance, will identify you across all transactions. Very few transactions are completely anonymous. But yes, if they're all completely ...


6

Yes! With an HD (Hierarchical Deterministic) wallet you control all the addresses inside of it. Using a new address for each transaction is actually a good thing for privacy. https://en.bitcoin.it/wiki/Deterministic_wallet https://community.coinbase.com/t/why-did-my-address-change-did-i-lose-some-payments/1589/2 To answer your last question you don't need ...


6

The gist of the reusable payment code BIP is that you can gain some measure of address privacy by combining BIP32 (hierarchical deterministic wallets) with Diffie-Hellman key exchange. To understand what this means, let's figure out what the current situation of bitcoin wallets is. Originally, in the reference client, bitcoin wallets simply generated random ...


5

The ledger has to be public in order for Bitcoin to be decentralized. The designers of Bitcoin didn't want to need anyone to play the role of a "bank" who keeps all the records, and whom everyone else has to trust to do that properly. For instance, when you keep a bank account, you are trusting your bank to keep your money and give it back to you on ...


5

This is a weird question because you have to send from the address you receive from. If you receive all your bitcoin to the same address, you will inevitably be spending from that same address as well. When you receive to the same address, it ties together the addresses that are paying you. If you are running a business, this could allow chain analysis to ...


5

Why address reuse is discouraged: Reduced security An unused address is protected by ECDSA AND several SHA-256 and RIPEMD-160 operations, but only ECDSA after being used because the public key must be revealed during spending. This has been shown to open up several possible attacks in the past.[1] Reduced privacy All participants who you give the address to ...


5

Why is that so, don't you only need 1 private key to hold all bitcoins and manage them? Sure you could use only one private key and its associated address, but that is not recommended. It is more secure and more private to not reuse addresses. Instead you should use a new address for every transaction you receive and for every change output you make. Thus ...


5

You need to differentiate between the website's wallet (Blockchain.info-wallet) and the blockchain itself. You are allowed (by the bitcoin protocol) to make as many transactions per adress as you want. But wallets try to make it as comfortable as possible for you and use one adress only one time so that you are acting as pseudonymously as possible. You ...


5

Bob can provide Alice with an extended public key (xpub). This will allow Alice to generate as many addresses as required, all of which will be accessible to Bob via the corresponding extended private key (xpriv), which only he has access to. There are many tools and libraries around that support address derivation from xpubs, such as BitcoinJS-lib. As far ...


5

Can somebody take the transaction tx0 I signed and publish it in order to spend the new coins with the old transaction? No. Firstly, the transaction inputs are already known to have been used. Any node examining the block will know that the rerun transaction has invalid inputs. Secondly I expect (but haven't checked) the inputs to the signature include ...


5

Technically speaking, is it possible to reuse a change address from a previous transaction and make it a receive address? Technically that would be possible. The network rules have no concept of change or receive addresses - it's just a scriptPubKey that coins are sent to. What are the pros and cons of doing so? I see no reason why you'd want to do that. ...


4

For a blog that only receives occasional small amounts you probably shouldn't worry too much about it. However, if you plan to scale up, here are some things to consider: One issue with using the same address for all transactions is that people can see the total amount received by that address and know how many bitcoins you have. If the total is large ...


4

The reason is privacy. If you reuse the same key for every transaction, everyone who ever transacts with you can infer your entire balance. No, public keys should not be identities, exactly because the transactions to them are public too. Your ability to create many pseudonyms in the system the only way through which it has any privacy. By reusing ...


4

Likely the sender didn't have an unspent output that had exactly the amount he wanted to send. So he choose an unspent output that had enough and sent the remainder back to himself. Accounts do not automatically combine the funds they receive. They have a bundle of unspent transaction outputs which they can only use by completely consuming them. You might ...


4

You can receive as much as you want to an address, but you should spend from that address only once. The reason you want to spend from an address only once is that this exposes your ECDSA public key as part of the spending sigscript. Should a vulnerability for the secp256k1 curve be found, your funds would be in danger. This is somewhat unlikely, but it is ...


4

You can certainly give out the same address to as many people as you want. An address is really just a representation of the public part of a cryptographic key pair, and you will still have the corresponding private key. That means, the address will still function, regardless of how many times you use it to receive money. However, as the app tells you, ...


4

Q1: Depens on how you use it. Transactions to an address does not decrease it's security. Using a cold-storage wallet and taking it online exposes your wallet and it's security. Q2: It's correct. Most exchanges require KYC(know your customer), they store information about you and your withdrawal addresses. It's possible to create a new address for each ...


4

Transactions explicitly refer to which UTXOs they are spending. You can construct a transaction which only spends one of the two 5-BTC UTXOs, and sends 2 BTC to the destination and 3 BTC to a (possibly new) address of yourself. You can also construct a transaction which spends both, and sends 8 BTC back to yourself. Or it could have multiple outputs that ...


4

I think it would be helpful for you to identify your service here, so that I can encourage people to not do business with you. Users generally have no idea if this will work safely or not, so a notice will not be sufficient. If you send users funds to addresses they did not supply you should be prepared to pay them out when they report the funds have gone ...


3

It is not clear what exactly happened. If you've made two subsequent transactions to the same address that should not be a problem. Addresses can be used more than once to receive money. If you created two transactions that spend the same transaction outputs, there is no problem, because only one of them can confirm. If your transaction simply didn't get ...


3

The bitcoin addresses are permanent addresses. You can re-use the addresses if you want. But when reusing it causes privacy issue as any one will be able to find out the number of transactions or the total balance that address has. (you found out that there are 641 transactions in that address). To avoid this, its better not to reuse address and use ...


3

The simple explanation is that the attacks that quantum computing enables require information (the public key) that isn't available until after the first transaction is seen. Until the first transaction spending an output, all that is known is the hashed version of the recipient key (aka the address) which isn't enough to mount the attack. If fully ...


3

Bitcoin Core sends change to a different address, but the Bitcoin protocol does not require that. You can write a Bitcoin client that sends the change to the original address. There's no benefit to sending your change to the original address; it does not provide lower fees or faster transactions.


3

Assume you are using a unique common address for each customer and at the end of the day/week/month you make payments to your employees, suppliers or partners. When making those payments, if those outgoing amounts exceed the amounts received from one customer, you will have to include inputs coming from other customers. If some of your customer addresses ...


3

You are looking at transactions the wrong way. Bitcoin does not actually use addresses and their balances. The protocol has no concept of what an address is, nor does it need to. It also has no idea of an address or an account balance. Rather how Bitcoin works is with transaction outputs. Transaction outputs are spent as the inputs to other transactions, ...


Only top voted, non community-wiki answers of a minimum length are eligible